From b62eddc34ffc7a4240f6b8db975d21867edbfc6d Mon Sep 17 00:00:00 2001 From: Yi Zhang Date: Sat, 10 May 2025 22:38:33 +0800 Subject: [PATCH] add docker support --- .gitignore | 4 +- CMakeLists.txt | 14 +- Dockerfile | 41 + {doc => dep/cmake}/FFTW3/FFTW3Config.cmake | 12 +- dep/cmake/GMT/GMTConfig.cmake | 21 + .../cmake}/OpenBLAS/OpenBLASConfig.cmake | 0 dep/libeemd | 1 + dep/magnetic_tesseroids/CMakeLists.txt | 19 - dep/magnetic_tesseroids/LICENSE.txt | 33 - .../LibMagTessConfig.cmake.in | 15 - dep/magnetic_tesseroids/README.md | 122 - dep/magnetic_tesseroids/lib/CMakeLists.txt | 74 - dep/magnetic_tesseroids/lib/constants.h | 60 - dep/magnetic_tesseroids/lib/geometry.cpp | 48 - dep/magnetic_tesseroids/lib/geometry.h | 37 - dep/magnetic_tesseroids/lib/glq.cpp | 265 - dep/magnetic_tesseroids/lib/glq.h | 182 - dep/magnetic_tesseroids/lib/grav_tess.cpp | 628 - dep/magnetic_tesseroids/lib/grav_tess.h | 93 - dep/magnetic_tesseroids/lib/linalg.cpp | 144 - dep/magnetic_tesseroids/lib/linalg.h | 11 - dep/magnetic_tesseroids/lib/logger.cpp | 112 - dep/magnetic_tesseroids/lib/logger.h | 166 - dep/magnetic_tesseroids/lib/parsers.cpp | 678 - dep/magnetic_tesseroids/lib/parsers.h | 75 - dep/magnetic_tesseroids/lib/tessb_main.cpp | 385 - dep/magnetic_tesseroids/lib/tessb_main.h | 14 - dep/magnetic_tesseroids/lib/version.cpp | 17 - dep/magnetic_tesseroids/lib/version.h | 18 - dep/magnetic_tesseroids/stow-config.sh | 3 - .../toolkits/CMakeLists.txt | 36 - dep/magnetic_tesseroids/toolkits/tessbx.cpp | 11 - dep/magnetic_tesseroids/toolkits/tessby.cpp | 11 - dep/magnetic_tesseroids/toolkits/tessbz.cpp | 11 - .../toolkits/tessutil_combine_grids.cpp | 102 - .../toolkits/tessutil_gradient_calculator.cpp | 366 - .../toolkits/tessutil_magnetize_model.c | 1318 - dep/netcdfcxx_legacy/README.en.md | 36 - dep/netcdfcxx_legacy/README.md | 37 - dep/netcdfcxx_legacy/config.sh | 17 - .../netCDF_CXX_LEGACYConfig.cmake.in | 3 - dep/netcdfcxx_legacy/src/CMakeLists.txt | 16 +- dep/partow/include/dsv_filter.hpp | 340 + dep/partow/include/exprtk.hpp | 44311 ++++++++++++++++ dep/partow/include/strtk.hpp | 24518 +++++++++ dep/tesseroids/CITATION.txt | 70 - dep/tesseroids/CMakeLists.txt | 18 - dep/tesseroids/LICENSE.txt | 25 - dep/tesseroids/LibTessConfig.cmake.in | 16 - dep/tesseroids/README.md | 210 - .../cookbook/custom_ratio/custom_ratio.bat | 10 - .../cookbook/custom_ratio/custom_ratio.sh | 11 - .../cookbook/custom_ratio/model.txt | 2 - dep/tesseroids/cookbook/custom_ratio/plot.py | 18 - dep/tesseroids/cookbook/dem_brasil/dem.xyz | 22805 -------- .../cookbook/dem_brasil/dem_brasil.bat | 22 - .../cookbook/dem_brasil/dem_brasil.sh | 22 - .../cookbook/dem_brasil/dem_density.py | 13 - dep/tesseroids/cookbook/dem_brasil/plot.py | 117 - .../cookbook/dem_brasil/sample-dem-dens.png | Bin 154152 -> 0 bytes .../cookbook/dem_brasil/sample-dem-dens.txt | 22801 -------- .../cookbook/dem_brasil/sample-dem-ggt.png | Bin 381371 -> 0 bytes .../cookbook/dem_brasil/sample-dem-tess.txt | 22806 -------- .../cookbook/dem_brasil/sample-dem.png | Bin 266501 -> 0 bytes .../cookbook/simple_prism/model.txt | 3 - dep/tesseroids/cookbook/simple_prism/plot.py | 25 - .../cookbook/simple_prism/simple_prism.bat | 11 - .../cookbook/simple_prism/simple_prism.png | Bin 598782 -> 0 bytes .../cookbook/simple_prism/simple_prism.sh | 11 - dep/tesseroids/cookbook/simple_tess/model.txt | 3 - dep/tesseroids/cookbook/simple_tess/plot.py | 29 - .../cookbook/simple_tess/simple_tess.bat | 12 - .../cookbook/simple_tess/simple_tess.png | Bin 398435 -> 0 bytes .../cookbook/simple_tess/simple_tess.sh | 14 - dep/tesseroids/cookbook/tess2prism/plot.py | 32 - dep/tesseroids/cookbook/tess2prism/result.svg | 134 - .../tess2prism/sample-prism-model.txt | 11 - .../cookbook/tess2prism/tess-model.txt | 6 - .../cookbook/tess2prism/tess2prism.bat | 21 - .../cookbook/tess2prism/tess2prism.png | Bin 909245 -> 0 bytes .../cookbook/tess2prism/tess2prism.sh | 21 - .../cookbook/tess2prism_flatten/plot.py | 25 - .../tess2prism_flatten/sample-prism-model.txt | 9 - .../tess2prism_flatten/tess-model.txt | 4 - .../tess2prism_flatten/tess2prism_flatten.bat | 21 - .../tess2prism_flatten/tess2prism_flatten.png | Bin 588500 -> 0 bytes .../tess2prism_flatten/tess2prism_flatten.sh | 21 - dep/tesseroids/cookbook/tesslayers/layers.png | Bin 46425 -> 0 bytes dep/tesseroids/cookbook/tesslayers/layers.txt | 1683 - .../cookbook/tesslayers/makelayers.py | 34 - dep/tesseroids/cookbook/tesslayers/plot.py | 20 - .../cookbook/tesslayers/sample-tessmodel.txt | 1684 - .../cookbook/tesslayers/tesslayers.bat | 13 - .../cookbook/tesslayers/tesslayers.png | Bin 158119 -> 0 bytes .../cookbook/tesslayers/tesslayers.sh | 13 - dep/tesseroids/lib/CMakeLists.txt | 66 - dep/tesseroids/lib/constants.c | 39 - dep/tesseroids/lib/constants.h | 44 - dep/tesseroids/lib/geometry.c | 175 - dep/tesseroids/lib/geometry.h | 168 - dep/tesseroids/lib/glq.c | 308 - dep/tesseroids/lib/glq.h | 192 - dep/tesseroids/lib/grav_prism.c | 469 - dep/tesseroids/lib/grav_prism.h | 36 - dep/tesseroids/lib/grav_prism_sph.c | 219 - dep/tesseroids/lib/grav_prism_sph.h | 100 - dep/tesseroids/lib/grav_sphere.c | 252 - dep/tesseroids/lib/grav_sphere.h | 267 - dep/tesseroids/lib/grav_tess.c | 580 - dep/tesseroids/lib/grav_tess.h | 503 - dep/tesseroids/lib/logger.c | 110 - dep/tesseroids/lib/logger.h | 166 - dep/tesseroids/lib/parsers.c | 1410 - dep/tesseroids/lib/parsers.h | 316 - dep/tesseroids/lib/prismg_main.c | 241 - dep/tesseroids/lib/prismg_main.h | 31 - dep/tesseroids/lib/tessg_main.c | 292 - dep/tesseroids/lib/tessg_main.h | 36 - dep/tesseroids/lib/version.c | 32 - dep/tesseroids/lib/version.h | 19 - dep/tesseroids/test/CMakeLists.txt | 13 - dep/tesseroids/test/minunit.h | 112 - dep/tesseroids/test/test_all.c | 42 - dep/tesseroids/test/test_geometry.c | 289 - dep/tesseroids/test/test_glq.c | 514 - dep/tesseroids/test/test_grav_prism.c | 888 - dep/tesseroids/test/test_grav_prism_sph.c | 160 - dep/tesseroids/test/test_grav_tess.c | 633 - dep/tesseroids/test/test_parsers.c | 229 - dep/tesseroids/toolkits/CMakeLists.txt | 51 - dep/tesseroids/toolkits/prismggts.c | 249 - dep/tesseroids/toolkits/prismgs.c | 239 - dep/tesseroids/toolkits/prismgx.c | 14 - dep/tesseroids/toolkits/prismgxx.c | 14 - dep/tesseroids/toolkits/prismgxy.c | 14 - dep/tesseroids/toolkits/prismgxz.c | 14 - dep/tesseroids/toolkits/prismgy.c | 14 - dep/tesseroids/toolkits/prismgyy.c | 14 - dep/tesseroids/toolkits/prismgyz.c | 14 - dep/tesseroids/toolkits/prismgz.c | 14 - dep/tesseroids/toolkits/prismgzz.c | 14 - dep/tesseroids/toolkits/prismpot.c | 14 - dep/tesseroids/toolkits/prismpots.c | 230 - dep/tesseroids/toolkits/tess2prism.c | 222 - dep/tesseroids/toolkits/tessdefaults.c | 123 - dep/tesseroids/toolkits/tessgrd.c | 165 - dep/tesseroids/toolkits/tessgx.c | 16 - dep/tesseroids/toolkits/tessgxx.c | 16 - dep/tesseroids/toolkits/tessgxy.c | 16 - dep/tesseroids/toolkits/tessgxz.c | 16 - dep/tesseroids/toolkits/tessgy.c | 16 - dep/tesseroids/toolkits/tessgyy.c | 16 - dep/tesseroids/toolkits/tessgyz.c | 16 - dep/tesseroids/toolkits/tessgz.c | 16 - dep/tesseroids/toolkits/tessgzz.c | 16 - dep/tesseroids/toolkits/tesslayers.c | 201 - dep/tesseroids/toolkits/tessmass.c | 193 - dep/tesseroids/toolkits/tessmodgen.c | 230 - dep/tesseroids/toolkits/tesspot.c | 16 - install.sh | 84 + lib/io/netcdf_io.h | 1 + manager.sh | 54 + 162 files changed, 69400 insertions(+), 89144 deletions(-) create mode 100644 Dockerfile rename {doc => dep/cmake}/FFTW3/FFTW3Config.cmake (64%) create mode 100644 dep/cmake/GMT/GMTConfig.cmake rename {doc => dep/cmake}/OpenBLAS/OpenBLASConfig.cmake (100%) create mode 160000 dep/libeemd delete mode 100644 dep/magnetic_tesseroids/CMakeLists.txt delete mode 100644 dep/magnetic_tesseroids/LICENSE.txt delete mode 100644 dep/magnetic_tesseroids/LibMagTessConfig.cmake.in delete mode 100644 dep/magnetic_tesseroids/README.md delete mode 100644 dep/magnetic_tesseroids/lib/CMakeLists.txt delete mode 100755 dep/magnetic_tesseroids/lib/constants.h delete mode 100755 dep/magnetic_tesseroids/lib/geometry.cpp delete mode 100755 dep/magnetic_tesseroids/lib/geometry.h delete mode 100755 dep/magnetic_tesseroids/lib/glq.cpp delete mode 100755 dep/magnetic_tesseroids/lib/glq.h delete mode 100755 dep/magnetic_tesseroids/lib/grav_tess.cpp delete mode 100755 dep/magnetic_tesseroids/lib/grav_tess.h delete mode 100755 dep/magnetic_tesseroids/lib/linalg.cpp delete mode 100755 dep/magnetic_tesseroids/lib/linalg.h delete mode 100755 dep/magnetic_tesseroids/lib/logger.cpp delete mode 100755 dep/magnetic_tesseroids/lib/logger.h delete mode 100755 dep/magnetic_tesseroids/lib/parsers.cpp delete mode 100755 dep/magnetic_tesseroids/lib/parsers.h delete mode 100755 dep/magnetic_tesseroids/lib/tessb_main.cpp delete mode 100755 dep/magnetic_tesseroids/lib/tessb_main.h delete mode 100755 dep/magnetic_tesseroids/lib/version.cpp delete mode 100755 dep/magnetic_tesseroids/lib/version.h delete mode 100755 dep/magnetic_tesseroids/stow-config.sh delete mode 100644 dep/magnetic_tesseroids/toolkits/CMakeLists.txt delete mode 100755 dep/magnetic_tesseroids/toolkits/tessbx.cpp delete mode 100755 dep/magnetic_tesseroids/toolkits/tessby.cpp delete mode 100755 dep/magnetic_tesseroids/toolkits/tessbz.cpp delete mode 100755 dep/magnetic_tesseroids/toolkits/tessutil_combine_grids.cpp delete mode 100755 dep/magnetic_tesseroids/toolkits/tessutil_gradient_calculator.cpp delete mode 100755 dep/magnetic_tesseroids/toolkits/tessutil_magnetize_model.c delete mode 100644 dep/netcdfcxx_legacy/README.en.md delete mode 100644 dep/netcdfcxx_legacy/README.md delete mode 100755 dep/netcdfcxx_legacy/config.sh create mode 100644 dep/partow/include/dsv_filter.hpp create mode 100644 dep/partow/include/exprtk.hpp create mode 100644 dep/partow/include/strtk.hpp delete mode 100644 dep/tesseroids/CITATION.txt delete mode 100644 dep/tesseroids/CMakeLists.txt delete mode 100644 dep/tesseroids/LICENSE.txt delete mode 100644 dep/tesseroids/LibTessConfig.cmake.in delete mode 100644 dep/tesseroids/README.md delete mode 100755 dep/tesseroids/cookbook/custom_ratio/custom_ratio.bat delete mode 100755 dep/tesseroids/cookbook/custom_ratio/custom_ratio.sh delete mode 100755 dep/tesseroids/cookbook/custom_ratio/model.txt delete mode 100755 dep/tesseroids/cookbook/custom_ratio/plot.py delete mode 100755 dep/tesseroids/cookbook/dem_brasil/dem.xyz delete mode 100755 dep/tesseroids/cookbook/dem_brasil/dem_brasil.bat delete mode 100755 dep/tesseroids/cookbook/dem_brasil/dem_brasil.sh delete mode 100755 dep/tesseroids/cookbook/dem_brasil/dem_density.py delete mode 100755 dep/tesseroids/cookbook/dem_brasil/plot.py delete mode 100755 dep/tesseroids/cookbook/dem_brasil/sample-dem-dens.png delete mode 100755 dep/tesseroids/cookbook/dem_brasil/sample-dem-dens.txt delete mode 100755 dep/tesseroids/cookbook/dem_brasil/sample-dem-ggt.png delete mode 100755 dep/tesseroids/cookbook/dem_brasil/sample-dem-tess.txt delete mode 100755 dep/tesseroids/cookbook/dem_brasil/sample-dem.png delete mode 100755 dep/tesseroids/cookbook/simple_prism/model.txt delete mode 100755 dep/tesseroids/cookbook/simple_prism/plot.py delete mode 100755 dep/tesseroids/cookbook/simple_prism/simple_prism.bat delete mode 100755 dep/tesseroids/cookbook/simple_prism/simple_prism.png delete mode 100755 dep/tesseroids/cookbook/simple_prism/simple_prism.sh delete mode 100755 dep/tesseroids/cookbook/simple_tess/model.txt delete mode 100755 dep/tesseroids/cookbook/simple_tess/plot.py delete mode 100755 dep/tesseroids/cookbook/simple_tess/simple_tess.bat delete mode 100755 dep/tesseroids/cookbook/simple_tess/simple_tess.png delete mode 100755 dep/tesseroids/cookbook/simple_tess/simple_tess.sh delete mode 100755 dep/tesseroids/cookbook/tess2prism/plot.py delete mode 100755 dep/tesseroids/cookbook/tess2prism/result.svg delete mode 100755 dep/tesseroids/cookbook/tess2prism/sample-prism-model.txt delete mode 100755 dep/tesseroids/cookbook/tess2prism/tess-model.txt delete mode 100755 dep/tesseroids/cookbook/tess2prism/tess2prism.bat delete mode 100755 dep/tesseroids/cookbook/tess2prism/tess2prism.png delete mode 100755 dep/tesseroids/cookbook/tess2prism/tess2prism.sh delete mode 100755 dep/tesseroids/cookbook/tess2prism_flatten/plot.py delete mode 100755 dep/tesseroids/cookbook/tess2prism_flatten/sample-prism-model.txt delete mode 100755 dep/tesseroids/cookbook/tess2prism_flatten/tess-model.txt delete mode 100755 dep/tesseroids/cookbook/tess2prism_flatten/tess2prism_flatten.bat delete mode 100755 dep/tesseroids/cookbook/tess2prism_flatten/tess2prism_flatten.png delete mode 100755 dep/tesseroids/cookbook/tess2prism_flatten/tess2prism_flatten.sh delete mode 100755 dep/tesseroids/cookbook/tesslayers/layers.png delete mode 100755 dep/tesseroids/cookbook/tesslayers/layers.txt delete mode 100755 dep/tesseroids/cookbook/tesslayers/makelayers.py delete mode 100755 dep/tesseroids/cookbook/tesslayers/plot.py delete mode 100755 dep/tesseroids/cookbook/tesslayers/sample-tessmodel.txt delete mode 100755 dep/tesseroids/cookbook/tesslayers/tesslayers.bat delete mode 100755 dep/tesseroids/cookbook/tesslayers/tesslayers.png delete mode 100755 dep/tesseroids/cookbook/tesslayers/tesslayers.sh delete mode 100644 dep/tesseroids/lib/CMakeLists.txt delete mode 100644 dep/tesseroids/lib/constants.c delete mode 100644 dep/tesseroids/lib/constants.h delete mode 100644 dep/tesseroids/lib/geometry.c delete mode 100644 dep/tesseroids/lib/geometry.h delete mode 100644 dep/tesseroids/lib/glq.c delete mode 100644 dep/tesseroids/lib/glq.h delete mode 100644 dep/tesseroids/lib/grav_prism.c delete mode 100644 dep/tesseroids/lib/grav_prism.h delete mode 100644 dep/tesseroids/lib/grav_prism_sph.c delete mode 100644 dep/tesseroids/lib/grav_prism_sph.h delete mode 100644 dep/tesseroids/lib/grav_sphere.c delete mode 100644 dep/tesseroids/lib/grav_sphere.h delete mode 100644 dep/tesseroids/lib/grav_tess.c delete mode 100644 dep/tesseroids/lib/grav_tess.h delete mode 100644 dep/tesseroids/lib/logger.c delete mode 100644 dep/tesseroids/lib/logger.h delete mode 100644 dep/tesseroids/lib/parsers.c delete mode 100644 dep/tesseroids/lib/parsers.h delete mode 100644 dep/tesseroids/lib/prismg_main.c delete mode 100644 dep/tesseroids/lib/prismg_main.h delete mode 100644 dep/tesseroids/lib/tessg_main.c delete mode 100644 dep/tesseroids/lib/tessg_main.h delete mode 100644 dep/tesseroids/lib/version.c delete mode 100644 dep/tesseroids/lib/version.h delete mode 100644 dep/tesseroids/test/CMakeLists.txt delete mode 100755 dep/tesseroids/test/minunit.h delete mode 100755 dep/tesseroids/test/test_all.c delete mode 100755 dep/tesseroids/test/test_geometry.c delete mode 100755 dep/tesseroids/test/test_glq.c delete mode 100755 dep/tesseroids/test/test_grav_prism.c delete mode 100755 dep/tesseroids/test/test_grav_prism_sph.c delete mode 100755 dep/tesseroids/test/test_grav_tess.c delete mode 100755 dep/tesseroids/test/test_parsers.c delete mode 100644 dep/tesseroids/toolkits/CMakeLists.txt delete mode 100644 dep/tesseroids/toolkits/prismggts.c delete mode 100644 dep/tesseroids/toolkits/prismgs.c delete mode 100644 dep/tesseroids/toolkits/prismgx.c delete mode 100644 dep/tesseroids/toolkits/prismgxx.c delete mode 100644 dep/tesseroids/toolkits/prismgxy.c delete mode 100644 dep/tesseroids/toolkits/prismgxz.c delete mode 100644 dep/tesseroids/toolkits/prismgy.c delete mode 100644 dep/tesseroids/toolkits/prismgyy.c delete mode 100644 dep/tesseroids/toolkits/prismgyz.c delete mode 100644 dep/tesseroids/toolkits/prismgz.c delete mode 100644 dep/tesseroids/toolkits/prismgzz.c delete mode 100644 dep/tesseroids/toolkits/prismpot.c delete mode 100644 dep/tesseroids/toolkits/prismpots.c delete mode 100644 dep/tesseroids/toolkits/tess2prism.c delete mode 100644 dep/tesseroids/toolkits/tessdefaults.c delete mode 100644 dep/tesseroids/toolkits/tessgrd.c delete mode 100644 dep/tesseroids/toolkits/tessgx.c delete mode 100644 dep/tesseroids/toolkits/tessgxx.c delete mode 100644 dep/tesseroids/toolkits/tessgxy.c delete mode 100644 dep/tesseroids/toolkits/tessgxz.c delete mode 100644 dep/tesseroids/toolkits/tessgy.c delete mode 100644 dep/tesseroids/toolkits/tessgyy.c delete mode 100644 dep/tesseroids/toolkits/tessgyz.c delete mode 100644 dep/tesseroids/toolkits/tessgz.c delete mode 100644 dep/tesseroids/toolkits/tessgzz.c delete mode 100644 dep/tesseroids/toolkits/tesslayers.c delete mode 100644 dep/tesseroids/toolkits/tessmass.c delete mode 100644 dep/tesseroids/toolkits/tessmodgen.c delete mode 100644 dep/tesseroids/toolkits/tesspot.c create mode 100755 install.sh create mode 100755 manager.sh diff --git a/.gitignore b/.gitignore index 7064089..7a1d56d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,5 @@ .DS_Store build/ .vscode/ -tmp/ -doc/html -doc/man +data/ installer \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 9c3af13..62edbe9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,10 +7,13 @@ include(CMakePackageConfigHelpers) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) -# ExprTK库在macOS 15.4中编译会有错误 添加以下命令对应检查项 -add_compile_options(-Wno-missing-template-arg-list-after-template-kw) +if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") + # ExprTK库在macOS 15.4中编译会有错误 添加以下命令对应检查项 + add_compile_options(-Wno-missing-template-arg-list-after-template-kw) +endif() # 添加编译选项 +option(GCTL_DOCKER "Compile the docker image" OFF) option(GCTL_OPENMP "Use the OpenMP library" ON) option(GCTL_NETCDF "Use the NetCDF library" ON) option(GCTL_FFTW3 "Use the FFTW3 library" ON) @@ -27,6 +30,7 @@ set(DIR_VAR ${CMAKE_INSTALL_PREFIX}) message(STATUS "Platform: " ${CMAKE_HOST_SYSTEM_NAME}) message(STATUS "Install prefix: " ${CMAKE_INSTALL_PREFIX}) message(STATUS "Processor: " ${CMAKE_HOST_SYSTEM_PROCESSOR}) +message(STATUS "[GCTL] Compile the docker image: " ${GCTL_DOCKER}) message(STATUS "[GCTL] Use the OpenMP library: " ${GCTL_OPENMP}) message(STATUS "[GCTL] Use the NetCDF library: " ${GCTL_NETCDF}) message(STATUS "[GCTL] Use the FFTW3 library: " ${GCTL_FFTW3}) @@ -102,5 +106,7 @@ configure_file( # 添加库源文件地址 add_subdirectory(lib) -add_subdirectory(example) -add_subdirectory(tool) \ No newline at end of file +if(NOT GCTL_DOCKER) + add_subdirectory(example) + add_subdirectory(tool) +endif() \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e6acf83 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,41 @@ +# 编译平台 +FROM ubuntu:20.04 AS builder +# 安装编译工具 +RUN apt-get update && apt-get install -y g++ make cmake +# 安装依赖库 +RUN apt-get install -y libfftw3-dev libnetcdf-dev gmt libgmt-dev libgsl-dev libncurses-dev +# 创建工作目录 +WORKDIR /gctl + +# 1. 编译安装EEMD +# 拷贝libeemd相关内容 +COPY dep/libeemd /gctl/dep/libeemd +# 编译安装libeemd +RUN mkdir /gctl/dep/libeemd/build && cd /gctl/dep/libeemd/build && cmake .. && make && make install + +# 2. 编译安装netcdfcxx_legacy +# 拷贝netcdfcxx_legacy相关内容 +COPY dep/netcdfcxx_legacy /gctl/dep/netcdfcxx_legacy +# 编译安装netcdfcxx_legacy +RUN mkdir /gctl/dep/netcdfcxx_legacy/build && cd /gctl/dep/netcdfcxx_legacy/build && cmake .. && make && make install + +# 3. 拷贝partow模版文件 +COPY dep/partow/include /usr/local/include + +# 将gctl源代码 +COPY lib /gctl/lib +COPY CMakeLists.txt . +COPY config.h.in . +COPY GCTLConfig.cmake.in . +# 将CMake配置文件拷贝到系统路径 +COPY dep/cmake /usr/local/lib/cmake +# 编译gctl动态库 +RUN mkdir build && cd build && cmake .. -DGCTL_DOCKER=ON && make && make install + +# 运行平台 +FROM ubuntu:20.04 +# 安装运行时必要依赖 +RUN apt-get update && apt-get install -y libstdc++6 +# 从构建阶段复制编译后的库和头文件 +COPY --from=builder /usr/local/lib /usr/local/lib +COPY --from=builder /usr/local/include /usr/local/include \ No newline at end of file diff --git a/doc/FFTW3/FFTW3Config.cmake b/dep/cmake/FFTW3/FFTW3Config.cmake similarity index 64% rename from doc/FFTW3/FFTW3Config.cmake rename to dep/cmake/FFTW3/FFTW3Config.cmake index 165061a..a71e3b5 100644 --- a/doc/FFTW3/FFTW3Config.cmake +++ b/dep/cmake/FFTW3/FFTW3Config.cmake @@ -6,18 +6,16 @@ macro(set_and_check _var _file) endmacro() # change the following options as needed -set(FFTW3_VERSION "3.5.8") - if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin") - set_and_check(FFTW3_INC_DIR "/opt/homebrew/include") - set_and_check(FFTW3_LIB_DIR "/opt/homebrew/lib") + set_and_check(FFTW3_INCLUDE_DIRS "/opt/homebrew/include") + set_and_check(FFTW3_LIBRARY_DIRS "/opt/homebrew/lib") elseif(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux") - set_and_check(FFTW3_INC_DIR "/usr/include") - set_and_check(FFTW3_LIB_DIR "/usr/lib/x86_64-linux-gnu") + set_and_check(FFTW3_INCLUDE_DIRS "/usr/include") + set_and_check(FFTW3_LIBRARY_DIRS "/usr/lib") else() message(FATAL_ERROR "Unset operation system for FFTW3. Please edit the FFTW3Config.cmake file.") endif() -set(FFTW3_LIB fftw3) \ No newline at end of file +set(FFTW3_LIBRARIES fftw3) \ No newline at end of file diff --git a/dep/cmake/GMT/GMTConfig.cmake b/dep/cmake/GMT/GMTConfig.cmake new file mode 100644 index 0000000..d785c6f --- /dev/null +++ b/dep/cmake/GMT/GMTConfig.cmake @@ -0,0 +1,21 @@ +macro(set_and_check _var _file) + set(${_var} "${_file}") + if(NOT EXISTS "${_file}") + message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !") + endif() +endmacro() + +# change the following options as needed +if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin") + set_and_check(GMT_INC_DIR "/opt/homebrew/include") + set_and_check(GMT_LIB_DIR "/opt/homebrew/lib") + +elseif(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux") + set_and_check(GMT_INC_DIR "/usr/include") + set_and_check(GMT_LIB_DIR "/usr/lib") + +else() + message(FATAL_ERROR "Unset operation system for GMT. Please edit the GMTConfig.cmake file.") +endif() + +set(GMT_LIB gmt) \ No newline at end of file diff --git a/doc/OpenBLAS/OpenBLASConfig.cmake b/dep/cmake/OpenBLAS/OpenBLASConfig.cmake similarity index 100% rename from doc/OpenBLAS/OpenBLASConfig.cmake rename to dep/cmake/OpenBLAS/OpenBLASConfig.cmake diff --git a/dep/libeemd b/dep/libeemd new file mode 160000 index 0000000..bd7acef --- /dev/null +++ b/dep/libeemd @@ -0,0 +1 @@ +Subproject commit bd7aceff23f8722c6c102b5dd72d94b22a0be1d6 diff --git a/dep/magnetic_tesseroids/CMakeLists.txt b/dep/magnetic_tesseroids/CMakeLists.txt deleted file mode 100644 index b90f300..0000000 --- a/dep/magnetic_tesseroids/CMakeLists.txt +++ /dev/null @@ -1,19 +0,0 @@ -cmake_minimum_required(VERSION 3.15.2) -# 设置项目名称与语言 -project(LibMagTess VERSION 1.0) -# 添加配置配件编写的函数 -include(CMakePackageConfigHelpers) - -if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows") - set(CMAKE_INSTALL_PREFIX D:/Library) -else() - set(CMAKE_INSTALL_PREFIX /opt/stow/magtess) -endif() - -message(STATUS "Platform: " ${CMAKE_HOST_SYSTEM_NAME}) -message(STATUS "Install prefix: " ${CMAKE_INSTALL_PREFIX}) -message(STATUS "Build type: " ${CMAKE_BUILD_TYPE}) - -# 添加库源文件地址 -add_subdirectory(lib) -add_subdirectory(toolkits) \ No newline at end of file diff --git a/dep/magnetic_tesseroids/LICENSE.txt b/dep/magnetic_tesseroids/LICENSE.txt deleted file mode 100644 index fa9e309..0000000 --- a/dep/magnetic_tesseroids/LICENSE.txt +++ /dev/null @@ -1,33 +0,0 @@ -BSD 2-Clause License - -Copyright (c) 2012-2015, Leonardo Uieda -Copyright (c) 2017-2020, Eldar Baykiev -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -3. Neither the name of Leonardo Uieda nor the names of any contributors* - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -* Contributors to the original tesseroids source and binary forms, which are -under BSD 3-Clause License diff --git a/dep/magnetic_tesseroids/LibMagTessConfig.cmake.in b/dep/magnetic_tesseroids/LibMagTessConfig.cmake.in deleted file mode 100644 index 3f777c0..0000000 --- a/dep/magnetic_tesseroids/LibMagTessConfig.cmake.in +++ /dev/null @@ -1,15 +0,0 @@ -@PACKAGE_INIT@ - -set(@PROJECT_NAME@_Version "@PROJECT_VERSION@") -set_and_check(@PROJECT_NAME@_INSTALL_PREFIX "${PACKAGE_PREFIX_DIR}") -set_and_check(@PROJECT_NAME@_INC_DIR "${PACKAGE_PREFIX_DIR}/include") -set_and_check(@PROJECT_NAME@_INCULDE_DIR "${PACKAGE_PREFIX_DIR}/include") -set_and_check(@PROJECT_NAME@_LIB_DIR "${PACKAGE_PREFIX_DIR}/lib") -set_and_check(@PROJECT_NAME@_LIBRARY_DIR "${PACKAGE_PREFIX_DIR}/lib") - -set(@PROJECT_NAME@_LIB magtess) -set(@PROJECT_NAME@_LIBRARY magtess) -set(@PROJECT_NAME@_FOUND 1) - -# include target information -include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") \ No newline at end of file diff --git a/dep/magnetic_tesseroids/README.md b/dep/magnetic_tesseroids/README.md deleted file mode 100644 index 60bd43a..0000000 --- a/dep/magnetic_tesseroids/README.md +++ /dev/null @@ -1,122 +0,0 @@ -# Forward modeling of magnetic field in spherical coordinates - -Magnetic tesseroids is a collection of command-line tools for modelling of the magnetic field with spherical prisms (tesseroids) used as magnetic sources. - -To cite _magnetic tesseroids_ in publications, please use our paper published in Computers & Geosciences: - ->**Eldar Baykiev**, **Jörg Ebbing**, **Marco Brönner**, **Karl Fabian**, Forward modeling magnetic fields of induced and remanent magnetization in the lithosphere using tesseroids, _Computers & Geosciences_, Volume 96, November 2016, Pages 124-135, ISSN 0098-3004, http://dx.doi.org/10.1016/j.cageo.2016.08.004. - -Article can also be found here http://goo.gl/x9g7gi (researchgate). - -## Usage of _magnetic tesseroids_ -_Magnetic tesseroids_ are based on the existing program of Leonardo Uieda called tesseroids (Uieda, 2013) of version 1.1 (https://github.com/leouieda/tesseroids/releases/tag/v1.1). It inherits the interface of tesseroids-1.1 but with several changes. Present appendix describes constants and units used be the program, as well as input and output format. -### Constants -1. Geocentric mean Earth's radius _R_E_ = 6378.137 km. -1. Magnetic permeability of a free space _µ_0_ = 4π × 10^-7 H·m^-1 - -### List of programs -The tessbx, tessby, tessbz are programs that calculate the corresponding components (x - north, y - east, **z - up**) of the magnetic field of the tesseroid model on the computational grid. - -### Input: tesseroid model -The input model file should be a text file where each line describe one tesseroid in such space separated format: -> `W E S N HEIGHT_OF_TOP HEIGHT_OF_BOTTOM DENSITY SUSCEPTIBILITY BX BY BZ` - -`W`, `E`, `S`, `N` correspond to the western, eastern, southern and northern edges of a tesseroid (_λ_1_, _λ_2_, _ϕ_1_, _ϕ_2_ respectively) expressed in decimal degrees [°]. -`HEIGHT_OF_TOP` and `HEIGHT_OF_BOTTOM` define the top and the bottom of tesseroid (_r_2_ and _r_1_ respectively). Both are counted from geocentric mean Earth's radius in meters [m]. If a tesseroid should be placed beneath the mean surface, than the values of these parameters should be negative. Note that `HEIGHT_OF_TOP` > `HEIGHT_OF_BOTTOM`. -`DENSITY` is the density _ρ_ of tesseroid in kilogram per cubic meter [kg/m^3] -`SUSCEPTIBILITY` is the susceptibility _χ_ of tesseroid in SI units. -`BX`, `BY` and `BZ` are the components of the magnetizing field in the local North-East-Up Cartesian coordinate system of a tesseroids' geometric center. They can be taken from any core field's model. Values are given in nanotesla [nT]. -In case of remanent magnetic field modeling, susceptibility must be set 1 SI and `BX`, `BY` and `BZ` values than would define the direction of remanent magnetization vector. -This example shows a model made of 3 neighboring tesseroids near the North Pole: -> `-74 -73 89 90 -1000.000000 -11650.000000 1.000000 1.000000 334.9504973176 -1969.9308033594 -56572.6324041700` - -> `-73 -72 89 90 -1000.000000 -11650.000000 1.000000 1.000000 370.1879538142 -1968.1093976826 -56571.2826313492` - -> `-72 -71 89 90 -1000.000000 -11650.000000 1.000000 1.000000 405.4388222633 -1965.6409379187 -56569.9502088641` - -### Input: computation grid -Computation grid can be regular or irregular and should be also a text file where each line describe the position of one computation point in such space separated format: ->`LON LAT ALT` - -`LON` and `LAT` correspond to the longitude and latitude of the point in decimal degrees [°]. -`ALT` corresponds to the altitude of the point above the mean surface in meters [m]. -Note that the program tessgrd from original tesseroids-1.1 can be used to create a regular computation grid (see Uieda, 2013). -This example shows a grid made of 6 points with the same latitude and the altitude of 400 km: -> `-6 51 400000 ` - -> `-5.8 51 400000 ` - -> `-5.6 51 400000 ` - -> `-5.4 51 400000 ` - -> `-5.2 51 400000 ` - -> `-5 51 400000` - -### Performing calculations -Example: to calculate the vertical component of the magnetic field of a model in file modelfile.txt on a grid from file gridpoints.txt one can simply use a console command: -``` -tessbz modelfile.txt < gridpoints.txt > gz_output.txt -``` - -The result would be written in the file gz_output.txt. -### Output format -The programs' output is a modified grid file where in the end of each line the calculated value of a corresponding magnetic field component would be written. Values are given in nanotesla [nT] in the local North-East-Up coordinate system of a computational point. -### Additional features -Magnetic tesseroids support features like piping and integration accuracy adjustment from tesseroids-1.1. Please, check sections in the tesseroids-1.1 manual (Uieda, 2013) relative to the gravity calculation programs to get more information. - -## Utilities -### tessutil_magnetize_model -This program is made to 'magnetize' any existing tesseroid model by any given main field spherical harmonic model. -Usage: -``` -tessutil_magnetize_model [SH coeff file] [input tesseroid model file] [day] [month] [year] [output tesseroid model file] -``` - -### tessutil_gradient_calculator -Gradient calculator (Baykiev et al., in press). -Usage: -``` -tessutil_gradient_calculator -bx[Bx grid file] -by[By grid file] -bz[Bx grid file] -o[output component] -c2 >> output_file.dat -``` - -All grid files should be in tessgrd format. With option `-c1` program reads input grid bz as its direction is upward, with option `-c2` - downward, just as in magnetic tesseroids output. Output of gradient calculator is always in North-East-Down coordinate system. - -Known issue: rounding error when processing grids with spacing equal or less than 0.2 degrees. - -### tessutil_combine_grids -Sums calculated grids. -Usage: -``` -tessutil_combine_grids [grid file1] [factor1] ... [grid fileN] [factorN] >> output_file.dat -``` - -Each grid is multiplied by factor (susceptibility) and then the sum of all grids is calculated. - -## Installation (version 1.1) -1. Download source code from [GitHub](https://github.com/eldarbaykiev/magnetic-tesseroids): - -``` -git clone https://github.com/eldarbaykiev/magnetic-tesseroids.git -``` - -2. On **Linux**, install [OpenBLAS](https://www.openblas.net/) library: - -``` -sudo apt-get install libopenblas-base libopenblas-dev -``` - -On **macOS**, make sure that [Xcode](https://developer.apple.com/xcode/) is installed and [Accelerate framework](https://developer.apple.com/documentation/accelerate) is available. - -3. Run **make** - -``` -make -``` - -To compile all utilities, run - -``` -make tools -``` diff --git a/dep/magnetic_tesseroids/lib/CMakeLists.txt b/dep/magnetic_tesseroids/lib/CMakeLists.txt deleted file mode 100644 index 70886f7..0000000 --- a/dep/magnetic_tesseroids/lib/CMakeLists.txt +++ /dev/null @@ -1,74 +0,0 @@ -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3") -if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows") - # set OpenBLAS directory manually - set(OpenBLAS_DIR D:/Library/lib/cmake/openblas) - find_library(OpenBLAS REQUIRED) - include_directories(${OpenBLAS_INCLUDE_DIRS}) -elseif(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin") - # set OpenBLAS directory manually - set(OpenBLAS_DIR /opt/homebrew/Cellar/openblas/0.3.24/lib/cmake/openblas) - find_package(OpenBLAS REQUIRED) - include_directories(${OpenBLAS_INCLUDE_DIRS}) -elseif(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -lm") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lm") -endif() - -# 设置库文件的输出地址 -set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) - -# 设定库源文件 -aux_source_directory(. LIBMAGTESS_SRC) - -# 以下部分为库的编译 -# 注意目标名必须唯一 所以不能直接生成相同名称的动态库与静态库 -# 注意此处不必为目标名称添加lib前缀和相应后缀,cmake会自行添加 -add_library(magtess SHARED ${LIBMAGTESS_SRC}) -# 首先添加静态库的生成命令 -add_library(magtess_static STATIC ${LIBMAGTESS_SRC}) -# 设置静态库的输出名称从而获得与动态库名称相同的静态库 -set_target_properties(magtess_static PROPERTIES OUTPUT_NAME "magtess") -# 设置输出目标属性以同时输出动态库与静态库 -set_target_properties(magtess PROPERTIES CLEAN_DIRECT_OUTPUT 1) -set_target_properties(magtess_static PROPERTIES CLEAN_DIRECT_OUTPUT 1) -# 设置动态库的版本号 -set_target_properties(magtess PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}) - -target_link_libraries(magtess PUBLIC ${OpenBLAS_LIBRARIES}) -target_link_libraries(magtess_static ${OpenBLAS_LIBRARIES}) -if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux") - target_link_libraries(magtess PUBLIC m) - target_link_libraries(magtess PUBLIC openblas) -endif() - -set(CONFIG_FILE_PATH lib/cmake/${PROJECT_NAME}) - -configure_package_config_file(${PROJECT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in - ${CMAKE_BINARY_DIR}/${PROJECT_NAME}Config.cmake - INSTALL_DESTINATION ${CONFIG_FILE_PATH} - NO_CHECK_REQUIRED_COMPONENTS_MACRO) - -write_basic_package_version_file(${CMAKE_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake - VERSION ${PROJECT_VERSION} - COMPATIBILITY SameMajorVersion) - -# 库的安装命令 -if(WIN32) - install(TARGETS magtess DESTINATION lib) - install(TARGETS magtess_static DESTINATION lib) -else() - install(TARGETS magtess magtess_static - EXPORT ${PROJECT_NAME}Targets - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) - install(EXPORT ${PROJECT_NAME}Targets - DESTINATION ${CONFIG_FILE_PATH}) - install(FILES - ${CMAKE_BINARY_DIR}/${PROJECT_NAME}Config.cmake - ${CMAKE_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake - DESTINATION ${CONFIG_FILE_PATH}) -endif() - -file(GLOB LIBMEGTESS_HEAD *.h) -install(FILES ${LIBMEGTESS_HEAD} DESTINATION include/magtess) diff --git a/dep/magnetic_tesseroids/lib/constants.h b/dep/magnetic_tesseroids/lib/constants.h deleted file mode 100755 index cf04504..0000000 --- a/dep/magnetic_tesseroids/lib/constants.h +++ /dev/null @@ -1,60 +0,0 @@ -/* -Define constants used, like the gravitational constant and unit conversions. - -Values are assigned in file constants.c - -All values are in SI units! -*/ - -#ifndef _TESSEROIDS_CONSTANTS_H_ -#define _TESSEROIDS_CONSTANTS_H_ - -/* Mean Earth radius [\f$ m \f$] */ -const double MEAN_EARTH_RADIUS = 6378137.0; -const double EARTH_RADIUS_IGRF_KM = 6371.2; - -/* The gravitational constant [\f$ m^3*kg^{-1}*s^{-1} \f$] */ -const double G = 0.00000000006673; - - - -/* Conversion factor from SI units to Eotvos -[\f$ \frac{1}{s^2} = 10^9\ Eotvos \f$] */ -const double SI2EOTVOS = 1000000000.0; -const double EOTVOS2SI = 0.000000001; - -/* Conversion factor from SI units to mGal -[\f$ 1 \frac{m}{s^2} = 10^5\ mGal \f$] */ -const double SI2MGAL = 100000.0; - -/* Pi */ -#ifdef __cplusplus -const double PI = 3.1415926535897932384626433832795; -#else -#define PI 3.1415926535897932384626433832795 -#endif - -/* minimum distance-to-size ratio for potential computations to be accurate */ -const double TESSEROID_POT_SIZE_RATIO = 1.5; -/* Minimum distance-to-size ratio for gravity computations to be accurate */ -const double TESSEROID_GX_SIZE_RATIO = 3; -const double TESSEROID_GY_SIZE_RATIO = 3; -const double TESSEROID_GZ_SIZE_RATIO = 2; -/* Minimum distance-to-size ratio for gravity gradient computations to be -accurate */ -const double TESSEROID_GXX_SIZE_RATIO = 3; -const double TESSEROID_GXY_SIZE_RATIO = 4.5; -const double TESSEROID_GXZ_SIZE_RATIO = 4; -const double TESSEROID_GYY_SIZE_RATIO = 3; -const double TESSEROID_GYZ_SIZE_RATIO = 4; -const double TESSEROID_GZZ_SIZE_RATIO = 3; - -const double M_0 = 4 * (PI) * 0.0000001; - -const double DEG2RAD = (PI)/180.0; - - -#define FALSE 0 -#define TRUE 1 - -#endif diff --git a/dep/magnetic_tesseroids/lib/geometry.cpp b/dep/magnetic_tesseroids/lib/geometry.cpp deleted file mode 100755 index ec29414..0000000 --- a/dep/magnetic_tesseroids/lib/geometry.cpp +++ /dev/null @@ -1,48 +0,0 @@ -/* -Data structures for geometric elements and functions that operate on them. -Defines the TESSEROID, SPHERE, and PRISM structures. -*/ - - -#include -#include -#include -#include -#include "constants.h" -#include "logger.h" -#include "geometry.h" - - -/* Split a tesseroid into 8. */ -void split_tess(MAG_TESSEROID tess, MAG_TESSEROID *split) -{ - double dlon = 0.5*(tess.e - tess.w), - dlat = 0.5*(tess.n - tess.s), - dr = 0.5*(tess.r2 - tess.r1), - ws[2], ss[2], r1s[2]; - int i, j, k, t = 0; - - ws[0] = tess.w; - ws[1] = tess.w + dlon; - ss[0] = tess.s; - ss[1] = tess.s + dlat; - r1s[0] = tess.r1; - r1s[1] = tess.r1 + dr; - for(k = 0; k < 2; k++) - { - for(j = 0; j < 2; j++) - { - for(i = 0; i < 2; i++) - { - split[t].w = ws[i]; - split[t].e = ws[i] + dlon; - split[t].s = ss[j]; - split[t].n = ss[j] + dlat; - split[t].r1 = r1s[k]; - split[t].r2 = r1s[k] + dr; - split[t].density = tess.density; - t++; - } - } - } -} diff --git a/dep/magnetic_tesseroids/lib/geometry.h b/dep/magnetic_tesseroids/lib/geometry.h deleted file mode 100755 index af133ad..0000000 --- a/dep/magnetic_tesseroids/lib/geometry.h +++ /dev/null @@ -1,37 +0,0 @@ -/* -Data structures for geometric elements and functions that operate on them. -Defines the TESSEROID, SPHERE, and PRISM structures. -*/ - -#ifndef _MAG_TESSEROIDS_GEOMETRY_H_ -#define _MAG_TESSEROIDS_GEOMETRY_H_ - - -/* Store information on a tesseroid */ -typedef struct magtess_struct { - /* s, n, w, e in degrees. r1 and r2 are the smaller and larger radius */ - double density; /* in SI units */ - double w; /* western longitude border in degrees */ - double e; /* eastern longitude border in degrees */ - double s; /* southern latitude border in degrees */ - double n; /* northern latitude border in degrees */ - double r1; /* smallest radius border in SI units */ - double r2; /* largest radius border in SI units */ - double suscept; /* magnetic susceptibility */ - double Bx; /* x-component of ambient magnetic field */ - double By; /* y-component of ambient magnetic field */ - double Bz; /* z-component of ambient magnetic field */ - - double cos_a1; - double sin_a1; - double cos_b1; - double sin_b1; - //double Rx; - //double Ry; - //double Rz; -} MAG_TESSEROID; - - -void split_tess(MAG_TESSEROID tess, MAG_TESSEROID *split); - -#endif diff --git a/dep/magnetic_tesseroids/lib/glq.cpp b/dep/magnetic_tesseroids/lib/glq.cpp deleted file mode 100755 index d95f3f7..0000000 --- a/dep/magnetic_tesseroids/lib/glq.cpp +++ /dev/null @@ -1,265 +0,0 @@ -/* -Functions for implementing a Gauss-Legendre Quadrature numerical integration. -*/ - - -#include -#include -#include "constants.h" -#include "logger.h" -#include "glq.h" - - -/* Make a new GLQ structure and set all the parameters needed */ -GLQ * glq_new(int order, double lower, double upper) -{ - GLQ *glq; - int rc; - - glq = (GLQ *)malloc(sizeof(GLQ)); - if(glq == NULL) - { - return NULL; - } - glq->order = order; - glq->nodes = (double *)malloc(sizeof(double)*order); - if(glq->nodes == NULL) - { - free(glq); - return NULL; - } - glq->nodes_unscaled = (double *)malloc(sizeof(double)*order); - if(glq->nodes_unscaled == NULL) - { - free(glq); - free(glq->nodes); - return NULL; - } - glq->weights = (double *)malloc(sizeof(double)*order); - if(glq->weights == NULL) - { - free(glq); - free(glq->nodes); - free(glq->nodes_unscaled); - return NULL; - } - rc = glq_nodes(order, glq->nodes_unscaled); - if(rc != 0 && rc != 3) - { - switch(rc) - { - case 1: - log_error("glq_nodes invalid GLQ order %d. Should be >= 2.", - order); - break; - case 2: - log_error("glq_nodes NULL pointer for nodes"); - break; - default: - log_error("glq_nodes unknown error code %g", rc); - break; - } - glq_free(glq); - return NULL; - } - else if(rc == 3) - { - log_warning("glq_nodes max iterations reached in root finder"); - log_warning("nodes might not have desired accuracy %g", GLQ_MAXERROR); - } - rc = glq_weights(order, glq->nodes_unscaled, glq->weights); - if(rc != 0) - { - switch(rc) - { - case 1: - log_error("glq_weights invalid GLQ order %d. Should be >= 2.", - order); - break; - case 2: - log_error("glq_weights NULL pointer for nodes"); - break; - case 3: - log_error("glq_weights NULL pointer for weights"); - break; - default: - log_error("glq_weights unknown error code %d\n", rc); - break; - } - glq_free(glq); - return NULL; - } - if(glq_set_limits(lower, upper, glq) != 0) - { - glq_free(glq); - return NULL; - } - return glq; -} - - -/* Free the memory allocated to make a GLQ structure */ -void glq_free(GLQ *glq) -{ - free(glq->nodes); - - free(glq->nodes_unscaled); - free(glq->weights); - free(glq); -} - - -/* Calculates the GLQ nodes using glq_next_root. */ -int glq_nodes(int order, double *nodes) -{ - register int i; - int rc = 0; - double initial; - - if(order < 2) - { - return 1; - } - if(nodes == NULL) - { - return 2; - } - for(i = 0; i < order; i++) - { - initial = cos(PI*(order - i - 0.25)/(order + 0.5)); - if(glq_next_root(initial, i, order, nodes) == 3) - { - rc = 3; - } - } - return rc; -} - - -/* Put the GLQ nodes to the integration limits IN PLACE. */ -int glq_set_limits(double lower, double upper, GLQ *glq) -{ - /* Only calculate once to optimize the code */ - double tmpplus = 0.5*(upper + lower), tmpminus = 0.5*(upper - lower); - register int i; - - if(glq->order < 2) - { - return 1; - } - if(glq->nodes == NULL) - { - return 2; - } - if(glq->nodes_unscaled == NULL) - { - return 2; - } - for(i = 0; i < glq->order; i++) - { - glq->nodes[i] = tmpminus*glq->nodes_unscaled[i] + tmpplus; - - } - return 0; -} - -/* Calculate the next Legendre polynomial root given the previous root found. */ -int glq_next_root(double initial, int root_index, int order, double *roots) -{ - double x1, x0, pn, pn_2, pn_1, pn_line, sum; - int it = 0; - register int n; - - if(order < 2) - { - return 1; - } - if(root_index < 0 || root_index >= order) - { - return 2; - } - x1 = initial; - do - { - x0 = x1; - - /* Calculate Pn(x0) */ - /* Starting from P0(x) and P1(x), */ - /* find the others using the recursive relation: */ - /* Pn(x)=(2n-1)xPn_1(x)/n - (n-1)Pn_2(x)/n */ - pn_1 = 1.; /* This is Po(x) */ - pn = x0; /* and this P1(x) */ - for(n = 2; n <= order; n++) - { - pn_2 = pn_1; - pn_1 = pn; - pn = ( ((2*n - 1)*x0*pn_1) - ((n - 1)*pn_2) )/n; - } - /* Now calculate Pn'(x0) using another recursive relation: */ - /* Pn'(x)=n(xPn(x)-Pn_1(x))/(x*x-1) */ - pn_line = order*(x0*pn - pn_1)/(x0*x0 - 1); - /* Sum the roots found so far */ - for(n = 0, sum = 0; n < root_index; n++) - { - sum += 1./(x0 - roots[n]); - } - /* Update the estimate for the root */ - x1 = x0 - (double)pn/(pn_line - pn*sum); - - /** Compute the absolute value of x */ - #define GLQ_ABS(x) ((x) < 0 ? -1*(x) : (x)) - } while(GLQ_ABS(x1 - x0) > GLQ_MAXERROR && ++it <= GLQ_MAXIT); - #undef GLQ_ABS - - roots[root_index] = x1; - - /* Tell the user if stagnation occurred */ - if(it > GLQ_MAXIT) - { - return 3; - } - return 0; -} - - -/* Calculates the weighting coefficients for the GLQ integration. */ -int glq_weights(int order, double *nodes, double *weights) -{ - register int i, n; - double xi, pn, pn_2, pn_1, pn_line; - - if(order < 2) - { - return 1; - } - if(nodes == NULL) - { - return 2; - } - if(weights == NULL) - { - return 3; - } - for(i = 0; i < order; i++){ - - xi = nodes[i]; - - /* Find Pn'(xi) with the recursive relation to find Pn and Pn-1: */ - /* Pn(x)=(2n-1)xPn_1(x)/n - (n-1)Pn_2(x)/n */ - /* Then use: Pn'(x)=n(xPn(x)-Pn_1(x))/(x*x-1) */ - - /* Find Pn and Pn-1 stating from P0 and P1 */ - pn_1 = 1; /* This is Po(x) */ - pn = xi; /* and this P1(x) */ - for(n = 2; n <= order; n++) - { - pn_2 = pn_1; - pn_1 = pn; - pn = ((2*n - 1)*xi*pn_1 - (n - 1)*pn_2)/n; - } - pn_line = order*(xi*pn - pn_1)/(xi*xi - 1.); - /* ith weight is: wi = 2/(1 - xi^2)(Pn'(xi)^2) */ - weights[i] = 2./((1 - xi*xi)*pn_line*pn_line); - } - return 0; -} diff --git a/dep/magnetic_tesseroids/lib/glq.h b/dep/magnetic_tesseroids/lib/glq.h deleted file mode 100755 index 84cb04a..0000000 --- a/dep/magnetic_tesseroids/lib/glq.h +++ /dev/null @@ -1,182 +0,0 @@ -/* -Functions for implementing a Gauss-Legendre Quadrature numerical integration -(Hildebrand, 1987). - -Usage example -------------- - -To integrate the cossine function from 0 to 90 degrees: - - #include - #include - #include - #include "src/c/glq.h" - - int main(){ - // Create a new glq structure - GLQ *glq; - double result = 0, a = 0, b = 0.5*3.14; - int i; - - glq = glq_new(5, a, b); - - if(glq == NULL){ - printf("malloc error"); - return 1; - } - - // Calculate the integral - for(i = 0; i < glq->order; i++) - result += glq->weights[i]*cos(glq->nodes[i]); - - // Need to multiply by a scale factor of the integration limits - result *= 0.5*(b - a); - - printf("Integral of cossine from 0 to 90 degrees = %lf\n", result); - - // Free allocated memory - glq_free(glq); - - return 0; - } - -References ----------- - -* Hildebrand, F.B (1987): Introduction to numerical analysis. - Courier Dover Publications, 2. ed. -*/ - -#ifndef _TESSEROIDS_GLQ_H_ -#define _TESSEROIDS_GLQ_H_ - - -/** \var GLQ_MAXIT -Max iterations of the root-finder algorithm */ -const int GLQ_MAXIT = 1000; - - -/** \var GLQ_MAXERROR -Max error allowed for the root-finder algorithm */ -const double GLQ_MAXERROR = 0.000000000000001; - - -/** Store the nodes and weights needed for a GLQ integration */ -typedef struct glq_struct -{ - int order; /**< order of the quadrature, ie number of nodes */ - double *nodes; /**< abscissas or discretization points of the quadrature */ - double *weights; /**< weighting coefficients of the quadrature */ - double *nodes_unscaled; /**< nodes in [-1,1] interval */ -} GLQ; - - -/** Make a new GLQ structure and set all the parameters needed - -WARNING: Don't forget to free the memory malloced by this function using -glq_free()! - -Prints error and warning messages using the logging.h module. - -@param order order of the quadrature, ie number of nodes -@param lower lower integration limit -@param upper upper integration limit - -@return GLQ data structure with the nodes and weights calculated. NULL if there - was an error with allocation. -*/ -GLQ * glq_new(int order, double lower, double upper); - - -/** Free the memory allocated to make a GLQ structure - -@param glq pointer to the allocated memory -*/ -void glq_free(GLQ *glq); - - -/** Put the GLQ nodes to the integration limits IN PLACE. - -Will replace the values of glq.nodes with ones in the specified integration -limits. - -In case the GLQ structure was created with glq_new(), the integration limits can -be reset using this function. - -@param lower lower integration limit -@param upper upper integration limit -@param glq pointer to a GLQ structure created with glq_new() and with all - necessary memory allocated - -@return Return code: - - 0: if everything went OK - - 1: if invalid order - - 2: if NULL pointer for nodes or nodes_unscaled -*/ -int glq_set_limits(double lower, double upper, GLQ *glq); -/** Calculates the GLQ nodes using glq_next_root. - -Nodes will be in the [-1,1] interval. To convert them to the integration limits -use glq_scale_nodes - -@param order order of the quadrature, ie how many nodes. Must be >= 2. -@param nodes pre-allocated array to return the nodes. - -@return Return code: - - 0: if everything went OK - - 1: if invalid order - - 2: if NULL pointer for nodes - - 3: if number of maximum iterations was reached when calculating the root. - This usually means that the desired accuracy was not achieved. Default - desired accuracy is GLQ_MAXERROR. Default maximum iterations is - GLQ_MAXIT. -*/ -int glq_nodes(int order, double *nodes); - - -/** Calculate the next Legendre polynomial root given the previous root found. - -Uses the root-finder algorithm of: - - Barrera-Figueroa, V., Sosa-Pedroza, J. and López-Bonilla, J., 2006, - "Multiple root finder algorithm for Legendre and Chebyshev polynomials via - Newton's method", 2006, Annales mathematicae et Informaticae, 33, pp 3-13 - -@param initial initial estimate of the next root. I recommend the use of - \f$ \cos\left(\pi\frac{(N - i - 0.25)}{N + 0.5}\right) \f$, - where \f$ i \f$ is the index of the desired root -@param root_index index of the desired root, starting from 0 -@param order order of the Legendre polynomial, ie number of roots. -@param roots array with the roots found so far. Will return the next root in - roots[root_index], so make sure to malloc enough space. - -@return Return code: - - 0: if everything went OK - - 1: if order is not valid - - 2: if root_index is not valid (negative) - - 3: if number of maximum iterations was reached when calculating the root. - This usually means that the desired accuracy was not achieved. Default - desired accuracy is GLQ_MAXERROR. Default maximum iterations is - GLQ_MAXIT. -*/ -int glq_next_root(double initial, int root_index, int order, - double *roots); - - -/** Calculates the weighting coefficients for the GLQ integration. - -@param order order of the quadrature, ie number of nodes and weights. -@param nodes array containing the GLQ nodes calculated by glq_nodes. - IMPORTANT: needs the nodes in [-1,1] interval! Scaled nodes - will result in wrong weights! -@param weights pre-allocated array to return the weights - -@return Return code: - - 0: if everything went OK - - 1: if order is not valid - - 2: if nodes is a NULL pointer - - 3: if weights is a NULL pointer -*/ -int glq_weights(int order, double *nodes, double *weights); - -#endif diff --git a/dep/magnetic_tesseroids/lib/grav_tess.cpp b/dep/magnetic_tesseroids/lib/grav_tess.cpp deleted file mode 100755 index eb96815..0000000 --- a/dep/magnetic_tesseroids/lib/grav_tess.cpp +++ /dev/null @@ -1,628 +0,0 @@ -/* -Functions that calculate the gravitational potential and its first and second -derivatives for the tesseroid. - -References ----------- - -* Grombein, T.; Seitz, K.; Heck, B. (2010): Untersuchungen zur effizienten -Berechnung topographischer Effekte auf den Gradiententensor am Fallbeispiel der -Satellitengradiometriemission GOCE. -KIT Scientific Reports 7547, ISBN 978-3-86644-510-9, KIT Scientific Publishing, -Karlsruhe, Germany. -*/ - - -#include -#include "logger.h" -#include "geometry.h" -#include "glq.h" -#include "constants.h" -#include "grav_tess.h" - - -/* Calculates the field of a tesseroid model at a given point. */ -double calc_tess_model(MAG_TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, double (*field)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ)) -{ - double res; - int tess; - - res = 0; - for(tess = 0; tess < size; tess++) - { - if(lonp >= model[tess].w && lonp <= model[tess].e && - latp >= model[tess].s && latp <= model[tess].n && - rp >= model[tess].r1 && rp <= model[tess].r2) - { - log_warning("Point (%g %g %g) is on tesseroid %d: %g %g %g %g %g %g %g. Can't guarantee accuracy.", - lonp, latp, rp - MEAN_EARTH_RADIUS, tess, - model[tess].w, model[tess].e, model[tess].s, - model[tess].n, model[tess].r2 - MEAN_EARTH_RADIUS, - model[tess].r1 - MEAN_EARTH_RADIUS, - model[tess].density); - } - glq_set_limits(model[tess].w, model[tess].e, glq_lon); - glq_set_limits(model[tess].s, model[tess].n, glq_lat); - glq_set_limits(model[tess].r1, model[tess].r2, glq_r); - res += field(model[tess], lonp, latp, rp, *glq_lon, *glq_lat, *glq_r); - } - return res; -} - -void calc_tess_model_triple(MAG_TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, void (*field_triple)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ, double*), double *res) -{ - double r1, r2, r3, ri[3]; - int tess; - - res[0] = 0; - res[1] = 0; - res[2] = 0; - for(tess = 0; tess < size; tess++) - { - ri[0] = 0; - ri[1] = 0; - ri[2] = 0; - - if(lonp >= model[tess].w && lonp <= model[tess].e && - latp >= model[tess].s && latp <= model[tess].n && - rp >= model[tess].r1 && rp <= model[tess].r2) - { - log_warning("Point (%g %g %g) is on tesseroid %d: %g %g %g %g %g %g %g. Can't guarantee accuracy.", - lonp, latp, rp - MEAN_EARTH_RADIUS, tess, - model[tess].w, model[tess].e, model[tess].s, - model[tess].n, model[tess].r2 - MEAN_EARTH_RADIUS, - model[tess].r1 - MEAN_EARTH_RADIUS, - model[tess].density); - } - glq_set_limits(model[tess].w, model[tess].e, glq_lon); - glq_set_limits(model[tess].s, model[tess].n, glq_lat); - glq_set_limits(model[tess].r1, model[tess].r2, glq_r); - field_triple(model[tess], lonp, latp, rp, *glq_lon, *glq_lat, *glq_r, ri); - - res[0] += ri[0]; - res[1] += ri[1]; - res[2] += ri[2]; - } - return; -} - - - -/* Adaptatively calculate the field of a tesseroid model at a given point */ -double calc_tess_model_adapt(MAG_TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, double (*field)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ), double ratio) -{ - double res, dist, lont, latt, rt, d2r = PI/180.; - int tess; - MAG_TESSEROID split[8]; - - res = 0; - for(tess = 0; tess < size; tess++) - { - rt = model[tess].r2; - lont = 0.5*(model[tess].w + model[tess].e); - latt = 0.5*(model[tess].s + model[tess].n); - dist = sqrt(rp*rp + rt*rt - 2*rp*rt*(sin(d2r*latp)*sin(d2r*latt) + - cos(d2r*latp)*cos(d2r*latt)*cos(d2r*(lonp - lont)))); - - /* Would get stuck in infinite loop if dist = 0 and get wrong results if - inside de tesseroid. Still do the calculation but warn user that it's - probably wrong. */ - if(lonp >= model[tess].w && lonp <= model[tess].e && - latp >= model[tess].s && latp <= model[tess].n && - rp >= model[tess].r1 && rp <= model[tess].r2) - { - log_warning("Point (%g %g %g) is on top of tesseroid %d: %g %g %g %g %g %g %g. Can't guarantee accuracy.", - lonp, latp, rp - MEAN_EARTH_RADIUS, tess, - model[tess].w, model[tess].e, model[tess].s, - model[tess].n, model[tess].r2 - MEAN_EARTH_RADIUS, - model[tess].r1 - MEAN_EARTH_RADIUS, - model[tess].density); - glq_set_limits(model[tess].w, model[tess].e, glq_lon); - glq_set_limits(model[tess].s, model[tess].n, glq_lat); - glq_set_limits(model[tess].r1, model[tess].r2, glq_r); - res += field(model[tess], lonp, latp, rp, *glq_lon, *glq_lat, - *glq_r); - } - /* Check if the computation point is at an acceptable distance. If not - split the tesseroid using the given ratio */ - else if( - dist < ratio*MEAN_EARTH_RADIUS*d2r*(model[tess].e - model[tess].w) || - dist < ratio*MEAN_EARTH_RADIUS*d2r*(model[tess].n - model[tess].s) || - dist < ratio*(model[tess].r2 - model[tess].r1)) - { - log_debug("Splitting tesseroid %d (%g %g %g %g %g %g %g) at point (%g %g %g) using ratio %g", - tess, model[tess].w, model[tess].e, model[tess].s, - model[tess].n, model[tess].r2 - MEAN_EARTH_RADIUS, - model[tess].r1 - MEAN_EARTH_RADIUS, model[tess].density, - lonp, latp, rp - MEAN_EARTH_RADIUS, ratio); - /* Do it recursively until ratio*size is smaller than distance */ - split_tess(model[tess], split); - res += calc_tess_model_adapt(split, 8, lonp, latp, rp, glq_lon, - glq_lat, glq_r, field, ratio); - } - else - { - glq_set_limits(model[tess].w, model[tess].e, glq_lon); - glq_set_limits(model[tess].s, model[tess].n, glq_lat); - glq_set_limits(model[tess].r1, model[tess].r2, glq_r); - res += field(model[tess], lonp, latp, rp, *glq_lon, *glq_lat, - *glq_r); - } - } - return res; -} - -/* Calculates gxx caused by a tesseroid. */ -double tess_gxx(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r) -{ - double d2r = PI/180., l_sqr, kphi, coslatp, coslatc, sinlatp, sinlatc, - coslon, rc, kappa, res; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res = 0; - - for(k = 0; k < glq_lon.order; k++) - { - for(j = 0; j < glq_lat.order; j++) - { - for(i = 0; i < glq_r.order; i++) - { - rc = glq_r.nodes[i]; - sinlatc = sin(d2r*glq_lat.nodes[j]); - coslatc = cos(d2r*glq_lat.nodes[j]); - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - - l_sqr = rp*rp + rc*rc - 2*rp*rc*(sinlatp*sinlatc + - coslatp*coslatc*coslon); - - kphi = coslatp*sinlatc - sinlatp*coslatc*coslon; - - kappa = rc*rc*coslatc; - - res += glq_lon.weights[k]*glq_lat.weights[j]*glq_r.weights[i]* - kappa*(3*rc*kphi*rc*kphi - l_sqr)/pow(l_sqr, 2.5); - } - } - } - - res *= SI2EOTVOS*G*tess.density*d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)* - (tess.r2 - tess.r1)*0.125; - - return res; -} - - -/* Calculates gxy caused by a tesseroid. */ -double tess_gxy(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r) -{ - double d2r = PI/180., l_sqr, kphi, coslatp, coslatc, sinlatp, sinlatc, - coslon, sinlon, rc, kappa, deltax, deltay, res; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res = 0; - - for(k = 0; k < glq_lon.order; k++) - { - for(j = 0; j < glq_lat.order; j++) - { - for(i = 0; i < glq_r.order; i++) - { - rc = glq_r.nodes[i]; - sinlatc = sin(d2r*glq_lat.nodes[j]); - coslatc = cos(d2r*glq_lat.nodes[j]); - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - sinlon = sin(d2r*(glq_lon.nodes[k] - lonp)); - - l_sqr = rp*rp + rc*rc - 2*rp*rc*(sinlatp*sinlatc + - coslatp*coslatc*coslon); - - kphi = coslatp*sinlatc - sinlatp*coslatc*coslon; - - kappa = rc*rc*coslatc; - - deltax = rc*kphi; - - deltay = rc*coslatc*sinlon; - - res += glq_lon.weights[k]*glq_lat.weights[j]*glq_r.weights[i]* - kappa*(3*deltax*deltay)/pow(l_sqr, 2.5); - } - } - } - - res *= SI2EOTVOS*G*tess.density*d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)* - (tess.r2 - tess.r1)*0.125; - - return res; -} - - -/* Calculates gxz caused by a tesseroid. */ -double tess_gxz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r) -{ - double d2r = PI/180., l_sqr, kphi, coslatp, coslatc, sinlatp, sinlatc, - coslon, cospsi, rc, kappa, deltax, deltaz, res; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res = 0; - - for(k = 0; k < glq_lon.order; k++) - { - for(j = 0; j < glq_lat.order; j++) - { - for(i = 0; i < glq_r.order; i++) - { - rc = glq_r.nodes[i]; - sinlatc = sin(d2r*glq_lat.nodes[j]); - coslatc = cos(d2r*glq_lat.nodes[j]); - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - - l_sqr = rp*rp + rc*rc - 2*rp*rc*cospsi; - - kphi = coslatp*sinlatc - sinlatp*coslatc*coslon; - - kappa = rc*rc*coslatc; - - deltax = rc*kphi; - - deltaz = rc*cospsi - rp; - - res += glq_lon.weights[k]*glq_lat.weights[j]*glq_r.weights[i]* - kappa*(3*deltax*deltaz)/pow(l_sqr, 2.5); - } - } - } - - res *= SI2EOTVOS*G*tess.density*d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)* - (tess.r2 - tess.r1)*0.125; - - return res; -} - - -/* Calculates gyy caused by a tesseroid. */ -double tess_gyy(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r) -{ - double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, - coslon, sinlon, rc, kappa, deltay, res; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res = 0; - - for(k = 0; k < glq_lon.order; k++) - { - for(j = 0; j < glq_lat.order; j++) - { - for(i = 0; i < glq_r.order; i++) - { - rc = glq_r.nodes[i]; - sinlatc = sin(d2r*glq_lat.nodes[j]); - coslatc = cos(d2r*glq_lat.nodes[j]); - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - sinlon = sin(d2r*(glq_lon.nodes[k] - lonp)); - - l_sqr = rp*rp + rc*rc - 2*rp*rc*(sinlatp*sinlatc + - coslatp*coslatc*coslon); - - kappa = rc*rc*coslatc; - - deltay = rc*coslatc*sinlon; - - res += glq_lon.weights[k]*glq_lat.weights[j]*glq_r.weights[i]* - kappa*(3*deltay*deltay - l_sqr)/pow(l_sqr, 2.5); - } - } - } - - res *= SI2EOTVOS*G*tess.density*d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)* - (tess.r2 - tess.r1)*0.125; - - return res; -} - - -/* Calculates gyz caused by a tesseroid. */ -double tess_gyz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r) -{ - double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, - coslon, sinlon, cospsi, rc, kappa, deltay, deltaz, res; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res = 0; - - for(k = 0; k < glq_lon.order; k++) - { - for(j = 0; j < glq_lat.order; j++) - { - for(i = 0; i < glq_r.order; i++) - { - rc = glq_r.nodes[i]; - sinlatc = sin(d2r*glq_lat.nodes[j]); - coslatc = cos(d2r*glq_lat.nodes[j]); - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - sinlon = sin(d2r*(glq_lon.nodes[k] - lonp)); - - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - - l_sqr = rp*rp + rc*rc - 2*rp*rc*cospsi; - - kappa = rc*rc*coslatc; - - deltay = rc*coslatc*sinlon; - - deltaz = rc*cospsi - rp; - - res += glq_lon.weights[k]*glq_lat.weights[j]*glq_r.weights[i]* - kappa*(3*deltay*deltaz)/pow(l_sqr, 2.5); - } - } - } - - res *= SI2EOTVOS*G*tess.density*d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)* - (tess.r2 - tess.r1)*0.125; - - return res; -} - - -/* Calculates gzz caused by a tesseroid. */ -double tess_gzz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r) -{ - double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, - coslon, cospsi, rc, kappa, deltaz, res; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res = 0; - - for(k = 0; k < glq_lon.order; k++) - { - for(j = 0; j < glq_lat.order; j++) - { - for(i = 0; i < glq_r.order; i++) - { - rc = glq_r.nodes[i]; - sinlatc = sin(d2r*glq_lat.nodes[j]); - coslatc = cos(d2r*glq_lat.nodes[j]); - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - - l_sqr = rp*rp + rc*rc - 2*rp*rc*cospsi; - - kappa = rc*rc*coslatc; - - deltaz = rc*cospsi - rp; - - res += glq_lon.weights[k]*glq_lat.weights[j]*glq_r.weights[i]* - kappa*(3*deltaz*deltaz - l_sqr)/pow(l_sqr, 2.5); - } - } - } - - res *= SI2EOTVOS*G*tess.density*d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)* - (tess.r2 - tess.r1)*0.125; - - return res; -} - -/*Calculate three gravity gradient components simultaneously*/ -void tess_gxz_gyz_gzz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r, double *res) -{ - double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, sinlon, - coslon, cospsi, rc, kappa, deltaz, deltax, deltay, kphi, - res_gxz, res_gyz, res_gzz; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res_gxz = 0; - res_gyz = 0; - res_gzz = 0; - - for(k = 0; k < glq_lon.order; k++) - { - for(j = 0; j < glq_lat.order; j++) - { - for(i = 0; i < glq_r.order; i++) - { - rc = glq_r.nodes[i]; - sinlatc = sin(d2r*glq_lat.nodes[j]); - coslatc = cos(d2r*glq_lat.nodes[j]); - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - sinlon = sin(d2r*(glq_lon.nodes[k] - lonp)); - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - - l_sqr = rp*rp + rc*rc - 2*rp*rc*cospsi; - kphi = coslatp*sinlatc - sinlatp*coslatc*coslon; - kappa = rc*rc*coslatc; - - deltax = rc*kphi; - deltay = rc*coslatc*sinlon; - deltaz = rc*cospsi - rp; - - res_gxz += glq_lon.weights[k]*glq_lat.weights[j]*glq_r.weights[i]* - kappa*(3*deltax*deltaz)/pow(l_sqr, 2.5); - - res_gyz += glq_lon.weights[k]*glq_lat.weights[j]*glq_r.weights[i]* - kappa*(3*deltay*deltaz)/pow(l_sqr, 2.5); - - res_gzz += glq_lon.weights[k]*glq_lat.weights[j]*glq_r.weights[i]* - kappa*(3*deltaz*deltaz - l_sqr)/pow(l_sqr, 2.5); - } - } - } - - res_gxz *= SI2EOTVOS*G*tess.density*d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)* - (tess.r2 - tess.r1)*0.125; - - res_gyz *= SI2EOTVOS*G*tess.density*d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)* - (tess.r2 - tess.r1)*0.125; - - res_gzz *= SI2EOTVOS*G*tess.density*d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)* - (tess.r2 - tess.r1)*0.125; - - res[0] = res_gxz; - res[1] = res_gyz; - res[2] = res_gzz; - - return; -} - -void tess_gxx_gxy_gxz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r, double *res) -{ - double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, sinlon, - coslon, cospsi, rc, kappa, deltaz, deltax, deltay, kphi, - res_gxx, res_gxy, res_gxz; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res_gxx = 0; - res_gxy = 0; - res_gxz = 0; - - for(k = 0; k < glq_lon.order; k++) - { - for(j = 0; j < glq_lat.order; j++) - { - for(i = 0; i < glq_r.order; i++) - { - rc = glq_r.nodes[i]; - sinlatc = sin(d2r*glq_lat.nodes[j]); - coslatc = cos(d2r*glq_lat.nodes[j]); - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - sinlon = sin(d2r*(glq_lon.nodes[k] - lonp)); - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - - l_sqr = rp*rp + rc*rc - 2*rp*rc*cospsi; - kphi = coslatp*sinlatc - sinlatp*coslatc*coslon; - kappa = rc*rc*coslatc; - - deltax = rc*kphi; - deltay = rc*coslatc*sinlon; - deltaz = rc*cospsi - rp; - - res_gxx += glq_lon.weights[k]*glq_lat.weights[j]*glq_r.weights[i]* - kappa*(3*rc*kphi*rc*kphi - l_sqr)/pow(l_sqr, 2.5); - - res_gxy += glq_lon.weights[k]*glq_lat.weights[j]*glq_r.weights[i]* - kappa*(3*deltax*deltay)/pow(l_sqr, 2.5); - - res_gxz += glq_lon.weights[k]*glq_lat.weights[j]*glq_r.weights[i]* - kappa*(3*deltax*deltaz)/pow(l_sqr, 2.5); - } - } - } - - res_gxx *= SI2EOTVOS*G*tess.density*d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)* - (tess.r2 - tess.r1)*0.125; - - res_gxy *= SI2EOTVOS*G*tess.density*d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)* - (tess.r2 - tess.r1)*0.125; - - res_gxz *= SI2EOTVOS*G*tess.density*d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)* - (tess.r2 - tess.r1)*0.125; - - res[0] = res_gxx; - res[1] = res_gxy; - res[2] = res_gxz; - - return; -} - - - -void tess_gxy_gyy_gyz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r, double *res) -{ - double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, sinlon, - coslon, cospsi, rc, kappa, deltaz, deltax, deltay, kphi, - res_gxy, res_gyy, res_gyz; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res_gxy = 0; - res_gyy = 0; - res_gyz = 0; - - for(k = 0; k < glq_lon.order; k++) - { - for(j = 0; j < glq_lat.order; j++) - { - for(i = 0; i < glq_r.order; i++) - { - rc = glq_r.nodes[i]; - sinlatc = sin(d2r*glq_lat.nodes[j]); - coslatc = cos(d2r*glq_lat.nodes[j]); - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - sinlon = sin(d2r*(glq_lon.nodes[k] - lonp)); - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - - l_sqr = rp*rp + rc*rc - 2*rp*rc*cospsi; - kphi = coslatp*sinlatc - sinlatp*coslatc*coslon; - kappa = rc*rc*coslatc; - - deltax = rc*kphi; - deltay = rc*coslatc*sinlon; - deltaz = rc*cospsi - rp; - - res_gxy += glq_lon.weights[k]*glq_lat.weights[j]*glq_r.weights[i]* - kappa*(3*deltax*deltay)/pow(l_sqr, 2.5); - - res_gyy += glq_lon.weights[k]*glq_lat.weights[j]*glq_r.weights[i]* - kappa*(3*deltay*deltay - l_sqr)/pow(l_sqr, 2.5); - - res_gyz += glq_lon.weights[k]*glq_lat.weights[j]*glq_r.weights[i]* - kappa*(3*deltay*deltaz)/pow(l_sqr, 2.5); - - } - } - } - - res_gxy *= SI2EOTVOS*G*tess.density*d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)* - (tess.r2 - tess.r1)*0.125; - - res_gyy *= SI2EOTVOS*G*tess.density*d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)* - (tess.r2 - tess.r1)*0.125; - - res_gyz *= SI2EOTVOS*G*tess.density*d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)* - (tess.r2 - tess.r1)*0.125; - - res[0] = res_gxy; - res[1] = res_gyy; - res[2] = res_gyz; - - return; -} diff --git a/dep/magnetic_tesseroids/lib/grav_tess.h b/dep/magnetic_tesseroids/lib/grav_tess.h deleted file mode 100755 index 3e0d444..0000000 --- a/dep/magnetic_tesseroids/lib/grav_tess.h +++ /dev/null @@ -1,93 +0,0 @@ -/* -Functions that calculate the gravitational potential and its first and second -derivatives for the MAG_tesseroid. - -The gravity gradients can be calculated using the general formula of -Grombein et al. (2010). -The integrals are solved using the Gauss-Legendre Quadrature rule -(Asgharzadeh et al., 2007). - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->Up (away from center of the Earth). - -To maintain the standard convention, only for component gz the z axis is -inverted, so a positive density results in positive gz. - -Example -------- - -To calculate the gzz component due to a MAG_tesseroid on a regular grid: - - #include - #include "glq.h"r - #include "constants.h" - #include "grav_tess.h" - - int main() - { - MAG_TESSEROID tess = {1000, 44, 46, -1, 1, MEAN_EARTH_RADIUS - 100000, - MEAN_EARTH_RADIUS}; - GLQ *glqlon, *glqlat, *glqr; - double lon, lat, r = MEAN_EARTH_RADIUS + 1500000, res; - int order = 8; - - glqlon = glq_new(order, tess.w, tess.e); - glqlat = glq_new(order, tess.s, tess.n); - glqr = glq_new(order, tess.r1, tess.r2); - - for(lat = 20; lat <= 70; lat += 0.5) - { - for(lon = -25; lon <= 25; lon += 0.5) - { - res = tess_gzz(tess, lon, lat, r, *glqlon, *glqlat, *glqr); - printf("%g %g %g\n", lon, lat, res); - } - } - - glq_free(glqlon); - glq_free(glqlat); - glq_free(glqr); - - return 0; - } - -References ----------- - -Asgharzadeh, M.F., von Frese, R.R.B., Kim, H.R., Leftwich, T.E. & Kim, J.W. -(2007): Spherical prism gravity effects by Gauss-Legendre quadrature integration. -Geophysical Journal International, 169, 1-11. - -Grombein, T.; Seitz, K.; Heck, B. (2010): Untersuchungen zur effizienten -Berechnung topographischer Effekte auf den Gradiententensor am Fallbeispiel der -Satellitengradiometriemission GOCE. -KIT Scientific Reports 7547, ISBN 978-3-86644-510-9, KIT Scientific Publishing, -Karlsruhe, Germany. -*/ - -#ifndef _MAG_TESSEROIDS_GRAV_TESS_H_ -#define _MAG_TESSEROIDS_GRAV_TESS_H_ - - -/* Needed for definition of MAG_TESSEROID */ -#include "geometry.h" -/* Needed for definition of GLQ */ -#include "glq.h" - -double calc_tess_model(MAG_TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, double (*field)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ)); -void calc_tess_model_triple(MAG_TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, - void (*field_triple)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ, double*), double *res); -double calc_tess_model_adapt(MAG_TESSEROID *model, int size, double lonp, double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, double (*field)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ), double ratio); - -double tess_gxx(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); -double tess_gxy(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); -double tess_gxz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); -double tess_gyy(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); -double tess_gyz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); -double tess_gzz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r); - -void tess_gxz_gyz_gzz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r, double *res); -void tess_gxx_gxy_gxz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r, double *res); -void tess_gxy_gyy_gyz(MAG_TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, GLQ glq_lat, GLQ glq_r, double *res); - -#endif diff --git a/dep/magnetic_tesseroids/lib/linalg.cpp b/dep/magnetic_tesseroids/lib/linalg.cpp deleted file mode 100755 index ace8134..0000000 --- a/dep/magnetic_tesseroids/lib/linalg.cpp +++ /dev/null @@ -1,144 +0,0 @@ -/* -Functions matrix and vector multiplications. - -*/ - -#include "linalg.h" -#include "constants.h" -#include - -//macOS only! -//#include - -#ifdef __linux__ // Debian, Ubuntu, Gentoo, Fedora, openSUSE, RedHat, Centos and other - #include -#elif _WINDOWS || __WIN32__ // Added for windows by Yi Zhang on 2021-08-26 - #include -#elif defined(__APPLE__) && defined(__MACH__) - #include -#else - -#endif - -/* Calculate magnetization vector in a coordinate system of a given point */ -void conv_vect_cblas(double *vect, double lon1, double lat1, double lon2, double lat2, double *res) -{ - double a1 = DEG2RAD*lat1; - double b1 = DEG2RAD*lon1; - double a2 = DEG2RAD*lat2; - double b2 = DEG2RAD*lon2; - - double cos_a1 = cos(PI/2.0-a1); - double sin_a1 = sin(PI/2.0-a1); - double cos_a2 = cos(PI/2.0-a2); - double sin_a2 = sin(PI/2.0-a2); - - double cos_b1 = cos(b1); - double sin_b1 = sin(b1); - double cos_b2 = cos(b2); - double sin_b2 = sin(b2); - - double Z1Y1[9] = {cos_a1*cos_b1, -sin_b1, cos_b1*sin_a1, cos_a1*sin_b1, cos_b1, sin_a1*sin_b1, -sin_a1, 0, cos_a1}; - double Z2Y2t[9] = {-cos_a2*cos_b2, -cos_a2*sin_b2, sin_a2, -sin_b2, cos_b2, 0, cos_b2*sin_a2, sin_a2*sin_b2, cos_a2}; - double R[9]; - - cblas_dgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, 3, 3, 3, 1.0, Z1Y1, 3, Z2Y2t, 3, 0.0, R, 3); - - R[0] = -R[0]; - R[3] = -R[3]; - R[6] = -R[6]; - - cblas_dgemv(CblasRowMajor, CblasNoTrans, 3, 3, 1.0, R, 3, vect, 1, 0.0, res, 1); - - - return; -} - - -void conv_vect_cblas_precalc(double *vect, double cos_a1, double sin_a1, double cos_b1, double sin_b1, double cos_a2, double sin_a2, double cos_b2, double sin_b2, double *res) -{ -// double a1 = DEG2RAD*lat1; -// double b1 = DEG2RAD*lon1; -// double a2 = DEG2RAD*lat2; -// double b2 = DEG2RAD*lon2; - -// double cos_a1 = cos(PI/2.0-a1); -// double sin_a1 = sin(PI/2.0-a1); -// double cos_a2 = cos(PI/2.0-a2); -// double sin_a2 = sin(PI/2.0-a2); - -// double cos_b1 = cos(b1); -// double sin_b1 = sin(b1); -// double cos_b2 = cos(b2); -// double sin_b2 = sin(b2); - - double Z1Y1[9] = {cos_a1*cos_b1, -sin_b1, cos_b1*sin_a1, cos_a1*sin_b1, cos_b1, sin_a1*sin_b1, -sin_a1, 0, cos_a1}; - double Z2Y2t[9] = {-cos_a2*cos_b2, -cos_a2*sin_b2, sin_a2, -sin_b2, cos_b2, 0, cos_b2*sin_a2, sin_a2*sin_b2, cos_a2}; - double R[9]; - - cblas_dgemm(CblasColMajor, CblasNoTrans, CblasNoTrans, 3, 3, 3, 1.0, Z1Y1, 3, Z2Y2t, 3, 0.0, R, 3); - - R[0] = -R[0]; - R[3] = -R[3]; - R[6] = -R[6]; - - cblas_dgemv(CblasRowMajor, CblasNoTrans, 3, 3, 1.0, R, 3, vect, 1, 0.0, res, 1); - - - return; -} - -void from_loc_sphr_to_cart(double* columnvect_xyzloc, double colatitude, double longitude, double* columnvect_res) -{ -/*IMPORTANT: this subroutine is in the coordinate system NED*/ - - double phi = colatitude*DEG2RAD; - double lambda = longitude*DEG2RAD; - - double cos_phi = cos(phi); - double sin_phi = sin(phi); - double cos_lambda = cos(lambda); - double sin_lambda = sin(lambda); - - double columnvect_phi_unit[3] = {-sin_phi*cos_lambda, -sin_phi*sin_lambda, cos_phi}; - double columnvect_lambda_unit[3] = {-sin_lambda, cos_lambda, 0}; - double columnvect_r_unit[3] = {cos_phi*cos_lambda, cos_phi*sin_lambda, sin_phi}; - - columnvect_res[0] = columnvect_phi_unit[0]*columnvect_xyzloc[0]+columnvect_lambda_unit[0]*columnvect_xyzloc[1]+columnvect_r_unit[0]*columnvect_xyzloc[2]; - columnvect_res[1] = columnvect_phi_unit[1]*columnvect_xyzloc[0]+columnvect_lambda_unit[1]*columnvect_xyzloc[1]+columnvect_r_unit[1]*columnvect_xyzloc[2]; - columnvect_res[2] = columnvect_phi_unit[2]*columnvect_xyzloc[0]+columnvect_lambda_unit[2]*columnvect_xyzloc[1]+columnvect_r_unit[2]*columnvect_xyzloc[2]; - - return; -} - -void from_cart_to_loc_sphr(double* columnvect_xyzglob, double colatitude, double longitude, double* columnvect_res) -{ -/*IMPORTANT: this subroutine is in the coordinate system NED*/ - - double phi = colatitude*DEG2RAD; - double lambda = longitude*DEG2RAD; - - double cos_phi = cos(phi); - double sin_phi = sin(phi); - double cos_lambda = cos(lambda); - double sin_lambda = sin(lambda); - - double rowvect_phi_unit[3] = {-sin_phi*cos_lambda, -sin_phi*sin_lambda, cos_phi}; - double rowvect_lambda_unit[3] = {-sin_lambda, cos_lambda, 0}; - double rowvect_r_unit[3] = {cos_phi*cos_lambda, cos_phi*sin_lambda, sin_phi}; - - columnvect_res[0] = rowvect_phi_unit[0]*columnvect_xyzglob[0]+rowvect_phi_unit[1]*columnvect_xyzglob[1]+rowvect_phi_unit[2]*columnvect_xyzglob[2]; - columnvect_res[1] = rowvect_lambda_unit[0]*columnvect_xyzglob[0]+rowvect_lambda_unit[1]*columnvect_xyzglob[1]+rowvect_lambda_unit[2]*columnvect_xyzglob[2]; - columnvect_res[2] = rowvect_r_unit[0]*columnvect_xyzglob[0]+rowvect_r_unit[1]*columnvect_xyzglob[1]+rowvect_r_unit[2]*columnvect_xyzglob[2]; - - return; -} - -void from_loc_sphr_to_loc_sphr(double* columnvect_xyzloc, double colatitude1, double longitude1, double colatitude2, double longitude2, double* columnvect_res) -{ - double columnvect_xyzglob[3]; - from_loc_sphr_to_cart(columnvect_xyzloc, colatitude1, longitude1, columnvect_xyzglob); - from_cart_to_loc_sphr(columnvect_xyzglob, colatitude2, longitude2, columnvect_res); - return; - -} diff --git a/dep/magnetic_tesseroids/lib/linalg.h b/dep/magnetic_tesseroids/lib/linalg.h deleted file mode 100755 index 3e5ccf6..0000000 --- a/dep/magnetic_tesseroids/lib/linalg.h +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef _LINALG_H_ -#define _LINALG_H_ - -void conv_vect_cblas(double *vect, double lon1, double lat1, double lon2, double lat2, double *res); -void conv_vect_cblas_precalc(double *vect, double cos_a1, double sin_a1, double cos_b1, double sin_b1, double cos_a2, double sin_a2, double cos_b2, double sin_b2, double *res); - -void from_loc_sphr_to_cart(double* columnvect_xyzloc, double colatitude, double longitude, double* columnvect_res); -void from_cart_to_loc_sphr(double* columnvect_xyzglob, double colatitude, double longitude, double* columnvect_res); -void from_loc_sphr_to_loc_sphr(double* columnvect_xyzloc, double colatitude1, double longitude1, double colatitude2, double longitude2, double* columnvect_res); - -#endif diff --git a/dep/magnetic_tesseroids/lib/logger.cpp b/dep/magnetic_tesseroids/lib/logger.cpp deleted file mode 100755 index cb1b573..0000000 --- a/dep/magnetic_tesseroids/lib/logger.cpp +++ /dev/null @@ -1,112 +0,0 @@ -/* -Functions to set up logging. -*/ - - -#include -#include -#include -#include "logger.h" - -/* Initialize the logger so that it doesn't print by default */ -LOGGER logger = {100, 0, 100, NULL}; - - -/* Setup logging to stderr.*/ -void log_init(int level) -{ - logger.level = level; -} - - -/* Set logging to a file. */ -void log_tofile(FILE *logfile, int level) -{ - logger.filelogging = 1; - logger.logfile = logfile; - logger.file_level = level; -} - - -/* Log a message at debug level */ -void log_debug(const char *fmt, ...) -{ - char msg[10000]; - va_list args; - va_start(args, fmt); - vsprintf(msg, fmt, args); - va_end(args); - - if(logger.level <= LOG_DEBUG) - { - fprintf(stderr, "DEBUG: %s\n", msg); - } - - if(logger.filelogging && (logger.file_level <= LOG_DEBUG)) - { - fprintf(logger.logfile, "DEBUG: %s\n", msg); - } -} - - -/* Log a message at info level */ -void log_info(const char *fmt, ...) -{ - char msg[10000]; - va_list args; - va_start(args, fmt); - vsprintf(msg, fmt, args); - va_end(args); - - if(logger.level <= LOG_INFO) - { - fprintf(stderr, "%s\n", msg); - } - - if(logger.filelogging && logger.file_level <= LOG_INFO) - { - fprintf(logger.logfile, "%s\n", msg); - } -} - - -/* Log a message at warning level */ -void log_warning(const char *fmt, ...) -{ - char msg[10000]; - va_list args; - va_start(args, fmt); - vsprintf(msg, fmt, args); - va_end(args); - - if(logger.level <= LOG_WARNING) - { - fprintf(stderr, "WARNING: %s\n", msg); - } - - if(logger.filelogging && logger.file_level <= LOG_WARNING) - { - fprintf(logger.logfile, "WARNING: %s\n", msg); - } -} - - -/* Log a message at error level */ -void log_error(const char *fmt, ...) -{ - char msg[10000]; - va_list args; - va_start(args, fmt); - vsprintf(msg, fmt, args); - va_end(args); - - if(logger.level <= LOG_ERROR) - { - fprintf(stderr, "ERROR: %s\n", msg); - } - - if(logger.filelogging && logger.file_level <= LOG_ERROR) - { - fprintf(logger.logfile, "ERROR: %s\n", msg); - } -} diff --git a/dep/magnetic_tesseroids/lib/logger.h b/dep/magnetic_tesseroids/lib/logger.h deleted file mode 100755 index 8472fee..0000000 --- a/dep/magnetic_tesseroids/lib/logger.h +++ /dev/null @@ -1,166 +0,0 @@ -/* -Functions to set up logging. - -Examples --------- - -Logging to stderr: - - #include "logger.h" - - void my_func(){ - log_info("From my_func!\n"); - } - - int main(){ - // Enable logging to stderr in debug level - // will only print messages of level DEBUG or higher - log_init(LOG_DEBUG); - log_debug("debug line. The code is %d", LOG_DEBUG); - log_info("info line. The code is %d", LOG_INFO); - log_warning("warning line. The code is %d", LOG_WARNING); - log_error("error line. The code is %d", LOG_ERROR); - my_func(); - return 0; - } - -will print: - - DEBUG: debug line. The code is 0 - info line. The code is 1 - WARNING: warning line. The code is 2 - ERROR: error line. The code is 3 - From my_func! - -If function log_init() is not called than logging to stderr is disabled and no -messages will be printed. - -Logging to a file: - - #include - #include "logger.h" - - void my_func(){ - log_info("From my_func!\n"); - log_debug("Should not appear in log file\n"); - } - - int main(){ - // Enable logging to file "log.txt" in info level - // will not print DEBUG level messages - // since log_init was not called, there is no logging to stderr - FILE *logfile = fopen("log.txt", "w"); - log_tofile(logfile, LOG_INFO); - log_debug("debug line. The code is %d", LOG_DEBUG); - log_info("info line. The code is %d", LOG_INFO); - log_warning("warning line. The code is %d", LOG_WARNING); - log_error("error line. The code is %d", LOG_ERROR); - my_func(); - return 0; - } - -File log.txt will look like: - - info line. The code is 1 - WARNING: warning line. The code is 2 - ERROR: error line. The code is 3 - From my_func! - -Note that you can combine loggin to stderr and to a file with different -levels in the same program. -*/ - -#ifndef _TESSEROIDS_LOGGER_H_ -#define _TESSEROIDS_LOGGER_H_ - -/* Needed for definition of FILE */ -#include - - -/** Logging level for debug messages */ -#define LOG_DEBUG 1 -/** Logging level for general information */ -#define LOG_INFO 2 -/** Logging level for warning messages */ -#define LOG_WARNING 3 -/** Logging level for error messages */ -#define LOG_ERROR 4 - - -/** Keep the information on the global logger */ -typedef struct logger_struct -{ - int level; /**< level of logging */ - int filelogging; /**< flag to know wether loggint to a file is enabled */ - int file_level; /**< logging level for the file */ - FILE *logfile; /**< file to log to */ - -} LOGGER; - - -/** Global logger struct. Only declare in the main program! */ -//LOGGER logger; - - -/** Setup logging to stderr. - -@param level level of logging to be made. Can be one of: - - LOG_DEBUG - - LOG_INFO - - LOG_WARNING - - LOG_ERROR -*/ -void log_init(int level); - - -/** Set logging to a file. - -@param logfile FILE pointer to the already open file to log to. -@param level level of logging to be made to the file. Can be one of: - - LOG_DEBUG - - LOG_INFO - - LOG_WARNING - - LOG_ERROR -*/ -void log_tofile(FILE *logfile, int level); - - -/** Log a message at debug level. - -Pass parameters in the same format as printf() - -Prints a newline at the end. -*/ -void log_debug(const char *fmt, ...); - - -/** Log a message at info level. - -Pass parameters in the same format as printf() - -Does not print "INFO: " in front of the message when logging - -Prints a newline at the end. -*/ -void log_info(const char *fmt, ...); - - -/** Log a message at warning level. - -Pass parameters in the same format as printf() - -Prints a newline at the end. -*/ -void log_warning(const char *fmt, ...); - - -/** Log a message at error level. - -Pass parameters in the same format as printf() - -Prints a newline at the end. -*/ -void log_error(const char *fmt, ...); - - -#endif diff --git a/dep/magnetic_tesseroids/lib/parsers.cpp b/dep/magnetic_tesseroids/lib/parsers.cpp deleted file mode 100755 index 3fac979..0000000 --- a/dep/magnetic_tesseroids/lib/parsers.cpp +++ /dev/null @@ -1,678 +0,0 @@ -/* -Input and output parsing tools. -*/ - - -#include -#include -#include -#include -#include "logger.h" -#include "version.h" -#include "parsers.h" -#include "constants.h" -#include "geometry.h" - -#include - - -/* Parse basic command line arguments for programs */ -int parse_basic_args(int argc, char **argv, const char *progname, - BASIC_ARGS *args, void (*print_help)(void)) -{ - int bad_args = 0, parsed_args = 0, total_args = 1, i; - char *params; - - /* Default values for options */ - args->verbose = 0; - args->logtofile = 0; - /* Parse arguments */ - for(i = 1; i < argc; i++) - { - if(argv[i][0] == '-') - { - switch(argv[i][1]) - { - case 'h': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - print_help(); - return 2; - case 'v': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - if(args->verbose) - { - log_error("repeated option -v"); - bad_args++; - break; - } - args->verbose = 1; - break; - case 'l': - { - if(args->logtofile) - { - log_error("repeated option -l"); - bad_args++; - break; - } - params = &argv[i][2]; - if(strlen(params) == 0) - { - log_error("bad input argument -l. Missing filename."); - bad_args++; - } - else - { - args->logtofile = 1; - args->logfname = params; - } - break; - } - case '-': - { - params = &argv[i][2]; - if(strcmp(params, "version")) - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - } - else - { - print_version(progname); - return 2; - } - break; - } - default: - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - } - else - { - if(parsed_args == 0) - { - args->inputfname = argv[i]; - parsed_args++; - } - else - { - log_error("invalid argument '%s'. Already given model file %s", - argv[i], args->inputfname); - bad_args++; - } - } - } - /* Check if parsing went well */ - if(parsed_args > total_args) - { - log_error("%s: too many input arguments. given %d, max %d.", - progname, parsed_args, total_args); - } - if(bad_args > 0) - { - log_error("%d bad input argument(s)", bad_args); - return 1; - } - if(parsed_args < total_args) - { - return 3; - } - return 0; -} - - - -/* Parse command line arguments for tessh* programs */ -int parse_tessb_args(int argc, char **argv, const char *progname, - TESSB_ARGS *args, void (*print_help)(const char *)) -{ - int bad_args = 0, parsed_args = 0, total_args = 1, parsed_order = 0, - parsed_ratio1 = 0, parsed_ratio2 = 0, parsed_ratio3 = 0, i, nchar, nread; - char *params; - - /* Default values for options */ - args->verbose = 0; - args->logtofile = 0; - args->lon_order = 2; - args->lat_order = 2; - args->r_order = 2; - args->adaptative = 1; - args->ratio1 = 0; /* zero means use the default for the program */ - args->ratio2 = 0; - args->ratio3 = 0; - /* Parse arguments */ - for(i = 1; i < argc; i++) - { - if(argv[i][0] == '-') - { - switch(argv[i][1]) - { - case 'h': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - print_help(progname); - return 2; - case 'v': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - if(args->verbose) - { - log_error("repeated option -v"); - bad_args++; - break; - } - args->verbose = 1; - break; - case 'l': - { - if(args->logtofile) - { - log_error("repeated option -l"); - bad_args++; - break; - } - params = &argv[i][2]; - if(strlen(params) == 0) - { - log_error("bad input argument -l. Missing filename."); - bad_args++; - } - else - { - args->logtofile = 1; - args->logfname = params; - } - break; - } - case '-': - { - params = &argv[i][2]; - if(strcmp(params, "version")) - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - } - else - { - print_version(progname); - return 2; - } - break; - } - case 'a': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - if(!args->adaptative) - { - log_error("repeated option -a"); - bad_args++; - break; - } - args->adaptative = 0; - break; - case 'o': - { - if(parsed_order) - { - log_error("repeated option -o"); - bad_args++; - break; - } - params = &argv[i][2]; - nchar = 0; - nread = sscanf(params, "%d/%d/%d%n", &(args->lon_order), - &(args->lat_order), &(args->r_order), &nchar); - if(nread != 3 || *(params + nchar) != '\0') - { - log_error("bad input argument '%s'", argv[i]); - bad_args++; - } - parsed_order = 1; - break; - } - case 't': - { - //ELDAR BAYKIEV/////////////////////////////////////////////////////////////////// - switch(argv[i][2]) - { - case '1': - { - if(parsed_ratio1) - { - log_error("repeated option -t1"); - bad_args++; - break; - } - params = &argv[i][3]; - nchar = 0; - nread = sscanf(params, "%lf%n", &(args->ratio1), &nchar); - if(nread != 1 || *(params + nchar) != '\0') - { - log_error("bad input argument '%s'", argv[i]); - bad_args++; - } - parsed_ratio1 = 1; - break; - } - - case '2': - { - if(parsed_ratio2) - { - log_error("repeated option -t2"); - bad_args++; - break; - } - params = &argv[i][3]; - nchar = 0; - nread = sscanf(params, "%lf%n", &(args->ratio2), &nchar); - if(nread != 1 || *(params + nchar) != '\0') - { - log_error("bad input argument '%s'", argv[i]); - bad_args++; - } - parsed_ratio2 = 1; - break; - } - - case '3': - { - if(parsed_ratio3) - { - log_error("repeated option -t3"); - bad_args++; - break; - } - params = &argv[i][3]; - nchar = 0; - nread = sscanf(params, "%lf%n", &(args->ratio3), &nchar); - if(nread != 1 || *(params + nchar) != '\0') - { - log_error("bad input argument '%s'", argv[i]); - bad_args++; - } - parsed_ratio3 = 1; - break; - } - } - //ELDAR BAYKIEV/////////////////////////////////////////////////////////////////// - } - default: - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - } - else - { - if(parsed_args == 0) - { - args->modelfname = argv[i]; - parsed_args++; - } - else - { - log_error("invalid argument '%s'. Already given model file %s", - argv[i], args->modelfname); - bad_args++; - } - } - } - /* Check if parsing went well */ - if(bad_args > 0 || parsed_args != total_args) - { - if(parsed_args < total_args) - { - log_error("%s: missing input file.", - progname, parsed_args, total_args); - } - if(parsed_args > total_args) - { - log_error("%s: too many input arguments. given %d, max %d.", - progname, parsed_args, total_args); - } - if(bad_args > 0) - { - log_error("%d bad input argument(s)", bad_args); - } - return 1; - } - return 0; -} - -//parse arguments for gradient calculator -int parse_gradcalc_args(int argc, char **argv, const char *progname, GRADCALC_ARGS *args, void (*print_help)(const char *)) -{ - int bad_args = 0, parsed_args = 0, total_args = 5, i; - char *params; - - /* Default values for options */ - args->verbose = 0; - args->logtofile = 0; - - args->gridbx_set = FALSE; - args->gridby_set = FALSE; - args->gridbz_set = FALSE; - args->out_set = -1; - - args->bz_NEU_NED = -1; - args->bz_NEU_NED_set = FALSE; - - - /* Parse arguments */ - for(i = 1; i < argc; i++) - { - if(argv[i][0] == '-') - { - switch(argv[i][1]) - { - case 'h': - if(argv[i][2] != '\0') - { - //log_error("invalid argument '%s'", argv[i]); - printf("invalid argument '%s'\n", argv[i]); - bad_args++; - break; - } - print_help(progname); - return 2; - case '-': - { - params = &argv[i][2]; - if(strcmp(params, "version")) - { - printf("invalid argument '%s'\n", argv[i]); - bad_args++; - } - else - { - print_version(progname); - return 2; - } - break; - } - case 'b': - params = &argv[i][2]; - if(strlen(params) <= 1) - { - printf("bad input argument -b. Missing component and filename\n"); - bad_args++; - break; - } - else - { - switch(argv[i][2]) - { - case 'x': - if(args->gridbx_set) - { - printf("invalid argument '%s', gridfile bx already set\n", argv[i]); - bad_args++; - break; - } - else - { - args->gridbx_set = 1; - args->gridbx_fn = &argv[i][3]; - } - break; - case 'y': - if(args->gridby_set) - { - printf("invalid argument '%s', gridfile by already set\n", argv[i]); - bad_args++; - break; - } - else - { - args->gridby_set = 1; - args->gridby_fn = &argv[i][3]; - } - break; - case 'z': - if(args->gridbz_set) - { - printf("invalid argument '%s', gridfile by already set\n", argv[i]); - bad_args++; - break; - } - else - { - args->gridbz_set = 1; - args->gridbz_fn = &argv[i][3]; - } - break; - default: - printf("invalid argument '%s', wrong component\n", argv[i]); - bad_args++; - break; - } - } - break; - case 'c': - params = &argv[i][2]; - - if(args->bz_NEU_NED_set) - { - printf("invalid argument '%s', coordinate system is already set\n", argv[i]); - bad_args++; - break; - } - if(strlen(params) > 1) - { - printf("invalid argument '%s', specify coordinate system in the input grids\n", argv[i]); - bad_args++; - break; - } - if(argv[i][2] == '1') - { - args->bz_NEU_NED_set = 1; - args->bz_NEU_NED = 1; - break; - } - else if(argv[i][2] == '2') - { - args->bz_NEU_NED_set = 1; - args->bz_NEU_NED = -1; - break; - } - else - { - printf("invalid argument '%s', there are only NED (1) and NEU (2, default) coordinate systems\n", argv[i]); - bad_args++; - break; - } - break; - case 'o': - params = &argv[i][2]; - - if(args->out_set>=0) - { - printf("invalid argument '%s', output format is already set\n", argv[i]); - bad_args++; - break; - } - - if(strlen(params) != 1) - { - printf("invalid argument '%s', specify output format\n", argv[i]); - bad_args++; - break; - } - //TODO Add check if it is integer - args->out_set = atoi(params); - break; - default: - printf("invalid argument '%s'\n", argv[i]); - bad_args++; - break; - } - } - } - - if(parsed_args > total_args) - { - //log_error("%s: too many input arguments. given %d, max %d.", progname, parsed_args, total_args); - } - if(bad_args > 0) - { - //log_error("%d bad input argument(s)", bad_args); - return 1; - } - if(parsed_args < total_args) - { - return 3; - } - return 0; -} - -/* Strip trailing spaces and newlines from the end of a string */ -void strstrip(char *str) -{ - int i; - for(i = strlen(str) - 1; i >= 0; i--) - { - if(str[i] != ' ' && str[i] != '\n' && str[i] != '\r' && str[i] != '\0') - break; - } - str[i + 1] = '\0'; -} - - -/* Read a single tesseroid from a string */ -int gets_mag_tess(const char *str, MAG_TESSEROID *tess) -{ - double w, e, s, n, top, bot, dens, suscept, Bx, By, Bz, Rx, Ry, Rz; - int nread, nchars; - - nread = sscanf(str, "%lf %lf %lf %lf %lf %lf %lf %lf %lf %lf %lf%n", &w, &e, &s, - &n, &top, &bot, &dens, &suscept, &Bx, &By, &Bz, &nchars); - if(nread != 11 || str[nchars] != '\0') - { - return 1; - } - tess->w = w; - tess->e = e; - tess->s = s; - tess->n = n; - tess->r1 = MEAN_EARTH_RADIUS + bot; - tess->r2 = MEAN_EARTH_RADIUS + top; - tess->density = dens; - tess->suscept = suscept; - tess->Bx = Bx; - tess->By = By; - tess->Bz = Bz; - - tess->cos_a1 = cos(PI/2.0-DEG2RAD*(w+e)*0.5); - tess->sin_a1 = sin(PI/2.0-DEG2RAD*(w+e)*0.5); - tess->cos_b1 = cos(DEG2RAD*(s+n)*0.5); - tess->sin_b1 = sin(DEG2RAD*(s+n)*0.5); - return 0; -} - -//ELDAR BAYKIEV//////////////////////////////// -MAG_TESSEROID * read_mag_tess_model(FILE *modelfile, int *size) -{ - MAG_TESSEROID *model, *tmp; - int buffsize = 300, line, badinput = 0, error_exit = 0; - char sbuff[10000]; - - /* Start with a single buffer allocation and expand later if necessary */ - model = (MAG_TESSEROID *)malloc(buffsize*sizeof(MAG_TESSEROID)); - if(model == NULL) - { - log_error("problem allocating initial memory to load tesseroid model."); - return NULL; - } - *size = 0; - for(line = 1; !feof(modelfile); line++) - { - if(fgets(sbuff, 10000, modelfile) == NULL) - { - if(ferror(modelfile)) - { - log_error("problem encountered reading line %d.", line); - error_exit = 1; - break; - } - } - else - { - /* Check for comments and blank lines */ - if(sbuff[0] == '#' || sbuff[0] == '\r' || sbuff[0] == '\n') - { - continue; - } - if(*size == buffsize) - { - buffsize += buffsize; - tmp = (MAG_TESSEROID *)realloc(model, buffsize*sizeof(MAG_TESSEROID)); - if(tmp == NULL) - { - /* Need to free because realloc leaves unchanged in case of - error */ - free(model); - log_error("problem expanding memory for tesseroid model.\nModel is too big."); - return NULL; - } - model = tmp; - } - /* Remove any trailing spaces or newlines */ - strstrip(sbuff); - if(gets_mag_tess(sbuff, &model[*size])) - { - log_warning("bad/invalid tesseroid at line %d.", line); - badinput = 1; - continue; - } - (*size)++; - } - } - if(badinput || error_exit) - { - free(model); - return NULL; - } - /* Adjust the size of the model */ - if(*size != 0) - { - tmp = (MAG_TESSEROID *)realloc(model, (*size)*sizeof(MAG_TESSEROID)); - if(tmp == NULL) - { - /* Need to free because realloc leaves unchanged in case of - error */ - free(model); - log_error("problem freeing excess memory for tesseroid model."); - return NULL; - } - model = tmp; - } - return model; -} - - -/* Read a single rectangular prism from a string */ diff --git a/dep/magnetic_tesseroids/lib/parsers.h b/dep/magnetic_tesseroids/lib/parsers.h deleted file mode 100755 index c8c9b25..0000000 --- a/dep/magnetic_tesseroids/lib/parsers.h +++ /dev/null @@ -1,75 +0,0 @@ -/* -Input and output parsing tools. -*/ - - -#ifndef _MAG_TESSEROIDS_PARSERS_H_ -#define _MAG_TESSEROIDS_PARSERS_H_ - -/* Needed for definition of MAG_TESSEROID and PRISM */ -#include "geometry.h" -/* Need for the definition of FILE */ -#include - -/** Store basic input arguments and option flags */ -typedef struct basic_args -{ - char *inputfname; /**< name of the input file */ - int verbose; /**< flag to indicate if verbose printing is enabled */ - int logtofile; /**< flag to indicate if logging to a file is enabled */ - char *logfname; /**< name of the log file */ -} BASIC_ARGS; - -typedef struct tessh_args -{ - int lon_order; /**< glq order in longitude integration */ - int lat_order; /**< glq order in latitude integration */ - int r_order; /**< glq order in radial integration */ - char *modelfname; /**< name of the file with the tesseroid model */ - int verbose; /**< flag to indicate if verbose printing is enabled */ - int logtofile; /**< flag to indicate if logging to a file is enabled */ - char *logfname; /**< name of the log file */ - int adaptative; /**< flat to indicate wether to use the adaptative size - of tesseroid algorithm */ - double ratio1; /**< distance-size ratio used for recusive division */ - double ratio2; /**< distance-size ratio used for recusive division */ - double ratio3; /**< distance-size ratio used for recusive division */ -} TESSB_ARGS; - - -typedef struct gradcalc_args -{ - int gridbx_set; - int gridby_set; - int gridbz_set; - - char* gridbx_fn; - char* gridby_fn; - char* gridbz_fn; - - int out_set; - - - int bz_NEU_NED; - int bz_NEU_NED_set; - - int verbose; /**< flag to indicate if verbose printing is enabled */ - int logtofile; /**< flag to indicate if logging to a file is enabled */ - - - - -} GRADCALC_ARGS; - -int parse_basic_args(int argc, char **argv, const char *progname, BASIC_ARGS *args, void (*print_help)(void)); -int parse_tessb_args(int argc, char **argv, const char *progname, TESSB_ARGS *args, void (*print_help)(const char *)); - -int parse_gradcalc_args(int argc, char **argv, const char *progname, GRADCALC_ARGS *args, void (*print_help)(const char *)); - -void strstrip(char *str); - -int gets_mag_tess(const char *str, MAG_TESSEROID *tess); -MAG_TESSEROID * read_mag_tess_model(FILE *modelfile, int *size); - - -#endif diff --git a/dep/magnetic_tesseroids/lib/tessb_main.cpp b/dep/magnetic_tesseroids/lib/tessb_main.cpp deleted file mode 100755 index 82baa4d..0000000 --- a/dep/magnetic_tesseroids/lib/tessb_main.cpp +++ /dev/null @@ -1,385 +0,0 @@ -/* -Generic main function for the tessb* programs. -*/ - - - - -#include -#include -#include -#include -#include "logger.h" -#include "version.h" -#include "grav_tess.h" -#include "glq.h" -#include "constants.h" -#include "geometry.h" -#include "parsers.h" -#include "tessb_main.h" -#include "linalg.h" - -#include - -/* Print the help message for tessh* programs */ -void print_tessb_help(const char *progname) -{ - printf("MAGNETIC MAG_TESSEROIDS\n"); - printf("Usage: %s MODELFILE [OPTIONS]\n\n", progname); - if(strcmp(progname + 4, "pot") == 0) - { - printf("Calculate the potential due to a tesseroid model on\n"); - } - else - { - printf("Calculate the %s component due to a tesseroid model on\n", - progname + 4); - } - printf("TODO\n"); -} - - -/* Run the main for a generic tessh* program */ -int run_tessb_main(int argc, char **argv, const char *progname, - double (*field)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ), - double ratio1, double ratio2, double ratio3) -{ - TESSB_ARGS args; - GLQ *glq_lon, *glq_lat, *glq_r; - MAG_TESSEROID *model; - - int modelsize, rc, line, points = 0, error_exit = 0, bad_input = 0; - char buff[10000]; - - double lon, lat, height, res; - - /*variables for precalculation of trigonometrical functions for tesseroid centers*/ - double cos_a2, sin_a2, cos_b2, sin_b2; - - /*variables for precalculation of trigonometrical functions for grid points*/ - double lon_prev, lat_prev; - double cos_a2_prev, sin_a2_prev, cos_b2_prev, sin_b2_prev; - - FILE *logfile = NULL, *modelfile = NULL; - time_t rawtime; - clock_t tstart; - struct tm * timeinfo; - - double (*field1)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ); - double (*field2)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ); - double (*field3)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ); - void (*field_triple)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ, double*); - double ggt_1, ggt_2, ggt_3; - double gtt_v[3]; - int n_tesseroid; - - - log_init(LOG_INFO); - - rc = parse_tessb_args(argc, argv, progname, &args, &print_tessb_help); - if(rc == 2) - { - return 0; - } - if(rc == 1) - { - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - - return 1; - } - - /* Set the appropriate logging level and log to file if necessary */ - if(!args.verbose) - { - log_init(LOG_WARNING); - } - if(args.logtofile) - { - logfile = fopen(args.logfname, "w"); - if(logfile == NULL) - { - log_error("unable to create log file %s", args.logfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - log_tofile(logfile, LOG_DEBUG); - } - - /* Check if a custom distance-size ratio is given */ - if(args.ratio1 != 0) - { - ratio1 = args.ratio1; - } - if(args.ratio2 != 0) - { - ratio2 = args.ratio2; - } - if(args.ratio3 != 0) - { - ratio3 = args.ratio3; - } - - /* Print standard verbose */ - log_info("%s (Tesseroids project) %s", progname, tesseroids_version); - time(&rawtime); - timeinfo = localtime(&rawtime); - log_info("(local time) %s", asctime(timeinfo)); - log_info("Use recursive division of tesseroids: %s", - args.adaptative ? "True" : "False"); - log_info("Distance-size ratio1 for recusive division: %g", ratio1); - log_info("Distance-size ratio2 for recusive division: %g", ratio2); - log_info("Distance-size ratio3 for recusive division: %g", ratio3); - - /* Make the necessary GLQ structures */ - log_info("Using GLQ orders: %d lon / %d lat / %d r", args.lon_order, - args.lat_order, args.r_order); - glq_lon = glq_new(args.lon_order, -1, 1); - glq_lat = glq_new(args.lat_order, -1, 1); - glq_r = glq_new(args.r_order, -1, 1); - if(glq_lon == NULL || glq_lat == NULL || glq_r == NULL) - { - log_error("failed to create required GLQ structures"); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - - /* Read the tesseroid model file */ - log_info("Reading magnetic tesseroid model from file %s", args.modelfname); - modelfile = fopen(args.modelfname, "r"); - if(modelfile == NULL) - { - log_error("failed to open model file %s", args.modelfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - model = read_mag_tess_model(modelfile, &modelsize); - fclose(modelfile); - if(modelsize == 0) - { - log_error("tesseroid file %s is empty", args.modelfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - if(model == NULL) - { - log_error("failed to read model from file %s", args.modelfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - log_info("Total of %d tesseroid(s) read", modelsize); - - /* Print a header on the output with provenance information */ - if(strcmp(progname + 4, "pot") == 0) - { - printf("# Potential calculated with %s %s:\n", progname, - tesseroids_version); - } - else - { - printf("# %s component calculated with %s %s:\n", progname+4, progname, - tesseroids_version); - } - printf("# local time: %s", asctime(timeinfo)); - printf("# model file: %s (%d tesseroids)\n", args.modelfname, modelsize); - printf("# GLQ order: %d lon / %d lat / %d r\n", args.lon_order, - args.lat_order, args.r_order); - printf("# Use recursive division of tesseroids: %s\n", - args.adaptative ? "True" : "False"); - printf("# Distance-size ratio1 for recusive division: %g\n", ratio1); - printf("# Distance-size ratio2 for recusive division: %g\n", ratio2); - printf("# Distance-size ratio3 for recusive division: %g\n", ratio3); - - /////////////ELDAR BAYKIEV////////////// - /* Assign pointers to functions that calculate gravity gradient tensor components */ - if (!strcmp("tessbx", progname)) - { - field1 = &tess_gxx; - field2 = &tess_gxy; - field3 = &tess_gxz; - - field_triple = &tess_gxx_gxy_gxz; - } - - if (!strcmp("tessby", progname)) - { - field1 = &tess_gxy; - field2 = &tess_gyy; - field3 = &tess_gyz; - - field_triple = &tess_gxy_gyy_gyz; - } - - if (!strcmp("tessbz", progname)) - { - field1 = &tess_gxz; - field2 = &tess_gyz; - field3 = &tess_gzz; - - field_triple = &tess_gxz_gyz_gzz; - } - /////////////ELDAR BAYKIEV////////////// - - /* Read each computation point from stdin and calculate */ - log_info("Calculating (this may take a while)..."); - tstart = clock(); - - /////////////// - lon_prev = 0; - lat_prev = 0; - - for(line = 1; !feof(stdin); line++) - { - if(fgets(buff, 10000, stdin) == NULL) - { - if(ferror(stdin)) - { - log_error("problem encountered reading line %d", line); - error_exit = 1; - break; - } - } - else - { - /* Check for comments and blank lines */ - if(buff[0] == '#' || buff[0] == '\r' || buff[0] == '\n') - { - printf("%s", buff); - continue; - } - if(sscanf(buff, "%lf %lf %lf", &lon, &lat, &height) != 3) - { - log_warning("bad/invalid computation point at line %d", line); - log_warning("skipping this line and continuing"); - bad_input++; - continue; - } - /* Need to remove \n and \r from end of buff first to print the - result in the end */ - strstrip(buff); - - - - /////////////ELDAR BAYKIEV////////////// - res = 0; - if(args.adaptative) - { - for(n_tesseroid = 0; n_tesseroid < modelsize; n_tesseroid++) - { - gtt_v[0] = 0; - gtt_v[1] = 0; - gtt_v[2] = 0; - double B_to_H = model[n_tesseroid].suscept/(M_0);//IMPORTANT - double M_vect[3] = {model[n_tesseroid].Bx * B_to_H, model[n_tesseroid].By * B_to_H, model[n_tesseroid].Bz * B_to_H}; - double M_vect_p[3] = {0, 0, 0}; - - conv_vect_cblas(M_vect, (model[n_tesseroid].w + model[n_tesseroid].e)*0.5, (model[n_tesseroid].s + model[n_tesseroid].n)*0.5, lon, lat, M_vect_p); - - ggt_1 = calc_tess_model_adapt(&model[n_tesseroid], 1, lon, lat, height + MEAN_EARTH_RADIUS, glq_lon, glq_lat, glq_r, field1, ratio1); - ggt_2 = calc_tess_model_adapt(&model[n_tesseroid], 1, lon, lat, height + MEAN_EARTH_RADIUS, glq_lon, glq_lat, glq_r, field2, ratio2); - ggt_3 = calc_tess_model_adapt(&model[n_tesseroid], 1, lon, lat, height + MEAN_EARTH_RADIUS, glq_lon, glq_lat, glq_r, field3, ratio3); - - res = res + M_0*EOTVOS2SI*(ggt_1 * M_vect_p[0] + ggt_2 * M_vect_p[1] + ggt_3 * M_vect_p[2]) /(G*model[n_tesseroid].density*4*PI); - - //printf("res %g\n", res); - } - - ///////////////////////////////////////////////////////////////////////////////////////////////////////// - } - else - { - //precalculate trigonometrical functions - - if(lon == lon_prev) - { - cos_b2 = cos_b2_prev; - sin_b2 = sin_b2_prev; - } - else - { - cos_b2 = cos(DEG2RAD*lon); - sin_b2 = sin(DEG2RAD*lon); - } - - if(lat == lat_prev) - { - cos_a2 = cos_a2_prev; - sin_a2 = sin_a2_prev; - } - else - { - cos_a2 = cos(PI/2.0-DEG2RAD*lat); - sin_a2 = sin(PI/2.0-DEG2RAD*lat); - } - ///////////////////////////////////////////////////////////////////////////////////////////////////////// - for(n_tesseroid = 0; n_tesseroid < modelsize; n_tesseroid++) - { - gtt_v[0] = 0; - gtt_v[1] = 0; - gtt_v[2] = 0; - //ELDAR: TODO: PRECALCULATE SIC COSINE TABLES - double B_to_H = model[n_tesseroid].suscept/(M_0);//IMPORTANT - double M_vect[3] = {model[n_tesseroid].Bx * B_to_H, model[n_tesseroid].By * B_to_H, model[n_tesseroid].Bz * B_to_H}; - double M_vect_p[3] = {0, 0, 0}; - - //conv_vect_cblas(M_vect, (model[n_tesseroid].w + model[n_tesseroid].e)*0.5, (model[n_tesseroid].s + model[n_tesseroid].n)*0.5, lon, lat, M_vect_p); - conv_vect_cblas_precalc(M_vect, model[n_tesseroid].cos_a1, model[n_tesseroid].sin_a1, model[n_tesseroid].cos_b1, model[n_tesseroid].sin_b1, cos_a2, sin_a2, cos_b2, sin_b2, M_vect_p); - - calc_tess_model_triple(&model[n_tesseroid], 1, lon, lat, height + MEAN_EARTH_RADIUS, glq_lon, glq_lat, glq_r, field_triple, gtt_v); - - res = res + M_0*EOTVOS2SI*(gtt_v[0] * M_vect_p[0] + gtt_v[1] * M_vect_p[1] + gtt_v[2] * M_vect_p[2]) /(G*model[n_tesseroid].density*4*PI); - - } - - lon_prev = lon; - lat_prev = lat; - - cos_a2_prev = cos_a2; - sin_a2_prev = sin_a2; - - cos_b2_prev = cos_b2; - sin_b2_prev = sin_b2; - ///////////////////////////////////////////////////////////////////////////////////////////////////////// - } - printf("%s %.15g\n", buff, res); - points++; - } - } - if(bad_input) - { - log_warning("Encountered %d bad computation points which were skipped", - bad_input); - } - if(error_exit) - { - log_warning("Terminating due to error in input"); - log_warning("Try '%s -h' for instructions", progname); - } - else - { - log_info("Calculated on %d points in %.5g seconds", points, - (double)(clock() - tstart)/CLOCKS_PER_SEC); - } - /* Clean up */ - free(model); - glq_free(glq_lon); - glq_free(glq_lat); - glq_free(glq_r); - log_info("Done"); - if(args.logtofile) - fclose(logfile); - return 0; -} diff --git a/dep/magnetic_tesseroids/lib/tessb_main.h b/dep/magnetic_tesseroids/lib/tessb_main.h deleted file mode 100755 index 19f96de..0000000 --- a/dep/magnetic_tesseroids/lib/tessb_main.h +++ /dev/null @@ -1,14 +0,0 @@ -/* -Generic main function for the tessb* programs. -*/ - -#ifndef _MAG_TESSEROIDS_TESSH_MAIN_H_ -#define _MAG_TESSEROIDS_TESSH_MAIN_H_ - -#include "glq.h" -#include "geometry.h" - -void print_tessb_help(const char *progname); -int run_tessb_main(int argc, char **argv, const char *progname, double (*field)(MAG_TESSEROID, double, double, double, GLQ, GLQ, GLQ), double ratio1, double ratio2, double ratio3); - -#endif diff --git a/dep/magnetic_tesseroids/lib/version.cpp b/dep/magnetic_tesseroids/lib/version.cpp deleted file mode 100755 index 0f383b0..0000000 --- a/dep/magnetic_tesseroids/lib/version.cpp +++ /dev/null @@ -1,17 +0,0 @@ -/* -Hold the version number of the project. -*/ - -#include -#include "version.h" - - -/* Print version and license information */ -void print_version(const char *progname) -{ - printf("%s (Magnetic Tesseroids) %s\n\n", progname, tesseroids_version); - printf("Copyright (C) 2015, Eldar Baykiev.\n"); - printf("This program is based on the code of Leonardo Uieda.\n"); - printf("\n"); - printf("Developed by Eldar Baykiev.\n"); -} diff --git a/dep/magnetic_tesseroids/lib/version.h b/dep/magnetic_tesseroids/lib/version.h deleted file mode 100755 index 6ab6396..0000000 --- a/dep/magnetic_tesseroids/lib/version.h +++ /dev/null @@ -1,18 +0,0 @@ -/* -Hold the version number of the project. -*/ - -#ifndef _TESSEROIDS_VERSION_H_ -#define _TESSEROIDS_VERSION_H_ - -/** Current project version number */ -const char tesseroids_version[] = "1.1"; - - -/** Print version and license information - -@param progname name of the program -*/ -void print_version(const char *progname); - -#endif diff --git a/dep/magnetic_tesseroids/stow-config.sh b/dep/magnetic_tesseroids/stow-config.sh deleted file mode 100755 index 5a08868..0000000 --- a/dep/magnetic_tesseroids/stow-config.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -sudo stow --dir=/opt/stow --target=/usr/local -S magtess \ No newline at end of file diff --git a/dep/magnetic_tesseroids/toolkits/CMakeLists.txt b/dep/magnetic_tesseroids/toolkits/CMakeLists.txt deleted file mode 100644 index cedc707..0000000 --- a/dep/magnetic_tesseroids/toolkits/CMakeLists.txt +++ /dev/null @@ -1,36 +0,0 @@ -# 设置编译选项 -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3") - -# 设置可执行文件的输出地址 -set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin/toolkits) - -# 下面设置tools的编译命令 首先设置一个宏 -macro(add_tools name) - # 添加可执行程序名称 - add_executable(${name} ${name}.cpp) - # 设置安装后的动态库调用地址 - set_target_properties(${name} PROPERTIES INSTALL_RPATH /usr/local/lib) - # 链接动态库 - target_link_libraries(${name} PUBLIC magtess) - # 将可执行程序安装到bin - install(TARGETS ${name} RUNTIME DESTINATION sbin) -endmacro() - -# 添加tools -add_tools(tessbx) -add_tools(tessby) -add_tools(tessbz) -add_tools(tessutil_combine_grids) -add_tools(tessutil_gradient_calculator) - -if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux" OR ${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin") - # 添加可执行程序名称 - add_executable(tessutil_magnetize_model tessutil_magnetize_model.c) - # 设置安装后的动态库调用地址 - set_target_properties(tessutil_magnetize_model PROPERTIES INSTALL_RPATH /usr/local/lib) - # 链接动态库 - target_link_libraries(tessutil_magnetize_model PUBLIC magtess) - # 将可执行程序安装到bin - install(TARGETS tessutil_magnetize_model RUNTIME DESTINATION sbin) -endif() diff --git a/dep/magnetic_tesseroids/toolkits/tessbx.cpp b/dep/magnetic_tesseroids/toolkits/tessbx.cpp deleted file mode 100755 index 8e6602a..0000000 --- a/dep/magnetic_tesseroids/toolkits/tessbx.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "../lib/constants.h" -#include "../lib/grav_tess.h" -#include "../lib/tessb_main.h" - - -/** Main tessbx*/ -int main(int argc, char **argv) -{ - return run_tessb_main(argc, argv, "tessbx", 0, TESSEROID_GXX_SIZE_RATIO, TESSEROID_GXY_SIZE_RATIO, TESSEROID_GXZ_SIZE_RATIO); - -} diff --git a/dep/magnetic_tesseroids/toolkits/tessby.cpp b/dep/magnetic_tesseroids/toolkits/tessby.cpp deleted file mode 100755 index 7d1115e..0000000 --- a/dep/magnetic_tesseroids/toolkits/tessby.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "../lib/constants.h" -#include "../lib/grav_tess.h" -#include "../lib/tessb_main.h" - - -/** Main tessby*/ -int main(int argc, char **argv) -{ - return run_tessb_main(argc, argv, "tessby", 0, TESSEROID_GXX_SIZE_RATIO, TESSEROID_GXY_SIZE_RATIO, TESSEROID_GXZ_SIZE_RATIO); - -} diff --git a/dep/magnetic_tesseroids/toolkits/tessbz.cpp b/dep/magnetic_tesseroids/toolkits/tessbz.cpp deleted file mode 100755 index b398b26..0000000 --- a/dep/magnetic_tesseroids/toolkits/tessbz.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include "../lib/constants.h" -#include "../lib/grav_tess.h" -#include "../lib/tessb_main.h" - - -/** Main tessbz*/ -int main(int argc, char **argv) -{ - return run_tessb_main(argc, argv, "tessbz", 0, TESSEROID_GXX_SIZE_RATIO, TESSEROID_GXY_SIZE_RATIO, TESSEROID_GXZ_SIZE_RATIO); - -} diff --git a/dep/magnetic_tesseroids/toolkits/tessutil_combine_grids.cpp b/dep/magnetic_tesseroids/toolkits/tessutil_combine_grids.cpp deleted file mode 100755 index a6c7ac7..0000000 --- a/dep/magnetic_tesseroids/toolkits/tessutil_combine_grids.cpp +++ /dev/null @@ -1,102 +0,0 @@ -#include -#include -#include -#include -#include // Added by Zhang Yi on 2021-08-26 -#include - -#define MAX_GRID_POINTS 16000 - -#define GRID_FORMAT "%lf %lf %f %lf" - -#if defined(_MSC_VER) /* Added for windows by Yi Zhang on 2021-08-26*/ -#include -typedef SSIZE_T ssize_t; -#endif - -void printresult_withalt(double* longitudes, double* latitudes, float* altitudes, double* values, int n_values) -{ - - - for (int h = 0; h < n_values; h++) - printf( "%lf %lf %f %lf\n", longitudes[h], latitudes[h], altitudes[h], values[h]); - - return; -} - -void printresult(double* longitudes, double* latitudes, double* values, int n_values) -{ - - - for (int h = 0; h < n_values; h++) - printf( "%lf %lf %lf\n", longitudes[h], latitudes[h], values[h]); - - return; -} - - -int main(int argc, char**argv) -{ - int n_files = (argc-1)/2; - - double lons[MAX_GRID_POINTS]; - double lats[MAX_GRID_POINTS]; - float alts[MAX_GRID_POINTS]; - - double vals[MAX_GRID_POINTS]; - - double factor = 1; - - //char * line = NULL; - std::string line; - size_t len = 0; - ssize_t read; - - int n_lines = 0; - - for (int i = 0; i < n_files; i++) - { - //FILE * fp = fopen(argv[1+2*i], "r"); - std::ifstream fp(argv[1+2*i], std::ios::in); - sscanf(argv[1+2*i+1], "%lf", &factor); - - //if (fp == NULL) - if (!fp) - { - printf("ERROR: Can not open file with grid values.\n"); - exit(EXIT_FAILURE); - } - - n_lines = 0; - //while ((read = getline(&line, &len, fp )) != -1) - while (std::getline(fp, line)) - { - - //if ((line[0] != '#') && (strlen(line) > 2)) - if ((line[0] != '#') && (line.length() > 2)) - { - n_lines++; - if (n_lines>MAX_GRID_POINTS) - { - printf("ERROR: Too many grid points (> %d) in the input. Recompile program with a bigger value of MAX_GRID_POINTS.\n", n_lines); - exit(EXIT_FAILURE); - } - double value; - - sscanf(line.c_str(), GRID_FORMAT, &lons[n_lines-1], &lats[n_lines-1], &alts[n_lines-1], &value); - vals[n_lines-1] = vals[n_lines-1] + value*factor; - - } - } - //fclose(fp); - fp.close(); - } - - int no_alt = 0; - - if (no_alt) - printresult(lons, lats, vals, n_lines); - else - printresult_withalt(lons, lats, alts, vals, n_lines); - -} diff --git a/dep/magnetic_tesseroids/toolkits/tessutil_gradient_calculator.cpp b/dep/magnetic_tesseroids/toolkits/tessutil_gradient_calculator.cpp deleted file mode 100755 index 706ee6e..0000000 --- a/dep/magnetic_tesseroids/toolkits/tessutil_gradient_calculator.cpp +++ /dev/null @@ -1,366 +0,0 @@ -#include -#include -#include -#include -#include // Added by Zhang Yi on 2021-08-26 -#include - -#include "../lib/constants.h" -#include "../lib/parsers.h" -#include "../lib/linalg.h" - -#define MAX_GRID_POINTS 50000 - -#define GRID_FORMAT "%lf %lf %f %lf" - -#if defined(_MSC_VER) /* Added for windows by Yi Zhang on 2021-08-26*/ -#include -typedef SSIZE_T ssize_t; -#endif - - -// TODO conversion of input/output units nT/km pT/km nT/m pT/m - - -void printcomp(double* longitudes, double* latitudes, double* values, int n_values) -{ - - - for (int h = 0; h < n_values; h++) - printf("%lf %lf %lf\n", longitudes[h], latitudes[h], values[h]); - - return; -} - -void printall(double* longitudes, double* latitudes, int n_values, double* values1, double* values2, double* values3, double* values4, double* values5, double* values6, double* values7) -{ - - - for (int h = 0; h < n_values; h++) - printf("%lf %lf %lf %lf %lf %lf %lf %lf %lf\n", longitudes[h], latitudes[h], values1[h], values2[h], values3[h], values4[h], values5[h], values6[h], values7[h]); - - return; -} - - -void print_gradcalc_help(const char *progname) -{ - printf("MAGNETIC TESSEROIDS: Gradient Calculator\n"); - printf("Usage: %s [OPTIONS]\n\n", progname); - printf("Options:\n"); - printf("\t-h\t\t\t Help\n\n"); - - printf("\t-bx[GRID FILENAME]\t Grid filename with Bx component\n"); - printf("\t-by[GRID FILENAME]\t Grid filename with By component\n"); - printf("\t-bz[GRID FILENAME]\t Grid filename with Bz component\n"); - printf("\tNOTE:\tall grids must be in format LON LAT ALT B*,\n\t\tstart from West-South corner and longitudes must increment first.\n\t\tLON, LAT in [deg], B* in [nT] and ALT in [m].\n\n"); - - printf("\t-c[COORD SYSTEM]\t Coordinate system in input grids. 1 - North-East-Down, 2 - North-East-Up\n"); - printf("\t-o[COMPONENT]\t\t If 0, then output format is LON LAT BXX BYX BZX BXY BYY BZY BZZ, if 1-7, then \n"); - printf("\tonly corresponding component would be printed with format LON LAT B**.\n"); - printf("\tNOTE: output is always in North-East-Down coordinate system.\n\t\tLON, LAT in [deg], B** in [nT/km].\n"); - - - - - //printf("TODO\n"); -} - - - - -int main(int argc, char**argv) -{ - const char * progname = "tessutil_gradient_calculator"; - GRADCALC_ARGS args; - int rc; - - - //log_init(LOG_INFO); - - rc = parse_gradcalc_args(argc, argv, progname, &args, &print_gradcalc_help); - if(rc == 2) //help - { - return 0; - } - if(rc == 1) - { - printf("Terminating due to bad input\n"); - printf("Try '%s -h' for instructions\n", progname); - - return 1; - } - - if ((args.gridbx_set == 0) || (args.gridbx_set == 0) || (args.gridbx_set == 0)) - { - printf("no input grids\n"); - exit(EXIT_FAILURE); - } - - if (args.bz_NEU_NED == 1) - printf("#Coordinate system in input grids: North-East-Down\n"); - else - printf("#Coordinate system in input grids: North-East-Up\n"); - printf("#Coordinate system in output grid: North-East-Down\n"); - - - double lons[MAX_GRID_POINTS]; - double lats[MAX_GRID_POINTS]; - float alts[MAX_GRID_POINTS]; - - double bx[MAX_GRID_POINTS]; - double by[MAX_GRID_POINTS]; - double bz[MAX_GRID_POINTS]; - //read file with bx - - //char * line = NULL; - std::string line; - size_t len = 0; - ssize_t read; - - - - //FILE * bxfp = fopen(args.gridbx_fn, "r"); - //if (bxfp == NULL) - std::ifstream bxfp(args.gridbx_fn, std::ios::in); // Updated by Yi Zhang on 2021-08-26 - if (!bxfp) - { - printf("ERROR: Can not open file with Bx values.\n"); - exit(EXIT_FAILURE); - } - - int n_lines = 0; - - - - //while ((read = getline(&line, &len, bxfp )) != -1) - while (getline(bxfp, line)) - { - - //if ((line[0] != '#') && (strlen(line) > 2)) - if ((line[0] != '#') && (line.length() > 2)) - { - n_lines++; - if (n_lines>MAX_GRID_POINTS) - { - printf("ERROR: Too many grid points (> %d) in the input. Recompile program with a bigger value of MAX_GRID_POINTS.\n", n_lines); - exit(EXIT_FAILURE); - } - - sscanf(line.c_str(), GRID_FORMAT, &lons[n_lines-1], &lats[n_lines-1], &alts[n_lines-1], &bx[n_lines-1]); - - } - } - //fclose(bxfp); - bxfp.close(); - - - /*number of grid points*/ - printf("#Number of grid points: %d\n", n_lines); - - /*grid spacing*/ - - double lon_min = lons[0]; - double lon_max = lons[n_lines-1]; - - double lon_step = lons[1]-lons[0]; - if ((lon_step == 0) || (lon_step <= 0) || (lon_max < lon_min)) - { - printf("ERROR: Wrong grid format. Longitudes must increment first. Use the format of tessgrd.\n"); - exit(EXIT_FAILURE); - } - - int lon_n = 1; - while ((lats[lon_n] == lats[0]) && (lon_n < n_lines)) - { - lon_n++; - } - double lat_step = lats[lon_n]-lats[0]; - - int lat_n = n_lines / lon_n; - - double lat_min = lats[0]; - double lat_max = lats[n_lines-1]; - - - - if ((lat_step <= 0) || (lat_step <= 0) || (lat_max < lat_min)) - { - printf("ERROR: Wrong grid format. Latitudes must increment. Use the format of tessgrd.\n"); - exit(EXIT_FAILURE); - } - - printf("#Longitudinal step: %lf, latitudinal step: %lf \n", lon_step, lat_step); - printf("#Longitudinal points: %d, latitudinal points: %d \n", lon_n, lat_n); - printf("#Edges: W %lf, E %lf, S %lf, N %lf \n", lon_min, lon_max, lat_min, lat_max); - - /* read other grids */ - // By - //FILE * byfp = fopen(args.gridby_fn, "r"); - //if (byfp == NULL) - - std::ifstream byfp(args.gridby_fn, std::ios::in); - if (!byfp) - { - printf("ERROR: Can not open file with Bx values.\n"); - exit(EXIT_FAILURE); - } - - int n_lines2 = 0; - //while ((read = getline(&line, &len, byfp )) != -1) - while (getline(byfp, line)) - { - - //if ((line[0] != '#') && (strlen(line) > 2)) - if ((line[0] != '#') && (line.length() > 2)) - { - n_lines2++; - //printf("%s", line); - double dummy1, dummy2; - float dummy3; - sscanf(line.c_str(), GRID_FORMAT , &dummy1, &dummy2, &dummy3, &by[n_lines2-1]); - } - } - //fclose(byfp); - byfp.close(); - - if (n_lines2 != n_lines) - { - printf("ERROR: Grid points of Bx and By do not coincide.\n"); - exit(EXIT_FAILURE); - } - - // Bz - //FILE * bzfp = fopen(args.gridbz_fn, "r"); - //if (bzfp == NULL) - std::ifstream bzfp(args.gridbz_fn, std::ios::in); - if (!bzfp) - { - printf("ERROR: Can not open file with Bx values.\n"); - exit(EXIT_FAILURE); - } - - n_lines2 = 0; - //while ((read = getline(&line, &len, bzfp )) != -1) - while (getline(bzfp, line)) - { - if ((line[0] != '#') && (line.length() > 2)) - { - n_lines2++; - //printf("%s", line); - double dummy1, dummy2; - float dummy3; - double bz_curr; - sscanf(line.c_str(), GRID_FORMAT, &dummy1, &dummy2, &dummy3,&bz_curr); - - bz[n_lines2-1] = args.bz_NEU_NED* bz_curr; //COORDINATE SYSTEM NEU or NED - } - } - //fclose(byfp); - byfp.close(); - - if (n_lines2 != n_lines) - { - printf("ERROR: Grid points of Bx and Bz do not coincide.\n"); - exit(EXIT_FAILURE); - } - - - /* calculate gradients */ - - - double bxx[MAX_GRID_POINTS]; - double byx[MAX_GRID_POINTS]; - double bzx[MAX_GRID_POINTS]; - - double bxy[MAX_GRID_POINTS]; - double byy[MAX_GRID_POINTS]; - double bzy[MAX_GRID_POINTS]; - - double bzz[MAX_GRID_POINTS]; - - int cent_ind, west_ind, east_ind, south_ind, north_ind; - - for (int i = 1; i -#include -#include -#include -#include - -#include "../lib/constants.h" - -int my_isnan(double d) -{ - return (d != d); /* IEEE: only NaN is not equal to itself */ -} - -#if defined(_MSC_VER) /* Added for windows by Yi Zhang on 2021-08-26*/ -#include -typedef SSIZE_T ssize_t; -#endif - -#define NaN log(-1.0) -#define FT2KM (1.0/0.0003048) -#define RAD2DEG (180.0/PI) - -#ifndef SEEK_SET -#define SEEK_SET 0 -#define SEEK_CUR 1 -#define SEEK_END 2 -#endif - -#define IEXT 0 -#define FALSE 0 -#define TRUE 1 /* constants */ -#define RECL 81 - -#define MAXINBUFF RECL+14 -/** Max size of in buffer **/ - -#define MAXREAD MAXINBUFF-2 -/** Max to read 2 less than total size (just to be safe) **/ - -#define MAXMOD 30 -/** Max number of models in a file **/ - -#define PATH MAXREAD -/** Max path and filename length **/ - -#define EXT_COEFF1 (double)0 -#define EXT_COEFF2 (double)0 -#define EXT_COEFF3 (double)0 - -#define MAXDEG 13 -#define MAXCOEFF (MAXDEG*(MAXDEG+2)+1) /* index starts with 1!, (from old Fortran?) */ -double gh1[MAXCOEFF]; -double gh2[MAXCOEFF]; -double gha[MAXCOEFF]; /* Geomag global variables */ -double ghb[MAXCOEFF]; -double d=0,f=0,h=0,i=0; -double dtemp,ftemp,htemp,itemp; -double x=0,y=0,z=0; -double xtemp,ytemp,ztemp; - -FILE *stream = NULL; /* Pointer to specified model data file */ - - -int main(int argc, char**argv) -{ - /* Variable declaration */ - - /* Variables related to tesseroids */ - FILE * tessfp; - FILE * tessoutfp; - char * line = NULL; - size_t len = 0; - ssize_t read; - - float W, E, S, N; - float HOT, HOB; - float DENSITY; - float SUSCEPT, OBX, OBY, OBZ; - float lon_c, lat_c, alt_c; - - int i, count; - - char tessfilename[PATH]; - char tessoutfilename[PATH]; - - - /* Control variables */ - int again = 1; - int decyears = 3; - int units = 4; - int decdeg = 3; - int range = -1; - int counter = 0; - int warn_H, warn_H_strong, warn_P; - - int modelI; /* Which model (Index) */ - int nmodel; /* Number of models in file */ - int max1[MAXMOD]; - int max2[MAXMOD]; - int max3[MAXMOD]; - int nmax; - int igdgc=3; - int isyear=-1; - int ismonth=-1; - int isday=-1; - int ieyear=-1; - int iemonth=-1; - int ieday=-1; - int ilat_deg=200; - int ilat_min=200; - int ilat_sec=200; - int ilon_deg=200; - int ilon_min=200; - int ilon_sec=200; - int fileline; - long irec_pos[MAXMOD]; - - int coords_from_file = 0; - int arg_err = 0; - int need_to_read_model = 1; - - char mdfile[PATH]; - char inbuff[MAXINBUFF]; - char model[MAXMOD][9]; - char *begin; - char *rest; - char args[7][MAXREAD]; - int iarg; - - char coord_fname[PATH]; - char out_fname[PATH]; - FILE *coordfile,*outfile; - int iline=0; - int read_flag; - - double epoch[MAXMOD]; - double yrmin[MAXMOD]; - double yrmax[MAXMOD]; - double minyr; - double maxyr; - double altmin[MAXMOD]; - double altmax[MAXMOD]; - double minalt; - double maxalt; - double alt=-999999; - double sdate=-1; - double step=-1; - double syr; - double edate=-1; - double latitude=200; - double longitude=200; - double ddot; - double fdot; - double hdot; - double idot; - double xdot; - double ydot; - double zdot; - double warn_H_val, warn_H_strong_val; - - /* Subroutines used */ - - - double degrees_to_decimal(); - double julday(); - int interpsh(); - int extrapsh(); - int shval3(); - int dihf(); - int safegets(char *buffer,int n); - int getshc(); - - - /* Initializations. */ - - inbuff[MAXREAD+1]='\0'; /* Just to protect mem. */ - inbuff[MAXINBUFF-1]='\0'; /* Just to protect mem. */ - - for (iarg=0; iarg MAXMOD) /* If too many headers */ - { - printf("ERROR: Too many models in file %s on line %d.", mdfile, fileline); - fclose(stream); - exit(6); - } - - irec_pos[modelI]=ftell(stream); - /* Get fields from buffer into individual vars. */ - sscanf(inbuff, "%s%lg%d%d%d%lg%lg%lg%lg", model[modelI], &epoch[modelI], &max1[modelI], &max2[modelI], &max3[modelI], &yrmin[modelI], &yrmax[modelI], &altmin[modelI], &altmax[modelI]); - - /* Compute date range for all models */ - if (modelI == 0) /*If first model */ - { - minyr=yrmin[0]; - maxyr=yrmax[0]; - } - else - { - if (yrmin[modelI]maxyr){ - maxyr=yrmax[modelI]; - } - } /* if modelI != 0 */ - - } /* If 1st 3 chars are spaces */ - - } /* While not end of model file */ - - nmodel = modelI + 1; - fclose(stream); - - decdeg=1; - decyears=2; - range=1; - igdgc=1; - units = 1; - - - sdate = julday(ismonth,isday,isyear); - - - /* Pick model */ - for (modelI=0; modelI 2 ? leap_year : 0)); - - return ((double)year + (day_in_year / (365.0 + leap_year))); -} - - -/****************************************************************************/ -/* */ -/* Subroutine getshc */ -/* */ -/****************************************************************************/ -/* */ -/* Reads spherical harmonic coefficients from the specified */ -/* model into an array. */ -/* */ -/* Input: */ -/* stream - Logical unit number */ -/* iflag - Flag for SV equal to ) or not equal to 0 */ -/* for designated read statements */ -/* strec - Starting record number to read from model */ -/* nmax_of_gh - Maximum degree and order of model */ -/* */ -/* Output: */ -/* gh1 or 2 - Schmidt quasi-normal internal spherical */ -/* harmonic coefficients */ -/* */ -/* FORTRAN */ -/* Bill Flanagan */ -/* NOAA CORPS, DESDIS, NGDC, 325 Broadway, Boulder CO. 80301 */ -/* */ -/* C */ -/* C. H. Shaffer */ -/* Lockheed Missiles and Space Company, Sunnyvale CA */ -/* August 15, 1988 */ -/* */ -/****************************************************************************/ - - -int getshc(file, iflag, strec, nmax_of_gh, gh) -char file[PATH]; -int iflag; -long int strec; -int nmax_of_gh; -int gh; -{ - char inbuff[MAXINBUFF]; - char irat[9]; - int ii,m,n,mm,nn; - int ios; - int line_num; - double g,hh; - double trash; - - stream = fopen(file, "rt"); - if (stream == NULL) - { - printf("\nError on opening file %s", file); - } - else - { - ii = 0; - ios = 0; - fseek(stream,strec,SEEK_SET); - for ( nn = 1; nn <= nmax_of_gh; ++nn) - { - for (mm = 0; mm <= nn; ++mm) - { - if (iflag == 1) - { - fgets(inbuff, MAXREAD, stream); - sscanf(inbuff, "%d%d%lg%lg%lg%lg%s%d", - &n, &m, &g, &hh, &trash, &trash, irat, &line_num); - } - else - { - fgets(inbuff, MAXREAD, stream); - sscanf(inbuff, "%d%d%lg%lg%lg%lg%s%d", - &n, &m, &trash, &trash, &g, &hh, irat, &line_num); - } - if ((nn != n) || (mm != m)) - { - ios = -2; - fclose(stream); - return(ios); - } - ii = ii + 1; - switch(gh) - { - case 1: gh1[ii] = g; - break; - case 2: gh2[ii] = g; - break; - default: printf("\nError in subroutine getshc"); - break; - } - if (m != 0) - { - ii = ii+ 1; - switch(gh) - { - case 1: gh1[ii] = hh; - break; - case 2: gh2[ii] = hh; - break; - default: printf("\nError in subroutine getshc"); - break; - } - } - } - } - } - fclose(stream); - return(ios); -} - - -/****************************************************************************/ -/* */ -/* Subroutine extrapsh */ -/* */ -/****************************************************************************/ -/* */ -/* Extrapolates linearly a spherical harmonic model with a */ -/* rate-of-change model. */ -/* */ -/* Input: */ -/* date - date of resulting model (in decimal year) */ -/* dte1 - date of base model */ -/* nmax1 - maximum degree and order of base model */ -/* gh1 - Schmidt quasi-normal internal spherical */ -/* harmonic coefficients of base model */ -/* nmax2 - maximum degree and order of rate-of-change model */ -/* gh2 - Schmidt quasi-normal internal spherical */ -/* harmonic coefficients of rate-of-change model */ -/* */ -/* Output: */ -/* gha or b - Schmidt quasi-normal internal spherical */ -/* harmonic coefficients */ -/* nmax - maximum degree and order of resulting model */ -/* */ -/* FORTRAN */ -/* A. Zunde */ -/* USGS, MS 964, box 25046 Federal Center, Denver, CO. 80225 */ -/* */ -/* C */ -/* C. H. Shaffer */ -/* Lockheed Missiles and Space Company, Sunnyvale CA */ -/* August 16, 1988 */ -/* */ -/****************************************************************************/ - - -int extrapsh(date, dte1, nmax1, nmax2, gh) -double date; -double dte1; -int nmax1; -int nmax2; -int gh; -{ - int nmax; - int k, l; - int ii; - double factor; - - factor = date - dte1; - if (nmax1 == nmax2) - { - k = nmax1 * (nmax1 + 2); - nmax = nmax1; - } - else - { - if (nmax1 > nmax2) - { - k = nmax2 * (nmax2 + 2); - l = nmax1 * (nmax1 + 2); - switch(gh) - { - case 3: for ( ii = k + 1; ii <= l; ++ii) - { - gha[ii] = gh1[ii]; - } - break; - case 4: for ( ii = k + 1; ii <= l; ++ii) - { - ghb[ii] = gh1[ii]; - } - break; - default: printf("\nError in subroutine extrapsh"); - break; - } - nmax = nmax1; - } - else - { - k = nmax1 * (nmax1 + 2); - l = nmax2 * (nmax2 + 2); - switch(gh) - { - case 3: for ( ii = k + 1; ii <= l; ++ii) - { - gha[ii] = factor * gh2[ii]; - } - break; - case 4: for ( ii = k + 1; ii <= l; ++ii) - { - ghb[ii] = factor * gh2[ii]; - } - break; - default: printf("\nError in subroutine extrapsh"); - break; - } - nmax = nmax2; - } - } - switch(gh) - { - case 3: for ( ii = 1; ii <= k; ++ii) - { - gha[ii] = gh1[ii] + factor * gh2[ii]; - } - break; - case 4: for ( ii = 1; ii <= k; ++ii) - { - ghb[ii] = gh1[ii] + factor * gh2[ii]; - } - break; - default: printf("\nError in subroutine extrapsh"); - break; - } - return(nmax); -} - -/****************************************************************************/ -/* */ -/* Subroutine interpsh */ -/* */ -/****************************************************************************/ -/* */ -/* Interpolates linearly, in time, between two spherical harmonic */ -/* models. */ -/* */ -/* Input: */ -/* date - date of resulting model (in decimal year) */ -/* dte1 - date of earlier model */ -/* nmax1 - maximum degree and order of earlier model */ -/* gh1 - Schmidt quasi-normal internal spherical */ -/* harmonic coefficients of earlier model */ -/* dte2 - date of later model */ -/* nmax2 - maximum degree and order of later model */ -/* gh2 - Schmidt quasi-normal internal spherical */ -/* harmonic coefficients of internal model */ -/* */ -/* Output: */ -/* gha or b - coefficients of resulting model */ -/* nmax - maximum degree and order of resulting model */ -/* */ -/* FORTRAN */ -/* A. Zunde */ -/* USGS, MS 964, box 25046 Federal Center, Denver, CO. 80225 */ -/* */ -/* C */ -/* C. H. Shaffer */ -/* Lockheed Missiles and Space Company, Sunnyvale CA */ -/* August 17, 1988 */ -/* */ -/****************************************************************************/ - - -int interpsh(date, dte1, nmax1, dte2, nmax2, gh) - double date; - double dte1; - int nmax1; - double dte2; - int nmax2; - int gh; -{ - int nmax; - int k, l; - int ii; - double factor; - - factor = (date - dte1) / (dte2 - dte1); - if (nmax1 == nmax2) - { - k = nmax1 * (nmax1 + 2); - nmax = nmax1; - } - else - { - if (nmax1 > nmax2) - { - k = nmax2 * (nmax2 + 2); - l = nmax1 * (nmax1 + 2); - switch(gh) - { - case 3: for ( ii = k + 1; ii <= l; ++ii) - { - gha[ii] = gh1[ii] + factor * (-gh1[ii]); - } - break; - case 4: for ( ii = k + 1; ii <= l; ++ii) - { - ghb[ii] = gh1[ii] + factor * (-gh1[ii]); - } - break; - default: printf("\nError in subroutine extrapsh"); - break; - } - nmax = nmax1; - } - else - { - k = nmax1 * (nmax1 + 2); - l = nmax2 * (nmax2 + 2); - switch(gh) - { - case 3: for ( ii = k + 1; ii <= l; ++ii) - { - gha[ii] = factor * gh2[ii]; - } - break; - case 4: for ( ii = k + 1; ii <= l; ++ii) - { - ghb[ii] = factor * gh2[ii]; - } - break; - default: printf("\nError in subroutine extrapsh"); - break; - } - nmax = nmax2; - } - } - switch(gh) - { - case 3: for ( ii = 1; ii <= k; ++ii) - { - gha[ii] = gh1[ii] + factor * (gh2[ii] - gh1[ii]); - } - break; - case 4: for ( ii = 1; ii <= k; ++ii) - { - ghb[ii] = gh1[ii] + factor * (gh2[ii] - gh1[ii]); - } - break; - default: printf("\nError in subroutine extrapsh"); - break; - } - return(nmax); -} - - - - - -/****************************************************************************/ -/* */ -/* Subroutine shval3 */ -/* */ -/****************************************************************************/ -/* */ -/* Calculates field components from spherical harmonic (sh) */ -/* models. */ -/* */ -/* Input: */ -/* igdgc - indicates coordinate system used; set equal */ -/* to 1 if geodetic, 2 if geocentric */ -/* latitude - north latitude, in degrees */ -/* longitude - east longitude, in degrees */ -/* elev - WGS84 altitude above ellipsoid (igdgc=1), or */ -/* radial distance from earth's center (igdgc=2) */ -/* a2,b2 - squares of semi-major and semi-minor axes of */ -/* the reference spheroid used for transforming */ -/* between geodetic and geocentric coordinates */ -/* or components */ -/* nmax - maximum degree and order of coefficients */ -/* iext - external coefficients flag (=0 if none) */ -/* ext1,2,3 - the three 1st-degree external coefficients */ -/* (not used if iext = 0) */ -/* */ -/* Output: */ -/* x - northward component */ -/* y - eastward component */ -/* z - vertically-downward component */ -/* */ -/* based on subroutine 'igrf' by D. R. Barraclough and S. R. C. Malin, */ -/* report no. 71/1, institute of geological sciences, U.K. */ -/* */ -/* FORTRAN */ -/* Norman W. Peddie */ -/* USGS, MS 964, box 25046 Federal Center, Denver, CO. 80225 */ -/* */ -/* C */ -/* C. H. Shaffer */ -/* Lockheed Missiles and Space Company, Sunnyvale CA */ -/* August 17, 1988 */ -/* */ -/****************************************************************************/ - - -int shval3(igdgc, flat, flon, elev, nmax, gh, iext, ext1, ext2, ext3) - int igdgc; - double flat; - double flon; - double elev; - int nmax; - int gh; - int iext; - double ext1; - double ext2; - double ext3; -{ - double earths_radius = 6371.2; - double dtr = 0.01745329; - double slat; - double clat; - double ratio; - double aa, bb, cc, dd; - double sd; - double cd; - double r; - double a2; - double b2; - double rr; - double fm,fn; - double sl[14]; - double cl[14]; - double p[119]; - double q[119]; - int ii,j,k,l,m,n; - int npq; - int ios; - double argument; - double power; - a2 = 40680631.59; /* WGS84 */ - b2 = 40408299.98; /* WGS84 */ - ios = 0; - r = elev; - argument = flat * dtr; - slat = sin( argument ); - if ((90.0 - flat) < 0.001) - { - aa = 89.999; /* 300 ft. from North pole */ - } - else - { - if ((90.0 + flat) < 0.001) - { - aa = -89.999; /* 300 ft. from South pole */ - } - else - { - aa = flat; - } - } - argument = aa * dtr; - clat = cos( argument ); - argument = flon * dtr; - sl[1] = sin( argument ); - cl[1] = cos( argument ); - switch(gh) - { - case 3: x = 0; - y = 0; - z = 0; - break; - case 4: xtemp = 0; - ytemp = 0; - ztemp = 0; - break; - default: printf("\nError in subroutine shval3"); - break; - } - sd = 0.0; - cd = 1.0; - l = 1; - n = 0; - m = 1; - npq = (nmax * (nmax + 3)) / 2; - if (igdgc == 1) - { - aa = a2 * clat * clat; - bb = b2 * slat * slat; - cc = aa + bb; - argument = cc; - dd = sqrt( argument ); - argument = elev * (elev + 2.0 * dd) + (a2 * aa + b2 * bb) / cc; - r = sqrt( argument ); - cd = (elev + dd) / r; - sd = (a2 - b2) / dd * slat * clat / r; - aa = slat; - slat = slat * cd - clat * sd; - clat = clat * cd + aa * sd; - } - ratio = earths_radius / r; - argument = 3.0; - aa = sqrt( argument ); - p[1] = 2.0 * slat; - p[2] = 2.0 * clat; - p[3] = 4.5 * slat * slat - 1.5; - p[4] = 3.0 * aa * clat * slat; - q[1] = -clat; - q[2] = slat; - q[3] = -3.0 * clat * slat; - q[4] = aa * (slat * slat - clat * clat); - for ( k = 1; k <= npq; ++k) - { - if (n < m) - { - m = 0; - n = n + 1; - argument = ratio; - power = n + 2; - rr = pow(argument,power); - fn = n; - } - fm = m; - if (k >= 5) - { - if (m == n) - { - argument = (1.0 - 0.5/fm); - aa = sqrt( argument ); - j = k - n - 1; - p[k] = (1.0 + 1.0/fm) * aa * clat * p[j]; - q[k] = aa * (clat * q[j] + slat/fm * p[j]); - sl[m] = sl[m-1] * cl[1] + cl[m-1] * sl[1]; - cl[m] = cl[m-1] * cl[1] - sl[m-1] * sl[1]; - } - else - { - argument = fn*fn - fm*fm; - aa = sqrt( argument ); - argument = ((fn - 1.0)*(fn-1.0)) - (fm * fm); - bb = sqrt( argument )/aa; - cc = (2.0 * fn - 1.0)/aa; - ii = k - n; - j = k - 2 * n + 1; - p[k] = (fn + 1.0) * (cc * slat/fn * p[ii] - bb/(fn - 1.0) * p[j]); - q[k] = cc * (slat * q[ii] - clat/fn * p[ii]) - bb * q[j]; - } - } - switch(gh) - { - case 3: aa = rr * gha[l]; - break; - case 4: aa = rr * ghb[l]; - break; - default: printf("\nError in subroutine shval3"); - break; - } - if (m == 0) - { - switch(gh) - { - case 3: x = x + aa * q[k]; - z = z - aa * p[k]; - break; - case 4: xtemp = xtemp + aa * q[k]; - ztemp = ztemp - aa * p[k]; - break; - default: printf("\nError in subroutine shval3"); - break; - } - l = l + 1; - } - else - { - switch(gh) - { - case 3: bb = rr * gha[l+1]; - cc = aa * cl[m] + bb * sl[m]; - x = x + cc * q[k]; - z = z - cc * p[k]; - if (clat > 0) - { - y = y + (aa * sl[m] - bb * cl[m]) * - fm * p[k]/((fn + 1.0) * clat); - } - else - { - y = y + (aa * sl[m] - bb * cl[m]) * q[k] * slat; - } - l = l + 2; - break; - case 4: bb = rr * ghb[l+1]; - cc = aa * cl[m] + bb * sl[m]; - xtemp = xtemp + cc * q[k]; - ztemp = ztemp - cc * p[k]; - if (clat > 0) - { - ytemp = ytemp + (aa * sl[m] - bb * cl[m]) * - fm * p[k]/((fn + 1.0) * clat); - } - else - { - ytemp = ytemp + (aa * sl[m] - bb * cl[m]) * - q[k] * slat; - } - l = l + 2; - break; - default: printf("\nError in subroutine shval3"); - break; - } - } - m = m + 1; - } - if (iext != 0) - { - aa = ext2 * cl[1] + ext3 * sl[1]; - switch(gh) - { - case 3: x = x - ext1 * clat + aa * slat; - y = y + ext2 * sl[1] - ext3 * cl[1]; - z = z + ext1 * slat + aa * clat; - break; - case 4: xtemp = xtemp - ext1 * clat + aa * slat; - ytemp = ytemp + ext2 * sl[1] - ext3 * cl[1]; - ztemp = ztemp + ext1 * slat + aa * clat; - break; - default: printf("\nError in subroutine shval3"); - break; - } - } - switch(gh) - { - case 3: aa = x; - x = x * cd + z * sd; - z = z * cd - aa * sd; - break; - case 4: aa = xtemp; - xtemp = xtemp * cd + ztemp * sd; - ztemp = ztemp * cd - aa * sd; - break; - default: printf("\nError in subroutine shval3"); - break; - } - return(ios); -} - - -/****************************************************************************/ -/* */ -/* Subroutine dihf */ -/* */ -/****************************************************************************/ -/* */ -/* Computes the geomagnetic d, i, h, and f from x, y, and z. */ -/* */ -/* Input: */ -/* x - northward component */ -/* y - eastward component */ -/* z - vertically-downward component */ -/* */ -/* Output: */ -/* d - declination */ -/* i - inclination */ -/* h - horizontal intensity */ -/* f - total intensity */ -/* */ -/* FORTRAN */ -/* A. Zunde */ -/* USGS, MS 964, box 25046 Federal Center, Denver, CO. 80225 */ -/* */ -/* C */ -/* C. H. Shaffer */ -/* Lockheed Missiles and Space Company, Sunnyvale CA */ -/* August 22, 1988 */ -/* */ -/****************************************************************************/ - -int dihf (gh) - int gh; -{ - int ios; - int j; - double sn; - double h2; - double hpx; - double argument, argument2; - - ios = gh; - sn = 0.0001; - - switch(gh) - { - case 3: for (j = 1; j <= 1; ++j) - { - h2 = x*x + y*y; - argument = h2; - h = sqrt(argument); /* calculate horizontal intensity */ - argument = h2 + z*z; - f = sqrt(argument); /* calculate total intensity */ - if (f < sn) - { - d = NaN; /* If d and i cannot be determined, */ - i = NaN; /* set equal to NaN */ - } - else - { - argument = z; - argument2 = h; - i = atan2(argument,argument2); - if (h < sn) - { - d = NaN; - } - else - { - hpx = h + x; - if (hpx < sn) - { - d = PI; - } - else - { - argument = y; - argument2 = hpx; - d = 2.0 * atan2(argument,argument2); - } - } - } - } - break; - case 4: for (j = 1; j <= 1; ++j) - { - h2 = xtemp*xtemp + ytemp*ytemp; - argument = h2; - htemp = sqrt(argument); - argument = h2 + ztemp*ztemp; - ftemp = sqrt(argument); - if (ftemp < sn) - { - dtemp = NaN; /* If d and i cannot be determined, */ - itemp = NaN; /* set equal to 999.0 */ - } - else - { - argument = ztemp; - argument2 = htemp; - itemp = atan2(argument,argument2); - if (htemp < sn) - { - dtemp = NaN; - } - else - { - hpx = htemp + xtemp; - if (hpx < sn) - { - dtemp = PI; - } - else - { - argument = ytemp; - argument2 = hpx; - dtemp = 2.0 * atan2(argument,argument2); - } - } - } - } - break; - default: printf("\nError in subroutine dihf"); - break; - } - return(ios); -} diff --git a/dep/netcdfcxx_legacy/README.en.md b/dep/netcdfcxx_legacy/README.en.md deleted file mode 100644 index 9dcc1ce..0000000 --- a/dep/netcdfcxx_legacy/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# netcdfcxx_win - -#### Description -一个windows下netcdf c++接口的编译项目,注意使用的是4.2版本的老接口。 - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/dep/netcdfcxx_legacy/README.md b/dep/netcdfcxx_legacy/README.md deleted file mode 100644 index 0618c20..0000000 --- a/dep/netcdfcxx_legacy/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# netcdfcxx_legacy - -#### 介绍 -一个windows下netcdf c++接口的编译项目,注意使用的是4.2版本的老接口。 - -#### 软件架构 -软件架构说明 - - -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx - -#### 使用说明 - -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/dep/netcdfcxx_legacy/config.sh b/dep/netcdfcxx_legacy/config.sh deleted file mode 100755 index d8477d6..0000000 --- a/dep/netcdfcxx_legacy/config.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -cmd=${1} -package=netcdfcxx_legacy -address=/opt/stow -targetdir=/usr/local - -if [[ ${cmd} == "configure" && ! -d "build/" ]]; then - mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=${address}/${package} -DCMAKE_BUILD_TYPE=Release -elif [[ ${cmd} == "configure" ]]; then - cd build && rm -rf * && cmake .. -DCMAKE_INSTALL_PREFIX=${address}/${package} -DCMAKE_BUILD_TYPE=Release -elif [[ ${cmd} == "build" ]]; then - cd build && make -elif [[ ${cmd} == "install" ]]; then - cd build && sudo make install - sudo stow --dir=${address} --target=${targetdir} ${package} -fi \ No newline at end of file diff --git a/dep/netcdfcxx_legacy/netCDF_CXX_LEGACYConfig.cmake.in b/dep/netcdfcxx_legacy/netCDF_CXX_LEGACYConfig.cmake.in index 02782fa..7bd94f6 100644 --- a/dep/netcdfcxx_legacy/netCDF_CXX_LEGACYConfig.cmake.in +++ b/dep/netcdfcxx_legacy/netCDF_CXX_LEGACYConfig.cmake.in @@ -11,8 +11,5 @@ set(@PROJECT_NAME@_LIB netcdfcxx_legacy) set(@PROJECT_NAME@_LIBRARY netcdfcxx_legacy) set(@PROJECT_NAME@_FOUND 1) -set(@PROJECT_NAME@_OPENMP @LibLCG_OPENMP@) -set(@PROJECT_NAME@_EIGEN @LibLCG_EIGEN@) - # include target information include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") \ No newline at end of file diff --git a/dep/netcdfcxx_legacy/src/CMakeLists.txt b/dep/netcdfcxx_legacy/src/CMakeLists.txt index 49f3e0c..f25c6df 100644 --- a/dep/netcdfcxx_legacy/src/CMakeLists.txt +++ b/dep/netcdfcxx_legacy/src/CMakeLists.txt @@ -1,6 +1,8 @@ # 设定源文件文件夹 aux_source_directory(lib/ NETCDF_SRC) +find_package(HDF5 REQUIRED) + # 寻找netCDF库地址 find_package(netCDF REQUIRED) if(netCDF_FOUND) @@ -26,10 +28,18 @@ set_target_properties(netcdfcxx_legacy PROPERTIES CLEAN_DIRECT_OUTPUT 1) set_target_properties(netcdfcxx_legacy_static PROPERTIES CLEAN_DIRECT_OUTPUT 1) # 设置动态库的版本号 set_target_properties(netcdfcxx_legacy PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}) +# 设置动态库的运行搜索地址 +set_target_properties(netcdfcxx_legacy PROPERTIES INSTALL_RPATH /usr/local/lib) +set_target_properties(netcdfcxx_legacy_static PROPERTIES INSTALL_RPATH /usr/local/lib) -find_library(NETCDF_LIBRARY netcdf ${netCDF_LIB_DIR}) -target_link_libraries(netcdfcxx_legacy PUBLIC ${NETCDF_LIBRARY}) -target_link_libraries(netcdfcxx_legacy_static ${NETCDF_LIBRARY}) +#find_library(NETCDF_LIBRARY netcdf ${netCDF_LIB_DIR}) +target_link_libraries(netcdfcxx_legacy PUBLIC ${netCDF_LIBRARIES}) +target_link_libraries(netcdfcxx_legacy_static ${netCDF_LIBRARIES}) +target_link_libraries(netcdfcxx_legacy PUBLIC ${HDF5_LIBRARIES}) +target_link_libraries(netcdfcxx_legacy_static ${HDF5_LIBRARIES}) + +# 设置库文件的输出地址 +set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) set(CONFIG_FILE_PATH lib/cmake/${PROJECT_NAME}) diff --git a/dep/partow/include/dsv_filter.hpp b/dep/partow/include/dsv_filter.hpp new file mode 100644 index 0000000..fbd9ebe --- /dev/null +++ b/dep/partow/include/dsv_filter.hpp @@ -0,0 +1,340 @@ +/* + ****************************************************************** + * Delimiter Seperated Values Filter Library * + * * + * Author: Arash Partow (2004) * + * URL: http://www.partow.net/programming/dsvfilter/index.html * + * * + * Copyright notice: * + * Free use of the Delimiter Seperated Values Filter Library is * + * permitted under the guidelines of the MIT License. * + * http://www.opensource.org/licenses/MIT * + * * + ****************************************************************** +*/ + + +#ifndef INCLUDE_DSV_FILTER_HPP +#define INCLUDE_DSV_FILTER_HPP + + +#include +#include +#include + +#define strtk_no_tr1_or_boost + +#include "exprtk.hpp" +#include "strtk.hpp" + + +#ifdef dsv_filter_use_mmap + #include +#endif + + +class dsv_filter +{ +public: + + struct column_properties + { + enum column_type + { + e_none = 0, + e_string = 1, + e_number = 2 + }; + + column_properties() + : type(e_none), + name (""), + value_s(""), + value_n(0.0), + process(false) + {} + + column_type type; + std::string name; + std::string value_s; + double value_n; + strtk::util::value value; + bool process; + }; + + dsv_filter() + : file_name_ ("" ), + input_delimiter_ (","), + output_delimiter_("|") + { + symbol_table_.add_constants(); + expression_.register_symbol_table(symbol_table_); + } + + inline std::string file_name() const + { + return file_name_; + } + + inline void set_input_delimiter(const std::string& input_delimiter) + { + input_delimiter_ = input_delimiter; + } + + inline void set_output_delimiter(const std::string& output_delimiter) + { + output_delimiter_ = output_delimiter; + } + + inline std::string input_delimiter() const + { + return input_delimiter_; + } + + inline std::string output_delimiter() const + { + return output_delimiter_; + } + + inline std::size_t column_count() const + { + return column_.size(); + } + + inline std::size_t row_count() const + { + return grid_.row_count(); + } + + inline const column_properties& column(const std::size_t& index) const + { + return column_[index]; + } + + inline bool load(const std::string& file_name) + { + if (!strtk::fileio::file_exists(file_name)) + return false; + + file_name_ = file_name; + strtk::token_grid::options options; + options.column_delimiters = input_delimiter_; + + #ifdef dsv_filter_use_mmap + input_source.close(); + input_source.open(file_name_); + + unsigned char* data = reinterpret_cast(const_cast(input_source.data())); + + if (!grid_.load(data,input_source.size(),options)) + return false; + #else + if (!grid_.load(file_name_,options)) + return false; + #endif + + if (0 == grid_.row_count()) + return false; + else if (grid_.row_count() < 2) + return false; + else if (!process_column_header()) + return false; + + return true; + } + + inline bool add_filter(const std::string& filter_expression) + { + error_ = ""; + parser_.dec().collect_variables() = true; + + if (!parser_.compile(filter_expression,expression_)) + { + error_ = "Error: " + parser_.error() + "\tFilter: " + filter_expression; + + return false; + } + + // Only extract for processing, the column values + // that are being used in the current expression. + typedef exprtk::parser parser_t; + typedef parser_t::dependent_entity_collector::symbol_t symbol_t; + + std::deque symbol_list; + + parser_.dec().symbols(symbol_list); + + for (std::size_t i = 0; i < column_.size(); ++i) + { + if (column_[i].name.empty()) + continue; + + column_[i].process = false; + + for (std::size_t j = 0; j < symbol_list.size(); ++j) + { + if (strtk::imatch(symbol_list[j].first,column_[i].name)) + { + column_[i].process = true; + break; + } + } + } + + return true; + } + + template class Sequence> + inline bool row(const std::size_t& r, + const Sequence& selected_column, + std::string& row_result) + { + if (selected_column.size() != column_.size()) + { + error_ = "Error: number of selected columns larger than number of columns"; + return false; + } + + if (r >= grid_.row_count()) + { + strtk::build_string s; + s << "Error: row[" << r << "] out of bounds."; + error_ = s.to_str(); + + return false; + } + + if (row_.index() != r) + { + row_ = grid_.row(r); + } + + bool append_delimeter = false; + + for (std::size_t c = 0; c < column_.size(); ++c) + { + if (selected_column[c]) + { + if (append_delimeter) + row_result.append(output_delimiter_); + else + append_delimeter = true; + + strtk::token_grid::range_t token = row_.token(c); + row_result.append(token.first,token.second); + } + } + + return true; + } + + inline std::string error() + { + return error_; + } + + enum filter_result + { + e_error, + e_match, + e_mismatch + }; + + inline filter_result operator[](const std::size_t& r) + { + row_ = grid_.row(r); + + for (std::size_t c = 0; c < column_.size(); ++c) + { + if (!column_[c].process) + continue; + else if (!row_.parse_with_index(c,column_[c].value)) + { + strtk::build_string s; + s << "Error: Failed to process element at row/col["<< r << "," << c << "] value:" << row_.get(c); + error_ = s.to_str(); + + return e_error; + } + } + + return (1.0 == expression_.value()) ? e_match : e_mismatch; + } + + const strtk::token_grid& grid() const + { + return grid_; + } + +private: + + inline bool process_column_header() + { + static const std::string string_id ("_s"); + static const std::string number_id ("_n"); + + expression_.get_symbol_table().clear(); + column_.clear(); + column_.resize(grid_.row(0).size()); + + strtk::token_grid::row_type row = grid_.row(0); + std::string col_name = ""; + std::string col_suffix = ""; + + for (std::size_t i = 0; i < row.size(); ++i) + { + column_properties& column = column_[i]; + + column.process = false; + + col_name = row.get(i); + col_suffix = (col_name.size() >= 2) ? strtk::text::remaining_string(col_name.size() - 2,col_name) : ""; + col_name = col_name.substr(0,col_name.size() - 2); + + if (symbol_table_.symbol_exists(col_name)) + { + error_ = "Error: Redefinition of column " + col_name; + return false; + } + else if (strtk::iends_with("_s",col_suffix)) + { + column.type = dsv_filter::column_properties::e_string; + column.name = col_name; + column.value = strtk::util::value(column.value_s); + column.process = true; + + symbol_table_.add_stringvar(col_name,column.value_s); + } + else if (strtk::iends_with("_n",col_suffix)) + { + column.type = dsv_filter::column_properties::e_number; + column.name = col_name; + column.process = true; + column.value = strtk::util::value(column.value_n); + + symbol_table_.add_variable(col_name,column.value_n); + } + } + + return true; + } + + std::string file_name_; + std::string input_delimiter_; + std::string output_delimiter_; + std::string error_; + std::vector column_; + strtk::token_grid grid_; + exprtk::symbol_table symbol_table_; + exprtk::parser parser_; + exprtk::expression expression_; + strtk::token_grid::row_type row_; + + #ifdef dsv_filter_use_mmap + boost::iostreams::mapped_file_source input_source; + #endif + +}; + +#endif diff --git a/dep/partow/include/exprtk.hpp b/dep/partow/include/exprtk.hpp new file mode 100644 index 0000000..95ca623 --- /dev/null +++ b/dep/partow/include/exprtk.hpp @@ -0,0 +1,44311 @@ +/* + ****************************************************************** + * C++ Mathematical Expression Toolkit Library * + * * + * Author: Arash Partow (1999-2024) * + * URL: https://www.partow.net/programming/exprtk/index.html * + * * + * Copyright notice: * + * Free use of the C++ Mathematical Expression Toolkit Library is * + * permitted under the guidelines and in accordance with the most * + * current version of the MIT License. * + * https://www.opensource.org/licenses/MIT * + * SPDX-License-Identifier: MIT * + * * + * Example expressions: * + * (00) (y + x / y) * (x - y / x) * + * (01) (x^2 / sin(2 * pi / y)) - x / 2 * + * (02) sqrt(1 - (x^2)) * + * (03) 1 - sin(2 * x) + cos(pi / y) * + * (04) a * exp(2 * t) + c * + * (05) if(((x + 2) == 3) and ((y + 5) <= 9), 1 + w, 2 / z) * + * (06) (avg(x,y) <= x + y ? x - y : x * y) + 2 * pi / x * + * (07) z := x + sin(2 * pi / y) * + * (08) u := 2 * (pi * z) / (w := x + cos(y / pi)) * + * (09) clamp(-1, sin(2 * pi * x) + cos(y / 2 * pi), +1) * + * (10) inrange(-2, m, +2) == if(({-2 <= m} and [m <= +2]), 1, 0) * + * (11) (2sin(x)cos(2y)7 + 1) == (2 * sin(x) * cos(2*y) * 7 + 1) * + * (12) (x ilike 's*ri?g') and [y < (3 z^7 + w)] * + * * + ****************************************************************** +*/ + + +#ifndef INCLUDE_EXPRTK_HPP +#define INCLUDE_EXPRTK_HPP + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +namespace exprtk +{ + #ifdef exprtk_enable_debugging + #define exprtk_debug(params) printf params + #else + #define exprtk_debug(params) (void)0 + #endif + + #define exprtk_error_location \ + "exprtk.hpp:" + details::to_str(__LINE__) \ + + #if __cplusplus >= 201103L + #define exprtk_override override + #define exprtk_final final + #define exprtk_delete = delete + #else + #define exprtk_override + #define exprtk_final + #define exprtk_delete + #endif + + #if __cplusplus >= 201603L + #define exprtk_fallthrough [[fallthrough]]; + #else + #define exprtk_fallthrough + #endif + + namespace details + { + typedef char char_t; + typedef char_t* char_ptr; + typedef char_t const* char_cptr; + typedef unsigned char uchar_t; + typedef uchar_t* uchar_ptr; + typedef uchar_t const* uchar_cptr; + typedef unsigned long long int _uint64_t; + typedef long long int _int64_t; + + inline bool is_whitespace(const char_t c) + { + return (' ' == c) || ('\n' == c) || + ('\r' == c) || ('\t' == c) || + ('\b' == c) || ('\v' == c) || + ('\f' == c) ; + } + + inline bool is_operator_char(const char_t c) + { + return ('+' == c) || ('-' == c) || + ('*' == c) || ('/' == c) || + ('^' == c) || ('<' == c) || + ('>' == c) || ('=' == c) || + (',' == c) || ('!' == c) || + ('(' == c) || (')' == c) || + ('[' == c) || (']' == c) || + ('{' == c) || ('}' == c) || + ('%' == c) || (':' == c) || + ('?' == c) || ('&' == c) || + ('|' == c) || (';' == c) ; + } + + inline bool is_letter(const char_t c) + { + return (('a' <= c) && (c <= 'z')) || + (('A' <= c) && (c <= 'Z')) ; + } + + inline bool is_digit(const char_t c) + { + return ('0' <= c) && (c <= '9'); + } + + inline bool is_letter_or_digit(const char_t c) + { + return is_letter(c) || is_digit(c); + } + + inline bool is_left_bracket(const char_t c) + { + return ('(' == c) || ('[' == c) || ('{' == c); + } + + inline bool is_right_bracket(const char_t c) + { + return (')' == c) || (']' == c) || ('}' == c); + } + + inline bool is_bracket(const char_t c) + { + return is_left_bracket(c) || is_right_bracket(c); + } + + inline bool is_sign(const char_t c) + { + return ('+' == c) || ('-' == c); + } + + inline bool is_invalid(const char_t c) + { + return !is_whitespace (c) && + !is_operator_char(c) && + !is_letter (c) && + !is_digit (c) && + ('.' != c) && + ('_' != c) && + ('$' != c) && + ('~' != c) && + ('\'' != c); + } + + inline bool is_valid_string_char(const char_t c) + { + return std::isprint(static_cast(c)) || + is_whitespace(c); + } + + #ifndef exprtk_disable_caseinsensitivity + inline void case_normalise(std::string& s) + { + for (std::size_t i = 0; i < s.size(); ++i) + { + s[i] = static_cast(std::tolower(s[i])); + } + } + + inline bool imatch(const char_t c1, const char_t c2) + { + return std::tolower(c1) == std::tolower(c2); + } + + inline bool imatch(const std::string& s1, const std::string& s2) + { + if (s1.size() == s2.size()) + { + for (std::size_t i = 0; i < s1.size(); ++i) + { + if (std::tolower(s1[i]) != std::tolower(s2[i])) + { + return false; + } + } + + return true; + } + + return false; + } + + struct ilesscompare + { + inline bool operator() (const std::string& s1, const std::string& s2) const + { + const std::size_t length = std::min(s1.size(),s2.size()); + + for (std::size_t i = 0; i < length; ++i) + { + const char_t c1 = static_cast(std::tolower(s1[i])); + const char_t c2 = static_cast(std::tolower(s2[i])); + + if (c1 < c2) + return true; + else if (c2 < c1) + return false; + } + + return s1.size() < s2.size(); + } + }; + + #else + inline void case_normalise(std::string&) + {} + + inline bool imatch(const char_t c1, const char_t c2) + { + return c1 == c2; + } + + inline bool imatch(const std::string& s1, const std::string& s2) + { + return s1 == s2; + } + + struct ilesscompare + { + inline bool operator() (const std::string& s1, const std::string& s2) const + { + return s1 < s2; + } + }; + #endif + + inline bool is_valid_sf_symbol(const std::string& symbol) + { + // Special function: $f12 or $F34 + return (4 == symbol.size()) && + ('$' == symbol[0]) && + imatch('f',symbol[1]) && + is_digit(symbol[2]) && + is_digit(symbol[3]); + } + + inline const char_t& front(const std::string& s) + { + return s[0]; + } + + inline const char_t& back(const std::string& s) + { + return s[s.size() - 1]; + } + + inline std::string to_str(int i) + { + if (0 == i) + return std::string("0"); + + std::string result; + + const int sign = (i < 0) ? -1 : 1; + + for ( ; i; i /= 10) + { + result += '0' + static_cast(sign * (i % 10)); + } + + if (sign < 0) + { + result += '-'; + } + + std::reverse(result.begin(), result.end()); + + return result; + } + + inline std::string to_str(std::size_t i) + { + return to_str(static_cast(i)); + } + + inline bool is_hex_digit(const uchar_t digit) + { + return (('0' <= digit) && (digit <= '9')) || + (('A' <= digit) && (digit <= 'F')) || + (('a' <= digit) && (digit <= 'f')) ; + } + + inline uchar_t hex_to_bin(uchar_t h) + { + if (('0' <= h) && (h <= '9')) + return (h - '0'); + else + return static_cast(std::toupper(h) - 'A'); + } + + template + inline bool parse_hex(Iterator& itr, Iterator end, + char_t& result) + { + if ( + (end == (itr )) || + (end == (itr + 1)) || + (end == (itr + 2)) || + (end == (itr + 3)) || + ('0' != *(itr )) || + ('X' != std::toupper(*(itr + 1))) || + (!is_hex_digit(*(itr + 2))) || + (!is_hex_digit(*(itr + 3))) + ) + { + return false; + } + + result = hex_to_bin(static_cast(*(itr + 2))) << 4 | + hex_to_bin(static_cast(*(itr + 3))) ; + + return true; + } + + inline bool cleanup_escapes(std::string& s) + { + typedef std::string::iterator str_itr_t; + + str_itr_t itr1 = s.begin(); + str_itr_t itr2 = s.begin(); + str_itr_t end = s.end (); + + std::size_t removal_count = 0; + + while (end != itr1) + { + if ('\\' == (*itr1)) + { + if (end == ++itr1) + { + return false; + } + else if (parse_hex(itr1, end, *itr2)) + { + itr1 += 4; + itr2 += 1; + removal_count += 4; + } + else if ('a' == (*itr1)) { (*itr2++) = '\a'; ++itr1; ++removal_count; } + else if ('b' == (*itr1)) { (*itr2++) = '\b'; ++itr1; ++removal_count; } + else if ('f' == (*itr1)) { (*itr2++) = '\f'; ++itr1; ++removal_count; } + else if ('n' == (*itr1)) { (*itr2++) = '\n'; ++itr1; ++removal_count; } + else if ('r' == (*itr1)) { (*itr2++) = '\r'; ++itr1; ++removal_count; } + else if ('t' == (*itr1)) { (*itr2++) = '\t'; ++itr1; ++removal_count; } + else if ('v' == (*itr1)) { (*itr2++) = '\v'; ++itr1; ++removal_count; } + else if ('0' == (*itr1)) { (*itr2++) = '\0'; ++itr1; ++removal_count; } + else + { + (*itr2++) = (*itr1++); + ++removal_count; + } + + continue; + } + else + (*itr2++) = (*itr1++); + } + + if ((removal_count > s.size()) || (0 == removal_count)) + return false; + + s.resize(s.size() - removal_count); + + return true; + } + + class build_string + { + public: + + explicit build_string(const std::size_t& initial_size = 64) + { + data_.reserve(initial_size); + } + + inline build_string& operator << (const std::string& s) + { + data_ += s; + return (*this); + } + + inline build_string& operator << (char_cptr s) + { + data_ += std::string(s); + return (*this); + } + + inline operator std::string () const + { + return data_; + } + + inline std::string as_string() const + { + return data_; + } + + private: + + std::string data_; + }; + + static const std::string reserved_words[] = + { + "break", "case", "continue", "default", "false", "for", + "if", "else", "ilike", "in", "like", "and", "nand", "nor", + "not", "null", "or", "repeat", "return", "shl", "shr", + "swap", "switch", "true", "until", "var", "while", "xnor", + "xor", "&", "|" + }; + + static const std::size_t reserved_words_size = sizeof(reserved_words) / sizeof(std::string); + + static const std::string reserved_symbols[] = + { + "abs", "acos", "acosh", "and", "asin", "asinh", "atan", + "atanh", "atan2", "avg", "break", "case", "ceil", "clamp", + "continue", "cos", "cosh", "cot", "csc", "default", + "deg2grad", "deg2rad", "equal", "erf", "erfc", "exp", + "expm1", "false", "floor", "for", "frac", "grad2deg", + "hypot", "iclamp", "if", "else", "ilike", "in", "inrange", + "like", "log", "log10", "log2", "logn", "log1p", "mand", + "max", "min", "mod", "mor", "mul", "ncdf", "nand", "nor", + "not", "not_equal", "null", "or", "pow", "rad2deg", + "repeat", "return", "root", "round", "roundn", "sec", "sgn", + "shl", "shr", "sin", "sinc", "sinh", "sqrt", "sum", "swap", + "switch", "tan", "tanh", "true", "trunc", "until", "var", + "while", "xnor", "xor", "&", "|" + }; + + static const std::size_t reserved_symbols_size = sizeof(reserved_symbols) / sizeof(std::string); + + static const std::string base_function_list[] = + { + "abs", "acos", "acosh", "asin", "asinh", "atan", "atanh", + "atan2", "avg", "ceil", "clamp", "cos", "cosh", "cot", + "csc", "equal", "erf", "erfc", "exp", "expm1", "floor", + "frac", "hypot", "iclamp", "like", "log", "log10", "log2", + "logn", "log1p", "mand", "max", "min", "mod", "mor", "mul", + "ncdf", "pow", "root", "round", "roundn", "sec", "sgn", + "sin", "sinc", "sinh", "sqrt", "sum", "swap", "tan", "tanh", + "trunc", "not_equal", "inrange", "deg2grad", "deg2rad", + "rad2deg", "grad2deg" + }; + + static const std::size_t base_function_list_size = sizeof(base_function_list) / sizeof(std::string); + + static const std::string logic_ops_list[] = + { + "and", "nand", "nor", "not", "or", "xnor", "xor", "&", "|" + }; + + static const std::size_t logic_ops_list_size = sizeof(logic_ops_list) / sizeof(std::string); + + static const std::string cntrl_struct_list[] = + { + "if", "switch", "for", "while", "repeat", "return" + }; + + static const std::size_t cntrl_struct_list_size = sizeof(cntrl_struct_list) / sizeof(std::string); + + static const std::string arithmetic_ops_list[] = + { + "+", "-", "*", "/", "%", "^" + }; + + static const std::size_t arithmetic_ops_list_size = sizeof(arithmetic_ops_list) / sizeof(std::string); + + static const std::string assignment_ops_list[] = + { + ":=", "+=", "-=", + "*=", "/=", "%=" + }; + + static const std::size_t assignment_ops_list_size = sizeof(assignment_ops_list) / sizeof(std::string); + + static const std::string inequality_ops_list[] = + { + "<", "<=", "==", + "=", "!=", "<>", + ">=", ">" + }; + + static const std::size_t inequality_ops_list_size = sizeof(inequality_ops_list) / sizeof(std::string); + + inline bool is_reserved_word(const std::string& symbol) + { + for (std::size_t i = 0; i < reserved_words_size; ++i) + { + if (imatch(symbol, reserved_words[i])) + { + return true; + } + } + + return false; + } + + inline bool is_reserved_symbol(const std::string& symbol) + { + for (std::size_t i = 0; i < reserved_symbols_size; ++i) + { + if (imatch(symbol, reserved_symbols[i])) + { + return true; + } + } + + return false; + } + + inline bool is_base_function(const std::string& function_name) + { + for (std::size_t i = 0; i < base_function_list_size; ++i) + { + if (imatch(function_name, base_function_list[i])) + { + return true; + } + } + + return false; + } + + inline bool is_control_struct(const std::string& cntrl_strct) + { + for (std::size_t i = 0; i < cntrl_struct_list_size; ++i) + { + if (imatch(cntrl_strct, cntrl_struct_list[i])) + { + return true; + } + } + + return false; + } + + inline bool is_logic_opr(const std::string& lgc_opr) + { + for (std::size_t i = 0; i < logic_ops_list_size; ++i) + { + if (imatch(lgc_opr, logic_ops_list[i])) + { + return true; + } + } + + return false; + } + + struct cs_match + { + static inline bool cmp(const char_t c0, const char_t c1) + { + return (c0 == c1); + } + }; + + struct cis_match + { + static inline bool cmp(const char_t c0, const char_t c1) + { + return (std::tolower(c0) == std::tolower(c1)); + } + }; + + template + inline bool match_impl(const Iterator pattern_begin, + const Iterator pattern_end , + const Iterator data_begin , + const Iterator data_end , + const typename std::iterator_traits::value_type& zero_or_more, + const typename std::iterator_traits::value_type& exactly_one ) + { + typedef typename std::iterator_traits::value_type type; + + const Iterator null_itr(0); + + Iterator p_itr = pattern_begin; + Iterator d_itr = data_begin; + Iterator np_itr = null_itr; + Iterator nd_itr = null_itr; + + for ( ; ; ) + { + if (p_itr != pattern_end) + { + const type c = *(p_itr); + + if ((data_end != d_itr) && (Compare::cmp(c,*(d_itr)) || (exactly_one == c))) + { + ++d_itr; + ++p_itr; + continue; + } + else if (zero_or_more == c) + { + while ((pattern_end != p_itr) && (zero_or_more == *(p_itr))) + { + ++p_itr; + } + + const type d = *(p_itr); + + while ((data_end != d_itr) && !(Compare::cmp(d,*(d_itr)) || (exactly_one == d))) + { + ++d_itr; + } + + // set backtrack iterators + np_itr = p_itr - 1; + nd_itr = d_itr + 1; + + continue; + } + } + else if (data_end == d_itr) + break; + + if ((data_end == d_itr) || (null_itr == nd_itr)) + return false; + + p_itr = np_itr; + d_itr = nd_itr; + } + + return true; + } + + inline bool wc_match(const std::string& wild_card, + const std::string& str) + { + return match_impl + ( + wild_card.data(), + wild_card.data() + wild_card.size(), + str.data(), + str.data() + str.size(), + '*', '?' + ); + } + + inline bool wc_imatch(const std::string& wild_card, + const std::string& str) + { + return match_impl + ( + wild_card.data(), + wild_card.data() + wild_card.size(), + str.data(), + str.data() + str.size(), + '*', '?' + ); + } + + inline bool sequence_match(const std::string& pattern, + const std::string& str, + std::size_t& diff_index, + char_t& diff_value) + { + if (str.empty()) + { + return ("Z" == pattern); + } + else if ('*' == pattern[0]) + return false; + + typedef std::string::const_iterator itr_t; + + itr_t p_itr = pattern.begin(); + itr_t s_itr = str .begin(); + + const itr_t p_end = pattern.end(); + const itr_t s_end = str .end(); + + while ((s_end != s_itr) && (p_end != p_itr)) + { + if ('*' == (*p_itr)) + { + const char_t target = static_cast(std::toupper(*(p_itr - 1))); + + if ('*' == target) + { + diff_index = static_cast(std::distance(str.begin(),s_itr)); + diff_value = static_cast(std::toupper(*p_itr)); + + return false; + } + else + ++p_itr; + + while (s_itr != s_end) + { + if (target != std::toupper(*s_itr)) + break; + else + ++s_itr; + } + + continue; + } + else if ( + ('?' != *p_itr) && + std::toupper(*p_itr) != std::toupper(*s_itr) + ) + { + diff_index = static_cast(std::distance(str.begin(),s_itr)); + diff_value = static_cast(std::toupper(*p_itr)); + + return false; + } + + ++p_itr; + ++s_itr; + } + + return ( + (s_end == s_itr) && + ( + (p_end == p_itr) || + ('*' == *p_itr) + ) + ); + } + + template + struct set_zero_value_impl + { + static inline void process(T* base_ptr, const std::size_t size) + { + const T zero = T(0); + for (std::size_t i = 0; i < size; ++i) + { + base_ptr[i] = zero; + } + } + }; + + #define pod_set_zero_value(T) \ + template <> \ + struct set_zero_value_impl \ + { \ + static inline void process(T* base_ptr, const std::size_t size) \ + { std::memset(base_ptr, 0x00, size * sizeof(T)); } \ + }; \ + + pod_set_zero_value(float ) + pod_set_zero_value(double ) + pod_set_zero_value(long double) + + #ifdef pod_set_zero_value + #undef pod_set_zero_value + #endif + + template + inline void set_zero_value(T* data, const std::size_t size) + { + set_zero_value_impl::process(data,size); + } + + template + inline void set_zero_value(std::vector& v) + { + set_zero_value(v.data(),v.size()); + } + + static const double pow10[] = + { + 1.0, + 1.0E+001, 1.0E+002, 1.0E+003, 1.0E+004, + 1.0E+005, 1.0E+006, 1.0E+007, 1.0E+008, + 1.0E+009, 1.0E+010, 1.0E+011, 1.0E+012, + 1.0E+013, 1.0E+014, 1.0E+015, 1.0E+016 + }; + + static const std::size_t pow10_size = sizeof(pow10) / sizeof(double); + + namespace numeric + { + namespace constant + { + static const double e = 2.71828182845904523536028747135266249775724709369996; + static const double pi = 3.14159265358979323846264338327950288419716939937510; + static const double pi_2 = 1.57079632679489661923132169163975144209858469968755; + static const double pi_4 = 0.78539816339744830961566084581987572104929234984378; + static const double pi_180 = 0.01745329251994329576923690768488612713442871888542; + static const double _1_pi = 0.31830988618379067153776752674502872406891929148091; + static const double _2_pi = 0.63661977236758134307553505349005744813783858296183; + static const double _180_pi = 57.29577951308232087679815481410517033240547246656443; + static const double log2 = 0.69314718055994530941723212145817656807550013436026; + static const double sqrt2 = 1.41421356237309504880168872420969807856967187537695; + } + + namespace details + { + struct unknown_type_tag { unknown_type_tag() {} }; + struct real_type_tag { real_type_tag () {} }; + struct int_type_tag { int_type_tag () {} }; + + template + struct number_type + { + typedef unknown_type_tag type; + number_type() {} + }; + + #define exprtk_register_real_type_tag(T) \ + template <> struct number_type \ + { typedef real_type_tag type; number_type() {} }; \ + + #define exprtk_register_int_type_tag(T) \ + template <> struct number_type \ + { typedef int_type_tag type; number_type() {} }; \ + + exprtk_register_real_type_tag(float ) + exprtk_register_real_type_tag(double ) + exprtk_register_real_type_tag(long double) + + exprtk_register_int_type_tag(short ) + exprtk_register_int_type_tag(int ) + exprtk_register_int_type_tag(_int64_t ) + exprtk_register_int_type_tag(unsigned short) + exprtk_register_int_type_tag(unsigned int ) + exprtk_register_int_type_tag(_uint64_t ) + + #undef exprtk_register_real_type_tag + #undef exprtk_register_int_type_tag + + template + struct epsilon_type {}; + + #define exprtk_define_epsilon_type(Type, Epsilon) \ + template <> struct epsilon_type \ + { \ + static inline Type value() \ + { \ + const Type epsilon = static_cast(Epsilon); \ + return epsilon; \ + } \ + }; \ + + exprtk_define_epsilon_type(float , 0.00000100000f) + exprtk_define_epsilon_type(double , 0.000000000100) + exprtk_define_epsilon_type(long double, 0.000000000001) + + #undef exprtk_define_epsilon_type + + template + inline bool is_nan_impl(const T v, real_type_tag) + { + return std::not_equal_to()(v,v); + } + + template + inline int to_int32_impl(const T v, real_type_tag) + { + return static_cast(v); + } + + template + inline _int64_t to_int64_impl(const T v, real_type_tag) + { + return static_cast<_int64_t>(v); + } + + template + inline _uint64_t to_uint64_impl(const T v, real_type_tag) + { + return static_cast<_uint64_t>(v); + } + + template + inline bool is_true_impl(const T v) + { + return std::not_equal_to()(T(0),v); + } + + template + inline bool is_false_impl(const T v) + { + return std::equal_to()(T(0),v); + } + + template + inline T abs_impl(const T v, real_type_tag) + { + return ((v < T(0)) ? -v : v); + } + + template + inline T min_impl(const T v0, const T v1, real_type_tag) + { + return std::min(v0,v1); + } + + template + inline T max_impl(const T v0, const T v1, real_type_tag) + { + return std::max(v0,v1); + } + + template + inline T equal_impl(const T v0, const T v1, real_type_tag) + { + const T epsilon = epsilon_type::value(); + return (abs_impl(v0 - v1,real_type_tag()) <= (std::max(T(1),std::max(abs_impl(v0,real_type_tag()),abs_impl(v1,real_type_tag()))) * epsilon)) ? T(1) : T(0); + } + + inline float equal_impl(const float v0, const float v1, real_type_tag) + { + const float epsilon = epsilon_type::value(); + return (abs_impl(v0 - v1,real_type_tag()) <= (std::max(1.0f,std::max(abs_impl(v0,real_type_tag()),abs_impl(v1,real_type_tag()))) * epsilon)) ? 1.0f : 0.0f; + } + + template + inline T equal_impl(const T v0, const T v1, int_type_tag) + { + return (v0 == v1) ? 1 : 0; + } + + template + inline T expm1_impl(const T v, real_type_tag) + { + // return std::expm1(v); + if (abs_impl(v,real_type_tag()) < T(0.00001)) + return v + (T(0.5) * v * v); + else + return std::exp(v) - T(1); + } + + template + inline T expm1_impl(const T v, int_type_tag) + { + return T(std::exp(v)) - T(1); + } + + template + inline T nequal_impl(const T v0, const T v1, real_type_tag) + { + typedef real_type_tag rtg; + const T epsilon = epsilon_type::value(); + return (abs_impl(v0 - v1,rtg()) > (std::max(T(1),std::max(abs_impl(v0,rtg()),abs_impl(v1,rtg()))) * epsilon)) ? T(1) : T(0); + } + + inline float nequal_impl(const float v0, const float v1, real_type_tag) + { + typedef real_type_tag rtg; + const float epsilon = epsilon_type::value(); + return (abs_impl(v0 - v1,rtg()) > (std::max(1.0f,std::max(abs_impl(v0,rtg()),abs_impl(v1,rtg()))) * epsilon)) ? 1.0f : 0.0f; + } + + template + inline T nequal_impl(const T v0, const T v1, int_type_tag) + { + return (v0 != v1) ? 1 : 0; + } + + template + inline T modulus_impl(const T v0, const T v1, real_type_tag) + { + return std::fmod(v0,v1); + } + + template + inline T modulus_impl(const T v0, const T v1, int_type_tag) + { + return v0 % v1; + } + + template + inline T pow_impl(const T v0, const T v1, real_type_tag) + { + return std::pow(v0,v1); + } + + template + inline T pow_impl(const T v0, const T v1, int_type_tag) + { + return std::pow(static_cast(v0),static_cast(v1)); + } + + template + inline T logn_impl(const T v0, const T v1, real_type_tag) + { + return std::log(v0) / std::log(v1); + } + + template + inline T logn_impl(const T v0, const T v1, int_type_tag) + { + return static_cast(logn_impl(static_cast(v0),static_cast(v1),real_type_tag())); + } + + template + inline T log1p_impl(const T v, real_type_tag) + { + if (v > T(-1)) + { + if (abs_impl(v,real_type_tag()) > T(0.0001)) + { + return std::log(T(1) + v); + } + else + return (T(-0.5) * v + T(1)) * v; + } + + return std::numeric_limits::quiet_NaN(); + } + + template + inline T log1p_impl(const T v, int_type_tag) + { + if (v > T(-1)) + { + return std::log(T(1) + v); + } + + return std::numeric_limits::quiet_NaN(); + } + + template + inline T root_impl(const T v0, const T v1, real_type_tag) + { + if (v1 < T(0)) + return std::numeric_limits::quiet_NaN(); + + const std::size_t n = static_cast(v1); + + if ((v0 < T(0)) && (0 == (n % 2))) + return std::numeric_limits::quiet_NaN(); + + return std::pow(v0, T(1) / n); + } + + template + inline T root_impl(const T v0, const T v1, int_type_tag) + { + return root_impl(static_cast(v0),static_cast(v1),real_type_tag()); + } + + template + inline T round_impl(const T v, real_type_tag) + { + return ((v < T(0)) ? std::ceil(v - T(0.5)) : std::floor(v + T(0.5))); + } + + template + inline T roundn_impl(const T v0, const T v1, real_type_tag) + { + const int index = std::max(0, std::min(pow10_size - 1, static_cast(std::floor(v1)))); + const T p10 = T(pow10[index]); + + if (v0 < T(0)) + return T(std::ceil ((v0 * p10) - T(0.5)) / p10); + else + return T(std::floor((v0 * p10) + T(0.5)) / p10); + } + + template + inline T roundn_impl(const T v0, const T, int_type_tag) + { + return v0; + } + + template + inline T hypot_impl(const T v0, const T v1, real_type_tag) + { + return std::sqrt((v0 * v0) + (v1 * v1)); + } + + template + inline T hypot_impl(const T v0, const T v1, int_type_tag) + { + return static_cast(std::sqrt(static_cast((v0 * v0) + (v1 * v1)))); + } + + template + inline T atan2_impl(const T v0, const T v1, real_type_tag) + { + return std::atan2(v0,v1); + } + + template + inline T atan2_impl(const T, const T, int_type_tag) + { + return 0; + } + + template + inline T shr_impl(const T v0, const T v1, real_type_tag) + { + return v0 * (T(1) / std::pow(T(2),static_cast(static_cast(v1)))); + } + + template + inline T shr_impl(const T v0, const T v1, int_type_tag) + { + return v0 >> v1; + } + + template + inline T shl_impl(const T v0, const T v1, real_type_tag) + { + return v0 * std::pow(T(2),static_cast(static_cast(v1))); + } + + template + inline T shl_impl(const T v0, const T v1, int_type_tag) + { + return v0 << v1; + } + + template + inline T sgn_impl(const T v, real_type_tag) + { + if (v > T(0)) return T(+1); + else if (v < T(0)) return T(-1); + else return T( 0); + } + + template + inline T sgn_impl(const T v, int_type_tag) + { + if (v > T(0)) return T(+1); + else if (v < T(0)) return T(-1); + else return T( 0); + } + + template + inline T and_impl(const T v0, const T v1, real_type_tag) + { + return (is_true_impl(v0) && is_true_impl(v1)) ? T(1) : T(0); + } + + template + inline T and_impl(const T v0, const T v1, int_type_tag) + { + return v0 && v1; + } + + template + inline T nand_impl(const T v0, const T v1, real_type_tag) + { + return (is_false_impl(v0) || is_false_impl(v1)) ? T(1) : T(0); + } + + template + inline T nand_impl(const T v0, const T v1, int_type_tag) + { + return !(v0 && v1); + } + + template + inline T or_impl(const T v0, const T v1, real_type_tag) + { + return (is_true_impl(v0) || is_true_impl(v1)) ? T(1) : T(0); + } + + template + inline T or_impl(const T v0, const T v1, int_type_tag) + { + return (v0 || v1); + } + + template + inline T nor_impl(const T v0, const T v1, real_type_tag) + { + return (is_false_impl(v0) && is_false_impl(v1)) ? T(1) : T(0); + } + + template + inline T nor_impl(const T v0, const T v1, int_type_tag) + { + return !(v0 || v1); + } + + template + inline T xor_impl(const T v0, const T v1, real_type_tag) + { + return (is_false_impl(v0) != is_false_impl(v1)) ? T(1) : T(0); + } + + template + inline T xor_impl(const T v0, const T v1, int_type_tag) + { + return v0 ^ v1; + } + + template + inline T xnor_impl(const T v0, const T v1, real_type_tag) + { + const bool v0_true = is_true_impl(v0); + const bool v1_true = is_true_impl(v1); + + if ((v0_true && v1_true) || (!v0_true && !v1_true)) + return T(1); + else + return T(0); + } + + template + inline T xnor_impl(const T v0, const T v1, int_type_tag) + { + const bool v0_true = is_true_impl(v0); + const bool v1_true = is_true_impl(v1); + + if ((v0_true && v1_true) || (!v0_true && !v1_true)) + return T(1); + else + return T(0); + } + + #if (defined(_MSC_VER) && (_MSC_VER >= 1900)) || !defined(_MSC_VER) + #define exprtk_define_erf(TT, impl) \ + inline TT erf_impl(const TT v) { return impl(v); } \ + + exprtk_define_erf(float , ::erff) + exprtk_define_erf(double , ::erf ) + exprtk_define_erf(long double, ::erfl) + #undef exprtk_define_erf + #endif + + template + inline T erf_impl(const T v, real_type_tag) + { + #if defined(_MSC_VER) && (_MSC_VER < 1900) + // Credits: Abramowitz & Stegun Equations 7.1.25-28 + static const T c[] = + { + T( 1.26551223), T(1.00002368), + T( 0.37409196), T(0.09678418), + T(-0.18628806), T(0.27886807), + T(-1.13520398), T(1.48851587), + T(-0.82215223), T(0.17087277) + }; + + const T t = T(1) / (T(1) + T(0.5) * abs_impl(v,real_type_tag())); + + const T result = T(1) - t * std::exp((-v * v) - + c[0] + t * (c[1] + t * + (c[2] + t * (c[3] + t * + (c[4] + t * (c[5] + t * + (c[6] + t * (c[7] + t * + (c[8] + t * (c[9])))))))))); + + return (v >= T(0)) ? result : -result; + #else + return erf_impl(v); + #endif + } + + template + inline T erf_impl(const T v, int_type_tag) + { + return erf_impl(static_cast(v),real_type_tag()); + } + + #if (defined(_MSC_VER) && (_MSC_VER >= 1900)) || !defined(_MSC_VER) + #define exprtk_define_erfc(TT, impl) \ + inline TT erfc_impl(const TT v) { return impl(v); } \ + + exprtk_define_erfc(float ,::erfcf) + exprtk_define_erfc(double ,::erfc ) + exprtk_define_erfc(long double,::erfcl) + #undef exprtk_define_erfc + #endif + + template + inline T erfc_impl(const T v, real_type_tag) + { + #if defined(_MSC_VER) && (_MSC_VER < 1900) + return T(1) - erf_impl(v,real_type_tag()); + #else + return erfc_impl(v); + #endif + } + + template + inline T erfc_impl(const T v, int_type_tag) + { + return erfc_impl(static_cast(v),real_type_tag()); + } + + template + inline T ncdf_impl(const T v, real_type_tag) + { + const T cnd = T(0.5) * (T(1) + + erf_impl(abs_impl(v,real_type_tag()) / + T(numeric::constant::sqrt2),real_type_tag())); + return (v < T(0)) ? (T(1) - cnd) : cnd; + } + + template + inline T ncdf_impl(const T v, int_type_tag) + { + return ncdf_impl(static_cast(v),real_type_tag()); + } + + template + inline T sinc_impl(const T v, real_type_tag) + { + if (std::abs(v) >= std::numeric_limits::epsilon()) + return(std::sin(v) / v); + else + return T(1); + } + + template + inline T sinc_impl(const T v, int_type_tag) + { + return sinc_impl(static_cast(v),real_type_tag()); + } + + #if __cplusplus >= 201103L + template + inline T acosh_impl(const T v, real_type_tag) + { + return std::acosh(v); + } + + template + inline T asinh_impl(const T v, real_type_tag) + { + return std::asinh(v); + } + + template + inline T atanh_impl(const T v, real_type_tag) + { + return std::atanh(v); + } + #else + template + inline T acosh_impl(const T v, real_type_tag) + { + return std::log(v + std::sqrt((v * v) - T(1))); + } + + template + inline T asinh_impl(const T v, real_type_tag) + { + return std::log(v + std::sqrt((v * v) + T(1))); + } + + template + inline T atanh_impl(const T v, real_type_tag) + { + return (std::log(T(1) + v) - std::log(T(1) - v)) / T(2); + } + #endif + + template inline T acos_impl(const T v, real_type_tag) { return std::acos (v); } + template inline T asin_impl(const T v, real_type_tag) { return std::asin (v); } + template inline T atan_impl(const T v, real_type_tag) { return std::atan (v); } + template inline T ceil_impl(const T v, real_type_tag) { return std::ceil (v); } + template inline T cos_impl(const T v, real_type_tag) { return std::cos (v); } + template inline T cosh_impl(const T v, real_type_tag) { return std::cosh (v); } + template inline T exp_impl(const T v, real_type_tag) { return std::exp (v); } + template inline T floor_impl(const T v, real_type_tag) { return std::floor(v); } + template inline T log_impl(const T v, real_type_tag) { return std::log (v); } + template inline T log10_impl(const T v, real_type_tag) { return std::log10(v); } + template inline T log2_impl(const T v, real_type_tag) { return std::log(v)/T(numeric::constant::log2); } + template inline T neg_impl(const T v, real_type_tag) { return -v; } + template inline T pos_impl(const T v, real_type_tag) { return +v; } + template inline T sin_impl(const T v, real_type_tag) { return std::sin (v); } + template inline T sinh_impl(const T v, real_type_tag) { return std::sinh (v); } + template inline T sqrt_impl(const T v, real_type_tag) { return std::sqrt (v); } + template inline T tan_impl(const T v, real_type_tag) { return std::tan (v); } + template inline T tanh_impl(const T v, real_type_tag) { return std::tanh (v); } + template inline T cot_impl(const T v, real_type_tag) { return T(1) / std::tan(v); } + template inline T sec_impl(const T v, real_type_tag) { return T(1) / std::cos(v); } + template inline T csc_impl(const T v, real_type_tag) { return T(1) / std::sin(v); } + template inline T r2d_impl(const T v, real_type_tag) { return (v * T(numeric::constant::_180_pi)); } + template inline T d2r_impl(const T v, real_type_tag) { return (v * T(numeric::constant::pi_180)); } + template inline T d2g_impl(const T v, real_type_tag) { return (v * T(10.0/9.0)); } + template inline T g2d_impl(const T v, real_type_tag) { return (v * T(9.0/10.0)); } + template inline T notl_impl(const T v, real_type_tag) { return (std::not_equal_to()(T(0),v) ? T(0) : T(1)); } + template inline T frac_impl(const T v, real_type_tag) { return (v - static_cast(v)); } + template inline T trunc_impl(const T v, real_type_tag) { return T(static_cast(v)); } + + template inline T const_pi_impl(real_type_tag) { return T(numeric::constant::pi); } + template inline T const_e_impl(real_type_tag) { return T(numeric::constant::e); } + template inline T const_qnan_impl(real_type_tag) { return std::numeric_limits::quiet_NaN(); } + + template inline T abs_impl(const T v, int_type_tag) { return ((v >= T(0)) ? v : -v); } + template inline T exp_impl(const T v, int_type_tag) { return std::exp (v); } + template inline T log_impl(const T v, int_type_tag) { return std::log (v); } + template inline T log10_impl(const T v, int_type_tag) { return std::log10(v); } + template inline T log2_impl(const T v, int_type_tag) { return std::log(v)/T(numeric::constant::log2); } + template inline T neg_impl(const T v, int_type_tag) { return -v; } + template inline T pos_impl(const T v, int_type_tag) { return +v; } + template inline T ceil_impl(const T v, int_type_tag) { return v; } + template inline T floor_impl(const T v, int_type_tag) { return v; } + template inline T round_impl(const T v, int_type_tag) { return v; } + template inline T notl_impl(const T v, int_type_tag) { return !v; } + template inline T sqrt_impl(const T v, int_type_tag) { return std::sqrt (v); } + template inline T frac_impl(const T , int_type_tag) { return T(0); } + template inline T trunc_impl(const T v, int_type_tag) { return v; } + template inline T acos_impl(const T , int_type_tag) { return std::numeric_limits::quiet_NaN(); } + template inline T acosh_impl(const T , int_type_tag) { return std::numeric_limits::quiet_NaN(); } + template inline T asin_impl(const T , int_type_tag) { return std::numeric_limits::quiet_NaN(); } + template inline T asinh_impl(const T , int_type_tag) { return std::numeric_limits::quiet_NaN(); } + template inline T atan_impl(const T , int_type_tag) { return std::numeric_limits::quiet_NaN(); } + template inline T atanh_impl(const T , int_type_tag) { return std::numeric_limits::quiet_NaN(); } + template inline T cos_impl(const T , int_type_tag) { return std::numeric_limits::quiet_NaN(); } + template inline T cosh_impl(const T , int_type_tag) { return std::numeric_limits::quiet_NaN(); } + template inline T sin_impl(const T , int_type_tag) { return std::numeric_limits::quiet_NaN(); } + template inline T sinh_impl(const T , int_type_tag) { return std::numeric_limits::quiet_NaN(); } + template inline T tan_impl(const T , int_type_tag) { return std::numeric_limits::quiet_NaN(); } + template inline T tanh_impl(const T , int_type_tag) { return std::numeric_limits::quiet_NaN(); } + template inline T cot_impl(const T , int_type_tag) { return std::numeric_limits::quiet_NaN(); } + template inline T sec_impl(const T , int_type_tag) { return std::numeric_limits::quiet_NaN(); } + template inline T csc_impl(const T , int_type_tag) { return std::numeric_limits::quiet_NaN(); } + + template + inline bool is_integer_impl(const T& v, real_type_tag) + { + return std::equal_to()(T(0),std::fmod(v,T(1))); + } + + template + inline bool is_integer_impl(const T&, int_type_tag) + { + return true; + } + } + + template + struct numeric_info { enum { length = 0, size = 32, bound_length = 0, min_exp = 0, max_exp = 0 }; }; + + template <> struct numeric_info { enum { length = 10, size = 16, bound_length = 9 }; }; + template <> struct numeric_info { enum { min_exp = -38, max_exp = +38 }; }; + template <> struct numeric_info { enum { min_exp = -308, max_exp = +308 }; }; + template <> struct numeric_info { enum { min_exp = -308, max_exp = +308 }; }; + + template + inline int to_int32(const T v) + { + const typename details::number_type::type num_type; + return to_int32_impl(v, num_type); + } + + template + inline _int64_t to_int64(const T v) + { + const typename details::number_type::type num_type; + return to_int64_impl(v, num_type); + } + + template + inline _uint64_t to_uint64(const T v) + { + const typename details::number_type::type num_type; + return to_uint64_impl(v, num_type); + } + + template + inline bool is_nan(const T v) + { + const typename details::number_type::type num_type; + return is_nan_impl(v, num_type); + } + + template + inline T min(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return min_impl(v0, v1, num_type); + } + + template + inline T max(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return max_impl(v0, v1, num_type); + } + + template + inline T equal(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return equal_impl(v0, v1, num_type); + } + + template + inline T nequal(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return nequal_impl(v0, v1, num_type); + } + + template + inline T modulus(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return modulus_impl(v0, v1, num_type); + } + + template + inline T pow(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return pow_impl(v0, v1, num_type); + } + + template + inline T logn(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return logn_impl(v0, v1, num_type); + } + + template + inline T root(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return root_impl(v0, v1, num_type); + } + + template + inline T roundn(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return roundn_impl(v0, v1, num_type); + } + + template + inline T hypot(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return hypot_impl(v0, v1, num_type); + } + + template + inline T atan2(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return atan2_impl(v0, v1, num_type); + } + + template + inline T shr(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return shr_impl(v0, v1, num_type); + } + + template + inline T shl(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return shl_impl(v0, v1, num_type); + } + + template + inline T and_opr(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return and_impl(v0, v1, num_type); + } + + template + inline T nand_opr(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return nand_impl(v0, v1, num_type); + } + + template + inline T or_opr(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return or_impl(v0, v1, num_type); + } + + template + inline T nor_opr(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return nor_impl(v0, v1, num_type); + } + + template + inline T xor_opr(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return xor_impl(v0, v1, num_type); + } + + template + inline T xnor_opr(const T v0, const T v1) + { + const typename details::number_type::type num_type; + return xnor_impl(v0, v1, num_type); + } + + template + inline bool is_integer(const T v) + { + const typename details::number_type::type num_type; + return is_integer_impl(v, num_type); + } + + template + struct fast_exp + { + static inline T result(T v) + { + unsigned int k = N; + T l = T(1); + + while (k) + { + if (1 == (k % 2)) + { + l *= v; + --k; + } + + v *= v; + k /= 2; + } + + return l; + } + }; + + template struct fast_exp { static inline T result(const T v) { T v_5 = fast_exp::result(v); return v_5 * v_5; } }; + template struct fast_exp { static inline T result(const T v) { return fast_exp::result(v) * v; } }; + template struct fast_exp { static inline T result(const T v) { T v_4 = fast_exp::result(v); return v_4 * v_4; } }; + template struct fast_exp { static inline T result(const T v) { return fast_exp::result(v) * v; } }; + template struct fast_exp { static inline T result(const T v) { T v_3 = fast_exp::result(v); return v_3 * v_3; } }; + template struct fast_exp { static inline T result(const T v) { return fast_exp::result(v) * v; } }; + template struct fast_exp { static inline T result(const T v) { T v_2 = v * v; return v_2 * v_2; } }; + template struct fast_exp { static inline T result(const T v) { return v * v * v; } }; + template struct fast_exp { static inline T result(const T v) { return v * v; } }; + template struct fast_exp { static inline T result(const T v) { return v; } }; + template struct fast_exp { static inline T result(const T ) { return T(1); } }; + + #define exprtk_define_unary_function(FunctionName) \ + template \ + inline T FunctionName (const T v) \ + { \ + const typename details::number_type::type num_type; \ + return FunctionName##_impl(v,num_type); \ + } \ + + exprtk_define_unary_function(abs ) + exprtk_define_unary_function(acos ) + exprtk_define_unary_function(acosh) + exprtk_define_unary_function(asin ) + exprtk_define_unary_function(asinh) + exprtk_define_unary_function(atan ) + exprtk_define_unary_function(atanh) + exprtk_define_unary_function(ceil ) + exprtk_define_unary_function(cos ) + exprtk_define_unary_function(cosh ) + exprtk_define_unary_function(exp ) + exprtk_define_unary_function(expm1) + exprtk_define_unary_function(floor) + exprtk_define_unary_function(log ) + exprtk_define_unary_function(log10) + exprtk_define_unary_function(log2 ) + exprtk_define_unary_function(log1p) + exprtk_define_unary_function(neg ) + exprtk_define_unary_function(pos ) + exprtk_define_unary_function(round) + exprtk_define_unary_function(sin ) + exprtk_define_unary_function(sinc ) + exprtk_define_unary_function(sinh ) + exprtk_define_unary_function(sqrt ) + exprtk_define_unary_function(tan ) + exprtk_define_unary_function(tanh ) + exprtk_define_unary_function(cot ) + exprtk_define_unary_function(sec ) + exprtk_define_unary_function(csc ) + exprtk_define_unary_function(r2d ) + exprtk_define_unary_function(d2r ) + exprtk_define_unary_function(d2g ) + exprtk_define_unary_function(g2d ) + exprtk_define_unary_function(notl ) + exprtk_define_unary_function(sgn ) + exprtk_define_unary_function(erf ) + exprtk_define_unary_function(erfc ) + exprtk_define_unary_function(ncdf ) + exprtk_define_unary_function(frac ) + exprtk_define_unary_function(trunc) + #undef exprtk_define_unary_function + } + + template + inline T compute_pow10(T d, const int exponent) + { + static const double fract10[] = + { + 0.0, + 1.0E+001, 1.0E+002, 1.0E+003, 1.0E+004, 1.0E+005, 1.0E+006, 1.0E+007, 1.0E+008, 1.0E+009, 1.0E+010, + 1.0E+011, 1.0E+012, 1.0E+013, 1.0E+014, 1.0E+015, 1.0E+016, 1.0E+017, 1.0E+018, 1.0E+019, 1.0E+020, + 1.0E+021, 1.0E+022, 1.0E+023, 1.0E+024, 1.0E+025, 1.0E+026, 1.0E+027, 1.0E+028, 1.0E+029, 1.0E+030, + 1.0E+031, 1.0E+032, 1.0E+033, 1.0E+034, 1.0E+035, 1.0E+036, 1.0E+037, 1.0E+038, 1.0E+039, 1.0E+040, + 1.0E+041, 1.0E+042, 1.0E+043, 1.0E+044, 1.0E+045, 1.0E+046, 1.0E+047, 1.0E+048, 1.0E+049, 1.0E+050, + 1.0E+051, 1.0E+052, 1.0E+053, 1.0E+054, 1.0E+055, 1.0E+056, 1.0E+057, 1.0E+058, 1.0E+059, 1.0E+060, + 1.0E+061, 1.0E+062, 1.0E+063, 1.0E+064, 1.0E+065, 1.0E+066, 1.0E+067, 1.0E+068, 1.0E+069, 1.0E+070, + 1.0E+071, 1.0E+072, 1.0E+073, 1.0E+074, 1.0E+075, 1.0E+076, 1.0E+077, 1.0E+078, 1.0E+079, 1.0E+080, + 1.0E+081, 1.0E+082, 1.0E+083, 1.0E+084, 1.0E+085, 1.0E+086, 1.0E+087, 1.0E+088, 1.0E+089, 1.0E+090, + 1.0E+091, 1.0E+092, 1.0E+093, 1.0E+094, 1.0E+095, 1.0E+096, 1.0E+097, 1.0E+098, 1.0E+099, 1.0E+100, + 1.0E+101, 1.0E+102, 1.0E+103, 1.0E+104, 1.0E+105, 1.0E+106, 1.0E+107, 1.0E+108, 1.0E+109, 1.0E+110, + 1.0E+111, 1.0E+112, 1.0E+113, 1.0E+114, 1.0E+115, 1.0E+116, 1.0E+117, 1.0E+118, 1.0E+119, 1.0E+120, + 1.0E+121, 1.0E+122, 1.0E+123, 1.0E+124, 1.0E+125, 1.0E+126, 1.0E+127, 1.0E+128, 1.0E+129, 1.0E+130, + 1.0E+131, 1.0E+132, 1.0E+133, 1.0E+134, 1.0E+135, 1.0E+136, 1.0E+137, 1.0E+138, 1.0E+139, 1.0E+140, + 1.0E+141, 1.0E+142, 1.0E+143, 1.0E+144, 1.0E+145, 1.0E+146, 1.0E+147, 1.0E+148, 1.0E+149, 1.0E+150, + 1.0E+151, 1.0E+152, 1.0E+153, 1.0E+154, 1.0E+155, 1.0E+156, 1.0E+157, 1.0E+158, 1.0E+159, 1.0E+160, + 1.0E+161, 1.0E+162, 1.0E+163, 1.0E+164, 1.0E+165, 1.0E+166, 1.0E+167, 1.0E+168, 1.0E+169, 1.0E+170, + 1.0E+171, 1.0E+172, 1.0E+173, 1.0E+174, 1.0E+175, 1.0E+176, 1.0E+177, 1.0E+178, 1.0E+179, 1.0E+180, + 1.0E+181, 1.0E+182, 1.0E+183, 1.0E+184, 1.0E+185, 1.0E+186, 1.0E+187, 1.0E+188, 1.0E+189, 1.0E+190, + 1.0E+191, 1.0E+192, 1.0E+193, 1.0E+194, 1.0E+195, 1.0E+196, 1.0E+197, 1.0E+198, 1.0E+199, 1.0E+200, + 1.0E+201, 1.0E+202, 1.0E+203, 1.0E+204, 1.0E+205, 1.0E+206, 1.0E+207, 1.0E+208, 1.0E+209, 1.0E+210, + 1.0E+211, 1.0E+212, 1.0E+213, 1.0E+214, 1.0E+215, 1.0E+216, 1.0E+217, 1.0E+218, 1.0E+219, 1.0E+220, + 1.0E+221, 1.0E+222, 1.0E+223, 1.0E+224, 1.0E+225, 1.0E+226, 1.0E+227, 1.0E+228, 1.0E+229, 1.0E+230, + 1.0E+231, 1.0E+232, 1.0E+233, 1.0E+234, 1.0E+235, 1.0E+236, 1.0E+237, 1.0E+238, 1.0E+239, 1.0E+240, + 1.0E+241, 1.0E+242, 1.0E+243, 1.0E+244, 1.0E+245, 1.0E+246, 1.0E+247, 1.0E+248, 1.0E+249, 1.0E+250, + 1.0E+251, 1.0E+252, 1.0E+253, 1.0E+254, 1.0E+255, 1.0E+256, 1.0E+257, 1.0E+258, 1.0E+259, 1.0E+260, + 1.0E+261, 1.0E+262, 1.0E+263, 1.0E+264, 1.0E+265, 1.0E+266, 1.0E+267, 1.0E+268, 1.0E+269, 1.0E+270, + 1.0E+271, 1.0E+272, 1.0E+273, 1.0E+274, 1.0E+275, 1.0E+276, 1.0E+277, 1.0E+278, 1.0E+279, 1.0E+280, + 1.0E+281, 1.0E+282, 1.0E+283, 1.0E+284, 1.0E+285, 1.0E+286, 1.0E+287, 1.0E+288, 1.0E+289, 1.0E+290, + 1.0E+291, 1.0E+292, 1.0E+293, 1.0E+294, 1.0E+295, 1.0E+296, 1.0E+297, 1.0E+298, 1.0E+299, 1.0E+300, + 1.0E+301, 1.0E+302, 1.0E+303, 1.0E+304, 1.0E+305, 1.0E+306, 1.0E+307, 1.0E+308 + }; + + static const int fract10_size = static_cast(sizeof(fract10) / sizeof(double)); + + const int e = std::abs(exponent); + + if (exponent >= std::numeric_limits::min_exponent10) + { + if (e < fract10_size) + { + if (exponent > 0) + return T(d * fract10[e]); + else + return T(d / fract10[e]); + } + else + return T(d * std::pow(10.0, 10.0 * exponent)); + } + else + { + d /= T(fract10[ -std::numeric_limits::min_exponent10]); + return T(d / fract10[-exponent + std::numeric_limits::min_exponent10]); + } + } + + template + inline bool string_to_type_converter_impl_ref(Iterator& itr, const Iterator end, T& result) + { + if (itr == end) + return false; + + const bool negative = ('-' == (*itr)); + + if (negative || ('+' == (*itr))) + { + if (end == ++itr) + return false; + } + + static const uchar_t zero = static_cast('0'); + + while ((end != itr) && (zero == (*itr))) ++itr; + + bool return_result = true; + unsigned int digit = 0; + const std::size_t length = static_cast(std::distance(itr,end)); + + if (length <= 4) + { + switch (length) + { + #ifdef exprtk_use_lut + + #define exprtk_process_digit \ + if ((digit = details::digit_table[(int)*itr++]) < 10) \ + result = result * 10 + (digit); \ + else \ + { \ + return_result = false; \ + break; \ + } \ + exprtk_fallthrough \ + + #else + + #define exprtk_process_digit \ + if ((digit = (*itr++ - zero)) < 10) \ + result = result * T(10) + digit; \ + else \ + { \ + return_result = false; \ + break; \ + } \ + exprtk_fallthrough \ + + #endif + + case 4 : exprtk_process_digit + case 3 : exprtk_process_digit + case 2 : exprtk_process_digit + case 1 : if ((digit = (*itr - zero))>= 10) + { + digit = 0; + return_result = false; + } + + #undef exprtk_process_digit + } + } + else + return_result = false; + + if (length && return_result) + { + result = result * 10 + static_cast(digit); + ++itr; + } + + result = negative ? -result : result; + return return_result; + } + + template + static inline bool parse_nan(Iterator& itr, const Iterator end, T& t) + { + typedef typename std::iterator_traits::value_type type; + + static const std::size_t nan_length = 3; + + if (std::distance(itr,end) != static_cast(nan_length)) + return false; + + if (static_cast('n') == (*itr)) + { + if ( + (static_cast('a') != *(itr + 1)) || + (static_cast('n') != *(itr + 2)) + ) + { + return false; + } + } + else if ( + (static_cast('A') != *(itr + 1)) || + (static_cast('N') != *(itr + 2)) + ) + { + return false; + } + + t = std::numeric_limits::quiet_NaN(); + + return true; + } + + template + static inline bool parse_inf(Iterator& itr, const Iterator end, T& t, const bool negative) + { + static const char_t inf_uc[] = "INFINITY"; + static const char_t inf_lc[] = "infinity"; + static const std::size_t inf_length = 8; + + const std::size_t length = static_cast(std::distance(itr,end)); + + if ((3 != length) && (inf_length != length)) + return false; + + char_cptr inf_itr = ('i' == (*itr)) ? inf_lc : inf_uc; + + while (end != itr) + { + if (*inf_itr == static_cast(*itr)) + { + ++itr; + ++inf_itr; + continue; + } + else + return false; + } + + if (negative) + t = -std::numeric_limits::infinity(); + else + t = std::numeric_limits::infinity(); + + return true; + } + + template + inline bool valid_exponent(const int exponent, numeric::details::real_type_tag) + { + using namespace details::numeric; + return (numeric_info::min_exp <= exponent) && (exponent <= numeric_info::max_exp); + } + + template + inline bool string_to_real(Iterator& itr_external, const Iterator end, T& t, numeric::details::real_type_tag) + { + if (end == itr_external) return false; + + Iterator itr = itr_external; + + T d = T(0); + + const bool negative = ('-' == (*itr)); + + if (negative || '+' == (*itr)) + { + if (end == ++itr) + return false; + } + + bool instate = false; + + static const char_t zero = static_cast('0'); + + #define parse_digit_1(d) \ + if ((digit = (*itr - zero)) < 10) \ + { d = d * T(10) + digit; } \ + else \ + { break; } \ + if (end == ++itr) break; \ + + #define parse_digit_2(d) \ + if ((digit = (*itr - zero)) < 10) \ + { d = d * T(10) + digit; } \ + else \ + { break; } \ + ++itr; \ + + if ('.' != (*itr)) + { + const Iterator curr = itr; + + while ((end != itr) && (zero == (*itr))) ++itr; + + while (end != itr) + { + unsigned int digit; + parse_digit_1(d) + parse_digit_1(d) + parse_digit_2(d) + } + + if (curr != itr) instate = true; + } + + int exponent = 0; + + if (end != itr) + { + if ('.' == (*itr)) + { + const Iterator curr = ++itr; + T tmp_d = T(0); + + while (end != itr) + { + unsigned int digit; + parse_digit_1(tmp_d) + parse_digit_1(tmp_d) + parse_digit_2(tmp_d) + } + + if (curr != itr) + { + instate = true; + + const int frac_exponent = static_cast(-std::distance(curr, itr)); + + if (!valid_exponent(frac_exponent, numeric::details::real_type_tag())) + return false; + + d += compute_pow10(tmp_d, frac_exponent); + } + + #undef parse_digit_1 + #undef parse_digit_2 + } + + if (end != itr) + { + typename std::iterator_traits::value_type c = (*itr); + + if (('e' == c) || ('E' == c)) + { + int exp = 0; + + if (!details::string_to_type_converter_impl_ref(++itr, end, exp)) + { + if (end == itr) + return false; + else + c = (*itr); + } + + exponent += exp; + } + + if (end != itr) + { + if (('f' == c) || ('F' == c) || ('l' == c) || ('L' == c)) + ++itr; + else if ('#' == c) + { + if (end == ++itr) + return false; + else if (('I' <= (*itr)) && ((*itr) <= 'n')) + { + if (('i' == (*itr)) || ('I' == (*itr))) + { + return parse_inf(itr, end, t, negative); + } + else if (('n' == (*itr)) || ('N' == (*itr))) + { + return parse_nan(itr, end, t); + } + else + return false; + } + else + return false; + } + else if (('I' <= (*itr)) && ((*itr) <= 'n')) + { + if (('i' == (*itr)) || ('I' == (*itr))) + { + return parse_inf(itr, end, t, negative); + } + else if (('n' == (*itr)) || ('N' == (*itr))) + { + return parse_nan(itr, end, t); + } + else + return false; + } + else + return false; + } + } + } + + if ((end != itr) || (!instate)) + return false; + else if (!valid_exponent(exponent, numeric::details::real_type_tag())) + return false; + else if (exponent) + d = compute_pow10(d,exponent); + + t = static_cast((negative) ? -d : d); + return true; + } + + template + inline bool string_to_real(const std::string& s, T& t) + { + const typename numeric::details::number_type::type num_type; + + char_cptr begin = s.data(); + char_cptr end = s.data() + s.size(); + + return string_to_real(begin, end, t, num_type); + } + + template + struct functor_t + { + /* + Note: The following definitions for Type, may require tweaking + based on the compiler and target architecture. The benchmark + should provide enough information to make the right choice. + */ + //typedef T Type; + //typedef const T Type; + typedef const T& Type; + typedef T& RefType; + typedef T (*qfunc_t)(Type t0, Type t1, Type t2, Type t3); + typedef T (*tfunc_t)(Type t0, Type t1, Type t2); + typedef T (*bfunc_t)(Type t0, Type t1); + typedef T (*ufunc_t)(Type t0); + }; + + } // namespace details + + struct loop_runtime_check + { + enum loop_types + { + e_invalid = 0, + e_for_loop = 1, + e_while_loop = 2, + e_repeat_until_loop = 4, + e_all_loops = 7 + }; + + enum violation_type + { + e_unknown = 0, + e_iteration_count = 1, + e_timeout = 2 + }; + + loop_types loop_set; + + loop_runtime_check() + : loop_set(e_invalid) + , max_loop_iterations(0) + {} + + details::_uint64_t max_loop_iterations; + + struct violation_context + { + loop_types loop; + violation_type violation; + details::_uint64_t iteration_count; + }; + + virtual bool check() + { + return true; + } + + virtual void handle_runtime_violation(const violation_context&) + { + throw std::runtime_error("ExprTk Loop runtime violation."); + } + + virtual ~loop_runtime_check() + {} + }; + + typedef loop_runtime_check* loop_runtime_check_ptr; + + struct vector_access_runtime_check + { + struct violation_context + { + void* base_ptr; + void* end_ptr; + void* access_ptr; + std::size_t type_size; + }; + + virtual ~vector_access_runtime_check() + {} + + virtual bool handle_runtime_violation(violation_context& /*context*/) + { + throw std::runtime_error("ExprTk runtime vector access violation."); + #if !defined(_MSC_VER) && !defined(__NVCOMPILER) + return false; + #endif + } + }; + + typedef vector_access_runtime_check* vector_access_runtime_check_ptr; + + struct compilation_check + { + struct compilation_context + { + std::string error_message; + }; + + virtual bool continue_compilation(compilation_context& /*context*/) = 0; + + virtual ~compilation_check() + {} + }; + + typedef compilation_check* compilation_check_ptr; + + namespace lexer + { + struct token + { + enum token_type + { + e_none = 0, e_error = 1, e_err_symbol = 2, + e_err_number = 3, e_err_string = 4, e_err_sfunc = 5, + e_eof = 6, e_number = 7, e_symbol = 8, + e_string = 9, e_assign = 10, e_addass = 11, + e_subass = 12, e_mulass = 13, e_divass = 14, + e_modass = 15, e_shr = 16, e_shl = 17, + e_lte = 18, e_ne = 19, e_gte = 20, + e_swap = 21, e_lt = '<', e_gt = '>', + e_eq = '=', e_rbracket = ')', e_lbracket = '(', + e_rsqrbracket = ']', e_lsqrbracket = '[', e_rcrlbracket = '}', + e_lcrlbracket = '{', e_comma = ',', e_add = '+', + e_sub = '-', e_div = '/', e_mul = '*', + e_mod = '%', e_pow = '^', e_colon = ':', + e_ternary = '?' + }; + + token() + : type(e_none) + , value("") + , position(std::numeric_limits::max()) + {} + + void clear() + { + type = e_none; + value = ""; + position = std::numeric_limits::max(); + } + + template + inline token& set_operator(const token_type tt, + const Iterator begin, const Iterator end, + const Iterator base_begin = Iterator(0)) + { + type = tt; + value.assign(begin,end); + if (base_begin) + position = static_cast(std::distance(base_begin,begin)); + return (*this); + } + + template + inline token& set_symbol(const Iterator begin, const Iterator end, const Iterator base_begin = Iterator(0)) + { + type = e_symbol; + value.assign(begin,end); + if (base_begin) + position = static_cast(std::distance(base_begin,begin)); + return (*this); + } + + template + inline token& set_numeric(const Iterator begin, const Iterator end, const Iterator base_begin = Iterator(0)) + { + type = e_number; + value.assign(begin,end); + if (base_begin) + position = static_cast(std::distance(base_begin,begin)); + return (*this); + } + + template + inline token& set_string(const Iterator begin, const Iterator end, const Iterator base_begin = Iterator(0)) + { + type = e_string; + value.assign(begin,end); + if (base_begin) + position = static_cast(std::distance(base_begin,begin)); + return (*this); + } + + inline token& set_string(const std::string& s, const std::size_t p) + { + type = e_string; + value = s; + position = p; + return (*this); + } + + template + inline token& set_error(const token_type et, + const Iterator begin, const Iterator end, + const Iterator base_begin = Iterator(0)) + { + if ( + (e_error == et) || + (e_err_symbol == et) || + (e_err_number == et) || + (e_err_string == et) || + (e_err_sfunc == et) + ) + { + type = et; + } + else + type = e_error; + + value.assign(begin,end); + + if (base_begin) + position = static_cast(std::distance(base_begin,begin)); + + return (*this); + } + + static inline std::string to_str(token_type t) + { + switch (t) + { + case e_none : return "NONE"; + case e_error : return "ERROR"; + case e_err_symbol : return "ERROR_SYMBOL"; + case e_err_number : return "ERROR_NUMBER"; + case e_err_string : return "ERROR_STRING"; + case e_eof : return "EOF"; + case e_number : return "NUMBER"; + case e_symbol : return "SYMBOL"; + case e_string : return "STRING"; + case e_assign : return ":="; + case e_addass : return "+="; + case e_subass : return "-="; + case e_mulass : return "*="; + case e_divass : return "/="; + case e_modass : return "%="; + case e_shr : return ">>"; + case e_shl : return "<<"; + case e_lte : return "<="; + case e_ne : return "!="; + case e_gte : return ">="; + case e_lt : return "<"; + case e_gt : return ">"; + case e_eq : return "="; + case e_rbracket : return ")"; + case e_lbracket : return "("; + case e_rsqrbracket : return "]"; + case e_lsqrbracket : return "["; + case e_rcrlbracket : return "}"; + case e_lcrlbracket : return "{"; + case e_comma : return ","; + case e_add : return "+"; + case e_sub : return "-"; + case e_div : return "/"; + case e_mul : return "*"; + case e_mod : return "%"; + case e_pow : return "^"; + case e_colon : return ":"; + case e_ternary : return "?"; + case e_swap : return "<=>"; + default : return "UNKNOWN"; + } + } + + inline bool is_error() const + { + return ( + (e_error == type) || + (e_err_symbol == type) || + (e_err_number == type) || + (e_err_string == type) || + (e_err_sfunc == type) + ); + } + + token_type type; + std::string value; + std::size_t position; + }; + + class generator + { + public: + + typedef token token_t; + typedef std::vector token_list_t; + typedef token_list_t::iterator token_list_itr_t; + typedef details::char_t char_t; + + generator() + : base_itr_(0) + , s_itr_ (0) + , s_end_ (0) + { + clear(); + } + + inline void clear() + { + base_itr_ = 0; + s_itr_ = 0; + s_end_ = 0; + token_list_.clear(); + token_itr_ = token_list_.end(); + store_token_itr_ = token_list_.end(); + } + + inline bool process(const std::string& str) + { + base_itr_ = str.data(); + s_itr_ = str.data(); + s_end_ = str.data() + str.size(); + + eof_token_.set_operator(token_t::e_eof,s_end_,s_end_,base_itr_); + token_list_.clear(); + + while (!is_end(s_itr_)) + { + scan_token(); + + if (!token_list_.empty() && token_list_.back().is_error()) + return false; + } + + return true; + } + + inline bool empty() const + { + return token_list_.empty(); + } + + inline std::size_t size() const + { + return token_list_.size(); + } + + inline void begin() + { + token_itr_ = token_list_.begin(); + store_token_itr_ = token_list_.begin(); + } + + inline void store() + { + store_token_itr_ = token_itr_; + } + + inline void restore() + { + token_itr_ = store_token_itr_; + } + + inline token_t& next_token() + { + if (token_list_.end() != token_itr_) + { + return *token_itr_++; + } + else + return eof_token_; + } + + inline token_t& peek_next_token() + { + if (token_list_.end() != token_itr_) + { + return *token_itr_; + } + else + return eof_token_; + } + + inline token_t& operator[](const std::size_t& index) + { + if (index < token_list_.size()) + return token_list_[index]; + else + return eof_token_; + } + + inline token_t operator[](const std::size_t& index) const + { + if (index < token_list_.size()) + return token_list_[index]; + else + return eof_token_; + } + + inline bool finished() const + { + return (token_list_.end() == token_itr_); + } + + inline void insert_front(token_t::token_type tk_type) + { + if ( + !token_list_.empty() && + (token_list_.end() != token_itr_) + ) + { + token_t t = *token_itr_; + + t.type = tk_type; + token_itr_ = token_list_.insert(token_itr_,t); + } + } + + inline std::string substr(const std::size_t& begin, const std::size_t& end) const + { + const details::char_cptr begin_itr = ((base_itr_ + begin) < s_end_) ? (base_itr_ + begin) : s_end_; + const details::char_cptr end_itr = ((base_itr_ + end ) < s_end_) ? (base_itr_ + end ) : s_end_; + + return std::string(begin_itr,end_itr); + } + + inline std::string remaining() const + { + if (finished()) + return ""; + else if (token_list_.begin() != token_itr_) + return std::string(base_itr_ + (token_itr_ - 1)->position, s_end_); + else + return std::string(base_itr_ + token_itr_->position, s_end_); + } + + private: + + inline bool is_end(details::char_cptr itr) const + { + return (s_end_ == itr); + } + + #ifndef exprtk_disable_comments + inline bool is_comment_start(details::char_cptr itr) const + { + const char_t c0 = *(itr + 0); + const char_t c1 = *(itr + 1); + + if ('#' == c0) + return true; + else if (!is_end(itr + 1)) + { + if (('/' == c0) && ('/' == c1)) return true; + if (('/' == c0) && ('*' == c1)) return true; + } + return false; + } + #else + inline bool is_comment_start(details::char_cptr) const + { + return false; + } + #endif + + inline void skip_whitespace() + { + while (!is_end(s_itr_) && details::is_whitespace(*s_itr_)) + { + ++s_itr_; + } + } + + inline void skip_comments() + { + #ifndef exprtk_disable_comments + // The following comment styles are supported: + // 1. // .... \n + // 2. # .... \n + // 3. /* .... */ + struct test + { + static inline bool comment_start(const char_t c0, const char_t c1, int& mode, int& incr) + { + mode = 0; + if ('#' == c0) { mode = 1; incr = 1; } + else if ('/' == c0) + { + if ('/' == c1) { mode = 1; incr = 2; } + else if ('*' == c1) { mode = 2; incr = 2; } + } + return (0 != mode); + } + + static inline bool comment_end(const char_t c0, const char_t c1, int& mode) + { + if ( + ((1 == mode) && ('\n' == c0)) || + ((2 == mode) && ( '*' == c0) && ('/' == c1)) + ) + { + mode = 0; + return true; + } + else + return false; + } + }; + + int mode = 0; + int increment = 0; + + if (is_end(s_itr_)) + return; + else if (!test::comment_start(*s_itr_, *(s_itr_ + 1), mode, increment)) + return; + + details::char_cptr cmt_start = s_itr_; + + s_itr_ += increment; + + while (!is_end(s_itr_)) + { + if ((1 == mode) && test::comment_end(*s_itr_, 0, mode)) + { + ++s_itr_; + return; + } + + if ((2 == mode)) + { + if (!is_end((s_itr_ + 1)) && test::comment_end(*s_itr_, *(s_itr_ + 1), mode)) + { + s_itr_ += 2; + return; + } + } + + ++s_itr_; + } + + if (2 == mode) + { + token_t t; + t.set_error(token::e_error, cmt_start, cmt_start + mode, base_itr_); + token_list_.push_back(t); + } + #endif + } + + inline void scan_token() + { + const char_t c = *s_itr_; + + if (details::is_whitespace(c)) + { + skip_whitespace(); + return; + } + else if (is_comment_start(s_itr_)) + { + skip_comments(); + return; + } + else if (details::is_operator_char(c)) + { + scan_operator(); + return; + } + else if (details::is_letter(c)) + { + scan_symbol(); + return; + } + else if (details::is_digit(c) || ('.' == c)) + { + scan_number(); + return; + } + else if ('$' == c) + { + scan_special_function(); + return; + } + #ifndef exprtk_disable_string_capabilities + else if ('\'' == c) + { + scan_string(); + return; + } + #endif + else if ('~' == c) + { + token_t t; + t.set_symbol(s_itr_, s_itr_ + 1, base_itr_); + token_list_.push_back(t); + ++s_itr_; + return; + } + else + { + token_t t; + t.set_error(token::e_error, s_itr_, s_itr_ + 2, base_itr_); + token_list_.push_back(t); + ++s_itr_; + } + } + + inline void scan_operator() + { + token_t t; + + const char_t c0 = s_itr_[0]; + + if (!is_end(s_itr_ + 1)) + { + const char_t c1 = s_itr_[1]; + + if (!is_end(s_itr_ + 2)) + { + const char_t c2 = s_itr_[2]; + + if ((c0 == '<') && (c1 == '=') && (c2 == '>')) + { + t.set_operator(token_t::e_swap, s_itr_, s_itr_ + 3, base_itr_); + token_list_.push_back(t); + s_itr_ += 3; + return; + } + } + + token_t::token_type ttype = token_t::e_none; + + if ((c0 == '<') && (c1 == '=')) ttype = token_t::e_lte; + else if ((c0 == '>') && (c1 == '=')) ttype = token_t::e_gte; + else if ((c0 == '<') && (c1 == '>')) ttype = token_t::e_ne; + else if ((c0 == '!') && (c1 == '=')) ttype = token_t::e_ne; + else if ((c0 == '=') && (c1 == '=')) ttype = token_t::e_eq; + else if ((c0 == ':') && (c1 == '=')) ttype = token_t::e_assign; + else if ((c0 == '<') && (c1 == '<')) ttype = token_t::e_shl; + else if ((c0 == '>') && (c1 == '>')) ttype = token_t::e_shr; + else if ((c0 == '+') && (c1 == '=')) ttype = token_t::e_addass; + else if ((c0 == '-') && (c1 == '=')) ttype = token_t::e_subass; + else if ((c0 == '*') && (c1 == '=')) ttype = token_t::e_mulass; + else if ((c0 == '/') && (c1 == '=')) ttype = token_t::e_divass; + else if ((c0 == '%') && (c1 == '=')) ttype = token_t::e_modass; + + if (token_t::e_none != ttype) + { + t.set_operator(ttype, s_itr_, s_itr_ + 2, base_itr_); + token_list_.push_back(t); + s_itr_ += 2; + return; + } + } + + if ('<' == c0) + t.set_operator(token_t::e_lt , s_itr_, s_itr_ + 1, base_itr_); + else if ('>' == c0) + t.set_operator(token_t::e_gt , s_itr_, s_itr_ + 1, base_itr_); + else if (';' == c0) + t.set_operator(token_t::e_eof, s_itr_, s_itr_ + 1, base_itr_); + else if ('&' == c0) + t.set_symbol(s_itr_, s_itr_ + 1, base_itr_); + else if ('|' == c0) + t.set_symbol(s_itr_, s_itr_ + 1, base_itr_); + else + t.set_operator(token_t::token_type(c0), s_itr_, s_itr_ + 1, base_itr_); + + token_list_.push_back(t); + ++s_itr_; + } + + inline void scan_symbol() + { + details::char_cptr initial_itr = s_itr_; + + while (!is_end(s_itr_)) + { + if (!details::is_letter_or_digit(*s_itr_) && ('_' != (*s_itr_))) + { + if ('.' != (*s_itr_)) + break; + /* + Permit symbols that contain a 'dot' + Allowed : abc.xyz, a123.xyz, abc.123, abc_.xyz a123_.xyz abc._123 + Disallowed: .abc, abc., abc., abc. + */ + if ( + (s_itr_ != initial_itr) && + !is_end(s_itr_ + 1) && + !details::is_letter_or_digit(*(s_itr_ + 1)) && + ('_' != (*(s_itr_ + 1))) + ) + break; + } + + ++s_itr_; + } + + token_t t; + t.set_symbol(initial_itr, s_itr_, base_itr_); + token_list_.push_back(t); + } + + inline void scan_number() + { + /* + Attempt to match a valid numeric value in one of the following formats: + (01) 123456 + (02) 123456. + (03) 123.456 + (04) 123.456e3 + (05) 123.456E3 + (06) 123.456e+3 + (07) 123.456E+3 + (08) 123.456e-3 + (09) 123.456E-3 + (00) .1234 + (11) .1234e3 + (12) .1234E+3 + (13) .1234e+3 + (14) .1234E-3 + (15) .1234e-3 + */ + + details::char_cptr initial_itr = s_itr_; + bool dot_found = false; + bool e_found = false; + bool post_e_sign_found = false; + bool post_e_digit_found = false; + token_t t; + + while (!is_end(s_itr_)) + { + if ('.' == (*s_itr_)) + { + if (dot_found) + { + t.set_error(token::e_err_number, initial_itr, s_itr_, base_itr_); + token_list_.push_back(t); + + return; + } + + dot_found = true; + ++s_itr_; + + continue; + } + else if ('e' == std::tolower(*s_itr_)) + { + const char_t& c = *(s_itr_ + 1); + + if (is_end(s_itr_ + 1)) + { + t.set_error(token::e_err_number, initial_itr, s_itr_, base_itr_); + token_list_.push_back(t); + + return; + } + else if ( + ('+' != c) && + ('-' != c) && + !details::is_digit(c) + ) + { + t.set_error(token::e_err_number, initial_itr, s_itr_, base_itr_); + token_list_.push_back(t); + + return; + } + + e_found = true; + ++s_itr_; + + continue; + } + else if (e_found && details::is_sign(*s_itr_) && !post_e_digit_found) + { + if (post_e_sign_found) + { + t.set_error(token::e_err_number, initial_itr, s_itr_, base_itr_); + token_list_.push_back(t); + + return; + } + + post_e_sign_found = true; + ++s_itr_; + + continue; + } + else if (e_found && details::is_digit(*s_itr_)) + { + post_e_digit_found = true; + ++s_itr_; + + continue; + } + else if (('.' != (*s_itr_)) && !details::is_digit(*s_itr_)) + break; + else + ++s_itr_; + } + + t.set_numeric(initial_itr, s_itr_, base_itr_); + token_list_.push_back(t); + + return; + } + + inline void scan_special_function() + { + details::char_cptr initial_itr = s_itr_; + token_t t; + + // $fdd(x,x,x) = at least 11 chars + if (std::distance(s_itr_,s_end_) < 11) + { + t.set_error( + token::e_err_sfunc, + initial_itr, std::min(initial_itr + 11, s_end_), + base_itr_); + token_list_.push_back(t); + + return; + } + + if ( + !(('$' == *s_itr_) && + (details::imatch ('f',*(s_itr_ + 1))) && + (details::is_digit(*(s_itr_ + 2))) && + (details::is_digit(*(s_itr_ + 3)))) + ) + { + t.set_error( + token::e_err_sfunc, + initial_itr, std::min(initial_itr + 4, s_end_), + base_itr_); + token_list_.push_back(t); + + return; + } + + s_itr_ += 4; // $fdd = 4chars + + t.set_symbol(initial_itr, s_itr_, base_itr_); + token_list_.push_back(t); + + return; + } + + #ifndef exprtk_disable_string_capabilities + inline void scan_string() + { + details::char_cptr initial_itr = s_itr_ + 1; + token_t t; + + if (std::distance(s_itr_,s_end_) < 2) + { + t.set_error(token::e_err_string, s_itr_, s_end_, base_itr_); + token_list_.push_back(t); + + return; + } + + ++s_itr_; + + bool escaped_found = false; + bool escaped = false; + + while (!is_end(s_itr_)) + { + if (!details::is_valid_string_char(*s_itr_)) + { + t.set_error(token::e_err_string, initial_itr, s_itr_, base_itr_); + token_list_.push_back(t); + + return; + } + else if (!escaped && ('\\' == *s_itr_)) + { + escaped_found = true; + escaped = true; + ++s_itr_; + + continue; + } + else if (!escaped) + { + if ('\'' == *s_itr_) + break; + } + else if (escaped) + { + if ( + !is_end(s_itr_) && ('0' == *(s_itr_)) && + ((s_itr_ + 4) <= s_end_) + ) + { + const bool x_separator = ('X' == std::toupper(*(s_itr_ + 1))); + + const bool both_digits = details::is_hex_digit(*(s_itr_ + 2)) && + details::is_hex_digit(*(s_itr_ + 3)) ; + + if (!(x_separator && both_digits)) + { + t.set_error(token::e_err_string, initial_itr, s_itr_, base_itr_); + token_list_.push_back(t); + + return; + } + else + s_itr_ += 3; + } + + escaped = false; + } + + ++s_itr_; + } + + if (is_end(s_itr_)) + { + t.set_error(token::e_err_string, initial_itr, s_itr_, base_itr_); + token_list_.push_back(t); + + return; + } + + if (!escaped_found) + t.set_string(initial_itr, s_itr_, base_itr_); + else + { + std::string parsed_string(initial_itr,s_itr_); + + if (!details::cleanup_escapes(parsed_string)) + { + t.set_error(token::e_err_string, initial_itr, s_itr_, base_itr_); + token_list_.push_back(t); + + return; + } + + t.set_string( + parsed_string, + static_cast(std::distance(base_itr_,initial_itr))); + } + + token_list_.push_back(t); + ++s_itr_; + + return; + } + #endif + + private: + + token_list_t token_list_; + token_list_itr_t token_itr_; + token_list_itr_t store_token_itr_; + token_t eof_token_; + details::char_cptr base_itr_; + details::char_cptr s_itr_; + details::char_cptr s_end_; + + friend class token_scanner; + friend class token_modifier; + friend class token_inserter; + friend class token_joiner; + }; // class generator + + class helper_interface + { + public: + + virtual void init() { } + virtual void reset() { } + virtual bool result() { return true; } + virtual std::size_t process(generator&) { return 0; } + virtual ~helper_interface() { } + }; + + class token_scanner : public helper_interface + { + public: + + virtual ~token_scanner() + {} + + explicit token_scanner(const std::size_t& stride) + : stride_(stride) + { + if (stride > 4) + { + throw std::invalid_argument("token_scanner() - Invalid stride value"); + } + } + + inline std::size_t process(generator& g) exprtk_override + { + if (g.token_list_.size() >= stride_) + { + for (std::size_t i = 0; i < (g.token_list_.size() - stride_ + 1); ++i) + { + token t; + + switch (stride_) + { + case 1 : + { + const token& t0 = g.token_list_[i]; + + if (!operator()(t0)) + { + return i; + } + } + break; + + case 2 : + { + const token& t0 = g.token_list_[i ]; + const token& t1 = g.token_list_[i + 1]; + + if (!operator()(t0, t1)) + { + return i; + } + } + break; + + case 3 : + { + const token& t0 = g.token_list_[i ]; + const token& t1 = g.token_list_[i + 1]; + const token& t2 = g.token_list_[i + 2]; + + if (!operator()(t0, t1, t2)) + { + return i; + } + } + break; + + case 4 : + { + const token& t0 = g.token_list_[i ]; + const token& t1 = g.token_list_[i + 1]; + const token& t2 = g.token_list_[i + 2]; + const token& t3 = g.token_list_[i + 3]; + + if (!operator()(t0, t1, t2, t3)) + { + return i; + } + } + break; + } + } + } + + return (g.token_list_.size() - stride_ + 1); + } + + virtual bool operator() (const token&) + { + return false; + } + + virtual bool operator() (const token&, const token&) + { + return false; + } + + virtual bool operator() (const token&, const token&, const token&) + { + return false; + } + + virtual bool operator() (const token&, const token&, const token&, const token&) + { + return false; + } + + private: + + const std::size_t stride_; + }; // class token_scanner + + class token_modifier : public helper_interface + { + public: + + inline std::size_t process(generator& g) exprtk_override + { + std::size_t changes = 0; + + for (std::size_t i = 0; i < g.token_list_.size(); ++i) + { + if (modify(g.token_list_[i])) changes++; + } + + return changes; + } + + virtual bool modify(token& t) = 0; + }; + + class token_inserter : public helper_interface + { + public: + + explicit token_inserter(const std::size_t& stride) + : stride_(stride) + { + if (stride > 5) + { + throw std::invalid_argument("token_inserter() - Invalid stride value"); + } + } + + inline std::size_t process(generator& g) exprtk_override + { + if (g.token_list_.empty()) + return 0; + else if (g.token_list_.size() < stride_) + return 0; + + std::size_t changes = 0; + + typedef std::pair insert_t; + std::vector insert_list; + insert_list.reserve(10000); + + for (std::size_t i = 0; i < (g.token_list_.size() - stride_ + 1); ++i) + { + int insert_index = -1; + token t; + + switch (stride_) + { + case 1 : insert_index = insert(g.token_list_[i],t); + break; + + case 2 : insert_index = insert(g.token_list_[i], g.token_list_[i + 1], t); + break; + + case 3 : insert_index = insert(g.token_list_[i], g.token_list_[i + 1], g.token_list_[i + 2], t); + break; + + case 4 : insert_index = insert(g.token_list_[i], g.token_list_[i + 1], g.token_list_[i + 2], g.token_list_[i + 3], t); + break; + + case 5 : insert_index = insert(g.token_list_[i], g.token_list_[i + 1], g.token_list_[i + 2], g.token_list_[i + 3], g.token_list_[i + 4], t); + break; + } + + if ((insert_index >= 0) && (insert_index <= (static_cast(stride_) + 1))) + { + insert_list.push_back(insert_t(i, t)); + changes++; + } + } + + if (!insert_list.empty()) + { + generator::token_list_t token_list; + + std::size_t insert_index = 0; + + for (std::size_t i = 0; i < g.token_list_.size(); ++i) + { + token_list.push_back(g.token_list_[i]); + + if ( + (insert_index < insert_list.size()) && + (insert_list[insert_index].first == i) + ) + { + token_list.push_back(insert_list[insert_index].second); + insert_index++; + } + } + + std::swap(g.token_list_,token_list); + } + + return changes; + } + + #define token_inserter_empty_body \ + { \ + return -1; \ + } \ + + inline virtual int insert(const token&, token&) + token_inserter_empty_body + + inline virtual int insert(const token&, const token&, token&) + token_inserter_empty_body + + inline virtual int insert(const token&, const token&, const token&, token&) + token_inserter_empty_body + + inline virtual int insert(const token&, const token&, const token&, const token&, token&) + token_inserter_empty_body + + inline virtual int insert(const token&, const token&, const token&, const token&, const token&, token&) + token_inserter_empty_body + + #undef token_inserter_empty_body + + private: + + const std::size_t stride_; + }; + + class token_joiner : public helper_interface + { + public: + + explicit token_joiner(const std::size_t& stride) + : stride_(stride) + {} + + inline std::size_t process(generator& g) exprtk_override + { + if (g.token_list_.empty()) + return 0; + + switch (stride_) + { + case 2 : return process_stride_2(g); + case 3 : return process_stride_3(g); + default : return 0; + } + } + + virtual bool join(const token&, const token&, token&) { return false; } + virtual bool join(const token&, const token&, const token&, token&) { return false; } + + private: + + inline std::size_t process_stride_2(generator& g) + { + if (g.token_list_.size() < 2) + return 0; + + std::size_t changes = 0; + + generator::token_list_t token_list; + token_list.reserve(10000); + + for (int i = 0; i < static_cast(g.token_list_.size() - 1); ++i) + { + token t; + + for ( ; ; ) + { + if (!join(g[i], g[i + 1], t)) + { + token_list.push_back(g[i]); + break; + } + + token_list.push_back(t); + + ++changes; + + i += 2; + + if (static_cast(i) >= (g.token_list_.size() - 1)) + break; + } + } + + token_list.push_back(g.token_list_.back()); + + assert(token_list.size() <= g.token_list_.size()); + + std::swap(token_list, g.token_list_); + + return changes; + } + + inline std::size_t process_stride_3(generator& g) + { + if (g.token_list_.size() < 3) + return 0; + + std::size_t changes = 0; + + generator::token_list_t token_list; + token_list.reserve(10000); + + for (int i = 0; i < static_cast(g.token_list_.size() - 2); ++i) + { + token t; + + for ( ; ; ) + { + if (!join(g[i], g[i + 1], g[i + 2], t)) + { + token_list.push_back(g[i]); + break; + } + + token_list.push_back(t); + + ++changes; + + i += 3; + + if (static_cast(i) >= (g.token_list_.size() - 2)) + break; + } + } + + token_list.push_back(*(g.token_list_.begin() + g.token_list_.size() - 2)); + token_list.push_back(*(g.token_list_.begin() + g.token_list_.size() - 1)); + + assert(token_list.size() <= g.token_list_.size()); + + std::swap(token_list, g.token_list_); + + return changes; + } + + const std::size_t stride_; + }; + + namespace helper + { + + inline void dump(const lexer::generator& generator) + { + for (std::size_t i = 0; i < generator.size(); ++i) + { + const lexer::token& t = generator[i]; + printf("Token[%02d] @ %03d %6s --> '%s'\n", + static_cast(i), + static_cast(t.position), + t.to_str(t.type).c_str(), + t.value.c_str()); + } + } + + class commutative_inserter : public lexer::token_inserter + { + public: + + using lexer::token_inserter::insert; + + commutative_inserter() + : lexer::token_inserter(2) + {} + + inline void ignore_symbol(const std::string& symbol) + { + ignore_set_.insert(symbol); + } + + inline int insert(const lexer::token& t0, const lexer::token& t1, lexer::token& new_token) exprtk_override + { + bool match = false; + new_token.type = lexer::token::e_mul; + new_token.value = "*"; + new_token.position = t1.position; + + if (t0.type == lexer::token::e_symbol) + { + if (ignore_set_.end() != ignore_set_.find(t0.value)) + { + return -1; + } + else if (!t0.value.empty() && ('$' == t0.value[0])) + { + return -1; + } + } + + if (t1.type == lexer::token::e_symbol) + { + if (ignore_set_.end() != ignore_set_.find(t1.value)) + { + return -1; + } + } + if ((t0.type == lexer::token::e_number ) && (t1.type == lexer::token::e_symbol )) match = true; + else if ((t0.type == lexer::token::e_number ) && (t1.type == lexer::token::e_lbracket )) match = true; + else if ((t0.type == lexer::token::e_number ) && (t1.type == lexer::token::e_lcrlbracket)) match = true; + else if ((t0.type == lexer::token::e_number ) && (t1.type == lexer::token::e_lsqrbracket)) match = true; + else if ((t0.type == lexer::token::e_symbol ) && (t1.type == lexer::token::e_number )) match = true; + else if ((t0.type == lexer::token::e_rbracket ) && (t1.type == lexer::token::e_number )) match = true; + else if ((t0.type == lexer::token::e_rcrlbracket) && (t1.type == lexer::token::e_number )) match = true; + else if ((t0.type == lexer::token::e_rsqrbracket) && (t1.type == lexer::token::e_number )) match = true; + else if ((t0.type == lexer::token::e_rbracket ) && (t1.type == lexer::token::e_symbol )) match = true; + else if ((t0.type == lexer::token::e_rcrlbracket) && (t1.type == lexer::token::e_symbol )) match = true; + else if ((t0.type == lexer::token::e_rsqrbracket) && (t1.type == lexer::token::e_symbol )) match = true; + else if ((t0.type == lexer::token::e_symbol ) && (t1.type == lexer::token::e_symbol )) match = true; + + return (match) ? 1 : -1; + } + + private: + + std::set ignore_set_; + }; + + class operator_joiner exprtk_final : public token_joiner + { + public: + + explicit operator_joiner(const std::size_t& stride) + : token_joiner(stride) + {} + + inline bool join(const lexer::token& t0, const lexer::token& t1, lexer::token& t) exprtk_override + { + // ': =' --> ':=' + if ((t0.type == lexer::token::e_colon) && (t1.type == lexer::token::e_eq)) + { + t.type = lexer::token::e_assign; + t.value = ":="; + t.position = t0.position; + + return true; + } + // '+ =' --> '+=' + else if ((t0.type == lexer::token::e_add) && (t1.type == lexer::token::e_eq)) + { + t.type = lexer::token::e_addass; + t.value = "+="; + t.position = t0.position; + + return true; + } + // '- =' --> '-=' + else if ((t0.type == lexer::token::e_sub) && (t1.type == lexer::token::e_eq)) + { + t.type = lexer::token::e_subass; + t.value = "-="; + t.position = t0.position; + + return true; + } + // '* =' --> '*=' + else if ((t0.type == lexer::token::e_mul) && (t1.type == lexer::token::e_eq)) + { + t.type = lexer::token::e_mulass; + t.value = "*="; + t.position = t0.position; + + return true; + } + // '/ =' --> '/=' + else if ((t0.type == lexer::token::e_div) && (t1.type == lexer::token::e_eq)) + { + t.type = lexer::token::e_divass; + t.value = "/="; + t.position = t0.position; + + return true; + } + // '% =' --> '%=' + else if ((t0.type == lexer::token::e_mod) && (t1.type == lexer::token::e_eq)) + { + t.type = lexer::token::e_modass; + t.value = "%="; + t.position = t0.position; + + return true; + } + // '> =' --> '>=' + else if ((t0.type == lexer::token::e_gt) && (t1.type == lexer::token::e_eq)) + { + t.type = lexer::token::e_gte; + t.value = ">="; + t.position = t0.position; + + return true; + } + // '< =' --> '<=' + else if ((t0.type == lexer::token::e_lt) && (t1.type == lexer::token::e_eq)) + { + t.type = lexer::token::e_lte; + t.value = "<="; + t.position = t0.position; + + return true; + } + // '= =' --> '==' + else if ((t0.type == lexer::token::e_eq) && (t1.type == lexer::token::e_eq)) + { + t.type = lexer::token::e_eq; + t.value = "=="; + t.position = t0.position; + + return true; + } + // '! =' --> '!=' + else if ((static_cast(t0.type) == '!') && (t1.type == lexer::token::e_eq)) + { + t.type = lexer::token::e_ne; + t.value = "!="; + t.position = t0.position; + + return true; + } + // '< >' --> '<>' + else if ((t0.type == lexer::token::e_lt) && (t1.type == lexer::token::e_gt)) + { + t.type = lexer::token::e_ne; + t.value = "<>"; + t.position = t0.position; + + return true; + } + // '<= >' --> '<=>' + else if ((t0.type == lexer::token::e_lte) && (t1.type == lexer::token::e_gt)) + { + t.type = lexer::token::e_swap; + t.value = "<=>"; + t.position = t0.position; + + return true; + } + // '+ -' --> '-' + else if ((t0.type == lexer::token::e_add) && (t1.type == lexer::token::e_sub)) + { + t.type = lexer::token::e_sub; + t.value = "-"; + t.position = t0.position; + + return true; + } + // '- +' --> '-' + else if ((t0.type == lexer::token::e_sub) && (t1.type == lexer::token::e_add)) + { + t.type = lexer::token::e_sub; + t.value = "-"; + t.position = t0.position; + + return true; + } + // '- -' --> '+' + else if ((t0.type == lexer::token::e_sub) && (t1.type == lexer::token::e_sub)) + { + /* + Note: May need to reconsider this when wanting to implement + pre/postfix decrement operator + */ + t.type = lexer::token::e_add; + t.value = "+"; + t.position = t0.position; + + return true; + } + else + return false; + } + + inline bool join(const lexer::token& t0, + const lexer::token& t1, + const lexer::token& t2, + lexer::token& t) exprtk_override + { + // '[ * ]' --> '[*]' + if ( + (t0.type == lexer::token::e_lsqrbracket) && + (t1.type == lexer::token::e_mul ) && + (t2.type == lexer::token::e_rsqrbracket) + ) + { + t.type = lexer::token::e_symbol; + t.value = "[*]"; + t.position = t0.position; + + return true; + } + else + return false; + } + }; + + class bracket_checker exprtk_final : public lexer::token_scanner + { + public: + + using lexer::token_scanner::operator(); + + bracket_checker() + : token_scanner(1) + , state_(true) + {} + + bool result() exprtk_override + { + if (!stack_.empty()) + { + lexer::token t; + t.value = stack_.top().first; + t.position = stack_.top().second; + error_token_ = t; + state_ = false; + + return false; + } + else + return state_; + } + + lexer::token error_token() + { + return error_token_; + } + + void reset() exprtk_override + { + // Why? because msvc doesn't support swap properly. + stack_ = std::stack >(); + state_ = true; + error_token_.clear(); + } + + bool operator() (const lexer::token& t) exprtk_override + { + if ( + !t.value.empty() && + (lexer::token::e_string != t.type) && + (lexer::token::e_symbol != t.type) && + exprtk::details::is_bracket(t.value[0]) + ) + { + details::char_t c = t.value[0]; + + if (t.type == lexer::token::e_lbracket ) stack_.push(std::make_pair(')',t.position)); + else if (t.type == lexer::token::e_lcrlbracket) stack_.push(std::make_pair('}',t.position)); + else if (t.type == lexer::token::e_lsqrbracket) stack_.push(std::make_pair(']',t.position)); + else if (exprtk::details::is_right_bracket(c)) + { + if (stack_.empty()) + { + state_ = false; + error_token_ = t; + + return false; + } + else if (c != stack_.top().first) + { + state_ = false; + error_token_ = t; + + return false; + } + else + stack_.pop(); + } + } + + return true; + } + + private: + + bool state_; + std::stack > stack_; + lexer::token error_token_; + }; + + template + class numeric_checker exprtk_final : public lexer::token_scanner + { + public: + + using lexer::token_scanner::operator(); + + numeric_checker() + : token_scanner (1) + , current_index_(0) + {} + + bool result() exprtk_override + { + return error_list_.empty(); + } + + void reset() exprtk_override + { + error_list_.clear(); + current_index_ = 0; + } + + bool operator() (const lexer::token& t) exprtk_override + { + if (token::e_number == t.type) + { + T v; + + if (!exprtk::details::string_to_real(t.value,v)) + { + error_list_.push_back(current_index_); + } + } + + ++current_index_; + + return true; + } + + std::size_t error_count() const + { + return error_list_.size(); + } + + std::size_t error_index(const std::size_t& i) + { + if (i < error_list_.size()) + return error_list_[i]; + else + return std::numeric_limits::max(); + } + + void clear_errors() + { + error_list_.clear(); + } + + private: + + std::size_t current_index_; + std::vector error_list_; + }; + + class symbol_replacer exprtk_final : public lexer::token_modifier + { + private: + + typedef std::map,details::ilesscompare> replace_map_t; + + public: + + bool remove(const std::string& target_symbol) + { + const replace_map_t::iterator itr = replace_map_.find(target_symbol); + + if (replace_map_.end() == itr) + return false; + + replace_map_.erase(itr); + + return true; + } + + bool add_replace(const std::string& target_symbol, + const std::string& replace_symbol, + const lexer::token::token_type token_type = lexer::token::e_symbol) + { + const replace_map_t::iterator itr = replace_map_.find(target_symbol); + + if (replace_map_.end() != itr) + { + return false; + } + + replace_map_[target_symbol] = std::make_pair(replace_symbol,token_type); + + return true; + } + + void clear() + { + replace_map_.clear(); + } + + private: + + bool modify(lexer::token& t) exprtk_override + { + if (lexer::token::e_symbol == t.type) + { + if (replace_map_.empty()) + return false; + + const replace_map_t::iterator itr = replace_map_.find(t.value); + + if (replace_map_.end() != itr) + { + t.value = itr->second.first; + t.type = itr->second.second; + + return true; + } + } + + return false; + } + + replace_map_t replace_map_; + }; + + class sequence_validator exprtk_final : public lexer::token_scanner + { + private: + + typedef std::pair token_pair_t; + typedef std::set set_t; + + public: + + using lexer::token_scanner::operator(); + + sequence_validator() + : lexer::token_scanner(2) + { + add_invalid(lexer::token::e_number, lexer::token::e_number); + add_invalid(lexer::token::e_string, lexer::token::e_string); + add_invalid(lexer::token::e_number, lexer::token::e_string); + add_invalid(lexer::token::e_string, lexer::token::e_number); + + add_invalid_set1(lexer::token::e_assign ); + add_invalid_set1(lexer::token::e_shr ); + add_invalid_set1(lexer::token::e_shl ); + add_invalid_set1(lexer::token::e_lte ); + add_invalid_set1(lexer::token::e_ne ); + add_invalid_set1(lexer::token::e_gte ); + add_invalid_set1(lexer::token::e_lt ); + add_invalid_set1(lexer::token::e_gt ); + add_invalid_set1(lexer::token::e_eq ); + add_invalid_set1(lexer::token::e_comma ); + add_invalid_set1(lexer::token::e_add ); + add_invalid_set1(lexer::token::e_sub ); + add_invalid_set1(lexer::token::e_div ); + add_invalid_set1(lexer::token::e_mul ); + add_invalid_set1(lexer::token::e_mod ); + add_invalid_set1(lexer::token::e_pow ); + add_invalid_set1(lexer::token::e_colon ); + add_invalid_set1(lexer::token::e_ternary); + } + + bool result() exprtk_override + { + return error_list_.empty(); + } + + bool operator() (const lexer::token& t0, const lexer::token& t1) exprtk_override + { + const set_t::value_type p = std::make_pair(t0.type,t1.type); + + if (invalid_bracket_check(t0.type,t1.type)) + { + error_list_.push_back(std::make_pair(t0,t1)); + } + else if (invalid_comb_.find(p) != invalid_comb_.end()) + { + error_list_.push_back(std::make_pair(t0,t1)); + } + + return true; + } + + std::size_t error_count() const + { + return error_list_.size(); + } + + std::pair error(const std::size_t index) + { + if (index < error_list_.size()) + { + return error_list_[index]; + } + else + { + static const lexer::token error_token; + return std::make_pair(error_token,error_token); + } + } + + void clear_errors() + { + error_list_.clear(); + } + + private: + + void add_invalid(const lexer::token::token_type base, const lexer::token::token_type t) + { + invalid_comb_.insert(std::make_pair(base,t)); + } + + void add_invalid_set1(const lexer::token::token_type t) + { + add_invalid(t, lexer::token::e_assign); + add_invalid(t, lexer::token::e_shr ); + add_invalid(t, lexer::token::e_shl ); + add_invalid(t, lexer::token::e_lte ); + add_invalid(t, lexer::token::e_ne ); + add_invalid(t, lexer::token::e_gte ); + add_invalid(t, lexer::token::e_lt ); + add_invalid(t, lexer::token::e_gt ); + add_invalid(t, lexer::token::e_eq ); + add_invalid(t, lexer::token::e_comma ); + add_invalid(t, lexer::token::e_div ); + add_invalid(t, lexer::token::e_mul ); + add_invalid(t, lexer::token::e_mod ); + add_invalid(t, lexer::token::e_pow ); + add_invalid(t, lexer::token::e_colon ); + } + + bool invalid_bracket_check(const lexer::token::token_type base, const lexer::token::token_type t) + { + if (details::is_right_bracket(static_cast(base))) + { + switch (t) + { + case lexer::token::e_assign : return (']' != base); + case lexer::token::e_string : return (')' != base); + default : return false; + } + } + else if (details::is_left_bracket(static_cast(base))) + { + if (details::is_right_bracket(static_cast(t))) + return false; + else if (details::is_left_bracket(static_cast(t))) + return false; + else + { + switch (t) + { + case lexer::token::e_number : return false; + case lexer::token::e_symbol : return false; + case lexer::token::e_string : return false; + case lexer::token::e_add : return false; + case lexer::token::e_sub : return false; + case lexer::token::e_colon : return false; + case lexer::token::e_ternary : return false; + default : return true ; + } + } + } + else if (details::is_right_bracket(static_cast(t))) + { + switch (base) + { + case lexer::token::e_number : return false; + case lexer::token::e_symbol : return false; + case lexer::token::e_string : return false; + case lexer::token::e_eof : return false; + case lexer::token::e_colon : return false; + case lexer::token::e_ternary : return false; + default : return true ; + } + } + else if (details::is_left_bracket(static_cast(t))) + { + switch (base) + { + case lexer::token::e_rbracket : return true; + case lexer::token::e_rsqrbracket : return true; + case lexer::token::e_rcrlbracket : return true; + default : return false; + } + } + + return false; + } + + set_t invalid_comb_; + std::vector > error_list_; + }; + + class sequence_validator_3tokens exprtk_final : public lexer::token_scanner + { + private: + + typedef lexer::token::token_type token_t; + typedef std::pair > token_triplet_t; + typedef std::set set_t; + + public: + + using lexer::token_scanner::operator(); + + sequence_validator_3tokens() + : lexer::token_scanner(3) + { + add_invalid(lexer::token::e_number , lexer::token::e_number , lexer::token::e_number); + add_invalid(lexer::token::e_string , lexer::token::e_string , lexer::token::e_string); + add_invalid(lexer::token::e_comma , lexer::token::e_comma , lexer::token::e_comma ); + + add_invalid(lexer::token::e_add , lexer::token::e_add , lexer::token::e_add ); + add_invalid(lexer::token::e_sub , lexer::token::e_sub , lexer::token::e_sub ); + add_invalid(lexer::token::e_div , lexer::token::e_div , lexer::token::e_div ); + add_invalid(lexer::token::e_mul , lexer::token::e_mul , lexer::token::e_mul ); + add_invalid(lexer::token::e_mod , lexer::token::e_mod , lexer::token::e_mod ); + add_invalid(lexer::token::e_pow , lexer::token::e_pow , lexer::token::e_pow ); + + add_invalid(lexer::token::e_add , lexer::token::e_sub , lexer::token::e_add ); + add_invalid(lexer::token::e_sub , lexer::token::e_add , lexer::token::e_sub ); + add_invalid(lexer::token::e_div , lexer::token::e_mul , lexer::token::e_div ); + add_invalid(lexer::token::e_mul , lexer::token::e_div , lexer::token::e_mul ); + add_invalid(lexer::token::e_mod , lexer::token::e_pow , lexer::token::e_mod ); + add_invalid(lexer::token::e_pow , lexer::token::e_mod , lexer::token::e_pow ); + } + + bool result() exprtk_override + { + return error_list_.empty(); + } + + bool operator() (const lexer::token& t0, const lexer::token& t1, const lexer::token& t2) exprtk_override + { + const set_t::value_type p = std::make_pair(t0.type,std::make_pair(t1.type,t2.type)); + + if (invalid_comb_.find(p) != invalid_comb_.end()) + { + error_list_.push_back(std::make_pair(t0,t1)); + } + + return true; + } + + std::size_t error_count() const + { + return error_list_.size(); + } + + std::pair error(const std::size_t index) + { + if (index < error_list_.size()) + { + return error_list_[index]; + } + else + { + static const lexer::token error_token; + return std::make_pair(error_token,error_token); + } + } + + void clear_errors() + { + error_list_.clear(); + } + + private: + + void add_invalid(const token_t t0, const token_t t1, const token_t t2) + { + invalid_comb_.insert(std::make_pair(t0,std::make_pair(t1,t2))); + } + + set_t invalid_comb_; + std::vector > error_list_; + }; + + struct helper_assembly + { + inline bool register_scanner(lexer::token_scanner* scanner) + { + if (token_scanner_list.end() != std::find(token_scanner_list.begin(), + token_scanner_list.end (), + scanner)) + { + return false; + } + + token_scanner_list.push_back(scanner); + + return true; + } + + inline bool register_modifier(lexer::token_modifier* modifier) + { + if (token_modifier_list.end() != std::find(token_modifier_list.begin(), + token_modifier_list.end (), + modifier)) + { + return false; + } + + token_modifier_list.push_back(modifier); + + return true; + } + + inline bool register_joiner(lexer::token_joiner* joiner) + { + if (token_joiner_list.end() != std::find(token_joiner_list.begin(), + token_joiner_list.end (), + joiner)) + { + return false; + } + + token_joiner_list.push_back(joiner); + + return true; + } + + inline bool register_inserter(lexer::token_inserter* inserter) + { + if (token_inserter_list.end() != std::find(token_inserter_list.begin(), + token_inserter_list.end (), + inserter)) + { + return false; + } + + token_inserter_list.push_back(inserter); + + return true; + } + + inline bool run_modifiers(lexer::generator& g) + { + error_token_modifier = reinterpret_cast(0); + + for (std::size_t i = 0; i < token_modifier_list.size(); ++i) + { + lexer::token_modifier& modifier = (*token_modifier_list[i]); + + modifier.reset(); + modifier.process(g); + + if (!modifier.result()) + { + error_token_modifier = token_modifier_list[i]; + + return false; + } + } + + return true; + } + + inline bool run_joiners(lexer::generator& g) + { + error_token_joiner = reinterpret_cast(0); + + for (std::size_t i = 0; i < token_joiner_list.size(); ++i) + { + lexer::token_joiner& joiner = (*token_joiner_list[i]); + + joiner.reset(); + joiner.process(g); + + if (!joiner.result()) + { + error_token_joiner = token_joiner_list[i]; + + return false; + } + } + + return true; + } + + inline bool run_inserters(lexer::generator& g) + { + error_token_inserter = reinterpret_cast(0); + + for (std::size_t i = 0; i < token_inserter_list.size(); ++i) + { + lexer::token_inserter& inserter = (*token_inserter_list[i]); + + inserter.reset(); + inserter.process(g); + + if (!inserter.result()) + { + error_token_inserter = token_inserter_list[i]; + + return false; + } + } + + return true; + } + + inline bool run_scanners(lexer::generator& g) + { + error_token_scanner = reinterpret_cast(0); + + for (std::size_t i = 0; i < token_scanner_list.size(); ++i) + { + lexer::token_scanner& scanner = (*token_scanner_list[i]); + + scanner.reset(); + scanner.process(g); + + if (!scanner.result()) + { + error_token_scanner = token_scanner_list[i]; + + return false; + } + } + + return true; + } + + std::vector token_scanner_list; + std::vector token_modifier_list; + std::vector token_joiner_list; + std::vector token_inserter_list; + + lexer::token_scanner* error_token_scanner; + lexer::token_modifier* error_token_modifier; + lexer::token_joiner* error_token_joiner; + lexer::token_inserter* error_token_inserter; + }; + } + + class parser_helper + { + public: + + typedef token token_t; + typedef generator generator_t; + + inline bool init(const std::string& str) + { + if (!lexer_.process(str)) + { + return false; + } + + lexer_.begin(); + + next_token(); + + return true; + } + + inline generator_t& lexer() + { + return lexer_; + } + + inline const generator_t& lexer() const + { + return lexer_; + } + + inline void store_token() + { + lexer_.store(); + store_current_token_ = current_token_; + } + + inline void restore_token() + { + lexer_.restore(); + current_token_ = store_current_token_; + } + + inline void next_token() + { + current_token_ = lexer_.next_token(); + } + + inline const token_t& current_token() const + { + return current_token_; + } + + inline const token_t& peek_next_token() + { + return lexer_.peek_next_token(); + } + + enum token_advance_mode + { + e_hold = 0, + e_advance = 1 + }; + + inline void advance_token(const token_advance_mode mode) + { + if (e_advance == mode) + { + next_token(); + } + } + + inline bool token_is(const token_t::token_type& ttype, const token_advance_mode mode = e_advance) + { + if (current_token().type != ttype) + { + return false; + } + + advance_token(mode); + + return true; + } + + inline bool token_is(const token_t::token_type& ttype, + const std::string& value, + const token_advance_mode mode = e_advance) + { + if ( + (current_token().type != ttype) || + !exprtk::details::imatch(value,current_token().value) + ) + { + return false; + } + + advance_token(mode); + + return true; + } + + inline bool token_is(const std::string& value, + const token_advance_mode mode = e_advance) + { + if (!exprtk::details::imatch(value,current_token().value)) + { + return false; + } + + advance_token(mode); + + return true; + } + + inline bool token_is_arithmetic_opr(const token_advance_mode mode = e_advance) + { + switch (current_token().type) + { + case token_t::e_add : + case token_t::e_sub : + case token_t::e_div : + case token_t::e_mul : + case token_t::e_mod : + case token_t::e_pow : break; + default : return false; + } + + advance_token(mode); + + return true; + } + + inline bool token_is_ineq_opr(const token_advance_mode mode = e_advance) + { + switch (current_token().type) + { + case token_t::e_eq : + case token_t::e_lte : + case token_t::e_ne : + case token_t::e_gte : + case token_t::e_lt : + case token_t::e_gt : break; + default : return false; + } + + advance_token(mode); + + return true; + } + + inline bool token_is_left_bracket(const token_advance_mode mode = e_advance) + { + switch (current_token().type) + { + case token_t::e_lbracket : + case token_t::e_lcrlbracket : + case token_t::e_lsqrbracket : break; + default : return false; + } + + advance_token(mode); + + return true; + } + + inline bool token_is_right_bracket(const token_advance_mode mode = e_advance) + { + switch (current_token().type) + { + case token_t::e_rbracket : + case token_t::e_rcrlbracket : + case token_t::e_rsqrbracket : break; + default : return false; + } + + advance_token(mode); + + return true; + } + + inline bool token_is_loop(const token_advance_mode mode = e_advance) + { + return token_is("for" , mode) || + token_is("while" , mode) || + token_is("repeat", mode) ; + } + + inline bool peek_token_is(const token_t::token_type& ttype) + { + return (lexer_.peek_next_token().type == ttype); + } + + inline bool peek_token_is(const std::string& s) + { + return (exprtk::details::imatch(lexer_.peek_next_token().value,s)); + } + + private: + + generator_t lexer_; + token_t current_token_; + token_t store_current_token_; + }; + } + + template + class vector_view + { + public: + + typedef T* data_ptr_t; + + vector_view(data_ptr_t data, const std::size_t& size) + : base_size_(size) + , size_(size) + , data_(data) + , data_ref_(0) + { + assert(size_ > 0); + } + + vector_view(const vector_view& vv) + : base_size_(vv.base_size_) + , size_(vv.size_) + , data_(vv.data_) + , data_ref_(0) + { + assert(size_ > 0); + } + + inline void rebase(data_ptr_t data) + { + data_ = data; + + if (!data_ref_.empty()) + { + for (std::size_t i = 0; i < data_ref_.size(); ++i) + { + (*data_ref_[i]) = data; + } + } + } + + inline data_ptr_t data() const + { + return data_; + } + + inline std::size_t base_size() const + { + return base_size_; + } + + inline std::size_t size() const + { + return size_; + } + + inline const T& operator[](const std::size_t index) const + { + assert(index < size_); + return data_[index]; + } + + inline T& operator[](const std::size_t index) + { + assert(index < size_); + return data_[index]; + } + + void set_ref(data_ptr_t* data_ref) + { + data_ref_.push_back(data_ref); + exprtk_debug(("vector_view::set_ref() - data_ref: %p data_ref_.size(): %lu\n", + reinterpret_cast(data_ref), + data_ref_.size())); + } + + void remove_ref(data_ptr_t* data_ref) + { + data_ref_.erase( + std::remove(data_ref_.begin(), data_ref_.end(), data_ref), + data_ref_.end()); + exprtk_debug(("vector_view::remove_ref() - data_ref: %p data_ref_.size(): %lu\n", + reinterpret_cast(data_ref), + data_ref_.size())); + } + + bool set_size(const std::size_t new_size) + { + if ((new_size > 0) && (new_size <= base_size_)) + { + size_ = new_size; + exprtk_debug(("vector_view::set_size() - data_: %p size: %lu\n", + reinterpret_cast(data_), + size_)); + return true; + } + + exprtk_debug(("vector_view::set_size() - error invalid new_size: %lu base_size: %lu\n", + new_size, + base_size_)); + return false; + } + + private: + + const std::size_t base_size_; + std::size_t size_; + data_ptr_t data_; + std::vector data_ref_; + }; + + template + inline vector_view make_vector_view(T* data, + const std::size_t size, const std::size_t offset = 0) + { + return vector_view(data + offset, size); + } + + template + inline vector_view make_vector_view(std::vector& v, + const std::size_t size, const std::size_t offset = 0) + { + return vector_view(v.data() + offset, size); + } + + template class results_context; + + template + struct type_store + { + enum store_type + { + e_unknown, + e_scalar , + e_vector , + e_string + }; + + type_store() + : data(0) + , size(0) + , type(e_unknown) + {} + + union + { + void* data; + T* vec_data; + }; + + std::size_t size; + store_type type; + + class parameter_list + { + public: + + explicit parameter_list(std::vector& pl) + : parameter_list_(pl) + {} + + inline bool empty() const + { + return parameter_list_.empty(); + } + + inline std::size_t size() const + { + return parameter_list_.size(); + } + + inline type_store& operator[](const std::size_t& index) + { + return parameter_list_[index]; + } + + inline const type_store& operator[](const std::size_t& index) const + { + return parameter_list_[index]; + } + + inline type_store& front() + { + return parameter_list_[0]; + } + + inline const type_store& front() const + { + return parameter_list_[0]; + } + + inline type_store& back() + { + return parameter_list_.back(); + } + + inline const type_store& back() const + { + return parameter_list_.back(); + } + + private: + + std::vector& parameter_list_; + + friend class results_context; + }; + + template + struct type_view + { + typedef type_store type_store_t; + typedef ViewType value_t; + + explicit type_view(type_store_t& ts) + : ts_(ts) + , data_(reinterpret_cast(ts_.data)) + {} + + explicit type_view(const type_store_t& ts) + : ts_(const_cast(ts)) + , data_(reinterpret_cast(ts_.data)) + {} + + inline std::size_t size() const + { + return ts_.size; + } + + inline value_t& operator[](const std::size_t& i) + { + return data_[i]; + } + + inline const value_t& operator[](const std::size_t& i) const + { + return data_[i]; + } + + inline const value_t* begin() const { return data_; } + inline value_t* begin() { return data_; } + + inline const value_t* end() const + { + return static_cast(data_ + ts_.size); + } + + inline value_t* end() + { + return static_cast(data_ + ts_.size); + } + + type_store_t& ts_; + value_t* data_; + }; + + typedef type_view vector_view; + typedef type_view string_view; + + struct scalar_view + { + typedef type_store type_store_t; + typedef T value_t; + + explicit scalar_view(type_store_t& ts) + : v_(*reinterpret_cast(ts.data)) + {} + + explicit scalar_view(const type_store_t& ts) + : v_(*reinterpret_cast(const_cast(ts).data)) + {} + + inline value_t& operator() () + { + return v_; + } + + inline const value_t& operator() () const + { + return v_; + } + + inline operator value_t() const + { + return v_; + } + + inline operator value_t() + { + return v_; + } + + template + inline bool to_int(IntType& i) const + { + if (!exprtk::details::numeric::is_integer(v_)) + return false; + + i = static_cast(v_); + + return true; + } + + template + inline bool to_uint(UIntType& u) const + { + if (v_ < T(0)) + return false; + else if (!exprtk::details::numeric::is_integer(v_)) + return false; + + u = static_cast(v_); + + return true; + } + + T& v_; + }; + }; + + template + inline std::string to_str(const StringView& view) + { + return std::string(view.begin(),view.size()); + } + + #ifndef exprtk_disable_return_statement + namespace details + { + template class return_node; + template class return_envelope_node; + } + #endif + + template + class results_context + { + public: + + typedef type_store type_store_t; + typedef typename type_store_t::scalar_view scalar_t; + typedef typename type_store_t::vector_view vector_t; + typedef typename type_store_t::string_view string_t; + + results_context() + : results_available_(false) + {} + + inline std::size_t count() const + { + if (results_available_) + return parameter_list_.size(); + else + return 0; + } + + inline type_store_t& operator[](const std::size_t& index) + { + return parameter_list_[index]; + } + + inline const type_store_t& operator[](const std::size_t& index) const + { + return parameter_list_[index]; + } + + inline bool get_scalar(const std::size_t& index, T& out) const + { + if ( + (index < parameter_list_.size()) && + (parameter_list_[index].type == type_store_t::e_scalar) + ) + { + const scalar_t scalar(parameter_list_[index]); + out = scalar(); + return true; + } + + return false; + } + + template + inline bool get_vector(const std::size_t& index, OutputIterator out_itr) const + { + if ( + (index < parameter_list_.size()) && + (parameter_list_[index].type == type_store_t::e_vector) + ) + { + const vector_t vector(parameter_list_[index]); + for (std::size_t i = 0; i < vector.size(); ++i) + { + *(out_itr++) = vector[i]; + } + + return true; + } + + return false; + } + + inline bool get_vector(const std::size_t& index, std::vector& out) const + { + return get_vector(index,std::back_inserter(out)); + } + + inline bool get_string(const std::size_t& index, std::string& out) const + { + if ( + (index < parameter_list_.size()) && + (parameter_list_[index].type == type_store_t::e_string) + ) + { + const string_t str(parameter_list_[index]); + out.assign(str.begin(),str.size()); + return true; + } + + return false; + } + + private: + + inline void clear() + { + results_available_ = false; + } + + typedef std::vector ts_list_t; + typedef typename type_store_t::parameter_list parameter_list_t; + + inline void assign(const parameter_list_t& pl) + { + parameter_list_ = pl.parameter_list_; + results_available_ = true; + } + + bool results_available_; + ts_list_t parameter_list_; + + #ifndef exprtk_disable_return_statement + friend class details::return_node; + friend class details::return_envelope_node; + #endif + }; + + namespace details + { + enum operator_type + { + e_default , e_null , e_add , e_sub , + e_mul , e_div , e_mod , e_pow , + e_atan2 , e_min , e_max , e_avg , + e_sum , e_prod , e_lt , e_lte , + e_eq , e_equal , e_ne , e_nequal , + e_gte , e_gt , e_and , e_nand , + e_or , e_nor , e_xor , e_xnor , + e_mand , e_mor , e_scand , e_scor , + e_shr , e_shl , e_abs , e_acos , + e_acosh , e_asin , e_asinh , e_atan , + e_atanh , e_ceil , e_cos , e_cosh , + e_exp , e_expm1 , e_floor , e_log , + e_log10 , e_log2 , e_log1p , e_logn , + e_neg , e_pos , e_round , e_roundn , + e_root , e_sqrt , e_sin , e_sinc , + e_sinh , e_sec , e_csc , e_tan , + e_tanh , e_cot , e_clamp , e_iclamp , + e_inrange , e_sgn , e_r2d , e_d2r , + e_d2g , e_g2d , e_hypot , e_notl , + e_erf , e_erfc , e_ncdf , e_frac , + e_trunc , e_assign , e_addass , e_subass , + e_mulass , e_divass , e_modass , e_in , + e_like , e_ilike , e_multi , e_smulti , + e_swap , + + // Do not add new functions/operators after this point. + e_sf00 = 1000, e_sf01 = 1001, e_sf02 = 1002, e_sf03 = 1003, + e_sf04 = 1004, e_sf05 = 1005, e_sf06 = 1006, e_sf07 = 1007, + e_sf08 = 1008, e_sf09 = 1009, e_sf10 = 1010, e_sf11 = 1011, + e_sf12 = 1012, e_sf13 = 1013, e_sf14 = 1014, e_sf15 = 1015, + e_sf16 = 1016, e_sf17 = 1017, e_sf18 = 1018, e_sf19 = 1019, + e_sf20 = 1020, e_sf21 = 1021, e_sf22 = 1022, e_sf23 = 1023, + e_sf24 = 1024, e_sf25 = 1025, e_sf26 = 1026, e_sf27 = 1027, + e_sf28 = 1028, e_sf29 = 1029, e_sf30 = 1030, e_sf31 = 1031, + e_sf32 = 1032, e_sf33 = 1033, e_sf34 = 1034, e_sf35 = 1035, + e_sf36 = 1036, e_sf37 = 1037, e_sf38 = 1038, e_sf39 = 1039, + e_sf40 = 1040, e_sf41 = 1041, e_sf42 = 1042, e_sf43 = 1043, + e_sf44 = 1044, e_sf45 = 1045, e_sf46 = 1046, e_sf47 = 1047, + e_sf48 = 1048, e_sf49 = 1049, e_sf50 = 1050, e_sf51 = 1051, + e_sf52 = 1052, e_sf53 = 1053, e_sf54 = 1054, e_sf55 = 1055, + e_sf56 = 1056, e_sf57 = 1057, e_sf58 = 1058, e_sf59 = 1059, + e_sf60 = 1060, e_sf61 = 1061, e_sf62 = 1062, e_sf63 = 1063, + e_sf64 = 1064, e_sf65 = 1065, e_sf66 = 1066, e_sf67 = 1067, + e_sf68 = 1068, e_sf69 = 1069, e_sf70 = 1070, e_sf71 = 1071, + e_sf72 = 1072, e_sf73 = 1073, e_sf74 = 1074, e_sf75 = 1075, + e_sf76 = 1076, e_sf77 = 1077, e_sf78 = 1078, e_sf79 = 1079, + e_sf80 = 1080, e_sf81 = 1081, e_sf82 = 1082, e_sf83 = 1083, + e_sf84 = 1084, e_sf85 = 1085, e_sf86 = 1086, e_sf87 = 1087, + e_sf88 = 1088, e_sf89 = 1089, e_sf90 = 1090, e_sf91 = 1091, + e_sf92 = 1092, e_sf93 = 1093, e_sf94 = 1094, e_sf95 = 1095, + e_sf96 = 1096, e_sf97 = 1097, e_sf98 = 1098, e_sf99 = 1099, + e_sffinal = 1100, + e_sf4ext00 = 2000, e_sf4ext01 = 2001, e_sf4ext02 = 2002, e_sf4ext03 = 2003, + e_sf4ext04 = 2004, e_sf4ext05 = 2005, e_sf4ext06 = 2006, e_sf4ext07 = 2007, + e_sf4ext08 = 2008, e_sf4ext09 = 2009, e_sf4ext10 = 2010, e_sf4ext11 = 2011, + e_sf4ext12 = 2012, e_sf4ext13 = 2013, e_sf4ext14 = 2014, e_sf4ext15 = 2015, + e_sf4ext16 = 2016, e_sf4ext17 = 2017, e_sf4ext18 = 2018, e_sf4ext19 = 2019, + e_sf4ext20 = 2020, e_sf4ext21 = 2021, e_sf4ext22 = 2022, e_sf4ext23 = 2023, + e_sf4ext24 = 2024, e_sf4ext25 = 2025, e_sf4ext26 = 2026, e_sf4ext27 = 2027, + e_sf4ext28 = 2028, e_sf4ext29 = 2029, e_sf4ext30 = 2030, e_sf4ext31 = 2031, + e_sf4ext32 = 2032, e_sf4ext33 = 2033, e_sf4ext34 = 2034, e_sf4ext35 = 2035, + e_sf4ext36 = 2036, e_sf4ext37 = 2037, e_sf4ext38 = 2038, e_sf4ext39 = 2039, + e_sf4ext40 = 2040, e_sf4ext41 = 2041, e_sf4ext42 = 2042, e_sf4ext43 = 2043, + e_sf4ext44 = 2044, e_sf4ext45 = 2045, e_sf4ext46 = 2046, e_sf4ext47 = 2047, + e_sf4ext48 = 2048, e_sf4ext49 = 2049, e_sf4ext50 = 2050, e_sf4ext51 = 2051, + e_sf4ext52 = 2052, e_sf4ext53 = 2053, e_sf4ext54 = 2054, e_sf4ext55 = 2055, + e_sf4ext56 = 2056, e_sf4ext57 = 2057, e_sf4ext58 = 2058, e_sf4ext59 = 2059, + e_sf4ext60 = 2060, e_sf4ext61 = 2061 + }; + + inline std::string to_str(const operator_type opr) + { + switch (opr) + { + case e_add : return "+" ; + case e_sub : return "-" ; + case e_mul : return "*" ; + case e_div : return "/" ; + case e_mod : return "%" ; + case e_pow : return "^" ; + case e_assign : return ":=" ; + case e_addass : return "+=" ; + case e_subass : return "-=" ; + case e_mulass : return "*=" ; + case e_divass : return "/=" ; + case e_modass : return "%=" ; + case e_lt : return "<" ; + case e_lte : return "<=" ; + case e_eq : return "==" ; + case e_equal : return "=" ; + case e_ne : return "!=" ; + case e_nequal : return "<>" ; + case e_gte : return ">=" ; + case e_gt : return ">" ; + case e_and : return "and" ; + case e_or : return "or" ; + case e_xor : return "xor" ; + case e_nand : return "nand"; + case e_nor : return "nor" ; + case e_xnor : return "xnor"; + default : return "N/A" ; + } + } + + struct base_operation_t + { + base_operation_t(const operator_type t, const unsigned int& np) + : type(t) + , num_params(np) + {} + + operator_type type; + unsigned int num_params; + }; + + namespace loop_unroll + { + const unsigned int global_loop_batch_size = + #ifndef exprtk_disable_superscalar_unroll + 16; + #else + 4; + #endif + + struct details + { + explicit details(const std::size_t& vsize, + const unsigned int loop_batch_size = global_loop_batch_size) + : batch_size(loop_batch_size ) + , remainder (vsize % batch_size) + , upper_bound(static_cast(vsize - (remainder ? loop_batch_size : 0))) + {} + + unsigned int batch_size; + int remainder; + int upper_bound; + }; + } + + #ifdef exprtk_enable_debugging + inline void dump_ptr(const std::string& s, const void* ptr, const std::size_t size = 0) + { + if (size) + exprtk_debug(("%s - addr: %p size: %d\n", + s.c_str(), + ptr, + static_cast(size))); + else + exprtk_debug(("%s - addr: %p\n", s.c_str(), ptr)); + } + + template + inline void dump_vector(const std::string& vec_name, const T* data, const std::size_t size) + { + printf("----- %s (%p) -----\n", + vec_name.c_str(), + static_cast(data)); + printf("[ "); + for (std::size_t i = 0; i < size; ++i) + { + printf("%8.3f\t", data[i]); + } + printf(" ]\n"); + printf("---------------------\n"); + } + #else + inline void dump_ptr(const std::string&, const void*) {} + inline void dump_ptr(const std::string&, const void*, const std::size_t) {} + template + inline void dump_vector(const std::string&, const T*, const std::size_t) {} + #endif + + template + class vec_data_store + { + public: + + typedef vec_data_store type; + typedef T* data_t; + + private: + + struct control_block + { + control_block() + : ref_count(1) + , size (0) + , data (0) + , destruct (true) + {} + + explicit control_block(const std::size_t& dsize) + : ref_count(1 ) + , size (dsize) + , data (0 ) + , destruct (true ) + { create_data(); } + + control_block(const std::size_t& dsize, data_t dptr, bool dstrct = false) + : ref_count(1 ) + , size (dsize ) + , data (dptr ) + , destruct (dstrct) + {} + + ~control_block() + { + if (data && destruct && (0 == ref_count)) + { + dump_ptr("~vec_data_store::control_block() data",data); + delete[] data; + data = reinterpret_cast(0); + } + } + + static inline control_block* create(const std::size_t& dsize, data_t data_ptr = data_t(0), bool dstrct = false) + { + if (dsize) + { + if (0 == data_ptr) + return (new control_block(dsize)); + else + return (new control_block(dsize, data_ptr, dstrct)); + } + else + return (new control_block); + } + + static inline void destroy(control_block*& cntrl_blck) + { + if (cntrl_blck) + { + if ( + (0 != cntrl_blck->ref_count) && + (0 == --cntrl_blck->ref_count) + ) + { + delete cntrl_blck; + } + + cntrl_blck = 0; + } + } + + std::size_t ref_count; + std::size_t size; + data_t data; + bool destruct; + + private: + + control_block(const control_block&) exprtk_delete; + control_block& operator=(const control_block&) exprtk_delete; + + inline void create_data() + { + destruct = true; + data = new T[size]; + std::fill_n(data, size, T(0)); + dump_ptr("control_block::create_data() - data", data, size); + } + }; + + public: + + vec_data_store() + : control_block_(control_block::create(0)) + {} + + explicit vec_data_store(const std::size_t& size) + : control_block_(control_block::create(size,reinterpret_cast(0),true)) + {} + + vec_data_store(const std::size_t& size, data_t data, bool dstrct = false) + : control_block_(control_block::create(size, data, dstrct)) + {} + + vec_data_store(const type& vds) + { + control_block_ = vds.control_block_; + control_block_->ref_count++; + } + + ~vec_data_store() + { + control_block::destroy(control_block_); + } + + type& operator=(const type& vds) + { + if (this != &vds) + { + const std::size_t final_size = min_size(control_block_, vds.control_block_); + + vds.control_block_->size = final_size; + control_block_->size = final_size; + + if (control_block_->destruct || (0 == control_block_->data)) + { + control_block::destroy(control_block_); + + control_block_ = vds.control_block_; + control_block_->ref_count++; + } + } + + return (*this); + } + + inline data_t data() + { + return control_block_->data; + } + + inline data_t data() const + { + return control_block_->data; + } + + inline std::size_t size() const + { + return control_block_->size; + } + + inline data_t& ref() + { + return control_block_->data; + } + + inline void dump() const + { + #ifdef exprtk_enable_debugging + exprtk_debug(("size: %d\taddress:%p\tdestruct:%c\n", + size(), + data(), + (control_block_->destruct ? 'T' : 'F'))); + + for (std::size_t i = 0; i < size(); ++i) + { + if (5 == i) + exprtk_debug(("\n")); + + exprtk_debug(("%15.10f ", data()[i])); + } + exprtk_debug(("\n")); + #endif + } + + static inline void match_sizes(type& vds0, type& vds1) + { + const std::size_t size = min_size(vds0.control_block_,vds1.control_block_); + vds0.control_block_->size = size; + vds1.control_block_->size = size; + } + + private: + + static inline std::size_t min_size(const control_block* cb0, const control_block* cb1) + { + const std::size_t size0 = cb0->size; + const std::size_t size1 = cb1->size; + + if (size0 && size1) + return std::min(size0,size1); + else + return (size0) ? size0 : size1; + } + + control_block* control_block_; + }; + + namespace numeric + { + namespace details + { + template + inline T process_impl(const operator_type operation, const T arg) + { + switch (operation) + { + case e_abs : return numeric::abs (arg); + case e_acos : return numeric::acos (arg); + case e_acosh : return numeric::acosh(arg); + case e_asin : return numeric::asin (arg); + case e_asinh : return numeric::asinh(arg); + case e_atan : return numeric::atan (arg); + case e_atanh : return numeric::atanh(arg); + case e_ceil : return numeric::ceil (arg); + case e_cos : return numeric::cos (arg); + case e_cosh : return numeric::cosh (arg); + case e_exp : return numeric::exp (arg); + case e_expm1 : return numeric::expm1(arg); + case e_floor : return numeric::floor(arg); + case e_log : return numeric::log (arg); + case e_log10 : return numeric::log10(arg); + case e_log2 : return numeric::log2 (arg); + case e_log1p : return numeric::log1p(arg); + case e_neg : return numeric::neg (arg); + case e_pos : return numeric::pos (arg); + case e_round : return numeric::round(arg); + case e_sin : return numeric::sin (arg); + case e_sinc : return numeric::sinc (arg); + case e_sinh : return numeric::sinh (arg); + case e_sqrt : return numeric::sqrt (arg); + case e_tan : return numeric::tan (arg); + case e_tanh : return numeric::tanh (arg); + case e_cot : return numeric::cot (arg); + case e_sec : return numeric::sec (arg); + case e_csc : return numeric::csc (arg); + case e_r2d : return numeric::r2d (arg); + case e_d2r : return numeric::d2r (arg); + case e_d2g : return numeric::d2g (arg); + case e_g2d : return numeric::g2d (arg); + case e_notl : return numeric::notl (arg); + case e_sgn : return numeric::sgn (arg); + case e_erf : return numeric::erf (arg); + case e_erfc : return numeric::erfc (arg); + case e_ncdf : return numeric::ncdf (arg); + case e_frac : return numeric::frac (arg); + case e_trunc : return numeric::trunc(arg); + + default : exprtk_debug(("numeric::details::process_impl - Invalid unary operation.\n")); + return std::numeric_limits::quiet_NaN(); + } + } + + template + inline T process_impl(const operator_type operation, const T arg0, const T arg1) + { + switch (operation) + { + case e_add : return (arg0 + arg1); + case e_sub : return (arg0 - arg1); + case e_mul : return (arg0 * arg1); + case e_div : return (arg0 / arg1); + case e_mod : return modulus(arg0,arg1); + case e_pow : return pow(arg0,arg1); + case e_atan2 : return atan2(arg0,arg1); + case e_min : return std::min(arg0,arg1); + case e_max : return std::max(arg0,arg1); + case e_logn : return logn(arg0,arg1); + case e_lt : return (arg0 < arg1) ? T(1) : T(0); + case e_lte : return (arg0 <= arg1) ? T(1) : T(0); + case e_eq : return std::equal_to()(arg0,arg1) ? T(1) : T(0); + case e_ne : return std::not_equal_to()(arg0,arg1) ? T(1) : T(0); + case e_gte : return (arg0 >= arg1) ? T(1) : T(0); + case e_gt : return (arg0 > arg1) ? T(1) : T(0); + case e_and : return and_opr (arg0,arg1); + case e_nand : return nand_opr(arg0,arg1); + case e_or : return or_opr (arg0,arg1); + case e_nor : return nor_opr (arg0,arg1); + case e_xor : return xor_opr (arg0,arg1); + case e_xnor : return xnor_opr(arg0,arg1); + case e_root : return root (arg0,arg1); + case e_roundn : return roundn (arg0,arg1); + case e_equal : return equal (arg0,arg1); + case e_nequal : return nequal (arg0,arg1); + case e_hypot : return hypot (arg0,arg1); + case e_shr : return shr (arg0,arg1); + case e_shl : return shl (arg0,arg1); + + default : exprtk_debug(("numeric::details::process_impl - Invalid binary operation.\n")); + return std::numeric_limits::quiet_NaN(); + } + } + + template + inline T process_impl(const operator_type operation, const T arg0, const T arg1, int_type_tag) + { + switch (operation) + { + case e_add : return (arg0 + arg1); + case e_sub : return (arg0 - arg1); + case e_mul : return (arg0 * arg1); + case e_div : return (arg0 / arg1); + case e_mod : return arg0 % arg1; + case e_pow : return pow(arg0,arg1); + case e_min : return std::min(arg0,arg1); + case e_max : return std::max(arg0,arg1); + case e_logn : return logn(arg0,arg1); + case e_lt : return (arg0 < arg1) ? T(1) : T(0); + case e_lte : return (arg0 <= arg1) ? T(1) : T(0); + case e_eq : return (arg0 == arg1) ? T(1) : T(0); + case e_ne : return (arg0 != arg1) ? T(1) : T(0); + case e_gte : return (arg0 >= arg1) ? T(1) : T(0); + case e_gt : return (arg0 > arg1) ? T(1) : T(0); + case e_and : return ((arg0 != T(0)) && (arg1 != T(0))) ? T(1) : T(0); + case e_nand : return ((arg0 != T(0)) && (arg1 != T(0))) ? T(0) : T(1); + case e_or : return ((arg0 != T(0)) || (arg1 != T(0))) ? T(1) : T(0); + case e_nor : return ((arg0 != T(0)) || (arg1 != T(0))) ? T(0) : T(1); + case e_xor : return arg0 ^ arg1; + case e_xnor : return !(arg0 ^ arg1); + case e_root : return root(arg0,arg1); + case e_equal : return arg0 == arg1; + case e_nequal : return arg0 != arg1; + case e_hypot : return hypot(arg0,arg1); + case e_shr : return arg0 >> arg1; + case e_shl : return arg0 << arg1; + + default : exprtk_debug(("numeric::details::process_impl - Invalid binary operation.\n")); + return std::numeric_limits::quiet_NaN(); + } + } + } + + template + inline T process(const operator_type operation, const T arg) + { + return exprtk::details::numeric::details::process_impl(operation,arg); + } + + template + inline T process(const operator_type operation, const T arg0, const T arg1) + { + return exprtk::details::numeric::details::process_impl(operation, arg0, arg1); + } + } + + template + struct node_collector_interface + { + typedef Node* node_ptr_t; + typedef Node** node_pp_t; + typedef std::vector noderef_list_t; + + virtual ~node_collector_interface() + {} + + virtual void collect_nodes(noderef_list_t&) + {} + }; + + template + struct node_depth_base; + + template + class expression_node : public node_collector_interface > + , public node_depth_base > + { + public: + + enum node_type + { + e_none , e_null , e_constant , e_unary , + e_binary , e_binary_ext , e_trinary , e_quaternary , + e_vararg , e_conditional , e_while , e_repeat , + e_for , e_switch , e_mswitch , e_return , + e_retenv , e_variable , e_stringvar , e_stringconst , + e_stringvarrng , e_cstringvarrng , e_strgenrange , e_strconcat , + e_stringvarsize , e_strswap , e_stringsize , e_stringvararg , + e_function , e_vafunction , e_genfunction , e_strfunction , + e_strcondition , e_strccondition , e_add , e_sub , + e_mul , e_div , e_mod , e_pow , + e_lt , e_lte , e_gt , e_gte , + e_eq , e_ne , e_and , e_nand , + e_or , e_nor , e_xor , e_xnor , + e_in , e_like , e_ilike , e_inranges , + e_ipow , e_ipowinv , e_abs , e_acos , + e_acosh , e_asin , e_asinh , e_atan , + e_atanh , e_ceil , e_cos , e_cosh , + e_exp , e_expm1 , e_floor , e_log , + e_log10 , e_log2 , e_log1p , e_neg , + e_pos , e_round , e_sin , e_sinc , + e_sinh , e_sqrt , e_tan , e_tanh , + e_cot , e_sec , e_csc , e_r2d , + e_d2r , e_d2g , e_g2d , e_notl , + e_sgn , e_erf , e_erfc , e_ncdf , + e_frac , e_trunc , e_uvouv , e_vov , + e_cov , e_voc , e_vob , e_bov , + e_cob , e_boc , e_vovov , e_vovoc , + e_vocov , e_covov , e_covoc , e_vovovov , + e_vovovoc , e_vovocov , e_vocovov , e_covovov , + e_covocov , e_vocovoc , e_covovoc , e_vococov , + e_sf3ext , e_sf4ext , e_nulleq , e_strass , + e_vector , e_vecsize , e_vecelem , e_veccelem , + e_vecelemrtc , e_veccelemrtc , e_rbvecelem , e_rbvecelemrtc , + e_rbveccelem , e_rbveccelemrtc , e_vecdefass , e_vecvalass , + e_vecvecass , e_vecopvalass , e_vecopvecass , e_vecfunc , + e_vecvecswap , e_vecvecineq , e_vecvalineq , e_valvecineq , + e_vecvecarith , e_vecvalarith , e_valvecarith , e_vecunaryop , + e_vecondition , e_break , e_continue , e_swap + }; + + typedef T value_type; + typedef expression_node* expression_ptr; + typedef node_collector_interface > nci_t; + typedef typename nci_t::noderef_list_t noderef_list_t; + typedef node_depth_base > ndb_t; + + virtual ~expression_node() + {} + + inline virtual T value() const + { + return std::numeric_limits::quiet_NaN(); + } + + inline virtual expression_node* branch(const std::size_t& index = 0) const + { + return reinterpret_cast(index * 0); + } + + inline virtual node_type type() const + { + return e_none; + } + + inline virtual bool valid() const + { + return true; + } + }; // class expression_node + + template + inline bool is_generally_string_node(const expression_node* node); + + inline bool is_true(const double v) + { + return std::not_equal_to()(0.0,v); + } + + inline bool is_true(const long double v) + { + return std::not_equal_to()(0.0L,v); + } + + inline bool is_true(const float v) + { + return std::not_equal_to()(0.0f,v); + } + + template + inline bool is_true(const expression_node* node) + { + return std::not_equal_to()(T(0),node->value()); + } + + template + inline bool is_true(const std::pair*,bool>& node) + { + return std::not_equal_to()(T(0),node.first->value()); + } + + template + inline bool is_false(const expression_node* node) + { + return std::equal_to()(T(0),node->value()); + } + + template + inline bool is_false(const std::pair*,bool>& node) + { + return std::equal_to()(T(0),node.first->value()); + } + + template + inline bool is_literal_node(const expression_node* node) + { + return node && (details::expression_node::e_constant == node->type()); + } + + template + inline bool is_unary_node(const expression_node* node) + { + return node && (details::expression_node::e_unary == node->type()); + } + + template + inline bool is_neg_unary_node(const expression_node* node) + { + return node && (details::expression_node::e_neg == node->type()); + } + + template + inline bool is_binary_node(const expression_node* node) + { + return node && (details::expression_node::e_binary == node->type()); + } + + template + inline bool is_variable_node(const expression_node* node) + { + return node && (details::expression_node::e_variable == node->type()); + } + + template + inline bool is_ivariable_node(const expression_node* node) + { + return node && + ( + details::expression_node::e_variable == node->type() || + details::expression_node::e_vecelem == node->type() || + details::expression_node::e_veccelem == node->type() || + details::expression_node::e_vecelemrtc == node->type() || + details::expression_node::e_veccelemrtc == node->type() || + details::expression_node::e_rbvecelem == node->type() || + details::expression_node::e_rbveccelem == node->type() || + details::expression_node::e_rbvecelemrtc == node->type() || + details::expression_node::e_rbveccelemrtc == node->type() + ); + } + + template + inline bool is_vector_elem_node(const expression_node* node) + { + return node && (details::expression_node::e_vecelem == node->type()); + } + + template + inline bool is_vector_celem_node(const expression_node* node) + { + return node && (details::expression_node::e_veccelem == node->type()); + } + + template + inline bool is_vector_elem_rtc_node(const expression_node* node) + { + return node && (details::expression_node::e_vecelemrtc == node->type()); + } + + template + inline bool is_vector_celem_rtc_node(const expression_node* node) + { + return node && (details::expression_node::e_veccelemrtc == node->type()); + } + + template + inline bool is_rebasevector_elem_node(const expression_node* node) + { + return node && (details::expression_node::e_rbvecelem == node->type()); + } + + template + inline bool is_rebasevector_elem_rtc_node(const expression_node* node) + { + return node && (details::expression_node::e_rbvecelemrtc == node->type()); + } + + template + inline bool is_rebasevector_celem_rtc_node(const expression_node* node) + { + return node && (details::expression_node::e_rbveccelemrtc == node->type()); + } + + template + inline bool is_rebasevector_celem_node(const expression_node* node) + { + return node && (details::expression_node::e_rbveccelem == node->type()); + } + + template + inline bool is_vector_node(const expression_node* node) + { + return node && (details::expression_node::e_vector == node->type()); + } + + template + inline bool is_ivector_node(const expression_node* node) + { + if (node) + { + switch (node->type()) + { + case details::expression_node::e_vector : + case details::expression_node::e_vecvalass : + case details::expression_node::e_vecvecass : + case details::expression_node::e_vecopvalass : + case details::expression_node::e_vecopvecass : + case details::expression_node::e_vecvecswap : + case details::expression_node::e_vecvecarith : + case details::expression_node::e_vecvalarith : + case details::expression_node::e_valvecarith : + case details::expression_node::e_vecunaryop : + case details::expression_node::e_vecondition : return true; + default : return false; + } + } + else + return false; + } + + template + inline bool is_constant_node(const expression_node* node) + { + return node && + ( + details::expression_node::e_constant == node->type() || + details::expression_node::e_stringconst == node->type() + ); + } + + template + inline bool is_null_node(const expression_node* node) + { + return node && (details::expression_node::e_null == node->type()); + } + + template + inline bool is_break_node(const expression_node* node) + { + return node && (details::expression_node::e_break == node->type()); + } + + template + inline bool is_continue_node(const expression_node* node) + { + return node && (details::expression_node::e_continue == node->type()); + } + + template + inline bool is_swap_node(const expression_node* node) + { + return node && (details::expression_node::e_swap == node->type()); + } + + template + inline bool is_function(const expression_node* node) + { + return node && (details::expression_node::e_function == node->type()); + } + + template + inline bool is_return_node(const expression_node* node) + { + return node && (details::expression_node::e_return == node->type()); + } + + template class unary_node; + + template + inline bool is_negate_node(const expression_node* node) + { + if (node && is_unary_node(node)) + { + return (details::e_neg == static_cast*>(node)->operation()); + } + else + return false; + } + + template + inline bool branch_deletable(const expression_node* node) + { + return (0 != node) && + !is_variable_node(node) && + !is_string_node (node) ; + } + + template + inline bool all_nodes_valid(expression_node* const (&b)[N]) + { + for (std::size_t i = 0; i < N; ++i) + { + if (0 == b[i]) return false; + } + + return true; + } + + template class Sequence> + inline bool all_nodes_valid(const Sequence*,Allocator>& b) + { + for (std::size_t i = 0; i < b.size(); ++i) + { + if (0 == b[i]) return false; + } + + return true; + } + + template + inline bool all_nodes_variables(expression_node* const (&b)[N]) + { + for (std::size_t i = 0; i < N; ++i) + { + if (0 == b[i]) + return false; + else if (!is_variable_node(b[i])) + return false; + } + + return true; + } + + template class Sequence> + inline bool all_nodes_variables(const Sequence*,Allocator>& b) + { + for (std::size_t i = 0; i < b.size(); ++i) + { + if (0 == b[i]) + return false; + else if (!is_variable_node(b[i])) + return false; + } + + return true; + } + + template + class node_collection_destructor + { + public: + + typedef node_collector_interface nci_t; + + typedef typename nci_t::node_ptr_t node_ptr_t; + typedef typename nci_t::node_pp_t node_pp_t; + typedef typename nci_t::noderef_list_t noderef_list_t; + + static void delete_nodes(node_ptr_t& root) + { + std::vector node_delete_list; + node_delete_list.reserve(1000); + + collect_nodes(root, node_delete_list); + + for (std::size_t i = 0; i < node_delete_list.size(); ++i) + { + node_ptr_t& node = *node_delete_list[i]; + exprtk_debug(("ncd::delete_nodes() - deleting: %p\n", reinterpret_cast(node))); + delete node; + node = reinterpret_cast(0); + } + } + + private: + + static void collect_nodes(node_ptr_t& root, noderef_list_t& node_delete_list) + { + std::deque node_list; + node_list.push_back(root); + node_delete_list.push_back(&root); + + noderef_list_t child_node_delete_list; + child_node_delete_list.reserve(1000); + + while (!node_list.empty()) + { + node_list.front()->collect_nodes(child_node_delete_list); + + if (!child_node_delete_list.empty()) + { + for (std::size_t i = 0; i < child_node_delete_list.size(); ++i) + { + node_pp_t& node = child_node_delete_list[i]; + + if (0 == (*node)) + { + exprtk_debug(("ncd::collect_nodes() - null node encountered.\n")); + } + + node_list.push_back(*node); + } + + node_delete_list.insert( + node_delete_list.end(), + child_node_delete_list.begin(), child_node_delete_list.end()); + + child_node_delete_list.clear(); + } + + node_list.pop_front(); + } + + std::reverse(node_delete_list.begin(), node_delete_list.end()); + } + }; + + template + inline void free_all_nodes(NodeAllocator& node_allocator, expression_node* (&b)[N]) + { + for (std::size_t i = 0; i < N; ++i) + { + free_node(node_allocator,b[i]); + } + } + + template class Sequence> + inline void free_all_nodes(NodeAllocator& node_allocator, Sequence*,Allocator>& b) + { + for (std::size_t i = 0; i < b.size(); ++i) + { + free_node(node_allocator,b[i]); + } + + b.clear(); + } + + template + inline void free_node(NodeAllocator&, expression_node*& node) + { + if ((0 == node) || is_variable_node(node) || is_string_node(node)) + { + return; + } + + node_collection_destructor > + ::delete_nodes(node); + } + + template + inline void destroy_node(expression_node*& node) + { + if (0 != node) + { + node_collection_destructor > + ::delete_nodes(node); + } + } + + template + struct node_depth_base + { + typedef Node* node_ptr_t; + typedef std::pair nb_pair_t; + + node_depth_base() + : depth_set(false) + , depth(0) + {} + + virtual ~node_depth_base() + {} + + virtual std::size_t node_depth() const { return 1; } + + std::size_t compute_node_depth(const Node* const& node) const + { + if (!depth_set) + { + depth = 1 + (node ? node->node_depth() : 0); + depth_set = true; + } + + return depth; + } + + std::size_t compute_node_depth(const nb_pair_t& branch) const + { + if (!depth_set) + { + depth = 1 + (branch.first ? branch.first->node_depth() : 0); + depth_set = true; + } + + return depth; + } + + template + std::size_t compute_node_depth(const nb_pair_t (&branch)[N]) const + { + if (!depth_set) + { + depth = 0; + + for (std::size_t i = 0; i < N; ++i) + { + if (branch[i].first) + { + depth = std::max(depth,branch[i].first->node_depth()); + } + } + + depth += 1; + depth_set = true; + } + + return depth; + } + + template + std::size_t max_node_depth(const BranchType& n0, const BranchType& n1) const + { + return std::max(compute_node_depth(n0), compute_node_depth(n1)); + } + + template + std::size_t max_node_depth(const BranchType& n0, const BranchType& n1, const BranchType& n2) const + { + return std::max(compute_node_depth(n0), + std::max(compute_node_depth(n1), compute_node_depth(n2))); + } + + template + std::size_t max_node_depth(const BranchType& n0, const BranchType& n1, + const BranchType& n2, const BranchType& n3) const + { + return std::max( + std::max(compute_node_depth(n0), compute_node_depth(n1)), + std::max(compute_node_depth(n2), compute_node_depth(n3))); + } + + template + std::size_t compute_node_depth(const BranchType& n0, const BranchType& n1) const + { + if (!depth_set) + { + depth = 1 + max_node_depth(n0, n1); + depth_set = true; + } + + return depth; + } + + template + std::size_t compute_node_depth(const BranchType& n0, const BranchType& n1, + const BranchType& n2) const + { + if (!depth_set) + { + depth = 1 + max_node_depth(n0, n1, n2); + depth_set = true; + } + + return depth; + } + + template + std::size_t compute_node_depth(const BranchType& n0, const BranchType& n1, + const BranchType& n2, const BranchType& n3) const + { + if (!depth_set) + { + depth = 1 + max_node_depth(n0, n1, n2, n3); + depth_set = true; + } + + return depth; + } + + template class Sequence> + std::size_t compute_node_depth(const Sequence& branch_list) const + { + if (!depth_set) + { + for (std::size_t i = 0; i < branch_list.size(); ++i) + { + if (branch_list[i]) + { + depth = std::max(depth, compute_node_depth(branch_list[i])); + } + } + depth_set = true; + } + + return depth; + } + + template class Sequence> + std::size_t compute_node_depth(const Sequence& branch_list) const + { + if (!depth_set) + { + for (std::size_t i = 0; i < branch_list.size(); ++i) + { + if (branch_list[i].first) + { + depth = std::max(depth, compute_node_depth(branch_list[i].first)); + } + } + + depth_set = true; + } + + return depth; + } + + mutable bool depth_set; + mutable std::size_t depth; + + template + void collect(node_ptr_t const& node, + const bool deletable, + NodeSequence& delete_node_list) const + { + if ((0 != node) && deletable) + { + delete_node_list.push_back(const_cast(&node)); + } + } + + template + void collect(const nb_pair_t& branch, + NodeSequence& delete_node_list) const + { + collect(branch.first, branch.second, delete_node_list); + } + + template + void collect(Node*& node, + NodeSequence& delete_node_list) const + { + collect(node, branch_deletable(node), delete_node_list); + } + + template + void collect(const nb_pair_t(&branch)[N], + NodeSequence& delete_node_list) const + { + for (std::size_t i = 0; i < N; ++i) + { + collect(branch[i].first, branch[i].second, delete_node_list); + } + } + + template class Sequence, + typename NodeSequence> + void collect(const Sequence& branch, + NodeSequence& delete_node_list) const + { + for (std::size_t i = 0; i < branch.size(); ++i) + { + collect(branch[i].first, branch[i].second, delete_node_list); + } + } + + template class Sequence, + typename NodeSequence> + void collect(const Sequence& branch_list, + NodeSequence& delete_node_list) const + { + for (std::size_t i = 0; i < branch_list.size(); ++i) + { + collect(branch_list[i], branch_deletable(branch_list[i]), delete_node_list); + } + } + + template class Sequence, + typename NodeSequence> + void collect(const Sequence& branch_list, + const Sequence& branch_deletable_list, + NodeSequence& delete_node_list) const + { + for (std::size_t i = 0; i < branch_list.size(); ++i) + { + collect(branch_list[i], branch_deletable_list[i], delete_node_list); + } + } + }; + + template + class vector_holder + { + private: + + typedef Type value_type; + typedef value_type* value_ptr; + typedef const value_ptr const_value_ptr; + typedef vector_holder vector_holder_t; + + class vector_holder_base + { + public: + + virtual ~vector_holder_base() + {} + + inline value_ptr operator[](const std::size_t& index) const + { + return value_at(index); + } + + inline std::size_t size() const + { + return vector_size(); + } + + inline std::size_t base_size() const + { + return vector_base_size(); + } + + inline value_ptr data() const + { + return value_at(0); + } + + virtual inline bool rebaseable() const + { + return false; + } + + virtual void set_ref(value_ptr*) + {} + + virtual void remove_ref(value_ptr*) + {} + + virtual vector_view* rebaseable_instance() + { + return reinterpret_cast*>(0); + } + + protected: + + virtual value_ptr value_at(const std::size_t&) const = 0; + virtual std::size_t vector_size() const = 0; + virtual std::size_t vector_base_size() const = 0; + }; + + class array_vector_impl exprtk_final : public vector_holder_base + { + public: + + array_vector_impl(const Type* vec, const std::size_t& vec_size) + : vec_(vec) + , size_(vec_size) + {} + + protected: + + value_ptr value_at(const std::size_t& index) const exprtk_override + { + assert(index < size_); + return const_cast(vec_ + index); + } + + std::size_t vector_size() const exprtk_override + { + return size_; + } + + std::size_t vector_base_size() const exprtk_override + { + return vector_size(); + } + + private: + + array_vector_impl(const array_vector_impl&) exprtk_delete; + array_vector_impl& operator=(const array_vector_impl&) exprtk_delete; + + const Type* vec_; + const std::size_t size_; + }; + + template class Sequence> + class sequence_vector_impl exprtk_final : public vector_holder_base + { + public: + + typedef Sequence sequence_t; + + explicit sequence_vector_impl(sequence_t& seq) + : sequence_(seq) + {} + + protected: + + value_ptr value_at(const std::size_t& index) const exprtk_override + { + assert(index < sequence_.size()); + return (&sequence_[index]); + } + + std::size_t vector_size() const exprtk_override + { + return sequence_.size(); + } + + std::size_t vector_base_size() const exprtk_override + { + return vector_size(); + } + + private: + + sequence_vector_impl(const sequence_vector_impl&) exprtk_delete; + sequence_vector_impl& operator=(const sequence_vector_impl&) exprtk_delete; + + sequence_t& sequence_; + }; + + class vector_view_impl exprtk_final : public vector_holder_base + { + public: + + typedef exprtk::vector_view vector_view_t; + + vector_view_impl(vector_view_t& vec_view) + : vec_view_(vec_view) + { + assert(vec_view_.size() > 0); + } + + void set_ref(value_ptr* ref) exprtk_override + { + vec_view_.set_ref(ref); + } + + void remove_ref(value_ptr* ref) exprtk_override + { + vec_view_.remove_ref(ref); + } + + bool rebaseable() const exprtk_override + { + return true; + } + + vector_view* rebaseable_instance() exprtk_override + { + return &vec_view_; + } + + protected: + + value_ptr value_at(const std::size_t& index) const exprtk_override + { + assert(index < vec_view_.size()); + return (&vec_view_[index]); + } + + std::size_t vector_size() const exprtk_override + { + return vec_view_.size(); + } + + std::size_t vector_base_size() const exprtk_override + { + return vec_view_.base_size(); + } + + private: + + vector_view_impl(const vector_view_impl&) exprtk_delete; + vector_view_impl& operator=(const vector_view_impl&) exprtk_delete; + + vector_view_t& vec_view_; + }; + + class resizable_vector_impl exprtk_final : public vector_holder_base + { + public: + + resizable_vector_impl(vector_holder& vec_view_holder, + const Type* vec, + const std::size_t& vec_size) + : vec_(vec) + , size_(vec_size) + , vec_view_holder_(*vec_view_holder.rebaseable_instance()) + { + assert(vec_view_holder.rebaseable_instance()); + assert(size_ <= vector_base_size()); + } + + virtual ~resizable_vector_impl() + {} + + protected: + + value_ptr value_at(const std::size_t& index) const exprtk_override + { + assert(index < vector_size()); + return const_cast(vec_ + index); + } + + std::size_t vector_size() const exprtk_override + { + return vec_view_holder_.size(); + } + + std::size_t vector_base_size() const exprtk_override + { + return vec_view_holder_.base_size(); + } + + bool rebaseable() const exprtk_override + { + return true; + } + + virtual vector_view* rebaseable_instance() exprtk_override + { + return &vec_view_holder_; + } + + private: + + resizable_vector_impl(const resizable_vector_impl&) exprtk_delete; + resizable_vector_impl& operator=(const resizable_vector_impl&) exprtk_delete; + + const Type* vec_; + const std::size_t size_; + vector_view& vec_view_holder_; + }; + + public: + + typedef typename details::vec_data_store vds_t; + + vector_holder(Type* vec, const std::size_t& vec_size) + : vector_holder_base_(new(buffer)array_vector_impl(vec,vec_size)) + {} + + explicit vector_holder(const vds_t& vds) + : vector_holder_base_(new(buffer)array_vector_impl(vds.data(),vds.size())) + {} + + template + explicit vector_holder(std::vector& vec) + : vector_holder_base_(new(buffer)sequence_vector_impl(vec)) + {} + + explicit vector_holder(exprtk::vector_view& vec) + : vector_holder_base_(new(buffer)vector_view_impl(vec)) + {} + + explicit vector_holder(vector_holder_t& vec_holder, const vds_t& vds) + : vector_holder_base_(new(buffer)resizable_vector_impl(vec_holder, vds.data(), vds.size())) + {} + + inline value_ptr operator[](const std::size_t& index) const + { + return (*vector_holder_base_)[index]; + } + + inline std::size_t size() const + { + return vector_holder_base_->size(); + } + + inline std::size_t base_size() const + { + return vector_holder_base_->base_size(); + } + + inline value_ptr data() const + { + return vector_holder_base_->data(); + } + + void set_ref(value_ptr* ref) + { + if (rebaseable()) + { + vector_holder_base_->set_ref(ref); + } + } + + void remove_ref(value_ptr* ref) + { + if (rebaseable()) + { + vector_holder_base_->remove_ref(ref); + } + } + + bool rebaseable() const + { + return vector_holder_base_->rebaseable(); + } + + vector_view* rebaseable_instance() + { + return vector_holder_base_->rebaseable_instance(); + } + + private: + + vector_holder(const vector_holder&) exprtk_delete; + vector_holder& operator=(const vector_holder&) exprtk_delete; + + mutable vector_holder_base* vector_holder_base_; + uchar_t buffer[64]; + }; + + template + class null_node exprtk_final : public expression_node + { + public: + + inline T value() const exprtk_override + { + return std::numeric_limits::quiet_NaN(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_null; + } + }; + + template + inline void construct_branch_pair(std::pair*,bool> (&branch)[N], + expression_node* b, + const std::size_t& index) + { + if (b && (index < N)) + { + branch[index] = std::make_pair(b,branch_deletable(b)); + } + } + + template + inline void construct_branch_pair(std::pair*,bool>& branch, expression_node* b) + { + if (b) + { + branch = std::make_pair(b,branch_deletable(b)); + } + } + + template + inline void init_branches(std::pair*,bool> (&branch)[N], + expression_node* b0, + expression_node* b1 = reinterpret_cast*>(0), + expression_node* b2 = reinterpret_cast*>(0), + expression_node* b3 = reinterpret_cast*>(0), + expression_node* b4 = reinterpret_cast*>(0), + expression_node* b5 = reinterpret_cast*>(0), + expression_node* b6 = reinterpret_cast*>(0), + expression_node* b7 = reinterpret_cast*>(0), + expression_node* b8 = reinterpret_cast*>(0), + expression_node* b9 = reinterpret_cast*>(0)) + { + construct_branch_pair(branch, b0, 0); + construct_branch_pair(branch, b1, 1); + construct_branch_pair(branch, b2, 2); + construct_branch_pair(branch, b3, 3); + construct_branch_pair(branch, b4, 4); + construct_branch_pair(branch, b5, 5); + construct_branch_pair(branch, b6, 6); + construct_branch_pair(branch, b7, 7); + construct_branch_pair(branch, b8, 8); + construct_branch_pair(branch, b9, 9); + } + + template + class null_eq_node exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + + explicit null_eq_node(expression_ptr branch, const bool equality = true) + : equality_(equality) + { + construct_branch_pair(branch_, branch); + assert(valid()); + } + + inline T value() const exprtk_override + { + const T v = branch_.first->value(); + const bool result = details::numeric::is_nan(v); + + if (result) + return equality_ ? T(1) : T(0); + else + return equality_ ? T(0) : T(1); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_nulleq; + } + + inline expression_node* branch(const std::size_t&) const exprtk_override + { + return branch_.first; + } + + inline bool valid() const exprtk_override + { + return branch_.first; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(branch_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(branch_); + } + + private: + + bool equality_; + branch_t branch_; + }; + + template + class literal_node exprtk_final : public expression_node + { + public: + + explicit literal_node(const T& v) + : value_(v) + {} + + inline T value() const exprtk_override + { + return value_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_constant; + } + + inline expression_node* branch(const std::size_t&) const exprtk_override + { + return reinterpret_cast*>(0); + } + + private: + + literal_node(const literal_node&) exprtk_delete; + literal_node& operator=(const literal_node&) exprtk_delete; + + const T value_; + }; + + template + struct range_pack; + + template + struct range_data_type; + + template + class range_interface + { + public: + + typedef range_pack range_t; + + virtual ~range_interface() + {} + + virtual range_t& range_ref() = 0; + + virtual const range_t& range_ref() const = 0; + }; + + #ifndef exprtk_disable_string_capabilities + template + class string_base_node + { + public: + + typedef range_data_type range_data_type_t; + + virtual ~string_base_node() + {} + + virtual std::string str () const = 0; + + virtual char_cptr base() const = 0; + + virtual std::size_t size() const = 0; + }; + + template + class string_literal_node exprtk_final + : public expression_node + , public string_base_node + , public range_interface + { + public: + + typedef range_pack range_t; + + explicit string_literal_node(const std::string& v) + : value_(v) + { + rp_.n0_c = std::make_pair(true, 0); + rp_.n1_c = std::make_pair(true, v.size()); + rp_.cache.first = rp_.n0_c.second; + rp_.cache.second = rp_.n1_c.second; + } + + inline T value() const exprtk_override + { + return std::numeric_limits::quiet_NaN(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_stringconst; + } + + inline expression_node* branch(const std::size_t&) const exprtk_override + { + return reinterpret_cast*>(0); + } + + std::string str() const exprtk_override + { + return value_; + } + + char_cptr base() const exprtk_override + { + return value_.data(); + } + + std::size_t size() const exprtk_override + { + return value_.size(); + } + + range_t& range_ref() exprtk_override + { + return rp_; + } + + const range_t& range_ref() const exprtk_override + { + return rp_; + } + + private: + + string_literal_node(const string_literal_node&) exprtk_delete; + string_literal_node& operator=(const string_literal_node&) exprtk_delete; + + const std::string value_; + range_t rp_; + }; + #endif + + template + class unary_node : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + + unary_node(const operator_type& opr, expression_ptr branch) + : operation_(opr) + { + construct_branch_pair(branch_,branch); + assert(valid()); + } + + inline T value() const exprtk_override + { + return numeric::process + (operation_,branch_.first->value()); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_unary; + } + + inline operator_type operation() + { + return operation_; + } + + inline expression_node* branch(const std::size_t&) const exprtk_override + { + return branch_.first; + } + + inline bool valid() const exprtk_override + { + return branch_.first && branch_.first->valid(); + } + + inline void release() + { + branch_.second = false; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(branch_, node_delete_list); + } + + std::size_t node_depth() const exprtk_final + { + return expression_node::ndb_t::compute_node_depth(branch_); + } + + private: + + operator_type operation_; + branch_t branch_; + }; + + template + class binary_node : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + + binary_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : operation_(opr) + { + init_branches<2>(branch_, branch0, branch1); + assert(valid()); + } + + inline T value() const exprtk_override + { + return numeric::process + ( + operation_, + branch_[0].first->value(), + branch_[1].first->value() + ); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_binary; + } + + inline operator_type operation() + { + return operation_; + } + + inline expression_node* branch(const std::size_t& index = 0) const exprtk_override + { + assert(index < 2); + return branch_[index].first; + } + + inline bool valid() const exprtk_override + { + return + branch_[0].first && branch_[0].first->valid() && + branch_[1].first && branch_[1].first->valid() ; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::template collect(branch_, node_delete_list); + } + + std::size_t node_depth() const exprtk_final + { + return expression_node::ndb_t::template compute_node_depth<2>(branch_); + } + + private: + + operator_type operation_; + branch_t branch_[2]; + }; + + template + class binary_ext_node exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + + binary_ext_node(expression_ptr branch0, expression_ptr branch1) + { + init_branches<2>(branch_, branch0, branch1); + assert(valid()); + } + + inline T value() const exprtk_override + { + const T arg0 = branch_[0].first->value(); + const T arg1 = branch_[1].first->value(); + return Operation::process(arg0,arg1); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_binary_ext; + } + + inline operator_type operation() + { + return Operation::operation(); + } + + inline expression_node* branch(const std::size_t& index = 0) const exprtk_override + { + assert(index < 2); + return branch_[index].first; + } + + inline bool valid() const exprtk_override + { + return + branch_[0].first && branch_[0].first->valid() && + branch_[1].first && branch_[1].first->valid() ; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::template collect(branch_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::template compute_node_depth<2>(branch_); + } + + protected: + + branch_t branch_[2]; + }; + + template + class trinary_node : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + + trinary_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1, + expression_ptr branch2) + : operation_(opr) + { + init_branches<3>(branch_, branch0, branch1, branch2); + assert(valid()); + } + + inline T value() const exprtk_override + { + const T arg0 = branch_[0].first->value(); + const T arg1 = branch_[1].first->value(); + const T arg2 = branch_[2].first->value(); + + switch (operation_) + { + case e_inrange : return (arg1 < arg0) ? T(0) : ((arg1 > arg2) ? T(0) : T(1)); + + case e_clamp : return (arg1 < arg0) ? arg0 : (arg1 > arg2 ? arg2 : arg1); + + case e_iclamp : if ((arg1 <= arg0) || (arg1 >= arg2)) + return arg1; + else + return ((T(2) * arg1 <= (arg2 + arg0)) ? arg0 : arg2); + + default : exprtk_debug(("trinary_node::value() - Error: Invalid operation\n")); + return std::numeric_limits::quiet_NaN(); + } + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_trinary; + } + + inline bool valid() const exprtk_override + { + return + branch_[0].first && branch_[0].first->valid() && + branch_[1].first && branch_[1].first->valid() && + branch_[2].first && branch_[2].first->valid() ; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::template collect(branch_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override exprtk_final + { + return expression_node::ndb_t::template compute_node_depth<3>(branch_); + } + + protected: + + operator_type operation_; + branch_t branch_[3]; + }; + + template + class quaternary_node : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + + quaternary_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1, + expression_ptr branch2, + expression_ptr branch3) + : operation_(opr) + { + init_branches<4>(branch_, branch0, branch1, branch2, branch3); + } + + inline T value() const exprtk_override + { + return std::numeric_limits::quiet_NaN(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_quaternary; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::template collect(branch_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override exprtk_final + { + return expression_node::ndb_t::template compute_node_depth<4>(branch_); + } + + inline bool valid() const exprtk_override + { + return + branch_[0].first && branch_[0].first->valid() && + branch_[1].first && branch_[1].first->valid() && + branch_[2].first && branch_[2].first->valid() && + branch_[3].first && branch_[3].first->valid() ; + } + + protected: + + operator_type operation_; + branch_t branch_[4]; + }; + + template + class conditional_node exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + + conditional_node(expression_ptr condition, + expression_ptr consequent, + expression_ptr alternative) + { + construct_branch_pair(condition_ , condition ); + construct_branch_pair(consequent_ , consequent ); + construct_branch_pair(alternative_, alternative); + assert(valid()); + } + + inline T value() const exprtk_override + { + if (is_true(condition_)) + return consequent_.first->value(); + else + return alternative_.first->value(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_conditional; + } + + inline bool valid() const exprtk_override + { + return + condition_ .first && condition_ .first->valid() && + consequent_ .first && consequent_ .first->valid() && + alternative_.first && alternative_.first->valid() ; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(condition_ , node_delete_list); + expression_node::ndb_t::collect(consequent_ , node_delete_list); + expression_node::ndb_t::collect(alternative_ , node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth + (condition_, consequent_, alternative_); + } + + private: + + branch_t condition_; + branch_t consequent_; + branch_t alternative_; + }; + + template + class cons_conditional_node exprtk_final : public expression_node + { + public: + + // Consequent only conditional statement node + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + + cons_conditional_node(expression_ptr condition, + expression_ptr consequent) + { + construct_branch_pair(condition_ , condition ); + construct_branch_pair(consequent_, consequent); + assert(valid()); + } + + inline T value() const exprtk_override + { + if (is_true(condition_)) + return consequent_.first->value(); + else + return std::numeric_limits::quiet_NaN(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_conditional; + } + + inline bool valid() const exprtk_override + { + return + condition_ .first && condition_ .first->valid() && + consequent_.first && consequent_.first->valid() ; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(condition_ , node_delete_list); + expression_node::ndb_t::collect(consequent_ , node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t:: + compute_node_depth(condition_, consequent_); + } + + private: + + branch_t condition_; + branch_t consequent_; + }; + + #ifndef exprtk_disable_break_continue + template + class break_exception + { + public: + + explicit break_exception(const T& v) + : value(v) + {} + + T value; + }; + + class continue_exception {}; + + template + class break_node exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + + explicit break_node(expression_ptr ret = expression_ptr(0)) + { + construct_branch_pair(return_, ret); + } + + inline T value() const exprtk_override + { + const T result = return_.first ? + return_.first->value() : + std::numeric_limits::quiet_NaN(); + + throw break_exception(result); + + #if !defined(_MSC_VER) && !defined(__NVCOMPILER) + return std::numeric_limits::quiet_NaN(); + #endif + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_break; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(return_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(return_); + } + + private: + + branch_t return_; + }; + + template + class continue_node exprtk_final : public expression_node + { + public: + + inline T value() const exprtk_override + { + throw continue_exception(); + #if !defined(_MSC_VER) && !defined(__NVCOMPILER) + return std::numeric_limits::quiet_NaN(); + #endif + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_break; + } + }; + #endif + + struct loop_runtime_checker + { + loop_runtime_checker(loop_runtime_check_ptr loop_runtime_check, + loop_runtime_check::loop_types lp_typ = loop_runtime_check::e_invalid) + : iteration_count_(0) + , loop_runtime_check_(loop_runtime_check) + , max_loop_iterations_(loop_runtime_check_->max_loop_iterations) + , loop_type_(lp_typ) + { + assert(loop_runtime_check_); + } + + inline void reset(const _uint64_t initial_value = 0) const + { + iteration_count_ = initial_value; + } + + inline bool check() const + { + if ( + (0 == loop_runtime_check_) || + ((++iteration_count_ <= max_loop_iterations_) && loop_runtime_check_->check()) + ) + { + return true; + } + + loop_runtime_check::violation_context ctxt; + ctxt.loop = loop_type_; + ctxt.violation = loop_runtime_check::e_iteration_count; + + loop_runtime_check_->handle_runtime_violation(ctxt); + + return false; + } + + mutable _uint64_t iteration_count_; + mutable loop_runtime_check_ptr loop_runtime_check_; + const details::_uint64_t& max_loop_iterations_; + loop_runtime_check::loop_types loop_type_; + }; + + template + class while_loop_node : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + + while_loop_node(expression_ptr condition, + expression_ptr loop_body) + { + construct_branch_pair(condition_, condition); + construct_branch_pair(loop_body_, loop_body); + assert(valid()); + } + + inline T value() const exprtk_override + { + T result = T(0); + + while (is_true(condition_)) + { + result = loop_body_.first->value(); + } + + return result; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_while; + } + + inline bool valid() const exprtk_override exprtk_final + { + return + condition_.first && condition_.first->valid() && + loop_body_.first && loop_body_.first->valid() ; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(condition_ , node_delete_list); + expression_node::ndb_t::collect(loop_body_ , node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(condition_, loop_body_); + } + + protected: + + branch_t condition_; + branch_t loop_body_; + }; + + template + class while_loop_rtc_node exprtk_final + : public while_loop_node + , public loop_runtime_checker + { + public: + + typedef while_loop_node parent_t; + typedef expression_node* expression_ptr; + + while_loop_rtc_node(expression_ptr condition, + expression_ptr loop_body, + loop_runtime_check_ptr loop_rt_chk) + : parent_t(condition, loop_body) + , loop_runtime_checker(loop_rt_chk, loop_runtime_check::e_while_loop) + { + assert(parent_t::valid()); + } + + inline T value() const exprtk_override + { + + T result = T(0); + + loop_runtime_checker::reset(); + + while (is_true(parent_t::condition_) && loop_runtime_checker::check()) + { + result = parent_t::loop_body_.first->value(); + } + + return result; + } + }; + + template + class repeat_until_loop_node : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + + repeat_until_loop_node(expression_ptr condition, + expression_ptr loop_body) + { + construct_branch_pair(condition_, condition); + construct_branch_pair(loop_body_, loop_body); + assert(valid()); + } + + inline T value() const exprtk_override + { + T result = T(0); + + do + { + result = loop_body_.first->value(); + } + while (is_false(condition_.first)); + + return result; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_repeat; + } + + inline bool valid() const exprtk_override exprtk_final + { + return + condition_.first && condition_.first->valid() && + loop_body_.first && loop_body_.first->valid() ; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(condition_ , node_delete_list); + expression_node::ndb_t::collect(loop_body_ , node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(condition_, loop_body_); + } + + protected: + + branch_t condition_; + branch_t loop_body_; + }; + + template + class repeat_until_loop_rtc_node exprtk_final + : public repeat_until_loop_node + , public loop_runtime_checker + { + public: + + typedef repeat_until_loop_node parent_t; + typedef expression_node* expression_ptr; + + repeat_until_loop_rtc_node(expression_ptr condition, + expression_ptr loop_body, + loop_runtime_check_ptr loop_rt_chk) + : parent_t(condition, loop_body) + , loop_runtime_checker(loop_rt_chk, loop_runtime_check::e_repeat_until_loop) + { + assert(parent_t::valid()); + } + + inline T value() const exprtk_override + { + T result = T(0); + + loop_runtime_checker::reset(1); + + do + { + result = parent_t::loop_body_.first->value(); + } + while (is_false(parent_t::condition_.first) && loop_runtime_checker::check()); + + return result; + } + }; + + template + class for_loop_node : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + + for_loop_node(expression_ptr initialiser, + expression_ptr condition, + expression_ptr incrementor, + expression_ptr loop_body) + { + construct_branch_pair(initialiser_, initialiser); + construct_branch_pair(condition_ , condition ); + construct_branch_pair(incrementor_, incrementor); + construct_branch_pair(loop_body_ , loop_body ); + assert(valid()); + } + + inline T value() const exprtk_override + { + T result = T(0); + + if (initialiser_.first) + initialiser_.first->value(); + + if (incrementor_.first) + { + while (is_true(condition_)) + { + result = loop_body_.first->value(); + incrementor_.first->value(); + } + } + else + { + while (is_true(condition_)) + { + result = loop_body_.first->value(); + } + } + + return result; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_for; + } + + inline bool valid() const exprtk_override exprtk_final + { + return condition_.first && loop_body_.first; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(initialiser_ , node_delete_list); + expression_node::ndb_t::collect(condition_ , node_delete_list); + expression_node::ndb_t::collect(incrementor_ , node_delete_list); + expression_node::ndb_t::collect(loop_body_ , node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth + (initialiser_, condition_, incrementor_, loop_body_); + } + + protected: + + branch_t initialiser_; + branch_t condition_ ; + branch_t incrementor_; + branch_t loop_body_ ; + }; + + template + class for_loop_rtc_node exprtk_final + : public for_loop_node + , public loop_runtime_checker + { + public: + + typedef for_loop_node parent_t; + typedef expression_node* expression_ptr; + + for_loop_rtc_node(expression_ptr initialiser, + expression_ptr condition, + expression_ptr incrementor, + expression_ptr loop_body, + loop_runtime_check_ptr loop_rt_chk) + : parent_t(initialiser, condition, incrementor, loop_body) + , loop_runtime_checker(loop_rt_chk, loop_runtime_check::e_for_loop) + { + assert(parent_t::valid()); + } + + inline T value() const exprtk_override + { + T result = T(0); + + loop_runtime_checker::reset(); + + if (parent_t::initialiser_.first) + parent_t::initialiser_.first->value(); + + if (parent_t::incrementor_.first) + { + while (is_true(parent_t::condition_) && loop_runtime_checker::check()) + { + result = parent_t::loop_body_.first->value(); + parent_t::incrementor_.first->value(); + } + } + else + { + while (is_true(parent_t::condition_) && loop_runtime_checker::check()) + { + result = parent_t::loop_body_.first->value(); + } + } + + return result; + } + }; + + #ifndef exprtk_disable_break_continue + template + class while_loop_bc_node : public while_loop_node + { + public: + + typedef while_loop_node parent_t; + typedef expression_node* expression_ptr; + + while_loop_bc_node(expression_ptr condition, + expression_ptr loop_body) + : parent_t(condition, loop_body) + { + assert(parent_t::valid()); + } + + inline T value() const exprtk_override + { + T result = T(0); + + while (is_true(parent_t::condition_)) + { + try + { + result = parent_t::loop_body_.first->value(); + } + catch(const break_exception& e) + { + return e.value; + } + catch(const continue_exception&) + {} + } + + return result; + } + }; + + template + class while_loop_bc_rtc_node exprtk_final + : public while_loop_bc_node + , public loop_runtime_checker + { + public: + + typedef while_loop_bc_node parent_t; + typedef expression_node* expression_ptr; + + while_loop_bc_rtc_node(expression_ptr condition, + expression_ptr loop_body, + loop_runtime_check_ptr loop_rt_chk) + : parent_t(condition, loop_body) + , loop_runtime_checker(loop_rt_chk, loop_runtime_check::e_while_loop) + { + assert(parent_t::valid()); + } + + inline T value() const exprtk_override + { + T result = T(0); + + loop_runtime_checker::reset(); + + while (is_true(parent_t::condition_) && loop_runtime_checker::check()) + { + try + { + result = parent_t::loop_body_.first->value(); + } + catch(const break_exception& e) + { + return e.value; + } + catch(const continue_exception&) + {} + } + + return result; + } + }; + + template + class repeat_until_loop_bc_node : public repeat_until_loop_node + { + public: + + typedef repeat_until_loop_node parent_t; + typedef expression_node* expression_ptr; + + repeat_until_loop_bc_node(expression_ptr condition, + expression_ptr loop_body) + : parent_t(condition, loop_body) + { + assert(parent_t::valid()); + } + + inline T value() const exprtk_override + { + T result = T(0); + + do + { + try + { + result = parent_t::loop_body_.first->value(); + } + catch(const break_exception& e) + { + return e.value; + } + catch(const continue_exception&) + {} + } + while (is_false(parent_t::condition_.first)); + + return result; + } + }; + + template + class repeat_until_loop_bc_rtc_node exprtk_final + : public repeat_until_loop_bc_node + , public loop_runtime_checker + { + public: + + typedef repeat_until_loop_bc_node parent_t; + typedef expression_node* expression_ptr; + + repeat_until_loop_bc_rtc_node(expression_ptr condition, + expression_ptr loop_body, + loop_runtime_check_ptr loop_rt_chk) + : parent_t(condition, loop_body) + , loop_runtime_checker(loop_rt_chk, loop_runtime_check::e_repeat_until_loop) + { + assert(parent_t::valid()); + } + + inline T value() const exprtk_override + { + T result = T(0); + + loop_runtime_checker::reset(); + + do + { + try + { + result = parent_t::loop_body_.first->value(); + } + catch(const break_exception& e) + { + return e.value; + } + catch(const continue_exception&) + {} + } + while (is_false(parent_t::condition_.first) && loop_runtime_checker::check()); + + return result; + } + }; + + template + class for_loop_bc_node : public for_loop_node + { + public: + + typedef for_loop_node parent_t; + typedef expression_node* expression_ptr; + + for_loop_bc_node(expression_ptr initialiser, + expression_ptr condition, + expression_ptr incrementor, + expression_ptr loop_body) + : parent_t(initialiser, condition, incrementor, loop_body) + { + assert(parent_t::valid()); + } + + inline T value() const exprtk_override + { + T result = T(0); + + if (parent_t::initialiser_.first) + parent_t::initialiser_.first->value(); + + if (parent_t::incrementor_.first) + { + while (is_true(parent_t::condition_)) + { + try + { + result = parent_t::loop_body_.first->value(); + } + catch(const break_exception& e) + { + return e.value; + } + catch(const continue_exception&) + {} + + parent_t::incrementor_.first->value(); + } + } + else + { + while (is_true(parent_t::condition_)) + { + try + { + result = parent_t::loop_body_.first->value(); + } + catch(const break_exception& e) + { + return e.value; + } + catch(const continue_exception&) + {} + } + } + + return result; + } + }; + + template + class for_loop_bc_rtc_node exprtk_final + : public for_loop_bc_node + , public loop_runtime_checker + { + public: + + typedef for_loop_bc_node parent_t; + typedef expression_node* expression_ptr; + + for_loop_bc_rtc_node(expression_ptr initialiser, + expression_ptr condition, + expression_ptr incrementor, + expression_ptr loop_body, + loop_runtime_check_ptr loop_rt_chk) + : parent_t(initialiser, condition, incrementor, loop_body) + , loop_runtime_checker(loop_rt_chk, loop_runtime_check::e_for_loop) + { + assert(parent_t::valid()); + } + + inline T value() const exprtk_override + { + T result = T(0); + + loop_runtime_checker::reset(); + + if (parent_t::initialiser_.first) + parent_t::initialiser_.first->value(); + + if (parent_t::incrementor_.first) + { + while (is_true(parent_t::condition_) && loop_runtime_checker::check()) + { + try + { + result = parent_t::loop_body_.first->value(); + } + catch(const break_exception& e) + { + return e.value; + } + catch(const continue_exception&) + {} + + parent_t::incrementor_.first->value(); + } + } + else + { + while (is_true(parent_t::condition_) && loop_runtime_checker::check()) + { + try + { + result = parent_t::loop_body_.first->value(); + } + catch(const break_exception& e) + { + return e.value; + } + catch(const continue_exception&) + {} + } + } + + return result; + } + }; + #endif + + template + class switch_node : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + + template class Sequence> + explicit switch_node(const Sequence& arg_list) + { + if (1 != (arg_list.size() & 1)) + return; + + arg_list_.resize(arg_list.size()); + + for (std::size_t i = 0; i < arg_list.size(); ++i) + { + if (arg_list[i] && arg_list[i]->valid()) + { + construct_branch_pair(arg_list_[i], arg_list[i]); + } + else + { + arg_list_.clear(); + return; + } + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + const std::size_t upper_bound = (arg_list_.size() - 1); + + for (std::size_t i = 0; i < upper_bound; i += 2) + { + expression_ptr condition = arg_list_[i ].first; + expression_ptr consequent = arg_list_[i + 1].first; + + if (is_true(condition)) + { + return consequent->value(); + } + } + + return arg_list_[upper_bound].first->value(); + } + + inline typename expression_node::node_type type() const exprtk_override exprtk_final + { + return expression_node::e_switch; + } + + inline bool valid() const exprtk_override + { + return !arg_list_.empty(); + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(arg_list_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override exprtk_final + { + return expression_node::ndb_t::compute_node_depth(arg_list_); + } + + protected: + + std::vector arg_list_; + }; + + template + class switch_n_node exprtk_final : public switch_node + { + public: + + typedef expression_node* expression_ptr; + + template class Sequence> + explicit switch_n_node(const Sequence& arg_list) + : switch_node(arg_list) + {} + + inline T value() const exprtk_override + { + return Switch_N::process(switch_node::arg_list_); + } + }; + + template + class multi_switch_node exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + + template class Sequence> + explicit multi_switch_node(const Sequence& arg_list) + { + if (0 != (arg_list.size() & 1)) + return; + + arg_list_.resize(arg_list.size()); + + for (std::size_t i = 0; i < arg_list.size(); ++i) + { + if (arg_list[i] && arg_list[i]->valid()) + { + construct_branch_pair(arg_list_[i], arg_list[i]); + } + else + { + arg_list_.clear(); + return; + } + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + const std::size_t upper_bound = (arg_list_.size() - 1); + + T result = T(0); + + for (std::size_t i = 0; i < upper_bound; i += 2) + { + expression_ptr condition = arg_list_[i ].first; + expression_ptr consequent = arg_list_[i + 1].first; + + if (is_true(condition)) + { + result = consequent->value(); + } + } + + return result; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_mswitch; + } + + inline bool valid() const exprtk_override + { + return !arg_list_.empty() && (0 == (arg_list_.size() % 2)); + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(arg_list_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override exprtk_final + { + return expression_node::ndb_t::compute_node_depth(arg_list_); + } + + private: + + std::vector arg_list_; + }; + + template + class ivariable + { + public: + + virtual ~ivariable() + {} + + virtual T& ref() = 0; + virtual const T& ref() const = 0; + }; + + template + class variable_node exprtk_final + : public expression_node + , public ivariable + { + public: + + static T null_value; + + explicit variable_node() + : value_(&null_value) + {} + + explicit variable_node(T& v) + : value_(&v) + {} + + inline bool operator <(const variable_node& v) const + { + return this < (&v); + } + + inline T value() const exprtk_override + { + return (*value_); + } + + inline T& ref() exprtk_override + { + return (*value_); + } + + inline const T& ref() const exprtk_override + { + return (*value_); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_variable; + } + + private: + + T* value_; + }; + + template + T variable_node::null_value = T(std::numeric_limits::quiet_NaN()); + + template + struct range_pack + { + typedef expression_node* expression_node_ptr; + typedef std::pair cached_range_t; + + range_pack() + : n0_e (std::make_pair(false,expression_node_ptr(0))) + , n1_e (std::make_pair(false,expression_node_ptr(0))) + , n0_c (std::make_pair(false,0)) + , n1_c (std::make_pair(false,0)) + , cache(std::make_pair(0,0)) + {} + + void clear() + { + n0_e = std::make_pair(false,expression_node_ptr(0)); + n1_e = std::make_pair(false,expression_node_ptr(0)); + n0_c = std::make_pair(false,0); + n1_c = std::make_pair(false,0); + cache = std::make_pair(0,0); + } + + void free() + { + if (n0_e.first && n0_e.second) + { + n0_e.first = false; + + if ( + !is_variable_node(n0_e.second) && + !is_string_node (n0_e.second) + ) + { + destroy_node(n0_e.second); + } + } + + if (n1_e.first && n1_e.second) + { + n1_e.first = false; + + if ( + !is_variable_node(n1_e.second) && + !is_string_node (n1_e.second) + ) + { + destroy_node(n1_e.second); + } + } + } + + bool const_range() const + { + return ( n0_c.first && n1_c.first) && + (!n0_e.first && !n1_e.first); + } + + bool var_range() const + { + return ( n0_e.first && n1_e.first) && + (!n0_c.first && !n1_c.first); + } + + bool operator() (std::size_t& r0, std::size_t& r1, + const std::size_t& size = std::numeric_limits::max()) const + { + if (n0_c.first) + r0 = n0_c.second; + else if (n0_e.first) + { + r0 = static_cast(details::numeric::to_int64(n0_e.second->value())); + } + else + return false; + + if (n1_c.first) + r1 = n1_c.second; + else if (n1_e.first) + { + r1 = static_cast(details::numeric::to_int64(n1_e.second->value())); + } + else + return false; + + if ( + (std::numeric_limits::max() != size) && + (std::numeric_limits::max() == r1 ) + ) + { + r1 = size; + } + + cache.first = r0; + cache.second = r1; + + #ifndef exprtk_enable_range_runtime_checks + return (r0 <= r1); + #else + return range_runtime_check(r0, r1, size); + #endif + } + + inline std::size_t const_size() const + { + return (n1_c.second - n0_c.second); + } + + inline std::size_t cache_size() const + { + return (cache.second - cache.first); + } + + std::pair n0_e; + std::pair n1_e; + std::pair n0_c; + std::pair n1_c; + mutable cached_range_t cache; + + #ifdef exprtk_enable_range_runtime_checks + bool range_runtime_check(const std::size_t r0, + const std::size_t r1, + const std::size_t size) const + { + if (r0 > size) + { + throw std::runtime_error("range error: (r0 < 0) || (r0 > size)"); + #ifndef _MSC_VER + return false; + #endif + } + + if (r1 > size) + { + throw std::runtime_error("range error: (r1 < 0) || (r1 > size)"); + #ifndef _MSC_VER + return false; + #endif + } + + return (r0 <= r1); + } + #endif + }; + + template + class string_base_node; + + template + struct range_data_type + { + typedef range_pack range_t; + typedef string_base_node* strbase_ptr_t; + + range_data_type() + : range(0) + , data (0) + , size (0) + , type_size(0) + , str_node (0) + {} + + range_t* range; + void* data; + std::size_t size; + std::size_t type_size; + strbase_ptr_t str_node; + }; + + template class vector_node; + + template + class vector_interface + { + public: + + typedef vector_node* vector_node_ptr; + typedef vec_data_store vds_t; + + virtual ~vector_interface() + {} + + virtual std::size_t size () const = 0; + + virtual std::size_t base_size() const = 0; + + virtual vector_node_ptr vec () const = 0; + + virtual vector_node_ptr vec () = 0; + + virtual vds_t& vds () = 0; + + virtual const vds_t& vds () const = 0; + + virtual bool side_effect () const { return false; } + }; + + template + class vector_node exprtk_final + : public expression_node + , public vector_interface + { + public: + + typedef expression_node* expression_ptr; + typedef vector_holder vector_holder_t; + typedef vector_node* vector_node_ptr; + typedef vec_data_store vds_t; + + explicit vector_node(vector_holder_t* vh) + : vector_holder_(vh) + , vds_((*vector_holder_).size(),(*vector_holder_)[0]) + { + vector_holder_->set_ref(&vds_.ref()); + } + + vector_node(const vds_t& vds, vector_holder_t* vh) + : vector_holder_(vh) + , vds_(vds) + {} + + ~vector_node() + { + assert(valid()); + vector_holder_->remove_ref(&vds_.ref()); + } + + inline T value() const exprtk_override + { + return vds().data()[0]; + } + + vector_node_ptr vec() const exprtk_override + { + return const_cast(this); + } + + vector_node_ptr vec() exprtk_override + { + return this; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vector; + } + + inline bool valid() const exprtk_override + { + return vector_holder_; + } + + std::size_t size() const exprtk_override + { + return vec_holder().size(); + } + + std::size_t base_size() const exprtk_override + { + return vec_holder().base_size(); + } + + vds_t& vds() exprtk_override + { + return vds_; + } + + const vds_t& vds() const exprtk_override + { + return vds_; + } + + inline vector_holder_t& vec_holder() + { + return (*vector_holder_); + } + + inline vector_holder_t& vec_holder() const + { + return (*vector_holder_); + } + + private: + + vector_holder_t* vector_holder_; + vds_t vds_; + }; + + template + class vector_size_node exprtk_final + : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef vector_holder vector_holder_t; + + explicit vector_size_node(vector_holder_t* vh) + : vector_holder_(vh) + {} + + ~vector_size_node() + { + assert(valid()); + } + + inline T value() const exprtk_override + { + assert(vector_holder_); + return static_cast(vector_holder_->size()); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vecsize; + } + + inline bool valid() const exprtk_override + { + return vector_holder_ && vector_holder_->size(); + } + + inline vector_holder_t* vec_holder() + { + return vector_holder_; + } + + private: + + vector_holder_t* vector_holder_; + }; + + template + class vector_elem_node exprtk_final + : public expression_node + , public ivariable + { + public: + + typedef expression_node* expression_ptr; + typedef vector_holder vector_holder_t; + typedef vector_holder_t* vector_holder_ptr; + typedef std::pair branch_t; + + vector_elem_node(expression_ptr vec_node, + expression_ptr index, + vector_holder_ptr vec_holder) + : vector_holder_(vec_holder) + , vector_base_((*vec_holder)[0]) + { + construct_branch_pair(vector_node_, vec_node); + construct_branch_pair(index_ , index ); + assert(valid()); + } + + inline T value() const exprtk_override + { + return *access_vector(); + } + + inline T& ref() exprtk_override + { + return *access_vector(); + } + + inline const T& ref() const exprtk_override + { + return *access_vector(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vecelem; + } + + inline bool valid() const exprtk_override + { + return + vector_holder_ && + index_.first && + vector_node_.first && + index_.first->valid() && + vector_node_.first->valid(); + } + + inline vector_holder_t& vec_holder() + { + return (*vector_holder_); + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(vector_node_, node_delete_list); + expression_node::ndb_t::collect(index_ , node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth + (vector_node_, index_); + } + + private: + + inline T* access_vector() const + { + vector_node_.first->value(); + return (vector_base_ + details::numeric::to_uint64(index_.first->value())); + } + + vector_holder_ptr vector_holder_; + T* vector_base_; + branch_t vector_node_; + branch_t index_; + }; + + template + class vector_celem_node exprtk_final + : public expression_node + , public ivariable + { + public: + + typedef expression_node* expression_ptr; + typedef vector_holder vector_holder_t; + typedef vector_holder_t* vector_holder_ptr; + typedef std::pair branch_t; + + vector_celem_node(expression_ptr vec_node, + const std::size_t index, + vector_holder_ptr vec_holder) + : index_(index) + , vector_holder_(vec_holder) + , vector_base_((*vec_holder)[0]) + { + construct_branch_pair(vector_node_, vec_node); + assert(valid()); + } + + inline T value() const exprtk_override + { + return *access_vector(); + } + + inline T& ref() exprtk_override + { + return *access_vector(); + } + + inline const T& ref() const exprtk_override + { + return *access_vector(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_veccelem; + } + + inline bool valid() const exprtk_override + { + return + vector_holder_ && + vector_node_.first && + vector_node_.first->valid(); + } + + inline vector_holder_t& vec_holder() + { + return (*vector_holder_); + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(vector_node_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(vector_node_); + } + + private: + + inline T* access_vector() const + { + vector_node_.first->value(); + return (vector_base_ + index_); + } + + const std::size_t index_; + vector_holder_ptr vector_holder_; + T* vector_base_; + branch_t vector_node_; + }; + + template + class vector_elem_rtc_node exprtk_final + : public expression_node + , public ivariable + { + public: + + typedef expression_node* expression_ptr; + typedef vector_holder vector_holder_t; + typedef vector_holder_t* vector_holder_ptr; + typedef std::pair branch_t; + + vector_elem_rtc_node(expression_ptr vec_node, + expression_ptr index, + vector_holder_ptr vec_holder, + vector_access_runtime_check_ptr vec_rt_chk) + : vector_holder_(vec_holder) + , vector_base_((*vec_holder)[0]) + , vec_rt_chk_(vec_rt_chk) + , max_vector_index_(vector_holder_->size() - 1) + { + construct_branch_pair(vector_node_, vec_node); + construct_branch_pair(index_ , index ); + assert(valid()); + } + + inline T value() const exprtk_override + { + return *access_vector(); + } + + inline T& ref() exprtk_override + { + return *access_vector(); + } + + inline const T& ref() const exprtk_override + { + return *access_vector(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vecelemrtc; + } + + inline bool valid() const exprtk_override + { + return + vector_holder_ && + index_.first && + vector_node_.first && + index_.first->valid() && + vector_node_.first->valid(); + } + + inline vector_holder_t& vec_holder() + { + return (*vector_holder_); + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(vector_node_, node_delete_list); + expression_node::ndb_t::collect(index_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth + (vector_node_, index_); + } + + private: + + inline T* access_vector() const + { + const _uint64_t index = details::numeric::to_uint64(index_.first->value()); + vector_node_.first->value(); + + if (index <= max_vector_index_) + { + return (vector_holder_->data() + index); + } + + assert(vec_rt_chk_); + + vector_access_runtime_check::violation_context context; + context.base_ptr = reinterpret_cast(vector_base_); + context.end_ptr = reinterpret_cast(vector_base_ + vector_holder_->size()); + context.access_ptr = reinterpret_cast(vector_base_ + index); + context.type_size = sizeof(T); + + return vec_rt_chk_->handle_runtime_violation(context) ? + reinterpret_cast(context.access_ptr) : + vector_base_ ; + } + + vector_holder_ptr vector_holder_; + T* vector_base_; + branch_t vector_node_; + branch_t index_; + vector_access_runtime_check_ptr vec_rt_chk_; + const std::size_t max_vector_index_; + }; + + template + class vector_celem_rtc_node exprtk_final + : public expression_node + , public ivariable + { + public: + + typedef expression_node* expression_ptr; + typedef vector_holder vector_holder_t; + typedef vector_holder_t* vector_holder_ptr; + typedef std::pair branch_t; + + vector_celem_rtc_node(expression_ptr vec_node, + const std::size_t index, + vector_holder_ptr vec_holder, + vector_access_runtime_check_ptr vec_rt_chk) + : index_(index) + , max_vector_index_(vec_holder->size() - 1) + , vector_holder_(vec_holder) + , vector_base_((*vec_holder)[0]) + , vec_rt_chk_(vec_rt_chk) + { + construct_branch_pair(vector_node_, vec_node); + assert(valid()); + } + + inline T value() const exprtk_override + { + return *access_vector(); + } + + inline T& ref() exprtk_override + { + return *access_vector(); + } + + inline const T& ref() const exprtk_override + { + return *access_vector(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_veccelemrtc; + } + + inline bool valid() const exprtk_override + { + return + vector_holder_ && + vector_node_.first && + vector_node_.first->valid(); + } + + inline vector_holder_t& vec_holder() + { + return (*vector_holder_); + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(vector_node_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(vector_node_); + } + + private: + + inline T* access_vector() const + { + vector_node_.first->value(); + + if (index_ <= max_vector_index_) + { + return (vector_holder_->data() + index_); + } + + assert(vec_rt_chk_); + + vector_access_runtime_check::violation_context context; + context.base_ptr = reinterpret_cast(vector_base_); + context.end_ptr = reinterpret_cast(vector_base_ + vector_holder_->size()); + context.access_ptr = reinterpret_cast(vector_base_ + index_); + context.type_size = sizeof(T); + + return vec_rt_chk_->handle_runtime_violation(context) ? + reinterpret_cast(context.access_ptr) : + vector_base_ ; + } + + const std::size_t index_; + const std::size_t max_vector_index_; + vector_holder_ptr vector_holder_; + T* vector_base_; + branch_t vector_node_; + vector_access_runtime_check_ptr vec_rt_chk_; + }; + + template + class rebasevector_elem_node exprtk_final + : public expression_node + , public ivariable + { + public: + + typedef expression_node* expression_ptr; + typedef vector_holder vector_holder_t; + typedef vector_holder_t* vector_holder_ptr; + typedef vec_data_store vds_t; + typedef std::pair branch_t; + + rebasevector_elem_node(expression_ptr vec_node, + expression_ptr index, + vector_holder_ptr vec_holder) + : vector_holder_(vec_holder) + { + construct_branch_pair(vector_node_, vec_node); + construct_branch_pair(index_ , index ); + assert(valid()); + } + + inline T value() const exprtk_override + { + return *access_vector(); + } + + inline T& ref() exprtk_override + { + return *access_vector(); + } + + inline const T& ref() const exprtk_override + { + return *access_vector(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_rbvecelem; + } + + inline bool valid() const exprtk_override + { + return + vector_holder_ && + index_.first && + vector_node_.first && + index_.first->valid() && + vector_node_.first->valid(); + } + + inline vector_holder_t& vec_holder() + { + return (*vector_holder_); + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(vector_node_, node_delete_list); + expression_node::ndb_t::collect(index_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth + (vector_node_, index_); + } + + private: + + inline T* access_vector() const + { + vector_node_.first->value(); + return (vector_holder_->data() + details::numeric::to_uint64(index_.first->value())); + } + + vector_holder_ptr vector_holder_; + branch_t vector_node_; + branch_t index_; + }; + + template + class rebasevector_celem_node exprtk_final + : public expression_node + , public ivariable + { + public: + + typedef expression_node* expression_ptr; + typedef vector_holder vector_holder_t; + typedef vector_holder_t* vector_holder_ptr; + typedef std::pair branch_t; + + rebasevector_celem_node(expression_ptr vec_node, + const std::size_t index, + vector_holder_ptr vec_holder) + : index_(index) + , vector_holder_(vec_holder) + { + construct_branch_pair(vector_node_, vec_node); + assert(valid()); + } + + inline T value() const exprtk_override + { + vector_node_.first->value(); + return ref();; + } + + inline T& ref() exprtk_override + { + return *(vector_holder_->data() + index_); + } + + inline const T& ref() const exprtk_override + { + return *(vector_holder_->data() + index_); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_rbveccelem; + } + + inline bool valid() const exprtk_override + { + return + vector_holder_ && + vector_node_.first && + vector_node_.first->valid(); + } + + inline vector_holder_t& vec_holder() + { + return (*vector_holder_); + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(vector_node_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(vector_node_); + } + + private: + + const std::size_t index_; + vector_holder_ptr vector_holder_; + branch_t vector_node_; + }; + + template + class rebasevector_elem_rtc_node exprtk_final + : public expression_node + , public ivariable + { + public: + + typedef expression_node* expression_ptr; + typedef vector_holder vector_holder_t; + typedef vector_holder_t* vector_holder_ptr; + typedef std::pair branch_t; + + rebasevector_elem_rtc_node(expression_ptr vec_node, + expression_ptr index, + vector_holder_ptr vec_holder, + vector_access_runtime_check_ptr vec_rt_chk) + : vector_holder_(vec_holder) + , vec_rt_chk_(vec_rt_chk) + { + construct_branch_pair(vector_node_, vec_node); + construct_branch_pair(index_ , index ); + assert(valid()); + } + + inline T value() const exprtk_override + { + return *access_vector(); + } + + inline T& ref() exprtk_override + { + return *access_vector(); + } + + inline const T& ref() const exprtk_override + { + return *access_vector(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_rbvecelemrtc; + } + + inline bool valid() const exprtk_override + { + return + vector_holder_ && + index_.first && + vector_node_.first && + index_.first->valid() && + vector_node_.first->valid(); + } + + inline vector_holder_t& vec_holder() + { + return (*vector_holder_); + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(vector_node_, node_delete_list); + expression_node::ndb_t::collect(index_ , node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth + (vector_node_, index_); + } + + private: + + inline T* access_vector() const + { + vector_node_.first->value(); + const _uint64_t index = details::numeric::to_uint64(index_.first->value()); + + if (index <= (vector_holder_->size() - 1)) + { + return (vector_holder_->data() + index); + } + + assert(vec_rt_chk_); + + vector_access_runtime_check::violation_context context; + context.base_ptr = reinterpret_cast(vector_holder_->data()); + context.end_ptr = reinterpret_cast(vector_holder_->data() + vector_holder_->size()); + context.access_ptr = reinterpret_cast(vector_holder_->data() + index); + context.type_size = sizeof(T); + + return vec_rt_chk_->handle_runtime_violation(context) ? + reinterpret_cast(context.access_ptr) : + vector_holder_->data() ; + } + + vector_holder_ptr vector_holder_; + branch_t vector_node_; + branch_t index_; + vector_access_runtime_check_ptr vec_rt_chk_; + }; + + template + class rebasevector_celem_rtc_node exprtk_final + : public expression_node + , public ivariable + { + public: + + typedef expression_node* expression_ptr; + typedef vector_holder vector_holder_t; + typedef vector_holder_t* vector_holder_ptr; + typedef std::pair branch_t; + + rebasevector_celem_rtc_node(expression_ptr vec_node, + const std::size_t index, + vector_holder_ptr vec_holder, + vector_access_runtime_check_ptr vec_rt_chk) + : index_(index) + , vector_holder_(vec_holder) + , vector_base_((*vec_holder)[0]) + , vec_rt_chk_(vec_rt_chk) + { + construct_branch_pair(vector_node_, vec_node); + assert(valid()); + } + + inline T value() const exprtk_override + { + return *access_vector(); + } + + inline T& ref() exprtk_override + { + return *access_vector(); + } + + inline const T& ref() const exprtk_override + { + return *access_vector(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_rbveccelemrtc; + } + + inline bool valid() const exprtk_override + { + return + vector_holder_ && + vector_node_.first && + vector_node_.first->valid(); + } + + inline vector_holder_t& vec_holder() + { + return (*vector_holder_); + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(vector_node_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(vector_node_); + } + + private: + + inline T* access_vector() const + { + vector_node_.first->value(); + + if (index_ <= vector_holder_->size() - 1) + { + return (vector_holder_->data() + index_); + } + + assert(vec_rt_chk_); + + vector_access_runtime_check::violation_context context; + context.base_ptr = reinterpret_cast(vector_base_); + context.end_ptr = reinterpret_cast(vector_base_ + vector_holder_->size()); + context.access_ptr = reinterpret_cast(vector_base_ + index_); + context.type_size = sizeof(T); + + return vec_rt_chk_->handle_runtime_violation(context) ? + reinterpret_cast(context.access_ptr) : + vector_base_ ; + } + + const std::size_t index_; + vector_holder_ptr vector_holder_; + T* vector_base_; + branch_t vector_node_; + vector_access_runtime_check_ptr vec_rt_chk_; + }; + + template + class vector_assignment_node exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + + vector_assignment_node(T* vector_base, + const std::size_t& size, + const std::vector& initialiser_list, + const bool single_value_initialse) + : vector_base_(vector_base) + , initialiser_list_(initialiser_list) + , size_(size) + , single_value_initialse_(single_value_initialse) + , zero_value_initialse_(false) + , const_nonzero_literal_value_initialse_(false) + , single_initialiser_value_(T(0)) + { + if (single_value_initialse_) + { + if (initialiser_list_.empty()) + zero_value_initialse_ = true; + else if ( + (initialiser_list_.size() == 1) && + details::is_constant_node(initialiser_list_[0]) && + (T(0) == initialiser_list_[0]->value()) + ) + { + zero_value_initialse_ = true; + } + else + { + assert(initialiser_list_.size() == 1); + + if (details::is_constant_node(initialiser_list_[0])) + { + const_nonzero_literal_value_initialse_ = true; + single_initialiser_value_ = initialiser_list_[0]->value(); + assert(T(0) != single_initialiser_value_); + } + } + } + } + + inline T value() const exprtk_override + { + if (single_value_initialse_) + { + if (zero_value_initialse_) + { + details::set_zero_value(vector_base_, size_); + } + else if (const_nonzero_literal_value_initialse_) + { + for (std::size_t i = 0; i < size_; ++i) + { + *(vector_base_ + i) = single_initialiser_value_; + } + } + else + { + for (std::size_t i = 0; i < size_; ++i) + { + *(vector_base_ + i) = initialiser_list_[0]->value(); + } + } + } + else + { + const std::size_t initialiser_list_size = initialiser_list_.size(); + + for (std::size_t i = 0; i < initialiser_list_size; ++i) + { + *(vector_base_ + i) = initialiser_list_[i]->value(); + } + + if (initialiser_list_size < size_) + { + details::set_zero_value( + vector_base_ + initialiser_list_size, + (size_ - initialiser_list_size)); + } + } + + return *(vector_base_); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vecdefass; + } + + inline bool valid() const exprtk_override + { + return vector_base_; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(initialiser_list_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(initialiser_list_); + } + + private: + + vector_assignment_node(const vector_assignment_node&) exprtk_delete; + vector_assignment_node& operator=(const vector_assignment_node&) exprtk_delete; + + mutable T* vector_base_; + std::vector initialiser_list_; + const std::size_t size_; + const bool single_value_initialse_; + bool zero_value_initialse_; + bool const_nonzero_literal_value_initialse_; + T single_initialiser_value_; + }; + + template + class swap_node exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef variable_node* variable_node_ptr; + + swap_node(variable_node_ptr var0, variable_node_ptr var1) + : var0_(var0) + , var1_(var1) + {} + + inline T value() const exprtk_override + { + std::swap(var0_->ref(),var1_->ref()); + return var1_->ref(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_swap; + } + + private: + + variable_node_ptr var0_; + variable_node_ptr var1_; + }; + + template + class swap_generic_node exprtk_final : public binary_node + { + public: + + typedef expression_node* expression_ptr; + typedef ivariable* ivariable_ptr; + + swap_generic_node(expression_ptr var0, expression_ptr var1) + : binary_node(details::e_swap, var0, var1) + , var0_(dynamic_cast(var0)) + , var1_(dynamic_cast(var1)) + {} + + inline T value() const exprtk_override + { + std::swap(var0_->ref(),var1_->ref()); + return var1_->ref(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_swap; + } + + private: + + ivariable_ptr var0_; + ivariable_ptr var1_; + }; + + template + class swap_vecvec_node exprtk_final + : public binary_node + , public vector_interface + { + public: + + typedef expression_node* expression_ptr; + typedef vector_node * vector_node_ptr; + typedef vec_data_store vds_t; + + using binary_node::branch; + + swap_vecvec_node(expression_ptr branch0, + expression_ptr branch1) + : binary_node(details::e_swap, branch0, branch1) + , vec0_node_ptr_(0) + , vec1_node_ptr_(0) + , initialised_ (false) + { + if (is_ivector_node(branch(0))) + { + vector_interface* vi = reinterpret_cast*>(0); + + if (0 != (vi = dynamic_cast*>(branch(0)))) + { + vec0_node_ptr_ = vi->vec(); + vds() = vi->vds(); + } + } + + if (is_ivector_node(branch(1))) + { + vector_interface* vi = reinterpret_cast*>(0); + + if (0 != (vi = dynamic_cast*>(branch(1)))) + { + vec1_node_ptr_ = vi->vec(); + } + } + + if (vec0_node_ptr_ && vec1_node_ptr_) + { + initialised_ = size() <= base_size(); + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + binary_node::branch(0)->value(); + binary_node::branch(1)->value(); + + T* vec0 = vec0_node_ptr_->vds().data(); + T* vec1 = vec1_node_ptr_->vds().data(); + + assert(size() <= base_size()); + const std::size_t n = size(); + + for (std::size_t i = 0; i < n; ++i) + { + std::swap(vec0[i],vec1[i]); + } + + return vec1_node_ptr_->value(); + } + + vector_node_ptr vec() const exprtk_override + { + return vec0_node_ptr_; + } + + vector_node_ptr vec() exprtk_override + { + return vec0_node_ptr_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vecvecswap; + } + + inline bool valid() const exprtk_override + { + return initialised_ && binary_node::valid(); + } + + std::size_t size() const exprtk_override + { + return std::min( + vec0_node_ptr_->vec_holder().size(), + vec1_node_ptr_->vec_holder().size()); + } + + std::size_t base_size() const exprtk_override + { + return std::min( + vec0_node_ptr_->vec_holder().base_size(), + vec1_node_ptr_->vec_holder().base_size()); + } + + vds_t& vds() exprtk_override + { + return vds_; + } + + const vds_t& vds() const exprtk_override + { + return vds_; + } + + private: + + vector_node* vec0_node_ptr_; + vector_node* vec1_node_ptr_; + bool initialised_; + vds_t vds_; + }; + + #ifndef exprtk_disable_string_capabilities + template + class stringvar_node exprtk_final + : public expression_node + , public string_base_node + , public range_interface + { + public: + + typedef typename range_interface::range_t range_t; + + static std::string null_value; + + explicit stringvar_node() + : value_(&null_value) + {} + + explicit stringvar_node(std::string& v) + : value_(&v) + { + rp_.n0_c = std::make_pair(true,0); + rp_.n1_c = std::make_pair(true,v.size()); + rp_.cache.first = rp_.n0_c.second; + rp_.cache.second = rp_.n1_c.second; + } + + inline bool operator <(const stringvar_node& v) const + { + return this < (&v); + } + + inline T value() const exprtk_override + { + rp_.n1_c.second = (*value_).size(); + rp_.cache.second = rp_.n1_c.second; + + return std::numeric_limits::quiet_NaN(); + } + + std::string str() const exprtk_override + { + return ref(); + } + + char_cptr base() const exprtk_override + { + return &(*value_)[0]; + } + + std::size_t size() const exprtk_override + { + return ref().size(); + } + + std::string& ref() + { + return (*value_); + } + + const std::string& ref() const + { + return (*value_); + } + + range_t& range_ref() exprtk_override + { + return rp_; + } + + const range_t& range_ref() const exprtk_override + { + return rp_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_stringvar; + } + + void rebase(std::string& s) + { + value_ = &s; + rp_.n0_c = std::make_pair(true,0); + rp_.n1_c = std::make_pair(true,value_->size() - 1); + rp_.cache.first = rp_.n0_c.second; + rp_.cache.second = rp_.n1_c.second; + } + + private: + + std::string* value_; + mutable range_t rp_; + }; + + template + std::string stringvar_node::null_value = std::string(""); + + template + class string_range_node exprtk_final + : public expression_node + , public string_base_node + , public range_interface + { + public: + + typedef typename range_interface::range_t range_t; + + static std::string null_value; + + explicit string_range_node(std::string& v, const range_t& rp) + : value_(&v) + , rp_(rp) + {} + + virtual ~string_range_node() + { + rp_.free(); + } + + inline bool operator <(const string_range_node& v) const + { + return this < (&v); + } + + inline T value() const exprtk_override + { + return std::numeric_limits::quiet_NaN(); + } + + inline std::string str() const exprtk_override + { + return (*value_); + } + + char_cptr base() const exprtk_override + { + return &(*value_)[0]; + } + + std::size_t size() const exprtk_override + { + return ref().size(); + } + + inline range_t range() const + { + return rp_; + } + + inline virtual std::string& ref() + { + return (*value_); + } + + inline virtual const std::string& ref() const + { + return (*value_); + } + + inline range_t& range_ref() exprtk_override + { + return rp_; + } + + inline const range_t& range_ref() const exprtk_override + { + return rp_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_stringvarrng; + } + + private: + + std::string* value_; + range_t rp_; + }; + + template + std::string string_range_node::null_value = std::string(""); + + template + class const_string_range_node exprtk_final + : public expression_node + , public string_base_node + , public range_interface + { + public: + + typedef typename range_interface::range_t range_t; + + explicit const_string_range_node(const std::string& v, const range_t& rp) + : value_(v) + , rp_(rp) + {} + + ~const_string_range_node() + { + rp_.free(); + } + + inline T value() const exprtk_override + { + return std::numeric_limits::quiet_NaN(); + } + + std::string str() const exprtk_override + { + return value_; + } + + char_cptr base() const exprtk_override + { + return value_.data(); + } + + std::size_t size() const exprtk_override + { + return value_.size(); + } + + range_t range() const + { + return rp_; + } + + range_t& range_ref() exprtk_override + { + return rp_; + } + + const range_t& range_ref() const exprtk_override + { + return rp_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_cstringvarrng; + } + + private: + + const_string_range_node(const const_string_range_node&) exprtk_delete; + const_string_range_node& operator=(const const_string_range_node&) exprtk_delete; + + const std::string value_; + range_t rp_; + }; + + template + class generic_string_range_node exprtk_final + : public expression_node + , public string_base_node + , public range_interface + { + public: + + typedef expression_node * expression_ptr; + typedef stringvar_node * strvar_node_ptr; + typedef string_base_node* str_base_ptr; + typedef typename range_interface::range_t range_t; + typedef range_t* range_ptr; + typedef range_interface irange_t; + typedef irange_t* irange_ptr; + typedef std::pair branch_t; + + generic_string_range_node(expression_ptr str_branch, const range_t& brange) + : initialised_(false) + , str_base_ptr_ (0) + , str_range_ptr_(0) + , base_range_(brange) + { + range_.n0_c = std::make_pair(true,0); + range_.n1_c = std::make_pair(true,0); + range_.cache.first = range_.n0_c.second; + range_.cache.second = range_.n1_c.second; + + construct_branch_pair(branch_, str_branch); + + if (is_generally_string_node(branch_.first)) + { + str_base_ptr_ = dynamic_cast(branch_.first); + + if (0 == str_base_ptr_) + return; + + str_range_ptr_ = dynamic_cast(branch_.first); + + if (0 == str_range_ptr_) + return; + } + + initialised_ = (str_base_ptr_ && str_range_ptr_); + assert(valid()); + } + + ~generic_string_range_node() + { + base_range_.free(); + } + + inline T value() const exprtk_override + { + branch_.first->value(); + + std::size_t str_r0 = 0; + std::size_t str_r1 = 0; + + std::size_t r0 = 0; + std::size_t r1 = 0; + + const range_t& range = str_range_ptr_->range_ref(); + + const std::size_t base_str_size = str_base_ptr_->size(); + + if ( + range (str_r0, str_r1, base_str_size ) && + base_range_(r0 , r1 , base_str_size - str_r0) + ) + { + const std::size_t size = r1 - r0; + + range_.n1_c.second = size; + range_.cache.second = range_.n1_c.second; + + value_.assign(str_base_ptr_->base() + str_r0 + r0, size); + } + + return std::numeric_limits::quiet_NaN(); + } + + std::string str() const exprtk_override + { + return value_; + } + + char_cptr base() const exprtk_override + { + return &value_[0]; + } + + std::size_t size() const exprtk_override + { + return value_.size(); + } + + range_t& range_ref() exprtk_override + { + return range_; + } + + const range_t& range_ref() const exprtk_override + { + return range_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_strgenrange; + } + + inline bool valid() const exprtk_override + { + return initialised_ && branch_.first; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(branch_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(branch_); + } + + private: + + bool initialised_; + branch_t branch_; + str_base_ptr str_base_ptr_; + irange_ptr str_range_ptr_; + mutable range_t base_range_; + mutable range_t range_; + mutable std::string value_; + }; + + template + class string_concat_node exprtk_final + : public binary_node + , public string_base_node + , public range_interface + { + public: + + typedef typename range_interface::range_t range_t; + typedef range_interface irange_t; + typedef irange_t* irange_ptr; + typedef range_t* range_ptr; + typedef expression_node * expression_ptr; + typedef string_base_node* str_base_ptr; + + using binary_node::branch; + + string_concat_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , initialised_(false) + , str0_base_ptr_ (0) + , str1_base_ptr_ (0) + , str0_range_ptr_(0) + , str1_range_ptr_(0) + { + range_.n0_c = std::make_pair(true,0); + range_.n1_c = std::make_pair(true,0); + + range_.cache.first = range_.n0_c.second; + range_.cache.second = range_.n1_c.second; + + if (is_generally_string_node(branch(0))) + { + str0_base_ptr_ = dynamic_cast(branch(0)); + + if (0 == str0_base_ptr_) + return; + + str0_range_ptr_ = dynamic_cast(branch(0)); + + if (0 == str0_range_ptr_) + return; + } + + if (is_generally_string_node(branch(1))) + { + str1_base_ptr_ = dynamic_cast(branch(1)); + + if (0 == str1_base_ptr_) + return; + + str1_range_ptr_ = dynamic_cast(branch(1)); + + if (0 == str1_range_ptr_) + return; + } + + initialised_ = str0_base_ptr_ && + str1_base_ptr_ && + str0_range_ptr_ && + str1_range_ptr_ ; + + assert(valid()); + } + + inline T value() const exprtk_override + { + branch(0)->value(); + branch(1)->value(); + + std::size_t str0_r0 = 0; + std::size_t str0_r1 = 0; + + std::size_t str1_r0 = 0; + std::size_t str1_r1 = 0; + + const range_t& range0 = str0_range_ptr_->range_ref(); + const range_t& range1 = str1_range_ptr_->range_ref(); + + if ( + range0(str0_r0, str0_r1, str0_base_ptr_->size()) && + range1(str1_r0, str1_r1, str1_base_ptr_->size()) + ) + { + const std::size_t size0 = (str0_r1 - str0_r0); + const std::size_t size1 = (str1_r1 - str1_r0); + + value_.assign(str0_base_ptr_->base() + str0_r0, size0); + value_.append(str1_base_ptr_->base() + str1_r0, size1); + + range_.n1_c.second = value_.size(); + range_.cache.second = range_.n1_c.second; + } + + return std::numeric_limits::quiet_NaN(); + } + + std::string str() const exprtk_override + { + return value_; + } + + char_cptr base() const exprtk_override + { + return &value_[0]; + } + + std::size_t size() const exprtk_override + { + return value_.size(); + } + + range_t& range_ref() exprtk_override + { + return range_; + } + + const range_t& range_ref() const exprtk_override + { + return range_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_strconcat; + } + + inline bool valid() const exprtk_override + { + return initialised_ && binary_node::valid(); + } + + private: + + bool initialised_; + str_base_ptr str0_base_ptr_; + str_base_ptr str1_base_ptr_; + irange_ptr str0_range_ptr_; + irange_ptr str1_range_ptr_; + mutable range_t range_; + mutable std::string value_; + }; + + template + class swap_string_node exprtk_final + : public binary_node + , public string_base_node + , public range_interface + { + public: + + typedef typename range_interface::range_t range_t; + typedef range_t* range_ptr; + typedef range_interface irange_t; + typedef irange_t* irange_ptr; + typedef expression_node * expression_ptr; + typedef stringvar_node * strvar_node_ptr; + typedef string_base_node* str_base_ptr; + + using binary_node::branch; + + swap_string_node(expression_ptr branch0, expression_ptr branch1) + : binary_node(details::e_swap, branch0, branch1) + , initialised_(false) + , str0_node_ptr_(0) + , str1_node_ptr_(0) + { + if (is_string_node(branch(0))) + { + str0_node_ptr_ = static_cast(branch(0)); + } + + if (is_string_node(branch(1))) + { + str1_node_ptr_ = static_cast(branch(1)); + } + + initialised_ = (str0_node_ptr_ && str1_node_ptr_); + assert(valid()); + } + + inline T value() const exprtk_override + { + branch(0)->value(); + branch(1)->value(); + + std::swap(str0_node_ptr_->ref(), str1_node_ptr_->ref()); + + return std::numeric_limits::quiet_NaN(); + } + + std::string str() const exprtk_override + { + return str0_node_ptr_->str(); + } + + char_cptr base() const exprtk_override + { + return str0_node_ptr_->base(); + } + + std::size_t size() const exprtk_override + { + return str0_node_ptr_->size(); + } + + range_t& range_ref() exprtk_override + { + return str0_node_ptr_->range_ref(); + } + + const range_t& range_ref() const exprtk_override + { + return str0_node_ptr_->range_ref(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_strswap; + } + + inline bool valid() const exprtk_override + { + return initialised_ && binary_node::valid(); + } + + private: + + bool initialised_; + strvar_node_ptr str0_node_ptr_; + strvar_node_ptr str1_node_ptr_; + }; + + template + class swap_genstrings_node exprtk_final : public binary_node + { + public: + + typedef typename range_interface::range_t range_t; + typedef range_t* range_ptr; + typedef range_interface irange_t; + typedef irange_t* irange_ptr; + typedef expression_node * expression_ptr; + typedef string_base_node* str_base_ptr; + + using binary_node::branch; + + swap_genstrings_node(expression_ptr branch0, + expression_ptr branch1) + : binary_node(details::e_default, branch0, branch1) + , str0_base_ptr_ (0) + , str1_base_ptr_ (0) + , str0_range_ptr_(0) + , str1_range_ptr_(0) + , initialised_(false) + { + if (is_generally_string_node(branch(0))) + { + str0_base_ptr_ = dynamic_cast(branch(0)); + + if (0 == str0_base_ptr_) + return; + + irange_ptr range = dynamic_cast(branch(0)); + + if (0 == range) + return; + + str0_range_ptr_ = &(range->range_ref()); + } + + if (is_generally_string_node(branch(1))) + { + str1_base_ptr_ = dynamic_cast(branch(1)); + + if (0 == str1_base_ptr_) + return; + + irange_ptr range = dynamic_cast(branch(1)); + + if (0 == range) + return; + + str1_range_ptr_ = &(range->range_ref()); + } + + initialised_ = str0_base_ptr_ && + str1_base_ptr_ && + str0_range_ptr_ && + str1_range_ptr_ ; + + assert(valid()); + } + + inline T value() const exprtk_override + { + branch(0)->value(); + branch(1)->value(); + + std::size_t str0_r0 = 0; + std::size_t str0_r1 = 0; + + std::size_t str1_r0 = 0; + std::size_t str1_r1 = 0; + + const range_t& range0 = (*str0_range_ptr_); + const range_t& range1 = (*str1_range_ptr_); + + if ( + range0(str0_r0, str0_r1, str0_base_ptr_->size()) && + range1(str1_r0, str1_r1, str1_base_ptr_->size()) + ) + { + const std::size_t size0 = range0.cache_size(); + const std::size_t size1 = range1.cache_size(); + const std::size_t max_size = std::min(size0,size1); + + char_ptr s0 = const_cast(str0_base_ptr_->base() + str0_r0); + char_ptr s1 = const_cast(str1_base_ptr_->base() + str1_r0); + + loop_unroll::details lud(max_size); + char_cptr upper_bound = s0 + lud.upper_bound; + + while (s0 < upper_bound) + { + #define exprtk_loop(N) \ + std::swap(s0[N], s1[N]); \ + + exprtk_loop( 0) exprtk_loop( 1) + exprtk_loop( 2) exprtk_loop( 3) + #ifndef exprtk_disable_superscalar_unroll + exprtk_loop( 4) exprtk_loop( 5) + exprtk_loop( 6) exprtk_loop( 7) + exprtk_loop( 8) exprtk_loop( 9) + exprtk_loop(10) exprtk_loop(11) + exprtk_loop(12) exprtk_loop(13) + exprtk_loop(14) exprtk_loop(15) + #endif + + s0 += lud.batch_size; + s1 += lud.batch_size; + } + + int i = 0; + + switch (lud.remainder) + { + #define case_stmt(N) \ + case N : { std::swap(s0[i], s1[i]); ++i; } \ + exprtk_fallthrough \ + + #ifndef exprtk_disable_superscalar_unroll + case_stmt(15) case_stmt(14) + case_stmt(13) case_stmt(12) + case_stmt(11) case_stmt(10) + case_stmt( 9) case_stmt( 8) + case_stmt( 7) case_stmt( 6) + case_stmt( 5) case_stmt( 4) + #endif + case_stmt( 3) case_stmt( 2) + case_stmt( 1) + default: break; + } + + #undef exprtk_loop + #undef case_stmt + } + + return std::numeric_limits::quiet_NaN(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_strswap; + } + + inline bool valid() const exprtk_override + { + return initialised_ && binary_node::valid(); + } + + private: + + swap_genstrings_node(const swap_genstrings_node&) exprtk_delete; + swap_genstrings_node& operator=(const swap_genstrings_node&) exprtk_delete; + + str_base_ptr str0_base_ptr_; + str_base_ptr str1_base_ptr_; + range_ptr str0_range_ptr_; + range_ptr str1_range_ptr_; + bool initialised_; + }; + + template + class stringvar_size_node exprtk_final : public expression_node + { + public: + + static const std::string null_value; + + explicit stringvar_size_node() + : value_(&null_value) + {} + + explicit stringvar_size_node(std::string& v) + : value_(&v) + {} + + inline T value() const exprtk_override + { + return T((*value_).size()); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_stringvarsize; + } + + private: + + const std::string* value_; + }; + + template + const std::string stringvar_size_node::null_value = std::string(""); + + template + class string_size_node exprtk_final : public expression_node + { + public: + + typedef expression_node * expression_ptr; + typedef string_base_node* str_base_ptr; + typedef std::pair branch_t; + + explicit string_size_node(expression_ptr branch) + : str_base_ptr_(0) + { + construct_branch_pair(branch_, branch); + + if (is_generally_string_node(branch_.first)) + { + str_base_ptr_ = dynamic_cast(branch_.first); + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + branch_.first->value(); + return T(str_base_ptr_->size()); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_stringsize; + } + + inline bool valid() const exprtk_override + { + return str_base_ptr_; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(branch_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(branch_); + } + + private: + + branch_t branch_; + str_base_ptr str_base_ptr_; + }; + + struct asn_assignment + { + static inline void execute(std::string& s, char_cptr data, const std::size_t size) + { s.assign(data,size); } + }; + + struct asn_addassignment + { + static inline void execute(std::string& s, char_cptr data, const std::size_t size) + { s.append(data,size); } + }; + + template + class assignment_string_node exprtk_final + : public binary_node + , public string_base_node + , public range_interface + { + public: + + typedef typename range_interface::range_t range_t; + typedef range_t* range_ptr; + typedef range_interface irange_t; + typedef irange_t* irange_ptr; + typedef expression_node * expression_ptr; + typedef stringvar_node * strvar_node_ptr; + typedef string_base_node* str_base_ptr; + + using binary_node::branch; + + assignment_string_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , initialised_(false) + , str0_base_ptr_ (0) + , str1_base_ptr_ (0) + , str0_node_ptr_ (0) + , str1_range_ptr_(0) + { + if (is_string_node(branch(0))) + { + str0_node_ptr_ = static_cast(branch(0)); + str0_base_ptr_ = dynamic_cast(branch(0)); + } + + if (is_generally_string_node(branch(1))) + { + str1_base_ptr_ = dynamic_cast(branch(1)); + + if (0 == str1_base_ptr_) + return; + + irange_ptr range = dynamic_cast(branch(1)); + + if (0 == range) + return; + + str1_range_ptr_ = &(range->range_ref()); + } + + initialised_ = str0_base_ptr_ && + str1_base_ptr_ && + str0_node_ptr_ && + str1_range_ptr_ ; + + assert(valid()); + } + + inline T value() const exprtk_override + { + branch(1)->value(); + + std::size_t r0 = 0; + std::size_t r1 = 0; + + const range_t& range = (*str1_range_ptr_); + + if (range(r0, r1, str1_base_ptr_->size())) + { + AssignmentProcess::execute( + str0_node_ptr_->ref(), + str1_base_ptr_->base() + r0, (r1 - r0)); + + branch(0)->value(); + } + + return std::numeric_limits::quiet_NaN(); + } + + std::string str() const exprtk_override + { + return str0_node_ptr_->str(); + } + + char_cptr base() const exprtk_override + { + return str0_node_ptr_->base(); + } + + std::size_t size() const exprtk_override + { + return str0_node_ptr_->size(); + } + + range_t& range_ref() exprtk_override + { + return str0_node_ptr_->range_ref(); + } + + const range_t& range_ref() const exprtk_override + { + return str0_node_ptr_->range_ref(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_strass; + } + + inline bool valid() const exprtk_override + { + return initialised_ && binary_node::valid(); + } + + private: + + bool initialised_; + str_base_ptr str0_base_ptr_; + str_base_ptr str1_base_ptr_; + strvar_node_ptr str0_node_ptr_; + range_ptr str1_range_ptr_; + }; + + template + class assignment_string_range_node exprtk_final + : public binary_node + , public string_base_node + , public range_interface + { + public: + + typedef typename range_interface::range_t range_t; + typedef range_t* range_ptr; + typedef range_interface irange_t; + typedef irange_t* irange_ptr; + typedef expression_node * expression_ptr; + typedef stringvar_node * strvar_node_ptr; + typedef string_range_node* str_rng_node_ptr; + typedef string_base_node * str_base_ptr; + + using binary_node::branch; + + assignment_string_range_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , initialised_(false) + , str0_base_ptr_ (0) + , str1_base_ptr_ (0) + , str0_rng_node_ptr_(0) + , str0_range_ptr_ (0) + , str1_range_ptr_ (0) + { + if (is_string_range_node(branch(0))) + { + str0_rng_node_ptr_ = static_cast(branch(0)); + str0_base_ptr_ = dynamic_cast(branch(0)); + irange_ptr range = dynamic_cast(branch(0)); + + if (0 == range) + return; + + str0_range_ptr_ = &(range->range_ref()); + } + + if (is_generally_string_node(branch(1))) + { + str1_base_ptr_ = dynamic_cast(branch(1)); + + if (0 == str1_base_ptr_) + return; + + irange_ptr range = dynamic_cast(branch(1)); + + if (0 == range) + return; + + str1_range_ptr_ = &(range->range_ref()); + } + + initialised_ = str0_base_ptr_ && + str1_base_ptr_ && + str0_rng_node_ptr_ && + str0_range_ptr_ && + str1_range_ptr_ ; + + assert(valid()); + } + + inline T value() const exprtk_override + { + branch(0)->value(); + branch(1)->value(); + + std::size_t s0_r0 = 0; + std::size_t s0_r1 = 0; + + std::size_t s1_r0 = 0; + std::size_t s1_r1 = 0; + + const range_t& range0 = (*str0_range_ptr_); + const range_t& range1 = (*str1_range_ptr_); + + if ( + range0(s0_r0, s0_r1, str0_base_ptr_->size()) && + range1(s1_r0, s1_r1, str1_base_ptr_->size()) + ) + { + const std::size_t size = std::min((s0_r1 - s0_r0), (s1_r1 - s1_r0)); + + std::copy( + str1_base_ptr_->base() + s1_r0, + str1_base_ptr_->base() + s1_r0 + size, + const_cast(base() + s0_r0)); + } + + return std::numeric_limits::quiet_NaN(); + } + + std::string str() const exprtk_override + { + return str0_base_ptr_->str(); + } + + char_cptr base() const exprtk_override + { + return str0_base_ptr_->base(); + } + + std::size_t size() const exprtk_override + { + return str0_base_ptr_->size(); + } + + range_t& range_ref() exprtk_override + { + return str0_rng_node_ptr_->range_ref(); + } + + const range_t& range_ref() const exprtk_override + { + return str0_rng_node_ptr_->range_ref(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_strass; + } + + inline bool valid() const exprtk_override + { + return initialised_ && binary_node::valid(); + } + + private: + + bool initialised_; + str_base_ptr str0_base_ptr_; + str_base_ptr str1_base_ptr_; + str_rng_node_ptr str0_rng_node_ptr_; + range_ptr str0_range_ptr_; + range_ptr str1_range_ptr_; + }; + + template + class conditional_string_node exprtk_final + : public trinary_node + , public string_base_node + , public range_interface + { + public: + + typedef typename range_interface::range_t range_t; + typedef range_t* range_ptr; + typedef range_interface irange_t; + typedef irange_t* irange_ptr; + typedef expression_node * expression_ptr; + typedef string_base_node* str_base_ptr; + + conditional_string_node(expression_ptr condition, + expression_ptr consequent, + expression_ptr alternative) + : trinary_node(details::e_default, consequent, alternative, condition) + , initialised_(false) + , str0_base_ptr_ (0) + , str1_base_ptr_ (0) + , str0_range_ptr_(0) + , str1_range_ptr_(0) + , condition_ (condition ) + , consequent_ (consequent ) + , alternative_(alternative) + { + range_.n0_c = std::make_pair(true,0); + range_.n1_c = std::make_pair(true,0); + + range_.cache.first = range_.n0_c.second; + range_.cache.second = range_.n1_c.second; + + if (is_generally_string_node(trinary_node::branch_[0].first)) + { + str0_base_ptr_ = dynamic_cast(trinary_node::branch_[0].first); + + if (0 == str0_base_ptr_) + return; + + str0_range_ptr_ = dynamic_cast(trinary_node::branch_[0].first); + + if (0 == str0_range_ptr_) + return; + } + + if (is_generally_string_node(trinary_node::branch_[1].first)) + { + str1_base_ptr_ = dynamic_cast(trinary_node::branch_[1].first); + + if (0 == str1_base_ptr_) + return; + + str1_range_ptr_ = dynamic_cast(trinary_node::branch_[1].first); + + if (0 == str1_range_ptr_) + return; + } + + initialised_ = str0_base_ptr_ && + str1_base_ptr_ && + str0_range_ptr_ && + str1_range_ptr_ ; + + assert(valid()); + } + + inline T value() const exprtk_override + { + std::size_t r0 = 0; + std::size_t r1 = 0; + + if (is_true(condition_)) + { + consequent_->value(); + + const range_t& range = str0_range_ptr_->range_ref(); + + if (range(r0, r1, str0_base_ptr_->size())) + { + const std::size_t size = (r1 - r0); + + value_.assign(str0_base_ptr_->base() + r0, size); + + range_.n1_c.second = value_.size(); + range_.cache.second = range_.n1_c.second; + + return T(1); + } + } + else + { + alternative_->value(); + + const range_t& range = str1_range_ptr_->range_ref(); + + if (range(r0, r1, str1_base_ptr_->size())) + { + const std::size_t size = (r1 - r0); + + value_.assign(str1_base_ptr_->base() + r0, size); + + range_.n1_c.second = value_.size(); + range_.cache.second = range_.n1_c.second; + + return T(0); + } + } + + return std::numeric_limits::quiet_NaN(); + } + + std::string str() const exprtk_override + { + return value_; + } + + char_cptr base() const exprtk_override + { + return &value_[0]; + } + + std::size_t size() const exprtk_override + { + return value_.size(); + } + + range_t& range_ref() exprtk_override + { + return range_; + } + + const range_t& range_ref() const exprtk_override + { + return range_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_strcondition; + } + + inline bool valid() const exprtk_override + { + return + initialised_ && + condition_ && condition_ ->valid() && + consequent_ && consequent_ ->valid() && + alternative_&& alternative_->valid() ; + } + + private: + + bool initialised_; + str_base_ptr str0_base_ptr_; + str_base_ptr str1_base_ptr_; + irange_ptr str0_range_ptr_; + irange_ptr str1_range_ptr_; + mutable range_t range_; + mutable std::string value_; + + expression_ptr condition_; + expression_ptr consequent_; + expression_ptr alternative_; + }; + + template + class cons_conditional_str_node exprtk_final + : public binary_node + , public string_base_node + , public range_interface + { + public: + + typedef typename range_interface::range_t range_t; + typedef range_t* range_ptr; + typedef range_interface irange_t; + typedef irange_t* irange_ptr; + typedef expression_node * expression_ptr; + typedef string_base_node* str_base_ptr; + + using binary_node::branch; + + cons_conditional_str_node(expression_ptr condition, + expression_ptr consequent) + : binary_node(details::e_default, consequent, condition) + , initialised_(false) + , str0_base_ptr_ (0) + , str0_range_ptr_(0) + , condition_ (condition ) + , consequent_(consequent) + { + range_.n0_c = std::make_pair(true,0); + range_.n1_c = std::make_pair(true,0); + + range_.cache.first = range_.n0_c.second; + range_.cache.second = range_.n1_c.second; + + if (is_generally_string_node(branch(0))) + { + str0_base_ptr_ = dynamic_cast(branch(0)); + + if (0 == str0_base_ptr_) + return; + + str0_range_ptr_ = dynamic_cast(branch(0)); + + if (0 == str0_range_ptr_) + return; + } + + initialised_ = str0_base_ptr_ && str0_range_ptr_ ; + assert(valid()); + } + + inline T value() const exprtk_override + { + if (is_true(condition_)) + { + consequent_->value(); + + const range_t& range = str0_range_ptr_->range_ref(); + + std::size_t r0 = 0; + std::size_t r1 = 0; + + if (range(r0, r1, str0_base_ptr_->size())) + { + const std::size_t size = (r1 - r0); + + value_.assign(str0_base_ptr_->base() + r0, size); + + range_.n1_c.second = value_.size(); + range_.cache.second = range_.n1_c.second; + + return T(1); + } + } + + return std::numeric_limits::quiet_NaN(); + } + + std::string str() const + { + return value_; + } + + char_cptr base() const + { + return &value_[0]; + } + + std::size_t size() const + { + return value_.size(); + } + + range_t& range_ref() + { + return range_; + } + + const range_t& range_ref() const + { + return range_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_strccondition; + } + + inline bool valid() const exprtk_override + { + return + initialised_ && + condition_ && condition_ ->valid() && + consequent_ && consequent_ ->valid() ; + } + + private: + + bool initialised_; + str_base_ptr str0_base_ptr_; + irange_ptr str0_range_ptr_; + mutable range_t range_; + mutable std::string value_; + + expression_ptr condition_; + expression_ptr consequent_; + }; + + template + class str_vararg_node exprtk_final + : public expression_node + , public string_base_node + , public range_interface + { + public: + + typedef typename range_interface::range_t range_t; + typedef range_t* range_ptr; + typedef range_interface irange_t; + typedef irange_t* irange_ptr; + typedef expression_node * expression_ptr; + typedef string_base_node* str_base_ptr; + typedef std::pair branch_t; + + template class Sequence> + explicit str_vararg_node(const Sequence& arg_list) + : initialised_(false) + , str_base_ptr_ (0) + , str_range_ptr_(0) + { + construct_branch_pair(final_node_, const_cast(arg_list.back())); + + if (0 == final_node_.first) + return; + else if (!is_generally_string_node(final_node_.first)) + return; + + str_base_ptr_ = dynamic_cast(final_node_.first); + + if (0 == str_base_ptr_) + return; + + str_range_ptr_ = dynamic_cast(final_node_.first); + + if (0 == str_range_ptr_) + return; + + if (arg_list.size() > 1) + { + const std::size_t arg_list_size = arg_list.size() - 1; + + arg_list_.resize(arg_list_size); + + for (std::size_t i = 0; i < arg_list_size; ++i) + { + if (arg_list[i] && arg_list[i]->valid()) + { + construct_branch_pair(arg_list_[i], arg_list[i]); + } + else + { + arg_list_.clear(); + return; + } + } + + initialised_ = true; + } + + initialised_ &= str_base_ptr_ && str_range_ptr_; + assert(valid()); + } + + inline T value() const exprtk_override + { + if (!arg_list_.empty()) + { + VarArgFunction::process(arg_list_); + } + + final_node_.first->value(); + + return std::numeric_limits::quiet_NaN(); + } + + std::string str() const exprtk_override + { + return str_base_ptr_->str(); + } + + char_cptr base() const exprtk_override + { + return str_base_ptr_->base(); + } + + std::size_t size() const exprtk_override + { + return str_base_ptr_->size(); + } + + range_t& range_ref() exprtk_override + { + return str_range_ptr_->range_ref(); + } + + const range_t& range_ref() const exprtk_override + { + return str_range_ptr_->range_ref(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_stringvararg; + } + + inline bool valid() const exprtk_override + { + return + initialised_ && + final_node_.first && final_node_.first->valid(); + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(final_node_ , node_delete_list); + expression_node::ndb_t::collect(arg_list_ , node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return std::max( + expression_node::ndb_t::compute_node_depth(final_node_), + expression_node::ndb_t::compute_node_depth(arg_list_ )); + } + + private: + + bool initialised_; + branch_t final_node_; + str_base_ptr str_base_ptr_; + irange_ptr str_range_ptr_; + std::vector arg_list_; + }; + #endif + + template + inline T axn(const T a, const T x) + { + // a*x^n + return a * exprtk::details::numeric::fast_exp::result(x); + } + + template + inline T axnb(const T a, const T x, const T b) + { + // a*x^n+b + return a * exprtk::details::numeric::fast_exp::result(x) + b; + } + + template + struct sf_base + { + typedef typename details::functor_t::Type Type; + typedef typename details::functor_t functor_t; + typedef typename functor_t::qfunc_t quaternary_functor_t; + typedef typename functor_t::tfunc_t trinary_functor_t; + typedef typename functor_t::bfunc_t binary_functor_t; + typedef typename functor_t::ufunc_t unary_functor_t; + }; + + #define define_sfop3(NN, OP0, OP1) \ + template \ + struct sf##NN##_op : public sf_base \ + { \ + typedef typename sf_base::Type const Type; \ + static inline T process(Type x, Type y, Type z) \ + { \ + return (OP0); \ + } \ + static inline std::string id() \ + { \ + return (OP1); \ + } \ + }; \ + + define_sfop3(00,(x + y) / z ,"(t+t)/t") + define_sfop3(01,(x + y) * z ,"(t+t)*t") + define_sfop3(02,(x + y) - z ,"(t+t)-t") + define_sfop3(03,(x + y) + z ,"(t+t)+t") + define_sfop3(04,(x - y) + z ,"(t-t)+t") + define_sfop3(05,(x - y) / z ,"(t-t)/t") + define_sfop3(06,(x - y) * z ,"(t-t)*t") + define_sfop3(07,(x * y) + z ,"(t*t)+t") + define_sfop3(08,(x * y) - z ,"(t*t)-t") + define_sfop3(09,(x * y) / z ,"(t*t)/t") + define_sfop3(10,(x * y) * z ,"(t*t)*t") + define_sfop3(11,(x / y) + z ,"(t/t)+t") + define_sfop3(12,(x / y) - z ,"(t/t)-t") + define_sfop3(13,(x / y) / z ,"(t/t)/t") + define_sfop3(14,(x / y) * z ,"(t/t)*t") + define_sfop3(15,x / (y + z) ,"t/(t+t)") + define_sfop3(16,x / (y - z) ,"t/(t-t)") + define_sfop3(17,x / (y * z) ,"t/(t*t)") + define_sfop3(18,x / (y / z) ,"t/(t/t)") + define_sfop3(19,x * (y + z) ,"t*(t+t)") + define_sfop3(20,x * (y - z) ,"t*(t-t)") + define_sfop3(21,x * (y * z) ,"t*(t*t)") + define_sfop3(22,x * (y / z) ,"t*(t/t)") + define_sfop3(23,x - (y + z) ,"t-(t+t)") + define_sfop3(24,x - (y - z) ,"t-(t-t)") + define_sfop3(25,x - (y / z) ,"t-(t/t)") + define_sfop3(26,x - (y * z) ,"t-(t*t)") + define_sfop3(27,x + (y * z) ,"t+(t*t)") + define_sfop3(28,x + (y / z) ,"t+(t/t)") + define_sfop3(29,x + (y + z) ,"t+(t+t)") + define_sfop3(30,x + (y - z) ,"t+(t-t)") + define_sfop3(31,(axnb(x,y,z))," ") + define_sfop3(32,(axnb(x,y,z))," ") + define_sfop3(33,(axnb(x,y,z))," ") + define_sfop3(34,(axnb(x,y,z))," ") + define_sfop3(35,(axnb(x,y,z))," ") + define_sfop3(36,(axnb(x,y,z))," ") + define_sfop3(37,(axnb(x,y,z))," ") + define_sfop3(38,(axnb(x,y,z))," ") + define_sfop3(39,x * numeric::log(y) + z,"") + define_sfop3(40,x * numeric::log(y) - z,"") + define_sfop3(41,x * numeric::log10(y) + z,"") + define_sfop3(42,x * numeric::log10(y) - z,"") + define_sfop3(43,x * numeric::sin(y) + z ,"") + define_sfop3(44,x * numeric::sin(y) - z ,"") + define_sfop3(45,x * numeric::cos(y) + z ,"") + define_sfop3(46,x * numeric::cos(y) - z ,"") + define_sfop3(47,details::is_true(x) ? y : z,"") + + #define define_sfop4(NN, OP0, OP1) \ + template \ + struct sf##NN##_op : public sf_base \ + { \ + typedef typename sf_base::Type const Type; \ + static inline T process(Type x, Type y, Type z, Type w) \ + { \ + return (OP0); \ + } \ + static inline std::string id() \ + { \ + return (OP1); \ + } \ + }; \ + + define_sfop4(48,(x + ((y + z) / w)),"t+((t+t)/t)") + define_sfop4(49,(x + ((y + z) * w)),"t+((t+t)*t)") + define_sfop4(50,(x + ((y - z) / w)),"t+((t-t)/t)") + define_sfop4(51,(x + ((y - z) * w)),"t+((t-t)*t)") + define_sfop4(52,(x + ((y * z) / w)),"t+((t*t)/t)") + define_sfop4(53,(x + ((y * z) * w)),"t+((t*t)*t)") + define_sfop4(54,(x + ((y / z) + w)),"t+((t/t)+t)") + define_sfop4(55,(x + ((y / z) / w)),"t+((t/t)/t)") + define_sfop4(56,(x + ((y / z) * w)),"t+((t/t)*t)") + define_sfop4(57,(x - ((y + z) / w)),"t-((t+t)/t)") + define_sfop4(58,(x - ((y + z) * w)),"t-((t+t)*t)") + define_sfop4(59,(x - ((y - z) / w)),"t-((t-t)/t)") + define_sfop4(60,(x - ((y - z) * w)),"t-((t-t)*t)") + define_sfop4(61,(x - ((y * z) / w)),"t-((t*t)/t)") + define_sfop4(62,(x - ((y * z) * w)),"t-((t*t)*t)") + define_sfop4(63,(x - ((y / z) / w)),"t-((t/t)/t)") + define_sfop4(64,(x - ((y / z) * w)),"t-((t/t)*t)") + define_sfop4(65,(((x + y) * z) - w),"((t+t)*t)-t") + define_sfop4(66,(((x - y) * z) - w),"((t-t)*t)-t") + define_sfop4(67,(((x * y) * z) - w),"((t*t)*t)-t") + define_sfop4(68,(((x / y) * z) - w),"((t/t)*t)-t") + define_sfop4(69,(((x + y) / z) - w),"((t+t)/t)-t") + define_sfop4(70,(((x - y) / z) - w),"((t-t)/t)-t") + define_sfop4(71,(((x * y) / z) - w),"((t*t)/t)-t") + define_sfop4(72,(((x / y) / z) - w),"((t/t)/t)-t") + define_sfop4(73,((x * y) + (z * w)),"(t*t)+(t*t)") + define_sfop4(74,((x * y) - (z * w)),"(t*t)-(t*t)") + define_sfop4(75,((x * y) + (z / w)),"(t*t)+(t/t)") + define_sfop4(76,((x * y) - (z / w)),"(t*t)-(t/t)") + define_sfop4(77,((x / y) + (z / w)),"(t/t)+(t/t)") + define_sfop4(78,((x / y) - (z / w)),"(t/t)-(t/t)") + define_sfop4(79,((x / y) - (z * w)),"(t/t)-(t*t)") + define_sfop4(80,(x / (y + (z * w))),"t/(t+(t*t))") + define_sfop4(81,(x / (y - (z * w))),"t/(t-(t*t))") + define_sfop4(82,(x * (y + (z * w))),"t*(t+(t*t))") + define_sfop4(83,(x * (y - (z * w))),"t*(t-(t*t))") + + define_sfop4(84,(axn(x,y) + axn(z,w)),"") + define_sfop4(85,(axn(x,y) + axn(z,w)),"") + define_sfop4(86,(axn(x,y) + axn(z,w)),"") + define_sfop4(87,(axn(x,y) + axn(z,w)),"") + define_sfop4(88,(axn(x,y) + axn(z,w)),"") + define_sfop4(89,(axn(x,y) + axn(z,w)),"") + define_sfop4(90,(axn(x,y) + axn(z,w)),"") + define_sfop4(91,(axn(x,y) + axn(z,w)),"") + define_sfop4(92,((details::is_true(x) && details::is_true(y)) ? z : w),"") + define_sfop4(93,((details::is_true(x) || details::is_true(y)) ? z : w),"") + define_sfop4(94,((x < y) ? z : w),"") + define_sfop4(95,((x <= y) ? z : w),"") + define_sfop4(96,((x > y) ? z : w),"") + define_sfop4(97,((x >= y) ? z : w),"") + define_sfop4(98,(details::is_true(numeric::equal(x,y)) ? z : w),"") + define_sfop4(99,(x * numeric::sin(y) + z * numeric::cos(w)),"") + + define_sfop4(ext00,((x + y) - (z * w)),"(t+t)-(t*t)") + define_sfop4(ext01,((x + y) - (z / w)),"(t+t)-(t/t)") + define_sfop4(ext02,((x + y) + (z * w)),"(t+t)+(t*t)") + define_sfop4(ext03,((x + y) + (z / w)),"(t+t)+(t/t)") + define_sfop4(ext04,((x - y) + (z * w)),"(t-t)+(t*t)") + define_sfop4(ext05,((x - y) + (z / w)),"(t-t)+(t/t)") + define_sfop4(ext06,((x - y) - (z * w)),"(t-t)-(t*t)") + define_sfop4(ext07,((x - y) - (z / w)),"(t-t)-(t/t)") + define_sfop4(ext08,((x + y) - (z - w)),"(t+t)-(t-t)") + define_sfop4(ext09,((x + y) + (z - w)),"(t+t)+(t-t)") + define_sfop4(ext10,((x + y) + (z + w)),"(t+t)+(t+t)") + define_sfop4(ext11,((x + y) * (z - w)),"(t+t)*(t-t)") + define_sfop4(ext12,((x + y) / (z - w)),"(t+t)/(t-t)") + define_sfop4(ext13,((x - y) - (z + w)),"(t-t)-(t+t)") + define_sfop4(ext14,((x - y) + (z + w)),"(t-t)+(t+t)") + define_sfop4(ext15,((x - y) * (z + w)),"(t-t)*(t+t)") + define_sfop4(ext16,((x - y) / (z + w)),"(t-t)/(t+t)") + define_sfop4(ext17,((x * y) - (z + w)),"(t*t)-(t+t)") + define_sfop4(ext18,((x / y) - (z + w)),"(t/t)-(t+t)") + define_sfop4(ext19,((x * y) + (z + w)),"(t*t)+(t+t)") + define_sfop4(ext20,((x / y) + (z + w)),"(t/t)+(t+t)") + define_sfop4(ext21,((x * y) + (z - w)),"(t*t)+(t-t)") + define_sfop4(ext22,((x / y) + (z - w)),"(t/t)+(t-t)") + define_sfop4(ext23,((x * y) - (z - w)),"(t*t)-(t-t)") + define_sfop4(ext24,((x / y) - (z - w)),"(t/t)-(t-t)") + define_sfop4(ext25,((x + y) * (z * w)),"(t+t)*(t*t)") + define_sfop4(ext26,((x + y) * (z / w)),"(t+t)*(t/t)") + define_sfop4(ext27,((x + y) / (z * w)),"(t+t)/(t*t)") + define_sfop4(ext28,((x + y) / (z / w)),"(t+t)/(t/t)") + define_sfop4(ext29,((x - y) / (z * w)),"(t-t)/(t*t)") + define_sfop4(ext30,((x - y) / (z / w)),"(t-t)/(t/t)") + define_sfop4(ext31,((x - y) * (z * w)),"(t-t)*(t*t)") + define_sfop4(ext32,((x - y) * (z / w)),"(t-t)*(t/t)") + define_sfop4(ext33,((x * y) * (z + w)),"(t*t)*(t+t)") + define_sfop4(ext34,((x / y) * (z + w)),"(t/t)*(t+t)") + define_sfop4(ext35,((x * y) / (z + w)),"(t*t)/(t+t)") + define_sfop4(ext36,((x / y) / (z + w)),"(t/t)/(t+t)") + define_sfop4(ext37,((x * y) / (z - w)),"(t*t)/(t-t)") + define_sfop4(ext38,((x / y) / (z - w)),"(t/t)/(t-t)") + define_sfop4(ext39,((x * y) * (z - w)),"(t*t)*(t-t)") + define_sfop4(ext40,((x * y) / (z * w)),"(t*t)/(t*t)") + define_sfop4(ext41,((x / y) * (z / w)),"(t/t)*(t/t)") + define_sfop4(ext42,((x / y) * (z - w)),"(t/t)*(t-t)") + define_sfop4(ext43,((x * y) * (z * w)),"(t*t)*(t*t)") + define_sfop4(ext44,(x + (y * (z / w))),"t+(t*(t/t))") + define_sfop4(ext45,(x - (y * (z / w))),"t-(t*(t/t))") + define_sfop4(ext46,(x + (y / (z * w))),"t+(t/(t*t))") + define_sfop4(ext47,(x - (y / (z * w))),"t-(t/(t*t))") + define_sfop4(ext48,(((x - y) - z) * w),"((t-t)-t)*t") + define_sfop4(ext49,(((x - y) - z) / w),"((t-t)-t)/t") + define_sfop4(ext50,(((x - y) + z) * w),"((t-t)+t)*t") + define_sfop4(ext51,(((x - y) + z) / w),"((t-t)+t)/t") + define_sfop4(ext52,((x + (y - z)) * w),"(t+(t-t))*t") + define_sfop4(ext53,((x + (y - z)) / w),"(t+(t-t))/t") + define_sfop4(ext54,((x + y) / (z + w)),"(t+t)/(t+t)") + define_sfop4(ext55,((x - y) / (z - w)),"(t-t)/(t-t)") + define_sfop4(ext56,((x + y) * (z + w)),"(t+t)*(t+t)") + define_sfop4(ext57,((x - y) * (z - w)),"(t-t)*(t-t)") + define_sfop4(ext58,((x - y) + (z - w)),"(t-t)+(t-t)") + define_sfop4(ext59,((x - y) - (z - w)),"(t-t)-(t-t)") + define_sfop4(ext60,((x / y) + (z * w)),"(t/t)+(t*t)") + define_sfop4(ext61,(((x * y) * z) / w),"((t*t)*t)/t") + + #undef define_sfop3 + #undef define_sfop4 + + template + class sf3_node exprtk_final : public trinary_node + { + public: + + typedef expression_node* expression_ptr; + + sf3_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1, + expression_ptr branch2) + : trinary_node(opr, branch0, branch1, branch2) + {} + + inline T value() const exprtk_override + { + const T x = trinary_node::branch_[0].first->value(); + const T y = trinary_node::branch_[1].first->value(); + const T z = trinary_node::branch_[2].first->value(); + + return SpecialFunction::process(x, y, z); + } + }; + + template + class sf4_node exprtk_final : public quaternary_node + { + public: + + typedef expression_node* expression_ptr; + + sf4_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1, + expression_ptr branch2, + expression_ptr branch3) + : quaternary_node(opr, branch0, branch1, branch2, branch3) + {} + + inline T value() const exprtk_override + { + const T x = quaternary_node::branch_[0].first->value(); + const T y = quaternary_node::branch_[1].first->value(); + const T z = quaternary_node::branch_[2].first->value(); + const T w = quaternary_node::branch_[3].first->value(); + + return SpecialFunction::process(x, y, z, w); + } + }; + + template + class sf3_var_node exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + + sf3_var_node(const T& v0, const T& v1, const T& v2) + : v0_(v0) + , v1_(v1) + , v2_(v2) + {} + + inline T value() const exprtk_override + { + return SpecialFunction::process(v0_, v1_, v2_); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_trinary; + } + + private: + + sf3_var_node(const sf3_var_node&) exprtk_delete; + sf3_var_node& operator=(const sf3_var_node&) exprtk_delete; + + const T& v0_; + const T& v1_; + const T& v2_; + }; + + template + class sf4_var_node exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + + sf4_var_node(const T& v0, const T& v1, const T& v2, const T& v3) + : v0_(v0) + , v1_(v1) + , v2_(v2) + , v3_(v3) + {} + + inline T value() const exprtk_override + { + return SpecialFunction::process(v0_, v1_, v2_, v3_); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_trinary; + } + + private: + + sf4_var_node(const sf4_var_node&) exprtk_delete; + sf4_var_node& operator=(const sf4_var_node&) exprtk_delete; + + const T& v0_; + const T& v1_; + const T& v2_; + const T& v3_; + }; + + template + class vararg_node exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + + template class Sequence> + explicit vararg_node(const Sequence& arg_list) + : initialised_(false) + { + arg_list_.resize(arg_list.size()); + + for (std::size_t i = 0; i < arg_list.size(); ++i) + { + if (arg_list[i] && arg_list[i]->valid()) + { + construct_branch_pair(arg_list_[i],arg_list[i]); + } + else + { + arg_list_.clear(); + return; + } + } + + initialised_ = (arg_list_.size() == arg_list.size()); + assert(valid()); + } + + inline T value() const exprtk_override + { + return VarArgFunction::process(arg_list_); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vararg; + } + + inline bool valid() const exprtk_override + { + return initialised_; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(arg_list_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(arg_list_); + } + + private: + + std::vector arg_list_; + bool initialised_; + }; + + template + class vararg_varnode exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + + template class Sequence> + explicit vararg_varnode(const Sequence& arg_list) + : initialised_(false) + { + arg_list_.resize(arg_list.size()); + + for (std::size_t i = 0; i < arg_list.size(); ++i) + { + if (arg_list[i] && arg_list[i]->valid() && is_variable_node(arg_list[i])) + { + variable_node* var_node_ptr = static_cast*>(arg_list[i]); + arg_list_[i] = (&var_node_ptr->ref()); + } + else + { + arg_list_.clear(); + return; + } + } + + initialised_ = (arg_list.size() == arg_list_.size()); + assert(valid()); + } + + inline T value() const exprtk_override + { + return VarArgFunction::process(arg_list_); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vararg; + } + + inline bool valid() const exprtk_override + { + return initialised_; + } + + private: + + std::vector arg_list_; + bool initialised_; + }; + + template + class vectorize_node exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + + explicit vectorize_node(const expression_ptr v) + : ivec_ptr_(0) + { + construct_branch_pair(v_, v); + + if (is_ivector_node(v_.first)) + { + ivec_ptr_ = dynamic_cast*>(v_.first); + } + } + + inline T value() const exprtk_override + { + v_.first->value(); + return VecFunction::process(ivec_ptr_); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vecfunc; + } + + inline bool valid() const exprtk_override + { + return ivec_ptr_ && v_.first && v_.first->valid(); + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(v_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(v_); + } + + private: + + vector_interface* ivec_ptr_; + branch_t v_; + }; + + template + class assignment_node exprtk_final : public binary_node + { + public: + + typedef expression_node* expression_ptr; + using binary_node::branch; + + assignment_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , var_node_ptr_(0) + { + if (is_variable_node(branch(0))) + { + var_node_ptr_ = static_cast*>(branch(0)); + } + } + + inline T value() const exprtk_override + { + T& result = var_node_ptr_->ref(); + result = branch(1)->value(); + + return result; + } + + inline bool valid() const exprtk_override + { + return var_node_ptr_ && binary_node::valid(); + } + + private: + + variable_node* var_node_ptr_; + }; + + template + class assignment_vec_elem_node exprtk_final : public binary_node + { + public: + + typedef expression_node* expression_ptr; + using binary_node::branch; + + assignment_vec_elem_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , vec_node_ptr_(0) + { + if (is_vector_elem_node(branch(0))) + { + vec_node_ptr_ = static_cast*>(branch(0)); + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + T& result = vec_node_ptr_->ref(); + result = branch(1)->value(); + + return result; + } + + inline bool valid() const exprtk_override + { + return vec_node_ptr_ && binary_node::valid(); + } + + private: + + vector_elem_node* vec_node_ptr_; + }; + + template + class assignment_vec_elem_rtc_node exprtk_final : public binary_node + { + public: + + typedef expression_node* expression_ptr; + using binary_node::branch; + + assignment_vec_elem_rtc_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , vec_node_ptr_(0) + { + if (is_vector_elem_rtc_node(branch(0))) + { + vec_node_ptr_ = static_cast*>(branch(0)); + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + T& result = vec_node_ptr_->ref(); + result = branch(1)->value(); + + return result; + } + + inline bool valid() const exprtk_override + { + return vec_node_ptr_ && binary_node::valid(); + } + + private: + + vector_elem_rtc_node* vec_node_ptr_; + }; + + template + class assignment_rebasevec_elem_node exprtk_final : public binary_node + { + public: + + typedef expression_node* expression_ptr; + using expression_node::branch; + + assignment_rebasevec_elem_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , rbvec_node_ptr_(0) + { + if (is_rebasevector_elem_node(branch(0))) + { + rbvec_node_ptr_ = static_cast*>(branch(0)); + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + T& result = rbvec_node_ptr_->ref(); + result = branch(1)->value(); + + return result; + } + + inline bool valid() const exprtk_override + { + return rbvec_node_ptr_ && binary_node::valid(); + } + + private: + + rebasevector_elem_node* rbvec_node_ptr_; + }; + + template + class assignment_rebasevec_elem_rtc_node exprtk_final : public binary_node + { + public: + + typedef expression_node* expression_ptr; + using expression_node::branch; + + assignment_rebasevec_elem_rtc_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , rbvec_node_ptr_(0) + { + if (is_rebasevector_elem_rtc_node(branch(0))) + { + rbvec_node_ptr_ = static_cast*>(branch(0)); + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + T& result = rbvec_node_ptr_->ref(); + result = branch(1)->value(); + + return result; + } + + inline bool valid() const exprtk_override + { + return rbvec_node_ptr_ && binary_node::valid(); + } + + private: + + rebasevector_elem_rtc_node* rbvec_node_ptr_; + }; + + template + class assignment_rebasevec_celem_node exprtk_final : public binary_node + { + public: + + typedef expression_node* expression_ptr; + using binary_node::branch; + + assignment_rebasevec_celem_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , rbvec_node_ptr_(0) + { + if (is_rebasevector_celem_node(branch(0))) + { + rbvec_node_ptr_ = static_cast*>(branch(0)); + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + T& result = rbvec_node_ptr_->ref(); + result = branch(1)->value(); + + return result; + } + + inline bool valid() const exprtk_override + { + return rbvec_node_ptr_ && binary_node::valid(); + } + + private: + + rebasevector_celem_node* rbvec_node_ptr_; + }; + + template + class assignment_vec_node exprtk_final + : public binary_node + , public vector_interface + { + public: + + typedef expression_node* expression_ptr; + typedef vector_node* vector_node_ptr; + typedef vec_data_store vds_t; + + using binary_node::branch; + + assignment_vec_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , vec_node_ptr_(0) + { + if (is_vector_node(branch(0))) + { + vec_node_ptr_ = static_cast*>(branch(0)); + vds() = vec_node_ptr_->vds(); + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + const T v = branch(1)->value(); + + T* vec = vds().data(); + + loop_unroll::details lud(size()); + const T* upper_bound = vec + lud.upper_bound; + + while (vec < upper_bound) + { + #define exprtk_loop(N) \ + vec[N] = v; \ + + exprtk_loop( 0) exprtk_loop( 1) + exprtk_loop( 2) exprtk_loop( 3) + #ifndef exprtk_disable_superscalar_unroll + exprtk_loop( 4) exprtk_loop( 5) + exprtk_loop( 6) exprtk_loop( 7) + exprtk_loop( 8) exprtk_loop( 9) + exprtk_loop(10) exprtk_loop(11) + exprtk_loop(12) exprtk_loop(13) + exprtk_loop(14) exprtk_loop(15) + #endif + + vec += lud.batch_size; + } + + switch (lud.remainder) + { + #define case_stmt(N) \ + case N : *vec++ = v; \ + exprtk_fallthrough \ + + #ifndef exprtk_disable_superscalar_unroll + case_stmt(15) case_stmt(14) + case_stmt(13) case_stmt(12) + case_stmt(11) case_stmt(10) + case_stmt( 9) case_stmt( 8) + case_stmt( 7) case_stmt( 6) + case_stmt( 5) case_stmt( 4) + #endif + case_stmt( 3) case_stmt( 2) + case 1 : *vec++ = v; + } + + #undef exprtk_loop + #undef case_stmt + + return vec_node_ptr_->value(); + } + + vector_node_ptr vec() const exprtk_override + { + return vec_node_ptr_; + } + + vector_node_ptr vec() exprtk_override + { + return vec_node_ptr_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vecvalass; + } + + inline bool valid() const exprtk_override + { + return + vec_node_ptr_ && + (vds().size() <= vec_node_ptr_->vec_holder().base_size()) && + binary_node::valid(); + } + + std::size_t size() const exprtk_override + { + return vec_node_ptr_->vec_holder().size(); + } + + std::size_t base_size() const exprtk_override + { + return vec_node_ptr_->vec_holder().base_size(); + } + + vds_t& vds() exprtk_override + { + return vds_; + } + + const vds_t& vds() const exprtk_override + { + return vds_; + } + + private: + + vector_node* vec_node_ptr_; + vds_t vds_; + }; + + template + class assignment_vecvec_node exprtk_final + : public binary_node + , public vector_interface + { + public: + + typedef expression_node* expression_ptr; + typedef vector_node* vector_node_ptr; + typedef vec_data_store vds_t; + + using binary_node::branch; + + assignment_vecvec_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , vec0_node_ptr_(0) + , vec1_node_ptr_(0) + , initialised_(false) + , src_is_ivec_(false) + { + if (is_vector_node(branch(0))) + { + vec0_node_ptr_ = static_cast*>(branch(0)); + vds() = vec0_node_ptr_->vds(); + } + + if (is_vector_node(branch(1))) + { + vec1_node_ptr_ = static_cast*>(branch(1)); + vds_t::match_sizes(vds(),vec1_node_ptr_->vds()); + } + else if (is_ivector_node(branch(1))) + { + vector_interface* vi = reinterpret_cast*>(0); + + if (0 != (vi = dynamic_cast*>(branch(1)))) + { + vec1_node_ptr_ = vi->vec(); + + if (!vi->side_effect()) + { + vi->vds() = vds(); + src_is_ivec_ = true; + } + else + vds_t::match_sizes(vds(),vi->vds()); + } + } + + initialised_ = + vec0_node_ptr_ && + vec1_node_ptr_ && + (size() <= base_size()) && + (vds_.size() <= base_size()) && + binary_node::valid(); + + assert(valid()); + } + + inline T value() const exprtk_override + { + branch(1)->value(); + + if (src_is_ivec_) + return vec0_node_ptr_->value(); + + T* vec0 = vec0_node_ptr_->vds().data(); + T* vec1 = vec1_node_ptr_->vds().data(); + + loop_unroll::details lud(size()); + const T* upper_bound = vec0 + lud.upper_bound; + + while (vec0 < upper_bound) + { + #define exprtk_loop(N) \ + vec0[N] = vec1[N]; \ + + exprtk_loop( 0) exprtk_loop( 1) + exprtk_loop( 2) exprtk_loop( 3) + #ifndef exprtk_disable_superscalar_unroll + exprtk_loop( 4) exprtk_loop( 5) + exprtk_loop( 6) exprtk_loop( 7) + exprtk_loop( 8) exprtk_loop( 9) + exprtk_loop(10) exprtk_loop(11) + exprtk_loop(12) exprtk_loop(13) + exprtk_loop(14) exprtk_loop(15) + #endif + + vec0 += lud.batch_size; + vec1 += lud.batch_size; + } + + switch (lud.remainder) + { + #define case_stmt(N,fall_through) \ + case N : *vec0++ = *vec1++; \ + fall_through \ + + #ifndef exprtk_disable_superscalar_unroll + case_stmt(15, exprtk_fallthrough) case_stmt(14, exprtk_fallthrough) + case_stmt(13, exprtk_fallthrough) case_stmt(12, exprtk_fallthrough) + case_stmt(11, exprtk_fallthrough) case_stmt(10, exprtk_fallthrough) + case_stmt( 9, exprtk_fallthrough) case_stmt( 8, exprtk_fallthrough) + case_stmt( 7, exprtk_fallthrough) case_stmt( 6, exprtk_fallthrough) + case_stmt( 5, exprtk_fallthrough) case_stmt( 4, exprtk_fallthrough) + #endif + case_stmt( 3, exprtk_fallthrough) case_stmt( 2, exprtk_fallthrough) + case_stmt( 1, (void)0;) + } + + #undef exprtk_loop + #undef case_stmt + + return vec0_node_ptr_->value(); + } + + vector_node_ptr vec() exprtk_override + { + return vec0_node_ptr_; + } + + vector_node_ptr vec() const exprtk_override + { + return vec0_node_ptr_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vecvecass; + } + + inline bool valid() const exprtk_override + { + return initialised_; + } + + std::size_t size() const exprtk_override + { + return std::min( + vec0_node_ptr_->vec_holder().size(), + vec1_node_ptr_->vec_holder().size()); + } + + std::size_t base_size() const exprtk_override + { + return std::min( + vec0_node_ptr_->vec_holder().base_size(), + vec1_node_ptr_->vec_holder().base_size()); + } + + vds_t& vds() exprtk_override + { + return vds_; + } + + const vds_t& vds() const exprtk_override + { + return vds_; + } + + private: + + vector_node* vec0_node_ptr_; + vector_node* vec1_node_ptr_; + bool initialised_; + bool src_is_ivec_; + vds_t vds_; + }; + + template + class assignment_op_node exprtk_final : public binary_node + { + public: + + typedef expression_node* expression_ptr; + using binary_node::branch; + + assignment_op_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , var_node_ptr_(0) + { + if (is_variable_node(branch(0))) + { + var_node_ptr_ = static_cast*>(branch(0)); + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + T& v = var_node_ptr_->ref(); + v = Operation::process(v,branch(1)->value()); + + return v; + } + + inline bool valid() const exprtk_override + { + return var_node_ptr_ && binary_node::valid(); + } + + private: + + variable_node* var_node_ptr_; + }; + + template + class assignment_vec_elem_op_node exprtk_final : public binary_node + { + public: + + typedef expression_node* expression_ptr; + using binary_node::branch; + + assignment_vec_elem_op_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , vec_node_ptr_(0) + { + if (is_vector_elem_node(branch(0))) + { + vec_node_ptr_ = static_cast*>(branch(0)); + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + T& v = vec_node_ptr_->ref(); + v = Operation::process(v,branch(1)->value()); + + return v; + } + + inline bool valid() const exprtk_override + { + return vec_node_ptr_ && binary_node::valid(); + } + + private: + + vector_elem_node* vec_node_ptr_; + }; + + template + class assignment_vec_elem_op_rtc_node exprtk_final : public binary_node + { + public: + + typedef expression_node* expression_ptr; + using binary_node::branch; + + assignment_vec_elem_op_rtc_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , vec_node_ptr_(0) + { + if (is_vector_elem_rtc_node(branch(0))) + { + vec_node_ptr_ = static_cast*>(branch(0)); + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + T& v = vec_node_ptr_->ref(); + v = Operation::process(v,branch(1)->value()); + + return v; + } + + inline bool valid() const exprtk_override + { + return vec_node_ptr_ && binary_node::valid(); + } + + private: + + vector_elem_rtc_node* vec_node_ptr_; + }; + + template + class assignment_vec_celem_op_rtc_node exprtk_final : public binary_node + { + public: + + typedef expression_node* expression_ptr; + using binary_node::branch; + + assignment_vec_celem_op_rtc_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , vec_node_ptr_(0) + { + if (is_vector_celem_rtc_node(branch(0))) + { + vec_node_ptr_ = static_cast*>(branch(0)); + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + T& v = vec_node_ptr_->ref(); + v = Operation::process(v,branch(1)->value()); + + return v; + } + + inline bool valid() const exprtk_override + { + return vec_node_ptr_ && binary_node::valid(); + } + + private: + + vector_celem_rtc_node* vec_node_ptr_; + }; + + template + class assignment_rebasevec_elem_op_node exprtk_final : public binary_node + { + public: + + typedef expression_node* expression_ptr; + using binary_node::branch; + + assignment_rebasevec_elem_op_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , rbvec_node_ptr_(0) + { + if (is_rebasevector_elem_node(branch(0))) + { + rbvec_node_ptr_ = static_cast*>(branch(0)); + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + T& v = rbvec_node_ptr_->ref(); + v = Operation::process(v,branch(1)->value()); + + return v; + } + + inline bool valid() const exprtk_override + { + return rbvec_node_ptr_ && binary_node::valid(); + } + + private: + + rebasevector_elem_node* rbvec_node_ptr_; + }; + + template + class assignment_rebasevec_celem_op_node exprtk_final : public binary_node + { + public: + + typedef expression_node* expression_ptr; + using binary_node::branch; + + assignment_rebasevec_celem_op_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , rbvec_node_ptr_(0) + { + if (is_rebasevector_celem_node(branch(0))) + { + rbvec_node_ptr_ = static_cast*>(branch(0)); + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + T& v = rbvec_node_ptr_->ref(); + v = Operation::process(v,branch(1)->value()); + + return v; + } + + inline bool valid() const exprtk_override + { + return rbvec_node_ptr_ && binary_node::valid(); + } + + private: + + rebasevector_celem_node* rbvec_node_ptr_; + }; + + template + class assignment_rebasevec_elem_op_rtc_node exprtk_final : public binary_node + { + public: + + typedef expression_node* expression_ptr; + using binary_node::branch; + + assignment_rebasevec_elem_op_rtc_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , rbvec_node_ptr_(0) + { + if (is_rebasevector_elem_rtc_node(branch(0))) + { + rbvec_node_ptr_ = static_cast*>(branch(0)); + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + T& v = rbvec_node_ptr_->ref(); + v = Operation::process(v,branch(1)->value()); + + return v; + } + + inline bool valid() const exprtk_override + { + return rbvec_node_ptr_ && binary_node::valid(); + } + + private: + + rebasevector_elem_rtc_node* rbvec_node_ptr_; + }; + + template + class assignment_rebasevec_celem_op_rtc_node exprtk_final : public binary_node + { + public: + + typedef expression_node* expression_ptr; + using binary_node::branch; + + assignment_rebasevec_celem_op_rtc_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , rbvec_node_ptr_(0) + { + if (is_rebasevector_celem_rtc_node(branch(0))) + { + rbvec_node_ptr_ = static_cast*>(branch(0)); + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + T& v = rbvec_node_ptr_->ref(); + v = Operation::process(v,branch(1)->value()); + + return v; + } + + inline bool valid() const exprtk_override + { + return rbvec_node_ptr_ && binary_node::valid(); + } + + private: + + rebasevector_celem_rtc_node* rbvec_node_ptr_; + }; + + template + class assignment_vec_op_node exprtk_final + : public binary_node + , public vector_interface + { + public: + + typedef expression_node* expression_ptr; + typedef vector_node* vector_node_ptr; + typedef vec_data_store vds_t; + + using binary_node::branch; + + assignment_vec_op_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , vec_node_ptr_(0) + { + if (is_vector_node(branch(0))) + { + vec_node_ptr_ = static_cast*>(branch(0)); + vds() = vec_node_ptr_->vds(); + } + + assert(valid()); + } + + inline T value() const exprtk_override + { + const T v = branch(1)->value(); + + T* vec = vds().data(); + + loop_unroll::details lud(size()); + const T* upper_bound = vec + lud.upper_bound; + + while (vec < upper_bound) + { + #define exprtk_loop(N) \ + Operation::assign(vec[N],v); \ + + exprtk_loop( 0) exprtk_loop( 1) + exprtk_loop( 2) exprtk_loop( 3) + #ifndef exprtk_disable_superscalar_unroll + exprtk_loop( 4) exprtk_loop( 5) + exprtk_loop( 6) exprtk_loop( 7) + exprtk_loop( 8) exprtk_loop( 9) + exprtk_loop(10) exprtk_loop(11) + exprtk_loop(12) exprtk_loop(13) + exprtk_loop(14) exprtk_loop(15) + #endif + + vec += lud.batch_size; + } + + switch (lud.remainder) + { + #define case_stmt(N,fall_through) \ + case N : Operation::assign(*vec++,v); \ + fall_through \ + + #ifndef exprtk_disable_superscalar_unroll + case_stmt(15, exprtk_fallthrough) case_stmt(14, exprtk_fallthrough) + case_stmt(13, exprtk_fallthrough) case_stmt(12, exprtk_fallthrough) + case_stmt(11, exprtk_fallthrough) case_stmt(10, exprtk_fallthrough) + case_stmt( 9, exprtk_fallthrough) case_stmt( 8, exprtk_fallthrough) + case_stmt( 7, exprtk_fallthrough) case_stmt( 6, exprtk_fallthrough) + case_stmt( 5, exprtk_fallthrough) case_stmt( 4, exprtk_fallthrough) + #endif + case_stmt( 3, exprtk_fallthrough) case_stmt( 2, exprtk_fallthrough) + case_stmt( 1, (void)0;) + } + + #undef exprtk_loop + #undef case_stmt + + return vec_node_ptr_->value(); + } + + vector_node_ptr vec() const exprtk_override + { + return vec_node_ptr_; + } + + vector_node_ptr vec() exprtk_override + { + return vec_node_ptr_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vecopvalass; + } + + inline bool valid() const exprtk_override + { + return + vec_node_ptr_ && + (size() <= base_size()) && + binary_node::valid() ; + } + + std::size_t size() const exprtk_override + { + return vec_node_ptr_->vec_holder().size(); + } + + std::size_t base_size() const exprtk_override + { + return vec_node_ptr_->vec_holder().base_size(); + } + + vds_t& vds() exprtk_override + { + return vds_; + } + + const vds_t& vds() const exprtk_override + { + return vds_; + } + + bool side_effect() const exprtk_override + { + return true; + } + + private: + + vector_node* vec_node_ptr_; + vds_t vds_; + }; + + template + class assignment_vecvec_op_node exprtk_final + : public binary_node + , public vector_interface + { + public: + + typedef expression_node* expression_ptr; + typedef vector_node* vector_node_ptr; + typedef vec_data_store vds_t; + + using binary_node::branch; + + assignment_vecvec_op_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , vec0_node_ptr_(0) + , vec1_node_ptr_(0) + , initialised_(false) + { + if (is_vector_node(branch(0))) + { + vec0_node_ptr_ = static_cast*>(branch(0)); + vds() = vec0_node_ptr_->vds(); + } + + if (is_vector_node(branch(1))) + { + vec1_node_ptr_ = static_cast*>(branch(1)); + vec1_node_ptr_->vds() = vds(); + } + else if (is_ivector_node(branch(1))) + { + vector_interface* vi = reinterpret_cast*>(0); + + if (0 != (vi = dynamic_cast*>(branch(1)))) + { + vec1_node_ptr_ = vi->vec(); + vec1_node_ptr_->vds() = vi->vds(); + } + else + vds_t::match_sizes(vds(),vec1_node_ptr_->vds()); + } + + initialised_ = + vec0_node_ptr_ && + vec1_node_ptr_ && + (size() <= base_size()) && + binary_node::valid(); + + assert(valid()); + } + + inline T value() const exprtk_override + { + branch(0)->value(); + branch(1)->value(); + + T* vec0 = vec0_node_ptr_->vds().data(); + const T* vec1 = vec1_node_ptr_->vds().data(); + + loop_unroll::details lud(size()); + const T* upper_bound = vec0 + lud.upper_bound; + + while (vec0 < upper_bound) + { + #define exprtk_loop(N) \ + vec0[N] = Operation::process(vec0[N], vec1[N]); \ + + exprtk_loop( 0) exprtk_loop( 1) + exprtk_loop( 2) exprtk_loop( 3) + #ifndef exprtk_disable_superscalar_unroll + exprtk_loop( 4) exprtk_loop( 5) + exprtk_loop( 6) exprtk_loop( 7) + exprtk_loop( 8) exprtk_loop( 9) + exprtk_loop(10) exprtk_loop(11) + exprtk_loop(12) exprtk_loop(13) + exprtk_loop(14) exprtk_loop(15) + #endif + + vec0 += lud.batch_size; + vec1 += lud.batch_size; + } + + int i = 0; + + switch (lud.remainder) + { + #define case_stmt(N,fall_through) \ + case N : { vec0[i] = Operation::process(vec0[i], vec1[i]); ++i; } \ + fall_through \ + + #ifndef exprtk_disable_superscalar_unroll + case_stmt(15, exprtk_fallthrough) case_stmt(14, exprtk_fallthrough) + case_stmt(13, exprtk_fallthrough) case_stmt(12, exprtk_fallthrough) + case_stmt(11, exprtk_fallthrough) case_stmt(10, exprtk_fallthrough) + case_stmt( 9, exprtk_fallthrough) case_stmt( 8, exprtk_fallthrough) + case_stmt( 7, exprtk_fallthrough) case_stmt( 6, exprtk_fallthrough) + case_stmt( 5, exprtk_fallthrough) case_stmt( 4, exprtk_fallthrough) + #endif + case_stmt( 3, exprtk_fallthrough) case_stmt( 2, exprtk_fallthrough) + case_stmt( 1, (void)0;) + } + + #undef exprtk_loop + #undef case_stmt + + return vec0_node_ptr_->value(); + } + + vector_node_ptr vec() const exprtk_override + { + return vec0_node_ptr_; + } + + vector_node_ptr vec() exprtk_override + { + return vec0_node_ptr_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vecopvecass; + } + + inline bool valid() const exprtk_override + { + return initialised_; + } + + std::size_t size() const exprtk_override + { + return std::min( + vec0_node_ptr_->vec_holder().size(), + vec1_node_ptr_->vec_holder().size()); + } + + std::size_t base_size() const exprtk_override + { + return std::min( + vec0_node_ptr_->vec_holder().base_size(), + vec1_node_ptr_->vec_holder().base_size()); + } + + vds_t& vds() exprtk_override + { + return vds_; + } + + const vds_t& vds() const exprtk_override + { + return vds_; + } + + bool side_effect() const exprtk_override + { + return true; + } + + private: + + vector_node* vec0_node_ptr_; + vector_node* vec1_node_ptr_; + bool initialised_; + vds_t vds_; + }; + + template + struct memory_context_t + { + typedef vector_node* vector_node_ptr; + typedef vector_holder vector_holder_t; + typedef vector_holder_t* vector_holder_ptr; + + memory_context_t() + : temp_(0) + , temp_vec_node_(0) + {} + + void clear() + { + delete temp_vec_node_; + delete temp_; + } + + vector_holder_ptr temp_; + vector_node_ptr temp_vec_node_; + }; + + template + inline memory_context_t make_memory_context(vector_holder& vec_holder, + vec_data_store& vds) + { + memory_context_t result_ctxt; + result_ctxt.temp_ = (vec_holder.rebaseable()) ? + new vector_holder(vec_holder,vds) : + new vector_holder(vds) ; + result_ctxt.temp_vec_node_ = new vector_node (vds,result_ctxt.temp_); + return result_ctxt; + } + + template + inline memory_context_t make_memory_context(vector_holder& vec_holder0, + vector_holder& vec_holder1, + vec_data_store& vds) + { + memory_context_t result_ctxt; + + if (!vec_holder0.rebaseable() && !vec_holder1.rebaseable()) + result_ctxt.temp_ = new vector_holder(vds); + else if (vec_holder0.rebaseable() && !vec_holder1.rebaseable()) + result_ctxt.temp_ = new vector_holder(vec_holder0,vds); + else if (!vec_holder0.rebaseable() && vec_holder1.rebaseable()) + result_ctxt.temp_ = new vector_holder(vec_holder1,vds); + else + { + result_ctxt.temp_ = (vec_holder0.base_size() >= vec_holder1.base_size()) ? + new vector_holder(vec_holder0, vds) : + new vector_holder(vec_holder1, vds) ; + } + + result_ctxt.temp_vec_node_ = new vector_node (vds,result_ctxt.temp_); + return result_ctxt; + } + + template + class vec_binop_vecvec_node exprtk_final + : public binary_node + , public vector_interface + { + public: + + typedef expression_node* expression_ptr; + typedef vector_node* vector_node_ptr; + typedef vector_holder vector_holder_t; + typedef vector_holder_t* vector_holder_ptr; + typedef vec_data_store vds_t; + typedef memory_context_t memory_context; + + using binary_node::branch; + + vec_binop_vecvec_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , vec0_node_ptr_(0) + , vec1_node_ptr_(0) + , initialised_(false) + { + bool v0_is_ivec = false; + bool v1_is_ivec = false; + + if (is_vector_node(branch(0))) + { + vec0_node_ptr_ = static_cast(branch(0)); + } + else if (is_ivector_node(branch(0))) + { + vector_interface* vi = reinterpret_cast*>(0); + + if (0 != (vi = dynamic_cast*>(branch(0)))) + { + vec0_node_ptr_ = vi->vec(); + v0_is_ivec = true; + } + } + + if (is_vector_node(branch(1))) + { + vec1_node_ptr_ = static_cast(branch(1)); + } + else if (is_ivector_node(branch(1))) + { + vector_interface* vi = reinterpret_cast*>(0); + + if (0 != (vi = dynamic_cast*>(branch(1)))) + { + vec1_node_ptr_ = vi->vec(); + v1_is_ivec = true; + } + } + + if (vec0_node_ptr_ && vec1_node_ptr_) + { + vector_holder& vec0 = vec0_node_ptr_->vec_holder(); + vector_holder& vec1 = vec1_node_ptr_->vec_holder(); + + if (v0_is_ivec && (vec0.base_size() <= vec1.base_size())) + { + vds_ = vds_t(vec0_node_ptr_->vds()); + } + else if (v1_is_ivec && (vec1.base_size() <= vec0.base_size())) + { + vds_ = vds_t(vec1_node_ptr_->vds()); + } + else + { + vds_ = vds_t(std::min(vec0.base_size(),vec1.base_size())); + } + + memory_context_ = make_memory_context(vec0, vec1, vds()); + + initialised_ = + (size() <= base_size()) && + binary_node::valid(); + } + + assert(valid()); + } + + ~vec_binop_vecvec_node() + { + memory_context_.clear(); + } + + inline T value() const exprtk_override + { + branch(0)->value(); + branch(1)->value(); + + const T* vec0 = vec0_node_ptr_->vds().data(); + const T* vec1 = vec1_node_ptr_->vds().data(); + T* vec2 = vds().data(); + + loop_unroll::details lud(size()); + const T* upper_bound = vec2 + lud.upper_bound; + + while (vec2 < upper_bound) + { + #define exprtk_loop(N) \ + vec2[N] = Operation::process(vec0[N], vec1[N]); \ + + exprtk_loop( 0) exprtk_loop( 1) + exprtk_loop( 2) exprtk_loop( 3) + #ifndef exprtk_disable_superscalar_unroll + exprtk_loop( 4) exprtk_loop( 5) + exprtk_loop( 6) exprtk_loop( 7) + exprtk_loop( 8) exprtk_loop( 9) + exprtk_loop(10) exprtk_loop(11) + exprtk_loop(12) exprtk_loop(13) + exprtk_loop(14) exprtk_loop(15) + #endif + + vec0 += lud.batch_size; + vec1 += lud.batch_size; + vec2 += lud.batch_size; + } + + int i = 0; + + switch (lud.remainder) + { + #define case_stmt(N) \ + case N : { vec2[i] = Operation::process(vec0[i], vec1[i]); ++i; } \ + exprtk_fallthrough \ + + #ifndef exprtk_disable_superscalar_unroll + case_stmt(15) case_stmt(14) + case_stmt(13) case_stmt(12) + case_stmt(11) case_stmt(10) + case_stmt( 9) case_stmt( 8) + case_stmt( 7) case_stmt( 6) + case_stmt( 5) case_stmt( 4) + #endif + case_stmt( 3) case_stmt( 2) + case_stmt( 1) + default: break; + } + + #undef exprtk_loop + #undef case_stmt + + return (vds().data())[0]; + } + + vector_node_ptr vec() const exprtk_override + { + return memory_context_.temp_vec_node_; + } + + vector_node_ptr vec() exprtk_override + { + return memory_context_.temp_vec_node_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vecvecarith; + } + + inline bool valid() const exprtk_override + { + return initialised_; + } + + std::size_t size() const exprtk_override + { + return std::min( + vec0_node_ptr_->vec_holder().size(), + vec1_node_ptr_->vec_holder().size()); + } + + std::size_t base_size() const exprtk_override + { + return std::min( + vec0_node_ptr_->vec_holder().base_size(), + vec1_node_ptr_->vec_holder().base_size()); + } + + vds_t& vds() exprtk_override + { + return vds_; + } + + const vds_t& vds() const exprtk_override + { + return vds_; + } + + private: + + vector_node_ptr vec0_node_ptr_; + vector_node_ptr vec1_node_ptr_; + bool initialised_; + vds_t vds_; + memory_context memory_context_; + }; + + template + class vec_binop_vecval_node exprtk_final + : public binary_node + , public vector_interface + { + public: + + typedef expression_node* expression_ptr; + typedef vector_node* vector_node_ptr; + typedef vector_holder vector_holder_t; + typedef vector_holder_t* vector_holder_ptr; + typedef vec_data_store vds_t; + typedef memory_context_t memory_context; + + using binary_node::branch; + + vec_binop_vecval_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , vec0_node_ptr_(0) + { + bool v0_is_ivec = false; + + if (is_vector_node(branch(0))) + { + vec0_node_ptr_ = static_cast(branch(0)); + } + else if (is_ivector_node(branch(0))) + { + vector_interface* vi = reinterpret_cast*>(0); + + if (0 != (vi = dynamic_cast*>(branch(0)))) + { + vec0_node_ptr_ = vi->vec(); + v0_is_ivec = true; + } + } + + if (vec0_node_ptr_) + { + if (v0_is_ivec) + vds() = vec0_node_ptr_->vds(); + else + vds() = vds_t(vec0_node_ptr_->base_size()); + + memory_context_ = make_memory_context(vec0_node_ptr_->vec_holder(), vds()); + } + + assert(valid()); + } + + ~vec_binop_vecval_node() + { + memory_context_.clear(); + } + + inline T value() const exprtk_override + { + branch(0)->value(); + const T v = branch(1)->value(); + + const T* vec0 = vec0_node_ptr_->vds().data(); + T* vec1 = vds().data(); + + loop_unroll::details lud(size()); + const T* upper_bound = vec0 + lud.upper_bound; + + while (vec0 < upper_bound) + { + #define exprtk_loop(N) \ + vec1[N] = Operation::process(vec0[N], v); \ + + exprtk_loop( 0) exprtk_loop( 1) + exprtk_loop( 2) exprtk_loop( 3) + #ifndef exprtk_disable_superscalar_unroll + exprtk_loop( 4) exprtk_loop( 5) + exprtk_loop( 6) exprtk_loop( 7) + exprtk_loop( 8) exprtk_loop( 9) + exprtk_loop(10) exprtk_loop(11) + exprtk_loop(12) exprtk_loop(13) + exprtk_loop(14) exprtk_loop(15) + #endif + + vec0 += lud.batch_size; + vec1 += lud.batch_size; + } + + int i = 0; + + switch (lud.remainder) + { + #define case_stmt(N,fall_through) \ + case N : { vec1[i] = Operation::process(vec0[i], v); ++i; } \ + fall_through \ + + #ifndef exprtk_disable_superscalar_unroll + case_stmt(15, exprtk_fallthrough) case_stmt(14, exprtk_fallthrough) + case_stmt(13, exprtk_fallthrough) case_stmt(12, exprtk_fallthrough) + case_stmt(11, exprtk_fallthrough) case_stmt(10, exprtk_fallthrough) + case_stmt( 9, exprtk_fallthrough) case_stmt( 8, exprtk_fallthrough) + case_stmt( 7, exprtk_fallthrough) case_stmt( 6, exprtk_fallthrough) + case_stmt( 5, exprtk_fallthrough) case_stmt( 4, exprtk_fallthrough) + #endif + case_stmt( 3, exprtk_fallthrough) case_stmt( 2, exprtk_fallthrough) + case_stmt( 1, (void)0;) + } + + #undef exprtk_loop + #undef case_stmt + + return (vds().data())[0]; + } + + vector_node_ptr vec() const exprtk_override + { + return memory_context_.temp_vec_node_; + } + + vector_node_ptr vec() exprtk_override + { + return memory_context_.temp_vec_node_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vecvalarith; + } + + inline bool valid() const exprtk_override + { + return + vec0_node_ptr_ && + (size() <= base_size()) && + binary_node::valid(); + } + + std::size_t size() const exprtk_override + { + return vec0_node_ptr_->size(); + } + + std::size_t base_size() const exprtk_override + { + return vec0_node_ptr_->vec_holder().base_size(); + } + + vds_t& vds() exprtk_override + { + return vds_; + } + + const vds_t& vds() const exprtk_override + { + return vds_; + } + + private: + + vector_node_ptr vec0_node_ptr_; + vds_t vds_; + memory_context memory_context_; + }; + + template + class vec_binop_valvec_node exprtk_final + : public binary_node + , public vector_interface + { + public: + + typedef expression_node* expression_ptr; + typedef vector_node* vector_node_ptr; + typedef vector_holder vector_holder_t; + typedef vector_holder_t* vector_holder_ptr; + typedef vec_data_store vds_t; + typedef memory_context_t memory_context; + + using binary_node::branch; + + vec_binop_valvec_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , vec1_node_ptr_(0) + { + bool v1_is_ivec = false; + + if (is_vector_node(branch(1))) + { + vec1_node_ptr_ = static_cast(branch(1)); + } + else if (is_ivector_node(branch(1))) + { + vector_interface* vi = reinterpret_cast*>(0); + + if (0 != (vi = dynamic_cast*>(branch(1)))) + { + vec1_node_ptr_ = vi->vec(); + v1_is_ivec = true; + } + } + + if (vec1_node_ptr_) + { + if (v1_is_ivec) + vds() = vec1_node_ptr_->vds(); + else + vds() = vds_t(vec1_node_ptr_->base_size()); + + memory_context_ = make_memory_context(vec1_node_ptr_->vec_holder(), vds()); + } + + assert(valid()); + } + + ~vec_binop_valvec_node() + { + memory_context_.clear(); + } + + inline T value() const exprtk_override + { + const T v = branch(0)->value(); + branch(1)->value(); + + T* vec0 = vds().data(); + const T* vec1 = vec1_node_ptr_->vds().data(); + + loop_unroll::details lud(size()); + const T* upper_bound = vec0 + lud.upper_bound; + + while (vec0 < upper_bound) + { + #define exprtk_loop(N) \ + vec0[N] = Operation::process(v, vec1[N]); \ + + exprtk_loop( 0) exprtk_loop( 1) + exprtk_loop( 2) exprtk_loop( 3) + #ifndef exprtk_disable_superscalar_unroll + exprtk_loop( 4) exprtk_loop( 5) + exprtk_loop( 6) exprtk_loop( 7) + exprtk_loop( 8) exprtk_loop( 9) + exprtk_loop(10) exprtk_loop(11) + exprtk_loop(12) exprtk_loop(13) + exprtk_loop(14) exprtk_loop(15) + #endif + + vec0 += lud.batch_size; + vec1 += lud.batch_size; + } + + int i = 0; + + switch (lud.remainder) + { + #define case_stmt(N,fall_through) \ + case N : { vec0[i] = Operation::process(v, vec1[i]); ++i; } \ + fall_through \ + + #ifndef exprtk_disable_superscalar_unroll + case_stmt(15, exprtk_fallthrough) case_stmt(14, exprtk_fallthrough) + case_stmt(13, exprtk_fallthrough) case_stmt(12, exprtk_fallthrough) + case_stmt(11, exprtk_fallthrough) case_stmt(10, exprtk_fallthrough) + case_stmt( 9, exprtk_fallthrough) case_stmt( 8, exprtk_fallthrough) + case_stmt( 7, exprtk_fallthrough) case_stmt( 6, exprtk_fallthrough) + case_stmt( 5, exprtk_fallthrough) case_stmt( 4, exprtk_fallthrough) + #endif + case_stmt( 3, exprtk_fallthrough) case_stmt( 2, exprtk_fallthrough) + case_stmt( 1, (void)0;) + } + + #undef exprtk_loop + #undef case_stmt + + return (vds().data())[0]; + } + + vector_node_ptr vec() const exprtk_override + { + return memory_context_.temp_vec_node_; + } + + vector_node_ptr vec() exprtk_override + { + return memory_context_.temp_vec_node_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vecvalarith; + } + + inline bool valid() const exprtk_override + { + return + vec1_node_ptr_ && + (size() <= base_size()) && + (vds_.size() <= base_size()) && + binary_node::valid(); + } + + std::size_t size() const exprtk_override + { + return vec1_node_ptr_->vec_holder().size(); + } + + std::size_t base_size() const exprtk_override + { + return vec1_node_ptr_->vec_holder().base_size(); + } + + vds_t& vds() exprtk_override + { + return vds_; + } + + const vds_t& vds() const exprtk_override + { + return vds_; + } + + private: + + vector_node_ptr vec1_node_ptr_; + vds_t vds_; + memory_context memory_context_; + }; + + template + class unary_vector_node exprtk_final + : public unary_node + , public vector_interface + { + public: + + typedef expression_node* expression_ptr; + typedef vector_node* vector_node_ptr; + typedef vector_holder vector_holder_t; + typedef vector_holder_t* vector_holder_ptr; + typedef vec_data_store vds_t; + typedef memory_context_t memory_context; + + using expression_node::branch; + + unary_vector_node(const operator_type& opr, expression_ptr branch0) + : unary_node(opr, branch0) + , vec0_node_ptr_(0) + { + bool vec0_is_ivec = false; + + if (is_vector_node(branch(0))) + { + vec0_node_ptr_ = static_cast(branch(0)); + } + else if (is_ivector_node(branch(0))) + { + vector_interface* vi = reinterpret_cast*>(0); + + if (0 != (vi = dynamic_cast*>(branch(0)))) + { + vec0_node_ptr_ = vi->vec(); + vec0_is_ivec = true; + } + } + + if (vec0_node_ptr_) + { + if (vec0_is_ivec) + vds_ = vec0_node_ptr_->vds(); + else + vds_ = vds_t(vec0_node_ptr_->base_size()); + + memory_context_ = make_memory_context(vec0_node_ptr_->vec_holder(), vds()); + } + + assert(valid()); + } + + ~unary_vector_node() + { + memory_context_.clear(); + } + + inline T value() const exprtk_override + { + branch()->value(); + + const T* vec0 = vec0_node_ptr_->vds().data(); + T* vec1 = vds().data(); + + loop_unroll::details lud(size()); + const T* upper_bound = vec0 + lud.upper_bound; + + while (vec0 < upper_bound) + { + #define exprtk_loop(N) \ + vec1[N] = Operation::process(vec0[N]); \ + + exprtk_loop( 0) exprtk_loop( 1) + exprtk_loop( 2) exprtk_loop( 3) + #ifndef exprtk_disable_superscalar_unroll + exprtk_loop( 4) exprtk_loop( 5) + exprtk_loop( 6) exprtk_loop( 7) + exprtk_loop( 8) exprtk_loop( 9) + exprtk_loop(10) exprtk_loop(11) + exprtk_loop(12) exprtk_loop(13) + exprtk_loop(14) exprtk_loop(15) + #endif + + vec0 += lud.batch_size; + vec1 += lud.batch_size; + } + + int i = 0; + + switch (lud.remainder) + { + #define case_stmt(N) \ + case N : { vec1[i] = Operation::process(vec0[i]); ++i; } \ + exprtk_fallthrough \ + + #ifndef exprtk_disable_superscalar_unroll + case_stmt(15) case_stmt(14) + case_stmt(13) case_stmt(12) + case_stmt(11) case_stmt(10) + case_stmt( 9) case_stmt( 8) + case_stmt( 7) case_stmt( 6) + case_stmt( 5) case_stmt( 4) + #endif + case_stmt( 3) case_stmt( 2) + case_stmt( 1) + default: break; + } + + #undef exprtk_loop + #undef case_stmt + + return (vds().data())[0]; + } + + vector_node_ptr vec() const exprtk_override + { + return memory_context_.temp_vec_node_; + } + + vector_node_ptr vec() exprtk_override + { + return memory_context_.temp_vec_node_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vecunaryop; + } + + inline bool valid() const exprtk_override + { + return vec0_node_ptr_ && unary_node::valid(); + } + + std::size_t size() const exprtk_override + { + return vec0_node_ptr_->vec_holder().size(); + } + + std::size_t base_size() const exprtk_override + { + return vec0_node_ptr_->vec_holder().base_size(); + } + + vds_t& vds() exprtk_override + { + return vds_; + } + + const vds_t& vds() const exprtk_override + { + return vds_; + } + + private: + + vector_node_ptr vec0_node_ptr_; + vds_t vds_; + memory_context memory_context_; + }; + + template + class conditional_vector_node exprtk_final + : public expression_node + , public vector_interface + { + public: + + typedef expression_node * expression_ptr; + typedef vector_interface* vec_interface_ptr; + typedef vector_node * vector_node_ptr; + typedef vector_holder vector_holder_t; + typedef vector_holder_t* vector_holder_ptr; + typedef vec_data_store vds_t; + typedef memory_context_t memory_context; + typedef std::pair branch_t; + + conditional_vector_node(expression_ptr condition, + expression_ptr consequent, + expression_ptr alternative) + : consequent_node_ptr_ (0) + , alternative_node_ptr_(0) + , temp_vec_node_ (0) + , temp_ (0) + , result_vec_size_ (0) + , initialised_ (false) + { + construct_branch_pair(condition_ , condition ); + construct_branch_pair(consequent_ , consequent ); + construct_branch_pair(alternative_, alternative); + + if (details::is_ivector_node(consequent_.first)) + { + vec_interface_ptr ivec_ptr = dynamic_cast(consequent_.first); + + if (0 != ivec_ptr) + { + consequent_node_ptr_ = ivec_ptr->vec(); + } + } + + if (details::is_ivector_node(alternative_.first)) + { + vec_interface_ptr ivec_ptr = dynamic_cast(alternative_.first); + + if (0 != ivec_ptr) + { + alternative_node_ptr_ = ivec_ptr->vec(); + } + } + + if (consequent_node_ptr_ && alternative_node_ptr_) + { + const std::size_t vec_size = + std::max(consequent_node_ptr_ ->vec_holder().base_size(), + alternative_node_ptr_->vec_holder().base_size()); + + vds_ = vds_t(vec_size); + memory_context_ = make_memory_context( + consequent_node_ptr_ ->vec_holder(), + alternative_node_ptr_->vec_holder(), + vds()); + + initialised_ = (vec_size > 0); + } + + assert(initialised_); + } + + ~conditional_vector_node() + { + memory_context_.clear(); + } + + inline T value() const exprtk_override + { + T result = T(0); + T* source_vector = 0; + T* result_vector = vds().data(); + + if (is_true(condition_)) + { + result = consequent_.first->value(); + source_vector = consequent_node_ptr_->vds().data(); + result_vec_size_ = consequent_node_ptr_->size(); + } + else + { + result = alternative_.first->value(); + source_vector = alternative_node_ptr_->vds().data(); + result_vec_size_ = alternative_node_ptr_->size(); + } + + for (std::size_t i = 0; i < result_vec_size_; ++i) + { + result_vector[i] = source_vector[i]; + } + + return result; + } + + vector_node_ptr vec() const exprtk_override + { + return memory_context_.temp_vec_node_; + } + + vector_node_ptr vec() exprtk_override + { + return memory_context_.temp_vec_node_; + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vecondition; + } + + inline bool valid() const exprtk_override + { + return + initialised_ && + condition_ .first && condition_ .first->valid() && + consequent_ .first && consequent_ .first->valid() && + alternative_.first && alternative_.first->valid() && + size() <= base_size(); + } + + std::size_t size() const exprtk_override + { + return result_vec_size_; + } + + std::size_t base_size() const exprtk_override + { + return std::min( + consequent_node_ptr_ ->vec_holder().base_size(), + alternative_node_ptr_->vec_holder().base_size()); + } + + vds_t& vds() exprtk_override + { + return vds_; + } + + const vds_t& vds() const exprtk_override + { + return vds_; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(condition_ , node_delete_list); + expression_node::ndb_t::collect(consequent_ , node_delete_list); + expression_node::ndb_t::collect(alternative_ , node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth + (condition_, consequent_, alternative_); + } + + private: + + branch_t condition_; + branch_t consequent_; + branch_t alternative_; + vector_node_ptr consequent_node_ptr_; + vector_node_ptr alternative_node_ptr_; + vector_node_ptr temp_vec_node_; + vector_holder_ptr temp_; + vds_t vds_; + mutable std::size_t result_vec_size_; + bool initialised_; + memory_context memory_context_; + }; + + template + class scand_node exprtk_final : public binary_node + { + public: + + typedef expression_node* expression_ptr; + using binary_node::branch; + + scand_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + { + assert(binary_node::valid()); + } + + inline T value() const exprtk_override + { + return ( + std::not_equal_to() + (T(0),branch(0)->value()) && + std::not_equal_to() + (T(0),branch(1)->value()) + ) ? T(1) : T(0); + } + }; + + template + class scor_node exprtk_final : public binary_node + { + public: + + typedef expression_node* expression_ptr; + using binary_node::branch; + + scor_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + { + assert(binary_node::valid()); + } + + inline T value() const exprtk_override + { + return ( + std::not_equal_to() + (T(0),branch(0)->value()) || + std::not_equal_to() + (T(0),branch(1)->value()) + ) ? T(1) : T(0); + } + }; + + template + class function_N_node exprtk_final : public expression_node + { + public: + + // Function of N parameters. + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + typedef IFunction ifunction; + + explicit function_N_node(ifunction* func) + : function_((N == func->param_count) ? func : reinterpret_cast(0)) + , parameter_count_(func->param_count) + , initialised_(false) + {} + + template + bool init_branches(expression_ptr (&b)[NumBranches]) + { + // Needed for incompetent and broken msvc compiler versions + #ifdef _MSC_VER + #pragma warning(push) + #pragma warning(disable: 4127) + #endif + + if (N != NumBranches) + { + return false; + } + + for (std::size_t i = 0; i < NumBranches; ++i) + { + if (b[i] && b[i]->valid()) + branch_[i] = std::make_pair(b[i],branch_deletable(b[i])); + else + return false; + } + + initialised_ = function_; + assert(valid()); + return initialised_; + + #ifdef _MSC_VER + #pragma warning(pop) + #endif + } + + inline bool operator <(const function_N_node& fn) const + { + return this < (&fn); + } + + inline T value() const exprtk_override + { + // Needed for incompetent and broken msvc compiler versions + #ifdef _MSC_VER + #pragma warning(push) + #pragma warning(disable: 4127) + #endif + + T v[N]; + evaluate_branches::execute(v,branch_); + return invoke::execute(*function_,v); + + #ifdef _MSC_VER + #pragma warning(pop) + #endif + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_function; + } + + inline bool valid() const exprtk_override + { + return initialised_; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::template collect(branch_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::template compute_node_depth(branch_); + } + + template + struct evaluate_branches + { + static inline void execute(T_ (&v)[BranchCount], const branch_t (&b)[BranchCount]) + { + for (std::size_t i = 0; i < BranchCount; ++i) + { + v[i] = b[i].first->value(); + } + } + }; + + template + struct evaluate_branches + { + static inline void execute(T_ (&v)[6], const branch_t (&b)[6]) + { + v[0] = b[0].first->value(); + v[1] = b[1].first->value(); + v[2] = b[2].first->value(); + v[3] = b[3].first->value(); + v[4] = b[4].first->value(); + v[5] = b[5].first->value(); + } + }; + + template + struct evaluate_branches + { + static inline void execute(T_ (&v)[5], const branch_t (&b)[5]) + { + v[0] = b[0].first->value(); + v[1] = b[1].first->value(); + v[2] = b[2].first->value(); + v[3] = b[3].first->value(); + v[4] = b[4].first->value(); + } + }; + + template + struct evaluate_branches + { + static inline void execute(T_ (&v)[4], const branch_t (&b)[4]) + { + v[0] = b[0].first->value(); + v[1] = b[1].first->value(); + v[2] = b[2].first->value(); + v[3] = b[3].first->value(); + } + }; + + template + struct evaluate_branches + { + static inline void execute(T_ (&v)[3], const branch_t (&b)[3]) + { + v[0] = b[0].first->value(); + v[1] = b[1].first->value(); + v[2] = b[2].first->value(); + } + }; + + template + struct evaluate_branches + { + static inline void execute(T_ (&v)[2], const branch_t (&b)[2]) + { + v[0] = b[0].first->value(); + v[1] = b[1].first->value(); + } + }; + + template + struct evaluate_branches + { + static inline void execute(T_ (&v)[1], const branch_t (&b)[1]) + { + v[0] = b[0].first->value(); + } + }; + + template + struct invoke { static inline T execute(ifunction&, branch_t (&)[ParamCount]) { return std::numeric_limits::quiet_NaN(); } }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[20]) + { return f(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7],v[8],v[9],v[10],v[11],v[12],v[13],v[14],v[15],v[16],v[17],v[18],v[19]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[19]) + { return f(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7],v[8],v[9],v[10],v[11],v[12],v[13],v[14],v[15],v[16],v[17],v[18]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[18]) + { return f(v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12], v[13], v[14], v[15], v[16], v[17]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[17]) + { return f(v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12], v[13], v[14], v[15], v[16]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[16]) + { return f(v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12], v[13], v[14], v[15]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[15]) + { return f(v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12], v[13], v[14]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[14]) + { return f(v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12], v[13]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[13]) + { return f(v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11], v[12]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[12]) + { return f(v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10], v[11]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[11]) + { return f(v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9], v[10]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[10]) + { return f(v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8], v[9]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[9]) + { return f(v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[8]) + { return f(v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[7]) + { return f(v[0], v[1], v[2], v[3], v[4], v[5], v[6]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[6]) + { return f(v[0], v[1], v[2], v[3], v[4], v[5]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[5]) + { return f(v[0], v[1], v[2], v[3], v[4]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[4]) + { return f(v[0], v[1], v[2], v[3]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[3]) + { return f(v[0], v[1], v[2]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[2]) + { return f(v[0], v[1]); } + }; + + template + struct invoke + { + static inline T_ execute(ifunction& f, T_ (&v)[1]) + { return f(v[0]); } + }; + + private: + + ifunction* function_; + std::size_t parameter_count_; + branch_t branch_[N]; + bool initialised_; + }; + + template + class function_N_node exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef IFunction ifunction; + + explicit function_N_node(ifunction* func) + : function_((0 == func->param_count) ? func : reinterpret_cast(0)) + { + assert(valid()); + } + + inline bool operator <(const function_N_node& fn) const + { + return this < (&fn); + } + + inline T value() const exprtk_override + { + return (*function_)(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_function; + } + + inline bool valid() const exprtk_override + { + return function_; + } + + private: + + ifunction* function_; + }; + + template + class vararg_function_node exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + + vararg_function_node(VarArgFunction* func, + const std::vector& arg_list) + : function_(func) + , arg_list_(arg_list) + { + value_list_.resize(arg_list.size(),std::numeric_limits::quiet_NaN()); + assert(valid()); + } + + inline bool operator <(const vararg_function_node& fn) const + { + return this < (&fn); + } + + inline T value() const exprtk_override + { + populate_value_list(); + return (*function_)(value_list_); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_vafunction; + } + + inline bool valid() const exprtk_override + { + return function_; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + for (std::size_t i = 0; i < arg_list_.size(); ++i) + { + if (arg_list_[i] && !details::is_variable_node(arg_list_[i])) + { + node_delete_list.push_back(&arg_list_[i]); + } + } + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(arg_list_); + } + + private: + + inline void populate_value_list() const + { + for (std::size_t i = 0; i < arg_list_.size(); ++i) + { + value_list_[i] = arg_list_[i]->value(); + } + } + + VarArgFunction* function_; + std::vector arg_list_; + mutable std::vector value_list_; + }; + + template + class generic_function_node : public expression_node + { + public: + + typedef type_store type_store_t; + typedef expression_node* expression_ptr; + typedef variable_node variable_node_t; + typedef vector_node vector_node_t; + typedef variable_node_t* variable_node_ptr_t; + typedef vector_node_t* vector_node_ptr_t; + typedef range_interface range_interface_t; + typedef range_data_type range_data_type_t; + typedef typename range_interface::range_t range_t; + + typedef std::pair branch_t; + typedef vector_holder* vh_t; + typedef vector_view* vecview_t; + + typedef std::vector tmp_vs_t; + typedef std::vector typestore_list_t; + typedef std::vector range_list_t; + + explicit generic_function_node(const std::vector& arg_list, + GenericFunction* func = reinterpret_cast(0)) + : function_(func) + , arg_list_(arg_list) + {} + + virtual ~generic_function_node() + { + for (std::size_t i = 0; i < vv_list_.size(); ++i) + { + vecview_t& vv = vv_list_[i]; + if (vv && typestore_list_[i].vec_data) + { + vv->remove_ref(&typestore_list_[i].vec_data); + typestore_list_[i].vec_data = 0; + } + } + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(branch_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override exprtk_final + { + return expression_node::ndb_t::compute_node_depth(branch_); + } + + virtual bool init_branches() + { + expr_as_vec1_store_.resize(arg_list_.size(), T(0) ); + typestore_list_ .resize(arg_list_.size(), type_store_t() ); + range_list_ .resize(arg_list_.size(), range_data_type_t()); + branch_ .resize(arg_list_.size(), branch_t(reinterpret_cast(0),false)); + vv_list_ .resize(arg_list_.size(), vecview_t(0)); + + for (std::size_t i = 0; i < arg_list_.size(); ++i) + { + type_store_t& ts = typestore_list_[i]; + + if (0 == arg_list_[i]) + return false; + else if (is_ivector_node(arg_list_[i])) + { + vector_interface* vi = reinterpret_cast*>(0); + + if (0 == (vi = dynamic_cast*>(arg_list_[i]))) + return false; + + ts.size = vi->size(); + ts.data = vi->vds().data(); + ts.type = type_store_t::e_vector; + + if ( + vi->vec()->vec_holder().rebaseable() && + vi->vec()->vec_holder().rebaseable_instance() + ) + { + vv_list_[i] = vi->vec()->vec_holder().rebaseable_instance(); + vv_list_[i]->set_ref(&ts.vec_data); + } + } + #ifndef exprtk_disable_string_capabilities + else if (is_generally_string_node(arg_list_[i])) + { + string_base_node* sbn = reinterpret_cast*>(0); + + if (0 == (sbn = dynamic_cast*>(arg_list_[i]))) + return false; + + ts.size = sbn->size(); + ts.data = reinterpret_cast(const_cast(sbn->base())); + ts.type = type_store_t::e_string; + + range_list_[i].data = ts.data; + range_list_[i].size = ts.size; + range_list_[i].type_size = sizeof(char); + range_list_[i].str_node = sbn; + + range_interface_t* ri = reinterpret_cast(0); + + if (0 == (ri = dynamic_cast(arg_list_[i]))) + return false; + + const range_t& rp = ri->range_ref(); + + if ( + rp.const_range() && + is_const_string_range_node(arg_list_[i]) + ) + { + ts.size = rp.const_size(); + ts.data = static_cast(ts.data) + rp.n0_c.second; + range_list_[i].range = reinterpret_cast(0); + } + else + { + range_list_[i].range = &(ri->range_ref()); + range_param_list_.push_back(i); + } + } + #endif + else if (is_variable_node(arg_list_[i])) + { + variable_node_ptr_t var = variable_node_ptr_t(0); + + if (0 == (var = dynamic_cast(arg_list_[i]))) + return false; + + ts.size = 1; + ts.data = &var->ref(); + ts.type = type_store_t::e_scalar; + } + else + { + ts.size = 1; + ts.data = reinterpret_cast(&expr_as_vec1_store_[i]); + ts.type = type_store_t::e_scalar; + } + + branch_[i] = std::make_pair(arg_list_[i],branch_deletable(arg_list_[i])); + } + + return true; + } + + inline bool operator <(const generic_function_node& fn) const + { + return this < (&fn); + } + + inline T value() const exprtk_override + { + if (populate_value_list()) + { + typedef typename GenericFunction::parameter_list_t parameter_list_t; + + return (*function_)(parameter_list_t(typestore_list_)); + } + + return std::numeric_limits::quiet_NaN(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_genfunction; + } + + inline bool valid() const exprtk_override + { + return function_; + } + + protected: + + inline virtual bool populate_value_list() const + { + for (std::size_t i = 0; i < branch_.size(); ++i) + { + expr_as_vec1_store_[i] = branch_[i].first->value(); + } + + if (!range_param_list_.empty()) + { + assert(range_param_list_.size() <= branch_.size()); + + for (std::size_t i = 0; i < range_param_list_.size(); ++i) + { + const std::size_t index = range_param_list_[i]; + range_data_type_t& rdt = range_list_[index]; + + const range_t& rp = (*rdt.range); + std::size_t r0 = 0; + std::size_t r1 = 0; + + const std::size_t data_size = + #ifndef exprtk_disable_string_capabilities + rdt.str_node ? rdt.str_node->size() : rdt.size; + #else + rdt.size; + #endif + + if (!rp(r0, r1, data_size)) + { + return false; + } + + type_store_t& ts = typestore_list_[index]; + + ts.size = rp.cache_size(); + #ifndef exprtk_disable_string_capabilities + if (ts.type == type_store_t::e_string) + ts.data = const_cast(rdt.str_node->base()) + rp.cache.first; + else + #endif + ts.data = static_cast(rdt.data) + (rp.cache.first * rdt.type_size); + } + } + + return true; + } + + GenericFunction* function_; + mutable typestore_list_t typestore_list_; + + private: + + std::vector arg_list_; + std::vector branch_; + std::vector vv_list_; + mutable tmp_vs_t expr_as_vec1_store_; + mutable range_list_t range_list_; + std::vector range_param_list_; + }; + + #ifndef exprtk_disable_string_capabilities + template + class string_function_node : public generic_function_node + , public string_base_node + , public range_interface + { + public: + + typedef generic_function_node gen_function_t; + typedef typename range_interface::range_t range_t; + + string_function_node(StringFunction* func, + const std::vector& arg_list) + : gen_function_t(arg_list,func) + { + range_.n0_c = std::make_pair(true,0); + range_.n1_c = std::make_pair(true,0); + range_.cache.first = range_.n0_c.second; + range_.cache.second = range_.n1_c.second; + assert(valid()); + } + + inline bool operator <(const string_function_node& fn) const + { + return this < (&fn); + } + + inline T value() const exprtk_override + { + if (gen_function_t::populate_value_list()) + { + typedef typename StringFunction::parameter_list_t parameter_list_t; + + const T result = + (*gen_function_t::function_) + ( + ret_string_, + parameter_list_t(gen_function_t::typestore_list_) + ); + + range_.n1_c.second = ret_string_.size(); + range_.cache.second = range_.n1_c.second; + + return result; + } + + return std::numeric_limits::quiet_NaN(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_strfunction; + } + + inline bool valid() const exprtk_override + { + return gen_function_t::function_; + } + + std::string str() const exprtk_override + { + return ret_string_; + } + + char_cptr base() const exprtk_override + { + return &ret_string_[0]; + } + + std::size_t size() const exprtk_override + { + return ret_string_.size(); + } + + range_t& range_ref() exprtk_override + { + return range_; + } + + const range_t& range_ref() const exprtk_override + { + return range_; + } + + protected: + + mutable range_t range_; + mutable std::string ret_string_; + }; + #endif + + template + class multimode_genfunction_node : public generic_function_node + { + public: + + typedef generic_function_node gen_function_t; + typedef typename gen_function_t::range_t range_t; + + multimode_genfunction_node(GenericFunction* func, + const std::size_t& param_seq_index, + const std::vector& arg_list) + : gen_function_t(arg_list,func) + , param_seq_index_(param_seq_index) + {} + + inline T value() const exprtk_override + { + assert(gen_function_t::valid()); + + if (gen_function_t::populate_value_list()) + { + typedef typename GenericFunction::parameter_list_t parameter_list_t; + + return + (*gen_function_t::function_) + ( + param_seq_index_, + parameter_list_t(gen_function_t::typestore_list_) + ); + } + + return std::numeric_limits::quiet_NaN(); + } + + inline typename expression_node::node_type type() const exprtk_override exprtk_final + { + return expression_node::e_genfunction; + } + + private: + + std::size_t param_seq_index_; + }; + + #ifndef exprtk_disable_string_capabilities + template + class multimode_strfunction_node exprtk_final : public string_function_node + { + public: + + typedef string_function_node str_function_t; + typedef typename str_function_t::range_t range_t; + + multimode_strfunction_node(StringFunction* func, + const std::size_t& param_seq_index, + const std::vector& arg_list) + : str_function_t(func,arg_list) + , param_seq_index_(param_seq_index) + {} + + inline T value() const exprtk_override + { + if (str_function_t::populate_value_list()) + { + typedef typename StringFunction::parameter_list_t parameter_list_t; + + const T result = + (*str_function_t::function_) + ( + param_seq_index_, + str_function_t::ret_string_, + parameter_list_t(str_function_t::typestore_list_) + ); + + str_function_t::range_.n1_c.second = str_function_t::ret_string_.size(); + str_function_t::range_.cache.second = str_function_t::range_.n1_c.second; + + return result; + } + + return std::numeric_limits::quiet_NaN(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_strfunction; + } + + private: + + const std::size_t param_seq_index_; + }; + #endif + + class return_exception {}; + + template + class null_igenfunc + { + public: + + virtual ~null_igenfunc() + {} + + typedef type_store generic_type; + typedef typename generic_type::parameter_list parameter_list_t; + + inline virtual T operator() (parameter_list_t) + { + return std::numeric_limits::quiet_NaN(); + } + }; + + #ifndef exprtk_disable_return_statement + template + class return_node exprtk_final : public generic_function_node > + { + public: + + typedef results_context results_context_t; + typedef null_igenfunc igeneric_function_t; + typedef igeneric_function_t* igeneric_function_ptr; + typedef generic_function_node gen_function_t; + + return_node(const std::vector& arg_list, + results_context_t& rc) + : gen_function_t (arg_list) + , results_context_(&rc) + {} + + inline T value() const exprtk_override + { + if ( + (0 != results_context_) && + gen_function_t::populate_value_list() + ) + { + typedef typename type_store::parameter_list parameter_list_t; + + results_context_-> + assign(parameter_list_t(gen_function_t::typestore_list_)); + + throw return_exception(); + } + + return std::numeric_limits::quiet_NaN(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_return; + } + + inline bool valid() const exprtk_override + { + return results_context_; + } + + private: + + results_context_t* results_context_; + }; + + template + class return_envelope_node exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef results_context results_context_t; + typedef std::pair branch_t; + + return_envelope_node(expression_ptr body, results_context_t& rc) + : results_context_(&rc ) + , return_invoked_ (false) + { + construct_branch_pair(body_, body); + assert(valid()); + } + + inline T value() const exprtk_override + { + try + { + return_invoked_ = false; + results_context_->clear(); + + return body_.first->value(); + } + catch(const return_exception&) + { + return_invoked_ = true; + + return std::numeric_limits::quiet_NaN(); + } + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_retenv; + } + + inline bool valid() const exprtk_override + { + return results_context_ && body_.first; + } + + inline bool* retinvk_ptr() + { + return &return_invoked_; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(body_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(body_); + } + + private: + + results_context_t* results_context_; + mutable bool return_invoked_; + branch_t body_; + }; + #endif + + #define exprtk_define_unary_op(OpName) \ + template \ + struct OpName##_op \ + { \ + typedef typename functor_t::Type Type; \ + typedef typename expression_node::node_type node_t; \ + \ + static inline T process(Type v) \ + { \ + return numeric:: OpName (v); \ + } \ + \ + static inline node_t type() \ + { \ + return expression_node::e_##OpName; \ + } \ + \ + static inline details::operator_type operation() \ + { \ + return details::e_##OpName; \ + } \ + }; \ + + exprtk_define_unary_op(abs ) + exprtk_define_unary_op(acos ) + exprtk_define_unary_op(acosh) + exprtk_define_unary_op(asin ) + exprtk_define_unary_op(asinh) + exprtk_define_unary_op(atan ) + exprtk_define_unary_op(atanh) + exprtk_define_unary_op(ceil ) + exprtk_define_unary_op(cos ) + exprtk_define_unary_op(cosh ) + exprtk_define_unary_op(cot ) + exprtk_define_unary_op(csc ) + exprtk_define_unary_op(d2g ) + exprtk_define_unary_op(d2r ) + exprtk_define_unary_op(erf ) + exprtk_define_unary_op(erfc ) + exprtk_define_unary_op(exp ) + exprtk_define_unary_op(expm1) + exprtk_define_unary_op(floor) + exprtk_define_unary_op(frac ) + exprtk_define_unary_op(g2d ) + exprtk_define_unary_op(log ) + exprtk_define_unary_op(log10) + exprtk_define_unary_op(log2 ) + exprtk_define_unary_op(log1p) + exprtk_define_unary_op(ncdf ) + exprtk_define_unary_op(neg ) + exprtk_define_unary_op(notl ) + exprtk_define_unary_op(pos ) + exprtk_define_unary_op(r2d ) + exprtk_define_unary_op(round) + exprtk_define_unary_op(sec ) + exprtk_define_unary_op(sgn ) + exprtk_define_unary_op(sin ) + exprtk_define_unary_op(sinc ) + exprtk_define_unary_op(sinh ) + exprtk_define_unary_op(sqrt ) + exprtk_define_unary_op(tan ) + exprtk_define_unary_op(tanh ) + exprtk_define_unary_op(trunc) + #undef exprtk_define_unary_op + + template + struct opr_base + { + typedef typename details::functor_t::Type Type; + typedef typename details::functor_t::RefType RefType; + typedef typename details::functor_t functor_t; + typedef typename functor_t::qfunc_t quaternary_functor_t; + typedef typename functor_t::tfunc_t trinary_functor_t; + typedef typename functor_t::bfunc_t binary_functor_t; + typedef typename functor_t::ufunc_t unary_functor_t; + }; + + template + struct add_op : public opr_base + { + typedef typename opr_base::Type Type; + typedef typename opr_base::RefType RefType; + + static inline T process(Type t1, Type t2) { return t1 + t2; } + static inline T process(Type t1, Type t2, Type t3) { return t1 + t2 + t3; } + static inline void assign(RefType t1, Type t2) { t1 += t2; } + static inline typename expression_node::node_type type() { return expression_node::e_add; } + static inline details::operator_type operation() { return details::e_add; } + }; + + template + struct mul_op : public opr_base + { + typedef typename opr_base::Type Type; + typedef typename opr_base::RefType RefType; + + static inline T process(Type t1, Type t2) { return t1 * t2; } + static inline T process(Type t1, Type t2, Type t3) { return t1 * t2 * t3; } + static inline void assign(RefType t1, Type t2) { t1 *= t2; } + static inline typename expression_node::node_type type() { return expression_node::e_mul; } + static inline details::operator_type operation() { return details::e_mul; } + }; + + template + struct sub_op : public opr_base + { + typedef typename opr_base::Type Type; + typedef typename opr_base::RefType RefType; + + static inline T process(Type t1, Type t2) { return t1 - t2; } + static inline T process(Type t1, Type t2, Type t3) { return t1 - t2 - t3; } + static inline void assign(RefType t1, Type t2) { t1 -= t2; } + static inline typename expression_node::node_type type() { return expression_node::e_sub; } + static inline details::operator_type operation() { return details::e_sub; } + }; + + template + struct div_op : public opr_base + { + typedef typename opr_base::Type Type; + typedef typename opr_base::RefType RefType; + + static inline T process(Type t1, Type t2) { return t1 / t2; } + static inline T process(Type t1, Type t2, Type t3) { return t1 / t2 / t3; } + static inline void assign(RefType t1, Type t2) { t1 /= t2; } + static inline typename expression_node::node_type type() { return expression_node::e_div; } + static inline details::operator_type operation() { return details::e_div; } + }; + + template + struct mod_op : public opr_base + { + typedef typename opr_base::Type Type; + typedef typename opr_base::RefType RefType; + + static inline T process(Type t1, Type t2) { return numeric::modulus(t1,t2); } + static inline void assign(RefType t1, Type t2) { t1 = numeric::modulus(t1,t2); } + static inline typename expression_node::node_type type() { return expression_node::e_mod; } + static inline details::operator_type operation() { return details::e_mod; } + }; + + template + struct pow_op : public opr_base + { + typedef typename opr_base::Type Type; + typedef typename opr_base::RefType RefType; + + static inline T process(Type t1, Type t2) { return numeric::pow(t1,t2); } + static inline void assign(RefType t1, Type t2) { t1 = numeric::pow(t1,t2); } + static inline typename expression_node::node_type type() { return expression_node::e_pow; } + static inline details::operator_type operation() { return details::e_pow; } + }; + + template + struct lt_op : public opr_base + { + typedef typename opr_base::Type Type; + + static inline T process(Type t1, Type t2) { return ((t1 < t2) ? T(1) : T(0)); } + static inline T process(const std::string& t1, const std::string& t2) { return ((t1 < t2) ? T(1) : T(0)); } + static inline typename expression_node::node_type type() { return expression_node::e_lt; } + static inline details::operator_type operation() { return details::e_lt; } + }; + + template + struct lte_op : public opr_base + { + typedef typename opr_base::Type Type; + + static inline T process(Type t1, Type t2) { return ((t1 <= t2) ? T(1) : T(0)); } + static inline T process(const std::string& t1, const std::string& t2) { return ((t1 <= t2) ? T(1) : T(0)); } + static inline typename expression_node::node_type type() { return expression_node::e_lte; } + static inline details::operator_type operation() { return details::e_lte; } + }; + + template + struct gt_op : public opr_base + { + typedef typename opr_base::Type Type; + + static inline T process(Type t1, Type t2) { return ((t1 > t2) ? T(1) : T(0)); } + static inline T process(const std::string& t1, const std::string& t2) { return ((t1 > t2) ? T(1) : T(0)); } + static inline typename expression_node::node_type type() { return expression_node::e_gt; } + static inline details::operator_type operation() { return details::e_gt; } + }; + + template + struct gte_op : public opr_base + { + typedef typename opr_base::Type Type; + + static inline T process(Type t1, Type t2) { return ((t1 >= t2) ? T(1) : T(0)); } + static inline T process(const std::string& t1, const std::string& t2) { return ((t1 >= t2) ? T(1) : T(0)); } + static inline typename expression_node::node_type type() { return expression_node::e_gte; } + static inline details::operator_type operation() { return details::e_gte; } + }; + + template + struct eq_op : public opr_base + { + typedef typename opr_base::Type Type; + static inline T process(Type t1, Type t2) { return (std::equal_to()(t1,t2) ? T(1) : T(0)); } + static inline T process(const std::string& t1, const std::string& t2) { return ((t1 == t2) ? T(1) : T(0)); } + static inline typename expression_node::node_type type() { return expression_node::e_eq; } + static inline details::operator_type operation() { return details::e_eq; } + }; + + template + struct equal_op : public opr_base + { + typedef typename opr_base::Type Type; + + static inline T process(Type t1, Type t2) { return numeric::equal(t1,t2); } + static inline T process(const std::string& t1, const std::string& t2) { return ((t1 == t2) ? T(1) : T(0)); } + static inline typename expression_node::node_type type() { return expression_node::e_eq; } + static inline details::operator_type operation() { return details::e_equal; } + }; + + template + struct ne_op : public opr_base + { + typedef typename opr_base::Type Type; + + static inline T process(Type t1, Type t2) { return (std::not_equal_to()(t1,t2) ? T(1) : T(0)); } + static inline T process(const std::string& t1, const std::string& t2) { return ((t1 != t2) ? T(1) : T(0)); } + static inline typename expression_node::node_type type() { return expression_node::e_ne; } + static inline details::operator_type operation() { return details::e_ne; } + }; + + template + struct and_op : public opr_base + { + typedef typename opr_base::Type Type; + + static inline T process(Type t1, Type t2) { return (details::is_true(t1) && details::is_true(t2)) ? T(1) : T(0); } + static inline typename expression_node::node_type type() { return expression_node::e_and; } + static inline details::operator_type operation() { return details::e_and; } + }; + + template + struct nand_op : public opr_base + { + typedef typename opr_base::Type Type; + + static inline T process(Type t1, Type t2) { return (details::is_true(t1) && details::is_true(t2)) ? T(0) : T(1); } + static inline typename expression_node::node_type type() { return expression_node::e_nand; } + static inline details::operator_type operation() { return details::e_nand; } + }; + + template + struct or_op : public opr_base + { + typedef typename opr_base::Type Type; + + static inline T process(Type t1, Type t2) { return (details::is_true(t1) || details::is_true(t2)) ? T(1) : T(0); } + static inline typename expression_node::node_type type() { return expression_node::e_or; } + static inline details::operator_type operation() { return details::e_or; } + }; + + template + struct nor_op : public opr_base + { + typedef typename opr_base::Type Type; + + static inline T process(Type t1, Type t2) { return (details::is_true(t1) || details::is_true(t2)) ? T(0) : T(1); } + static inline typename expression_node::node_type type() { return expression_node::e_nor; } + static inline details::operator_type operation() { return details::e_nor; } + }; + + template + struct xor_op : public opr_base + { + typedef typename opr_base::Type Type; + + static inline T process(Type t1, Type t2) { return numeric::xor_opr(t1,t2); } + static inline typename expression_node::node_type type() { return expression_node::e_nor; } + static inline details::operator_type operation() { return details::e_xor; } + }; + + template + struct xnor_op : public opr_base + { + typedef typename opr_base::Type Type; + + static inline T process(Type t1, Type t2) { return numeric::xnor_opr(t1,t2); } + static inline typename expression_node::node_type type() { return expression_node::e_nor; } + static inline details::operator_type operation() { return details::e_xnor; } + }; + + template + struct in_op : public opr_base + { + typedef typename opr_base::Type Type; + + static inline T process(const T&, const T&) { return std::numeric_limits::quiet_NaN(); } + static inline T process(const std::string& t1, const std::string& t2) { return ((std::string::npos != t2.find(t1)) ? T(1) : T(0)); } + static inline typename expression_node::node_type type() { return expression_node::e_in; } + static inline details::operator_type operation() { return details::e_in; } + }; + + template + struct like_op : public opr_base + { + typedef typename opr_base::Type Type; + + static inline T process(const T&, const T&) { return std::numeric_limits::quiet_NaN(); } + static inline T process(const std::string& t1, const std::string& t2) { return (details::wc_match(t2,t1) ? T(1) : T(0)); } + static inline typename expression_node::node_type type() { return expression_node::e_like; } + static inline details::operator_type operation() { return details::e_like; } + }; + + template + struct ilike_op : public opr_base + { + typedef typename opr_base::Type Type; + + static inline T process(const T&, const T&) { return std::numeric_limits::quiet_NaN(); } + static inline T process(const std::string& t1, const std::string& t2) { return (details::wc_imatch(t2,t1) ? T(1) : T(0)); } + static inline typename expression_node::node_type type() { return expression_node::e_ilike; } + static inline details::operator_type operation() { return details::e_ilike; } + }; + + template + struct inrange_op : public opr_base + { + typedef typename opr_base::Type Type; + + static inline T process(const T& t0, const T& t1, const T& t2) { return ((t0 <= t1) && (t1 <= t2)) ? T(1) : T(0); } + static inline T process(const std::string& t0, const std::string& t1, const std::string& t2) + { + return ((t0 <= t1) && (t1 <= t2)) ? T(1) : T(0); + } + static inline typename expression_node::node_type type() { return expression_node::e_inranges; } + static inline details::operator_type operation() { return details::e_inrange; } + }; + + template + inline T value(details::expression_node* n) + { + return n->value(); + } + + template + inline T value(std::pair*,bool> n) + { + return n.first->value(); + } + + template + inline T value(const T* t) + { + return (*t); + } + + template + inline T value(const T& t) + { + return t; + } + + template + struct vararg_add_op exprtk_final : public opr_base + { + typedef typename opr_base::Type Type; + + template class Sequence> + static inline T process(const Sequence& arg_list) + { + switch (arg_list.size()) + { + case 0 : return T(0); + case 1 : return process_1(arg_list); + case 2 : return process_2(arg_list); + case 3 : return process_3(arg_list); + case 4 : return process_4(arg_list); + case 5 : return process_5(arg_list); + default : + { + T result = T(0); + + for (std::size_t i = 0; i < arg_list.size(); ++i) + { + result += value(arg_list[i]); + } + + return result; + } + } + } + + template + static inline T process_1(const Sequence& arg_list) + { + return value(arg_list[0]); + } + + template + static inline T process_2(const Sequence& arg_list) + { + return value(arg_list[0]) + value(arg_list[1]); + } + + template + static inline T process_3(const Sequence& arg_list) + { + return value(arg_list[0]) + value(arg_list[1]) + + value(arg_list[2]) ; + } + + template + static inline T process_4(const Sequence& arg_list) + { + return value(arg_list[0]) + value(arg_list[1]) + + value(arg_list[2]) + value(arg_list[3]) ; + } + + template + static inline T process_5(const Sequence& arg_list) + { + return value(arg_list[0]) + value(arg_list[1]) + + value(arg_list[2]) + value(arg_list[3]) + + value(arg_list[4]) ; + } + }; + + template + struct vararg_mul_op exprtk_final : public opr_base + { + typedef typename opr_base::Type Type; + + template class Sequence> + static inline T process(const Sequence& arg_list) + { + switch (arg_list.size()) + { + case 0 : return T(0); + case 1 : return process_1(arg_list); + case 2 : return process_2(arg_list); + case 3 : return process_3(arg_list); + case 4 : return process_4(arg_list); + case 5 : return process_5(arg_list); + default : + { + T result = T(value(arg_list[0])); + + for (std::size_t i = 1; i < arg_list.size(); ++i) + { + result *= value(arg_list[i]); + } + + return result; + } + } + } + + template + static inline T process_1(const Sequence& arg_list) + { + return value(arg_list[0]); + } + + template + static inline T process_2(const Sequence& arg_list) + { + return value(arg_list[0]) * value(arg_list[1]); + } + + template + static inline T process_3(const Sequence& arg_list) + { + return value(arg_list[0]) * value(arg_list[1]) * + value(arg_list[2]) ; + } + + template + static inline T process_4(const Sequence& arg_list) + { + return value(arg_list[0]) * value(arg_list[1]) * + value(arg_list[2]) * value(arg_list[3]) ; + } + + template + static inline T process_5(const Sequence& arg_list) + { + return value(arg_list[0]) * value(arg_list[1]) * + value(arg_list[2]) * value(arg_list[3]) * + value(arg_list[4]) ; + } + }; + + template + struct vararg_avg_op exprtk_final : public opr_base + { + typedef typename opr_base::Type Type; + + template class Sequence> + static inline T process(const Sequence& arg_list) + { + switch (arg_list.size()) + { + case 0 : return T(0); + case 1 : return process_1(arg_list); + case 2 : return process_2(arg_list); + case 3 : return process_3(arg_list); + case 4 : return process_4(arg_list); + case 5 : return process_5(arg_list); + default : return vararg_add_op::process(arg_list) / T(arg_list.size()); + } + } + + template + static inline T process_1(const Sequence& arg_list) + { + return value(arg_list[0]); + } + + template + static inline T process_2(const Sequence& arg_list) + { + return (value(arg_list[0]) + value(arg_list[1])) / T(2); + } + + template + static inline T process_3(const Sequence& arg_list) + { + return (value(arg_list[0]) + value(arg_list[1]) + value(arg_list[2])) / T(3); + } + + template + static inline T process_4(const Sequence& arg_list) + { + return (value(arg_list[0]) + value(arg_list[1]) + + value(arg_list[2]) + value(arg_list[3])) / T(4); + } + + template + static inline T process_5(const Sequence& arg_list) + { + return (value(arg_list[0]) + value(arg_list[1]) + + value(arg_list[2]) + value(arg_list[3]) + + value(arg_list[4])) / T(5); + } + }; + + template + struct vararg_min_op exprtk_final : public opr_base + { + typedef typename opr_base::Type Type; + + template class Sequence> + static inline T process(const Sequence& arg_list) + { + switch (arg_list.size()) + { + case 0 : return T(0); + case 1 : return process_1(arg_list); + case 2 : return process_2(arg_list); + case 3 : return process_3(arg_list); + case 4 : return process_4(arg_list); + case 5 : return process_5(arg_list); + default : + { + T result = T(value(arg_list[0])); + + for (std::size_t i = 1; i < arg_list.size(); ++i) + { + const T v = value(arg_list[i]); + + if (v < result) + result = v; + } + + return result; + } + } + } + + template + static inline T process_1(const Sequence& arg_list) + { + return value(arg_list[0]); + } + + template + static inline T process_2(const Sequence& arg_list) + { + return std::min(value(arg_list[0]),value(arg_list[1])); + } + + template + static inline T process_3(const Sequence& arg_list) + { + return std::min(std::min(value(arg_list[0]),value(arg_list[1])),value(arg_list[2])); + } + + template + static inline T process_4(const Sequence& arg_list) + { + return std::min( + std::min(value(arg_list[0]), value(arg_list[1])), + std::min(value(arg_list[2]), value(arg_list[3]))); + } + + template + static inline T process_5(const Sequence& arg_list) + { + return std::min( + std::min(std::min(value(arg_list[0]), value(arg_list[1])), + std::min(value(arg_list[2]), value(arg_list[3]))), + value(arg_list[4])); + } + }; + + template + struct vararg_max_op exprtk_final : public opr_base + { + typedef typename opr_base::Type Type; + + template class Sequence> + static inline T process(const Sequence& arg_list) + { + switch (arg_list.size()) + { + case 0 : return T(0); + case 1 : return process_1(arg_list); + case 2 : return process_2(arg_list); + case 3 : return process_3(arg_list); + case 4 : return process_4(arg_list); + case 5 : return process_5(arg_list); + default : + { + T result = T(value(arg_list[0])); + + for (std::size_t i = 1; i < arg_list.size(); ++i) + { + const T v = value(arg_list[i]); + + if (v > result) + result = v; + } + + return result; + } + } + } + + template + static inline T process_1(const Sequence& arg_list) + { + return value(arg_list[0]); + } + + template + static inline T process_2(const Sequence& arg_list) + { + return std::max(value(arg_list[0]),value(arg_list[1])); + } + + template + static inline T process_3(const Sequence& arg_list) + { + return std::max(std::max(value(arg_list[0]),value(arg_list[1])),value(arg_list[2])); + } + + template + static inline T process_4(const Sequence& arg_list) + { + return std::max( + std::max(value(arg_list[0]), value(arg_list[1])), + std::max(value(arg_list[2]), value(arg_list[3]))); + } + + template + static inline T process_5(const Sequence& arg_list) + { + return std::max( + std::max(std::max(value(arg_list[0]), value(arg_list[1])), + std::max(value(arg_list[2]), value(arg_list[3]))), + value(arg_list[4])); + } + }; + + template + struct vararg_mand_op exprtk_final : public opr_base + { + typedef typename opr_base::Type Type; + + template class Sequence> + static inline T process(const Sequence& arg_list) + { + switch (arg_list.size()) + { + case 1 : return process_1(arg_list); + case 2 : return process_2(arg_list); + case 3 : return process_3(arg_list); + case 4 : return process_4(arg_list); + case 5 : return process_5(arg_list); + default : + { + for (std::size_t i = 0; i < arg_list.size(); ++i) + { + if (std::equal_to()(T(0), value(arg_list[i]))) + return T(0); + } + + return T(1); + } + } + } + + template + static inline T process_1(const Sequence& arg_list) + { + return std::not_equal_to() + (T(0), value(arg_list[0])) ? T(1) : T(0); + } + + template + static inline T process_2(const Sequence& arg_list) + { + return ( + std::not_equal_to()(T(0), value(arg_list[0])) && + std::not_equal_to()(T(0), value(arg_list[1])) + ) ? T(1) : T(0); + } + + template + static inline T process_3(const Sequence& arg_list) + { + return ( + std::not_equal_to()(T(0), value(arg_list[0])) && + std::not_equal_to()(T(0), value(arg_list[1])) && + std::not_equal_to()(T(0), value(arg_list[2])) + ) ? T(1) : T(0); + } + + template + static inline T process_4(const Sequence& arg_list) + { + return ( + std::not_equal_to()(T(0), value(arg_list[0])) && + std::not_equal_to()(T(0), value(arg_list[1])) && + std::not_equal_to()(T(0), value(arg_list[2])) && + std::not_equal_to()(T(0), value(arg_list[3])) + ) ? T(1) : T(0); + } + + template + static inline T process_5(const Sequence& arg_list) + { + return ( + std::not_equal_to()(T(0), value(arg_list[0])) && + std::not_equal_to()(T(0), value(arg_list[1])) && + std::not_equal_to()(T(0), value(arg_list[2])) && + std::not_equal_to()(T(0), value(arg_list[3])) && + std::not_equal_to()(T(0), value(arg_list[4])) + ) ? T(1) : T(0); + } + }; + + template + struct vararg_mor_op exprtk_final : public opr_base + { + typedef typename opr_base::Type Type; + + template class Sequence> + static inline T process(const Sequence& arg_list) + { + switch (arg_list.size()) + { + case 1 : return process_1(arg_list); + case 2 : return process_2(arg_list); + case 3 : return process_3(arg_list); + case 4 : return process_4(arg_list); + case 5 : return process_5(arg_list); + default : + { + for (std::size_t i = 0; i < arg_list.size(); ++i) + { + if (std::not_equal_to()(T(0), value(arg_list[i]))) + return T(1); + } + + return T(0); + } + } + } + + template + static inline T process_1(const Sequence& arg_list) + { + return std::not_equal_to() + (T(0), value(arg_list[0])) ? T(1) : T(0); + } + + template + static inline T process_2(const Sequence& arg_list) + { + return ( + std::not_equal_to()(T(0), value(arg_list[0])) || + std::not_equal_to()(T(0), value(arg_list[1])) + ) ? T(1) : T(0); + } + + template + static inline T process_3(const Sequence& arg_list) + { + return ( + std::not_equal_to()(T(0), value(arg_list[0])) || + std::not_equal_to()(T(0), value(arg_list[1])) || + std::not_equal_to()(T(0), value(arg_list[2])) + ) ? T(1) : T(0); + } + + template + static inline T process_4(const Sequence& arg_list) + { + return ( + std::not_equal_to()(T(0), value(arg_list[0])) || + std::not_equal_to()(T(0), value(arg_list[1])) || + std::not_equal_to()(T(0), value(arg_list[2])) || + std::not_equal_to()(T(0), value(arg_list[3])) + ) ? T(1) : T(0); + } + + template + static inline T process_5(const Sequence& arg_list) + { + return ( + std::not_equal_to()(T(0), value(arg_list[0])) || + std::not_equal_to()(T(0), value(arg_list[1])) || + std::not_equal_to()(T(0), value(arg_list[2])) || + std::not_equal_to()(T(0), value(arg_list[3])) || + std::not_equal_to()(T(0), value(arg_list[4])) + ) ? T(1) : T(0); + } + }; + + template + struct vararg_multi_op exprtk_final : public opr_base + { + typedef typename opr_base::Type Type; + + template class Sequence> + static inline T process(const Sequence& arg_list) + { + switch (arg_list.size()) + { + case 0 : return std::numeric_limits::quiet_NaN(); + case 1 : return process_1(arg_list); + case 2 : return process_2(arg_list); + case 3 : return process_3(arg_list); + case 4 : return process_4(arg_list); + case 5 : return process_5(arg_list); + case 6 : return process_6(arg_list); + case 7 : return process_7(arg_list); + case 8 : return process_8(arg_list); + default : + { + for (std::size_t i = 0; i < (arg_list.size() - 1); ++i) + { + value(arg_list[i]); + } + return value(arg_list.back()); + } + } + } + + template + static inline T process_1(const Sequence& arg_list) + { + return value(arg_list[0]); + } + + template + static inline T process_2(const Sequence& arg_list) + { + value(arg_list[0]); + return value(arg_list[1]); + } + + template + static inline T process_3(const Sequence& arg_list) + { + value(arg_list[0]); + value(arg_list[1]); + return value(arg_list[2]); + } + + template + static inline T process_4(const Sequence& arg_list) + { + value(arg_list[0]); + value(arg_list[1]); + value(arg_list[2]); + return value(arg_list[3]); + } + + template + static inline T process_5(const Sequence& arg_list) + { + value(arg_list[0]); + value(arg_list[1]); + value(arg_list[2]); + value(arg_list[3]); + return value(arg_list[4]); + } + + template + static inline T process_6(const Sequence& arg_list) + { + value(arg_list[0]); + value(arg_list[1]); + value(arg_list[2]); + value(arg_list[3]); + value(arg_list[4]); + return value(arg_list[5]); + } + + template + static inline T process_7(const Sequence& arg_list) + { + value(arg_list[0]); + value(arg_list[1]); + value(arg_list[2]); + value(arg_list[3]); + value(arg_list[4]); + value(arg_list[5]); + return value(arg_list[6]); + } + + template + static inline T process_8(const Sequence& arg_list) + { + value(arg_list[0]); + value(arg_list[1]); + value(arg_list[2]); + value(arg_list[3]); + value(arg_list[4]); + value(arg_list[5]); + value(arg_list[6]); + return value(arg_list[7]); + } + }; + + template + struct vec_add_op + { + typedef vector_interface* ivector_ptr; + + static inline T process(const ivector_ptr v) + { + const T* vec = v->vec()->vds().data(); + const std::size_t vec_size = v->size(); + + loop_unroll::details lud(vec_size); + + if (vec_size <= static_cast(lud.batch_size)) + { + T result = T(0); + int i = 0; + + switch (vec_size) + { + #define case_stmt(N,fall_through) \ + case N : result += vec[i++]; \ + fall_through \ + + #ifndef exprtk_disable_superscalar_unroll + case_stmt(16, exprtk_fallthrough) case_stmt(15, exprtk_fallthrough) + case_stmt(14, exprtk_fallthrough) case_stmt(13, exprtk_fallthrough) + case_stmt(12, exprtk_fallthrough) case_stmt(11, exprtk_fallthrough) + case_stmt(10, exprtk_fallthrough) case_stmt( 9, exprtk_fallthrough) + case_stmt( 8, exprtk_fallthrough) case_stmt( 7, exprtk_fallthrough) + case_stmt( 6, exprtk_fallthrough) case_stmt( 5, exprtk_fallthrough) + + #endif + case_stmt( 4, exprtk_fallthrough) case_stmt( 3, exprtk_fallthrough) + case_stmt( 2, exprtk_fallthrough) case_stmt( 1, (void)0;) + } + + #undef case_stmt + + return result; + } + + T r[] = { + T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), + T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0) + }; + + const T* upper_bound = vec + lud.upper_bound; + + while (vec < upper_bound) + { + #define exprtk_loop(N) \ + r[N] += vec[N]; \ + + exprtk_loop( 0) exprtk_loop( 1) + exprtk_loop( 2) exprtk_loop( 3) + #ifndef exprtk_disable_superscalar_unroll + exprtk_loop( 4) exprtk_loop( 5) + exprtk_loop( 6) exprtk_loop( 7) + exprtk_loop( 8) exprtk_loop( 9) + exprtk_loop(10) exprtk_loop(11) + exprtk_loop(12) exprtk_loop(13) + exprtk_loop(14) exprtk_loop(15) + #endif + + vec += lud.batch_size; + } + + int i = 0; + + switch (lud.remainder) + { + #define case_stmt(N,fall_through) \ + case N : r[0] += vec[i++]; \ + fall_through \ + + #ifndef exprtk_disable_superscalar_unroll + case_stmt(15, exprtk_fallthrough) case_stmt(14, exprtk_fallthrough) + case_stmt(13, exprtk_fallthrough) case_stmt(12, exprtk_fallthrough) + case_stmt(11, exprtk_fallthrough) case_stmt(10, exprtk_fallthrough) + case_stmt( 9, exprtk_fallthrough) case_stmt( 8, exprtk_fallthrough) + case_stmt( 7, exprtk_fallthrough) case_stmt( 6, exprtk_fallthrough) + case_stmt( 5, exprtk_fallthrough) case_stmt( 4, exprtk_fallthrough) + #endif + case_stmt( 3, exprtk_fallthrough) case_stmt( 2, exprtk_fallthrough) + case_stmt( 1, (void)0;) + } + + #undef exprtk_loop + #undef case_stmt + + return (r[ 0] + r[ 1] + r[ 2] + r[ 3]) + #ifndef exprtk_disable_superscalar_unroll + + (r[ 4] + r[ 5] + r[ 6] + r[ 7]) + + (r[ 8] + r[ 9] + r[10] + r[11]) + + (r[12] + r[13] + r[14] + r[15]) + #endif + ; + } + }; + + template + struct vec_mul_op + { + typedef vector_interface* ivector_ptr; + + static inline T process(const ivector_ptr v) + { + const T* vec = v->vec()->vds().data(); + const std::size_t vec_size = v->vec()->size(); + + loop_unroll::details lud(vec_size); + + if (vec_size <= static_cast(lud.batch_size)) + { + T result = T(1); + int i = 0; + + switch (vec_size) + { + #define case_stmt(N,fall_through) \ + case N : result *= vec[i++]; \ + fall_through \ + + #ifndef exprtk_disable_superscalar_unroll + case_stmt(16, exprtk_fallthrough) case_stmt(15, exprtk_fallthrough) + case_stmt(14, exprtk_fallthrough) case_stmt(13, exprtk_fallthrough) + case_stmt(12, exprtk_fallthrough) case_stmt(11, exprtk_fallthrough) + case_stmt(10, exprtk_fallthrough) case_stmt( 9, exprtk_fallthrough) + case_stmt( 8, exprtk_fallthrough) case_stmt( 7, exprtk_fallthrough) + case_stmt( 6, exprtk_fallthrough) case_stmt( 5, exprtk_fallthrough) + #endif + case_stmt( 4, exprtk_fallthrough) case_stmt( 3, exprtk_fallthrough) + case_stmt( 2, exprtk_fallthrough) case_stmt( 1, (void)0;) + } + + #undef case_stmt + + return result; + } + + T r[] = { + T(1), T(1), T(1), T(1), T(1), T(1), T(1), T(1), + T(1), T(1), T(1), T(1), T(1), T(1), T(1), T(1) + }; + + const T* upper_bound = vec + lud.upper_bound; + + while (vec < upper_bound) + { + #define exprtk_loop(N) \ + r[N] *= vec[N]; \ + + exprtk_loop( 0) exprtk_loop( 1) + exprtk_loop( 2) exprtk_loop( 3) + #ifndef exprtk_disable_superscalar_unroll + exprtk_loop( 4) exprtk_loop( 5) + exprtk_loop( 6) exprtk_loop( 7) + exprtk_loop( 8) exprtk_loop( 9) + exprtk_loop(10) exprtk_loop(11) + exprtk_loop(12) exprtk_loop(13) + exprtk_loop(14) exprtk_loop(15) + #endif + + vec += lud.batch_size; + } + + int i = 0; + + switch (lud.remainder) + { + #define case_stmt(N,fall_through) \ + case N : r[0] *= vec[i++]; \ + fall_through \ + + #ifndef exprtk_disable_superscalar_unroll + case_stmt(15, exprtk_fallthrough) case_stmt(14, exprtk_fallthrough) + case_stmt(13, exprtk_fallthrough) case_stmt(12, exprtk_fallthrough) + case_stmt(11, exprtk_fallthrough) case_stmt(10, exprtk_fallthrough) + case_stmt( 9, exprtk_fallthrough) case_stmt( 8, exprtk_fallthrough) + case_stmt( 7, exprtk_fallthrough) case_stmt( 6, exprtk_fallthrough) + case_stmt( 5, exprtk_fallthrough) case_stmt( 4, exprtk_fallthrough) + #endif + case_stmt( 3, exprtk_fallthrough) case_stmt( 2, exprtk_fallthrough) + case_stmt( 1, (void)0;) + } + + #undef exprtk_loop + #undef case_stmt + + return (r[ 0] * r[ 1] * r[ 2] * r[ 3]) + #ifndef exprtk_disable_superscalar_unroll + * (r[ 4] * r[ 5] * r[ 6] * r[ 7]) + * (r[ 8] * r[ 9] * r[10] * r[11]) + * (r[12] * r[13] * r[14] * r[15]) + #endif + ; + } + }; + + template + struct vec_avg_op + { + typedef vector_interface* ivector_ptr; + + static inline T process(const ivector_ptr v) + { + const T vec_size = T(v->vec()->size()); + return vec_add_op::process(v) / vec_size; + } + }; + + template + struct vec_min_op + { + typedef vector_interface* ivector_ptr; + + static inline T process(const ivector_ptr v) + { + const T* vec = v->vec()->vds().data(); + const std::size_t vec_size = v->vec()->size(); + + T result = vec[0]; + + for (std::size_t i = 1; i < vec_size; ++i) + { + const T v_i = vec[i]; + + if (v_i < result) + result = v_i; + } + + return result; + } + }; + + template + struct vec_max_op + { + typedef vector_interface* ivector_ptr; + + static inline T process(const ivector_ptr v) + { + const T* vec = v->vec()->vds().data(); + const std::size_t vec_size = v->vec()->size(); + + T result = vec[0]; + + for (std::size_t i = 1; i < vec_size; ++i) + { + const T v_i = vec[i]; + + if (v_i > result) + result = v_i; + } + + return result; + } + }; + + template + class vov_base_node : public expression_node + { + public: + + virtual ~vov_base_node() + {} + + inline virtual operator_type operation() const + { + return details::e_default; + } + + virtual const T& v0() const = 0; + + virtual const T& v1() const = 0; + }; + + template + class cov_base_node : public expression_node + { + public: + + virtual ~cov_base_node() + {} + + inline virtual operator_type operation() const + { + return details::e_default; + } + + virtual const T c() const = 0; + + virtual const T& v() const = 0; + }; + + template + class voc_base_node : public expression_node + { + public: + + virtual ~voc_base_node() + {} + + inline virtual operator_type operation() const + { + return details::e_default; + } + + virtual const T c() const = 0; + + virtual const T& v() const = 0; + }; + + template + class vob_base_node : public expression_node + { + public: + + virtual ~vob_base_node() + {} + + virtual const T& v() const = 0; + }; + + template + class bov_base_node : public expression_node + { + public: + + virtual ~bov_base_node() + {} + + virtual const T& v() const = 0; + }; + + template + class cob_base_node : public expression_node + { + public: + + virtual ~cob_base_node() + {} + + inline virtual operator_type operation() const + { + return details::e_default; + } + + virtual const T c() const = 0; + + virtual void set_c(const T) = 0; + + virtual expression_node* move_branch(const std::size_t& index) = 0; + }; + + template + class boc_base_node : public expression_node + { + public: + + virtual ~boc_base_node() + {} + + inline virtual operator_type operation() const + { + return details::e_default; + } + + virtual const T c() const = 0; + + virtual void set_c(const T) = 0; + + virtual expression_node* move_branch(const std::size_t& index) = 0; + }; + + template + class uv_base_node : public expression_node + { + public: + + virtual ~uv_base_node() + {} + + inline virtual operator_type operation() const + { + return details::e_default; + } + + virtual const T& v() const = 0; + }; + + template + class sos_base_node : public expression_node + { + public: + + virtual ~sos_base_node() + {} + + inline virtual operator_type operation() const + { + return details::e_default; + } + }; + + template + class sosos_base_node : public expression_node + { + public: + + virtual ~sosos_base_node() + {} + + inline virtual operator_type operation() const + { + return details::e_default; + } + }; + + template + class T0oT1oT2_base_node : public expression_node + { + public: + + virtual ~T0oT1oT2_base_node() + {} + + virtual std::string type_id() const = 0; + }; + + template + class T0oT1oT2oT3_base_node : public expression_node + { + public: + + virtual ~T0oT1oT2oT3_base_node() + {} + + virtual std::string type_id() const = 0; + }; + + template + class unary_variable_node exprtk_final : public uv_base_node + { + public: + + typedef expression_node* expression_ptr; + typedef Operation operation_t; + + explicit unary_variable_node(const T& var) + : v_(var) + {} + + inline T value() const exprtk_override + { + return Operation::process(v_); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return Operation::type(); + } + + inline operator_type operation() const exprtk_override + { + return Operation::operation(); + } + + inline const T& v() const exprtk_override + { + return v_; + } + + private: + + unary_variable_node(const unary_variable_node&) exprtk_delete; + unary_variable_node& operator=(const unary_variable_node&) exprtk_delete; + + const T& v_; + }; + + template + class uvouv_node exprtk_final : public expression_node + { + public: + + // UOpr1(v0) Op UOpr2(v1) + typedef typename details::functor_t functor_t; + typedef typename functor_t::bfunc_t bfunc_t; + typedef typename functor_t::ufunc_t ufunc_t; + typedef expression_node* expression_ptr; + + explicit uvouv_node(const T& var0,const T& var1, + ufunc_t uf0, ufunc_t uf1, bfunc_t bf) + : v0_(var0) + , v1_(var1) + , u0_(uf0 ) + , u1_(uf1 ) + , f_ (bf ) + {} + + inline T value() const exprtk_override + { + return f_(u0_(v0_),u1_(v1_)); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_uvouv; + } + + inline const T& v0() + { + return v0_; + } + + inline const T& v1() + { + return v1_; + } + + inline ufunc_t u0() + { + return u0_; + } + + inline ufunc_t u1() + { + return u1_; + } + + inline ufunc_t f() + { + return f_; + } + + private: + + uvouv_node(const uvouv_node&) exprtk_delete; + uvouv_node& operator=(const uvouv_node&) exprtk_delete; + + const T& v0_; + const T& v1_; + const ufunc_t u0_; + const ufunc_t u1_; + const bfunc_t f_; + }; + + template + class unary_branch_node exprtk_final : public expression_node + { + public: + + typedef Operation operation_t; + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + + explicit unary_branch_node(expression_ptr branch) + { + construct_branch_pair(branch_, branch); + } + + inline T value() const exprtk_override + { + return Operation::process(branch_.first->value()); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return Operation::type(); + } + + inline bool valid() const exprtk_override + { + return branch_.first && branch_.first->valid(); + } + + inline operator_type operation() + { + return Operation::operation(); + } + + inline expression_node* branch(const std::size_t&) const exprtk_override + { + return branch_.first; + } + + inline void release() + { + branch_.second = false; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(branch_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(branch_); + } + + private: + + unary_branch_node(const unary_branch_node&) exprtk_delete; + unary_branch_node& operator=(const unary_branch_node&) exprtk_delete; + + branch_t branch_; + }; + + template struct is_const { enum {result = 0}; }; + template struct is_const { enum {result = 1}; }; + template struct is_const_ref { enum {result = 0}; }; + template struct is_const_ref { enum {result = 1}; }; + template struct is_ref { enum {result = 0}; }; + template struct is_ref { enum {result = 1}; }; + template struct is_ref { enum {result = 0}; }; + + template + struct param_to_str { static std::string result() { static const std::string r("v"); return r; } }; + + template <> + struct param_to_str<0> { static std::string result() { static const std::string r("c"); return r; } }; + + #define exprtk_crtype(Type) \ + param_to_str::result>::result() \ + + template + struct T0oT1oT2process + { + typedef typename details::functor_t functor_t; + typedef typename functor_t::bfunc_t bfunc_t; + + struct mode0 + { + static inline T process(const T& t0, const T& t1, const T& t2, const bfunc_t bf0, const bfunc_t bf1) + { + // (T0 o0 T1) o1 T2 + return bf1(bf0(t0,t1),t2); + } + + template + static inline std::string id() + { + static const std::string result = "(" + exprtk_crtype(T0) + "o" + + exprtk_crtype(T1) + ")o(" + + exprtk_crtype(T2) + ")" ; + return result; + } + }; + + struct mode1 + { + static inline T process(const T& t0, const T& t1, const T& t2, const bfunc_t bf0, const bfunc_t bf1) + { + // T0 o0 (T1 o1 T2) + return bf0(t0,bf1(t1,t2)); + } + + template + static inline std::string id() + { + static const std::string result = "(" + exprtk_crtype(T0) + ")o(" + + exprtk_crtype(T1) + "o" + + exprtk_crtype(T2) + ")" ; + return result; + } + }; + }; + + template + struct T0oT1oT20T3process + { + typedef typename details::functor_t functor_t; + typedef typename functor_t::bfunc_t bfunc_t; + + struct mode0 + { + static inline T process(const T& t0, const T& t1, + const T& t2, const T& t3, + const bfunc_t bf0, const bfunc_t bf1, const bfunc_t bf2) + { + // (T0 o0 T1) o1 (T2 o2 T3) + return bf1(bf0(t0,t1),bf2(t2,t3)); + } + + template + static inline std::string id() + { + static const std::string result = "(" + exprtk_crtype(T0) + "o" + + exprtk_crtype(T1) + ")o" + + "(" + exprtk_crtype(T2) + "o" + + exprtk_crtype(T3) + ")" ; + return result; + } + }; + + struct mode1 + { + static inline T process(const T& t0, const T& t1, + const T& t2, const T& t3, + const bfunc_t bf0, const bfunc_t bf1, const bfunc_t bf2) + { + // (T0 o0 (T1 o1 (T2 o2 T3)) + return bf0(t0,bf1(t1,bf2(t2,t3))); + } + template + static inline std::string id() + { + static const std::string result = "(" + exprtk_crtype(T0) + ")o((" + + exprtk_crtype(T1) + ")o(" + + exprtk_crtype(T2) + "o" + + exprtk_crtype(T3) + "))" ; + return result; + } + }; + + struct mode2 + { + static inline T process(const T& t0, const T& t1, + const T& t2, const T& t3, + const bfunc_t bf0, const bfunc_t bf1, const bfunc_t bf2) + { + // (T0 o0 ((T1 o1 T2) o2 T3) + return bf0(t0,bf2(bf1(t1,t2),t3)); + } + + template + static inline std::string id() + { + static const std::string result = "(" + exprtk_crtype(T0) + ")o((" + + exprtk_crtype(T1) + "o" + + exprtk_crtype(T2) + ")o(" + + exprtk_crtype(T3) + "))" ; + return result; + } + }; + + struct mode3 + { + static inline T process(const T& t0, const T& t1, + const T& t2, const T& t3, + const bfunc_t bf0, const bfunc_t bf1, const bfunc_t bf2) + { + // (((T0 o0 T1) o1 T2) o2 T3) + return bf2(bf1(bf0(t0,t1),t2),t3); + } + + template + static inline std::string id() + { + static const std::string result = "((" + exprtk_crtype(T0) + "o" + + exprtk_crtype(T1) + ")o(" + + exprtk_crtype(T2) + "))o(" + + exprtk_crtype(T3) + ")"; + return result; + } + }; + + struct mode4 + { + static inline T process(const T& t0, const T& t1, + const T& t2, const T& t3, + const bfunc_t bf0, const bfunc_t bf1, const bfunc_t bf2) + { + // ((T0 o0 (T1 o1 T2)) o2 T3 + return bf2(bf0(t0,bf1(t1,t2)),t3); + } + + template + static inline std::string id() + { + static const std::string result = "((" + exprtk_crtype(T0) + ")o(" + + exprtk_crtype(T1) + "o" + + exprtk_crtype(T2) + "))o(" + + exprtk_crtype(T3) + ")" ; + return result; + } + }; + }; + + #undef exprtk_crtype + + template + struct nodetype_T0oT1 { static const typename expression_node::node_type result; }; + template + const typename expression_node::node_type nodetype_T0oT1::result = expression_node::e_none; + + #define synthesis_node_type_define(T0_, T1_, v_) \ + template \ + struct nodetype_T0oT1 { static const typename expression_node::node_type result; }; \ + template \ + const typename expression_node::node_type nodetype_T0oT1::result = expression_node:: v_; \ + + synthesis_node_type_define(const T0&, const T1&, e_vov) + synthesis_node_type_define(const T0&, const T1 , e_voc) + synthesis_node_type_define(const T0 , const T1&, e_cov) + synthesis_node_type_define( T0&, T1&, e_none) + synthesis_node_type_define(const T0 , const T1 , e_none) + synthesis_node_type_define( T0&, const T1 , e_none) + synthesis_node_type_define(const T0 , T1&, e_none) + synthesis_node_type_define(const T0&, T1&, e_none) + synthesis_node_type_define( T0&, const T1&, e_none) + #undef synthesis_node_type_define + + template + struct nodetype_T0oT1oT2 { static const typename expression_node::node_type result; }; + template + const typename expression_node::node_type nodetype_T0oT1oT2::result = expression_node::e_none; + + #define synthesis_node_type_define(T0_, T1_, T2_, v_) \ + template \ + struct nodetype_T0oT1oT2 { static const typename expression_node::node_type result; }; \ + template \ + const typename expression_node::node_type nodetype_T0oT1oT2::result = expression_node:: v_; \ + + synthesis_node_type_define(const T0&, const T1&, const T2&, e_vovov) + synthesis_node_type_define(const T0&, const T1&, const T2 , e_vovoc) + synthesis_node_type_define(const T0&, const T1 , const T2&, e_vocov) + synthesis_node_type_define(const T0 , const T1&, const T2&, e_covov) + synthesis_node_type_define(const T0 , const T1&, const T2 , e_covoc) + synthesis_node_type_define(const T0 , const T1 , const T2 , e_none ) + synthesis_node_type_define(const T0 , const T1 , const T2&, e_none ) + synthesis_node_type_define(const T0&, const T1 , const T2 , e_none ) + synthesis_node_type_define( T0&, T1&, T2&, e_none ) + #undef synthesis_node_type_define + + template + struct nodetype_T0oT1oT2oT3 { static const typename expression_node::node_type result; }; + template + const typename expression_node::node_type nodetype_T0oT1oT2oT3::result = expression_node::e_none; + + #define synthesis_node_type_define(T0_, T1_, T2_, T3_, v_) \ + template \ + struct nodetype_T0oT1oT2oT3 { static const typename expression_node::node_type result; }; \ + template \ + const typename expression_node::node_type nodetype_T0oT1oT2oT3::result = expression_node:: v_; \ + + synthesis_node_type_define(const T0&, const T1&, const T2&, const T3&, e_vovovov) + synthesis_node_type_define(const T0&, const T1&, const T2&, const T3 , e_vovovoc) + synthesis_node_type_define(const T0&, const T1&, const T2 , const T3&, e_vovocov) + synthesis_node_type_define(const T0&, const T1 , const T2&, const T3&, e_vocovov) + synthesis_node_type_define(const T0 , const T1&, const T2&, const T3&, e_covovov) + synthesis_node_type_define(const T0 , const T1&, const T2 , const T3&, e_covocov) + synthesis_node_type_define(const T0&, const T1 , const T2&, const T3 , e_vocovoc) + synthesis_node_type_define(const T0 , const T1&, const T2&, const T3 , e_covovoc) + synthesis_node_type_define(const T0&, const T1 , const T2 , const T3&, e_vococov) + synthesis_node_type_define(const T0 , const T1 , const T2 , const T3 , e_none ) + synthesis_node_type_define(const T0 , const T1 , const T2 , const T3&, e_none ) + synthesis_node_type_define(const T0 , const T1 , const T2&, const T3 , e_none ) + synthesis_node_type_define(const T0 , const T1&, const T2 , const T3 , e_none ) + synthesis_node_type_define(const T0&, const T1 , const T2 , const T3 , e_none ) + synthesis_node_type_define(const T0 , const T1 , const T2&, const T3&, e_none ) + synthesis_node_type_define(const T0&, const T1&, const T2 , const T3 , e_none ) + #undef synthesis_node_type_define + + template + class T0oT1 exprtk_final : public expression_node + { + public: + + typedef typename details::functor_t functor_t; + typedef typename functor_t::bfunc_t bfunc_t; + typedef T value_type; + typedef T0oT1 node_type; + + T0oT1(T0 p0, T1 p1, const bfunc_t p2) + : t0_(p0) + , t1_(p1) + , f_ (p2) + {} + + inline typename expression_node::node_type type() const exprtk_override + { + static const typename expression_node::node_type result = nodetype_T0oT1::result; + return result; + } + + inline operator_type operation() const exprtk_override + { + return e_default; + } + + inline T value() const exprtk_override + { + return f_(t0_,t1_); + } + + inline T0 t0() const + { + return t0_; + } + + inline T1 t1() const + { + return t1_; + } + + inline bfunc_t f() const + { + return f_; + } + + template + static inline expression_node* allocate(Allocator& allocator, + T0 p0, T1 p1, + bfunc_t p2) + { + return allocator + .template allocate_type + (p0, p1, p2); + } + + private: + + T0oT1(const T0oT1&) exprtk_delete; + T0oT1& operator=(const T0oT1&) { return (*this); } + + T0 t0_; + T1 t1_; + const bfunc_t f_; + }; + + template + class T0oT1oT2 exprtk_final : public T0oT1oT2_base_node + { + public: + + typedef typename details::functor_t functor_t; + typedef typename functor_t::bfunc_t bfunc_t; + typedef T value_type; + typedef T0oT1oT2 node_type; + typedef ProcessMode process_mode_t; + + T0oT1oT2(T0 p0, T1 p1, T2 p2, const bfunc_t p3, const bfunc_t p4) + : t0_(p0) + , t1_(p1) + , t2_(p2) + , f0_(p3) + , f1_(p4) + {} + + inline typename expression_node::node_type type() const exprtk_override + { + static const typename expression_node::node_type result = nodetype_T0oT1oT2::result; + return result; + } + + inline operator_type operation() + { + return e_default; + } + + inline T value() const exprtk_override + { + return ProcessMode::process(t0_, t1_, t2_, f0_, f1_); + } + + inline T0 t0() const + { + return t0_; + } + + inline T1 t1() const + { + return t1_; + } + + inline T2 t2() const + { + return t2_; + } + + bfunc_t f0() const + { + return f0_; + } + + bfunc_t f1() const + { + return f1_; + } + + std::string type_id() const exprtk_override + { + return id(); + } + + static inline std::string id() + { + return process_mode_t::template id(); + } + + template + static inline expression_node* allocate(Allocator& allocator, T0 p0, T1 p1, T2 p2, bfunc_t p3, bfunc_t p4) + { + return allocator + .template allocate_type + (p0, p1, p2, p3, p4); + } + + private: + + T0oT1oT2(const node_type&) exprtk_delete; + node_type& operator=(const node_type&) exprtk_delete; + + T0 t0_; + T1 t1_; + T2 t2_; + const bfunc_t f0_; + const bfunc_t f1_; + }; + + template + class T0oT1oT2oT3 exprtk_final : public T0oT1oT2oT3_base_node + { + public: + + typedef typename details::functor_t functor_t; + typedef typename functor_t::bfunc_t bfunc_t; + typedef T value_type; + typedef T0_ T0; + typedef T1_ T1; + typedef T2_ T2; + typedef T3_ T3; + typedef T0oT1oT2oT3 node_type; + typedef ProcessMode process_mode_t; + + T0oT1oT2oT3(T0 p0, T1 p1, T2 p2, T3 p3, bfunc_t p4, bfunc_t p5, bfunc_t p6) + : t0_(p0) + , t1_(p1) + , t2_(p2) + , t3_(p3) + , f0_(p4) + , f1_(p5) + , f2_(p6) + {} + + inline T value() const exprtk_override + { + return ProcessMode::process(t0_, t1_, t2_, t3_, f0_, f1_, f2_); + } + + inline T0 t0() const + { + return t0_; + } + + inline T1 t1() const + { + return t1_; + } + + inline T2 t2() const + { + return t2_; + } + + inline T3 t3() const + { + return t3_; + } + + inline bfunc_t f0() const + { + return f0_; + } + + inline bfunc_t f1() const + { + return f1_; + } + + inline bfunc_t f2() const + { + return f2_; + } + + inline std::string type_id() const exprtk_override + { + return id(); + } + + static inline std::string id() + { + return process_mode_t::template id(); + } + + template + static inline expression_node* allocate(Allocator& allocator, + T0 p0, T1 p1, T2 p2, T3 p3, + bfunc_t p4, bfunc_t p5, bfunc_t p6) + { + return allocator + .template allocate_type + (p0, p1, p2, p3, p4, p5, p6); + } + + private: + + T0oT1oT2oT3(const node_type&) exprtk_delete; + node_type& operator=(const node_type&) exprtk_delete; + + T0 t0_; + T1 t1_; + T2 t2_; + T3 t3_; + const bfunc_t f0_; + const bfunc_t f1_; + const bfunc_t f2_; + }; + + template + class T0oT1oT2_sf3 exprtk_final : public T0oT1oT2_base_node + { + public: + + typedef typename details::functor_t functor_t; + typedef typename functor_t::tfunc_t tfunc_t; + typedef T value_type; + typedef T0oT1oT2_sf3 node_type; + + T0oT1oT2_sf3(T0 p0, T1 p1, T2 p2, const tfunc_t p3) + : t0_(p0) + , t1_(p1) + , t2_(p2) + , f_ (p3) + {} + + inline typename expression_node::node_type type() const exprtk_override + { + static const typename expression_node::node_type result = nodetype_T0oT1oT2::result; + return result; + } + + inline operator_type operation() const exprtk_override + { + return e_default; + } + + inline T value() const exprtk_override + { + return f_(t0_, t1_, t2_); + } + + inline T0 t0() const + { + return t0_; + } + + inline T1 t1() const + { + return t1_; + } + + inline T2 t2() const + { + return t2_; + } + + tfunc_t f() const + { + return f_; + } + + std::string type_id() const + { + return id(); + } + + static inline std::string id() + { + return "sf3"; + } + + template + static inline expression_node* allocate(Allocator& allocator, T0 p0, T1 p1, T2 p2, tfunc_t p3) + { + return allocator + .template allocate_type + (p0, p1, p2, p3); + } + + private: + + T0oT1oT2_sf3(const node_type&) exprtk_delete; + node_type& operator=(const node_type&) exprtk_delete; + + T0 t0_; + T1 t1_; + T2 t2_; + const tfunc_t f_; + }; + + template + class sf3ext_type_node : public T0oT1oT2_base_node + { + public: + + virtual ~sf3ext_type_node() + {} + + virtual T0 t0() const = 0; + + virtual T1 t1() const = 0; + + virtual T2 t2() const = 0; + }; + + template + class T0oT1oT2_sf3ext exprtk_final : public sf3ext_type_node + { + public: + + typedef T value_type; + typedef T0oT1oT2_sf3ext node_type; + + T0oT1oT2_sf3ext(T0 p0, T1 p1, T2 p2) + : t0_(p0) + , t1_(p1) + , t2_(p2) + {} + + inline typename expression_node::node_type type() const exprtk_override + { + static const typename expression_node::node_type result = nodetype_T0oT1oT2::result; + return result; + } + + inline operator_type operation() + { + return e_default; + } + + inline T value() const exprtk_override + { + return SF3Operation::process(t0_, t1_, t2_); + } + + T0 t0() const exprtk_override + { + return t0_; + } + + T1 t1() const exprtk_override + { + return t1_; + } + + T2 t2() const exprtk_override + { + return t2_; + } + + std::string type_id() const exprtk_override + { + return id(); + } + + static inline std::string id() + { + return SF3Operation::id(); + } + + template + static inline expression_node* allocate(Allocator& allocator, T0 p0, T1 p1, T2 p2) + { + return allocator + .template allocate_type + (p0, p1, p2); + } + + private: + + T0oT1oT2_sf3ext(const node_type&) exprtk_delete; + node_type& operator=(const node_type&) exprtk_delete; + + T0 t0_; + T1 t1_; + T2 t2_; + }; + + template + inline bool is_sf3ext_node(const expression_node* n) + { + switch (n->type()) + { + case expression_node::e_vovov : return true; + case expression_node::e_vovoc : return true; + case expression_node::e_vocov : return true; + case expression_node::e_covov : return true; + case expression_node::e_covoc : return true; + default : return false; + } + } + + template + class T0oT1oT2oT3_sf4 exprtk_final : public T0oT1oT2_base_node + { + public: + + typedef typename details::functor_t functor_t; + typedef typename functor_t::qfunc_t qfunc_t; + typedef T value_type; + typedef T0oT1oT2oT3_sf4 node_type; + + T0oT1oT2oT3_sf4(T0 p0, T1 p1, T2 p2, T3 p3, const qfunc_t p4) + : t0_(p0) + , t1_(p1) + , t2_(p2) + , t3_(p3) + , f_ (p4) + {} + + inline typename expression_node::node_type type() const exprtk_override + { + static const typename expression_node::node_type result = nodetype_T0oT1oT2oT3::result; + return result; + } + + inline operator_type operation() const exprtk_override + { + return e_default; + } + + inline T value() const exprtk_override + { + return f_(t0_, t1_, t2_, t3_); + } + + inline T0 t0() const + { + return t0_; + } + + inline T1 t1() const + { + return t1_; + } + + inline T2 t2() const + { + return t2_; + } + + inline T3 t3() const + { + return t3_; + } + + qfunc_t f() const + { + return f_; + } + + std::string type_id() const + { + return id(); + } + + static inline std::string id() + { + return "sf4"; + } + + template + static inline expression_node* allocate(Allocator& allocator, T0 p0, T1 p1, T2 p2, T3 p3, qfunc_t p4) + { + return allocator + .template allocate_type + (p0, p1, p2, p3, p4); + } + + private: + + T0oT1oT2oT3_sf4(const node_type&) exprtk_delete; + node_type& operator=(const node_type&) exprtk_delete; + + T0 t0_; + T1 t1_; + T2 t2_; + T3 t3_; + const qfunc_t f_; + }; + + template + class T0oT1oT2oT3_sf4ext exprtk_final : public T0oT1oT2oT3_base_node + { + public: + + typedef T value_type; + typedef T0oT1oT2oT3_sf4ext node_type; + + T0oT1oT2oT3_sf4ext(T0 p0, T1 p1, T2 p2, T3 p3) + : t0_(p0) + , t1_(p1) + , t2_(p2) + , t3_(p3) + {} + + inline typename expression_node::node_type type() const exprtk_override + { + static const typename expression_node::node_type result = nodetype_T0oT1oT2oT3::result; + return result; + } + + inline T value() const exprtk_override + { + return SF4Operation::process(t0_, t1_, t2_, t3_); + } + + inline T0 t0() const + { + return t0_; + } + + inline T1 t1() const + { + return t1_; + } + + inline T2 t2() const + { + return t2_; + } + + inline T3 t3() const + { + return t3_; + } + + std::string type_id() const exprtk_override + { + return id(); + } + + static inline std::string id() + { + return SF4Operation::id(); + } + + template + static inline expression_node* allocate(Allocator& allocator, T0 p0, T1 p1, T2 p2, T3 p3) + { + return allocator + .template allocate_type + (p0, p1, p2, p3); + } + + private: + + T0oT1oT2oT3_sf4ext(const node_type&) exprtk_delete; + node_type& operator=(const node_type&) exprtk_delete; + + T0 t0_; + T1 t1_; + T2 t2_; + T3 t3_; + }; + + template + inline bool is_sf4ext_node(const expression_node* n) + { + switch (n->type()) + { + case expression_node::e_vovovov : return true; + case expression_node::e_vovovoc : return true; + case expression_node::e_vovocov : return true; + case expression_node::e_vocovov : return true; + case expression_node::e_covovov : return true; + case expression_node::e_covocov : return true; + case expression_node::e_vocovoc : return true; + case expression_node::e_covovoc : return true; + case expression_node::e_vococov : return true; + default : return false; + } + } + + template + struct T0oT1_define + { + typedef details::T0oT1 type0; + }; + + template + struct T0oT1oT2_define + { + typedef details::T0oT1oT2::mode0> type0; + typedef details::T0oT1oT2::mode1> type1; + typedef details::T0oT1oT2_sf3 sf3_type; + typedef details::sf3ext_type_node sf3_type_node; + }; + + template + struct T0oT1oT2oT3_define + { + typedef details::T0oT1oT2oT3::mode0> type0; + typedef details::T0oT1oT2oT3::mode1> type1; + typedef details::T0oT1oT2oT3::mode2> type2; + typedef details::T0oT1oT2oT3::mode3> type3; + typedef details::T0oT1oT2oT3::mode4> type4; + typedef details::T0oT1oT2oT3_sf4 sf4_type; + }; + + template + class vov_node exprtk_final : public vov_base_node + { + public: + + typedef expression_node* expression_ptr; + typedef Operation operation_t; + + // variable op variable node + explicit vov_node(const T& var0, const T& var1) + : v0_(var0) + , v1_(var1) + {} + + inline T value() const exprtk_override + { + return Operation::process(v0_,v1_); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return Operation::type(); + } + + inline operator_type operation() const exprtk_override + { + return Operation::operation(); + } + + inline const T& v0() const exprtk_override + { + return v0_; + } + + inline const T& v1() const exprtk_override + { + return v1_; + } + + protected: + + const T& v0_; + const T& v1_; + + private: + + vov_node(const vov_node&) exprtk_delete; + vov_node& operator=(const vov_node&) exprtk_delete; + }; + + template + class cov_node exprtk_final : public cov_base_node + { + public: + + typedef expression_node* expression_ptr; + typedef Operation operation_t; + + // constant op variable node + explicit cov_node(const T& const_var, const T& var) + : c_(const_var) + , v_(var) + {} + + inline T value() const exprtk_override + { + return Operation::process(c_,v_); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return Operation::type(); + } + + inline operator_type operation() const exprtk_override + { + return Operation::operation(); + } + + inline const T c() const exprtk_override + { + return c_; + } + + inline const T& v() const exprtk_override + { + return v_; + } + + protected: + + const T c_; + const T& v_; + + private: + + cov_node(const cov_node&) exprtk_delete; + cov_node& operator=(const cov_node&) exprtk_delete; + }; + + template + class voc_node exprtk_final : public voc_base_node + { + public: + + typedef expression_node* expression_ptr; + typedef Operation operation_t; + + // variable op constant node + explicit voc_node(const T& var, const T& const_var) + : v_(var) + , c_(const_var) + {} + + inline T value() const exprtk_override + { + return Operation::process(v_,c_); + } + + inline operator_type operation() const exprtk_override + { + return Operation::operation(); + } + + inline const T c() const exprtk_override + { + return c_; + } + + inline const T& v() const exprtk_override + { + return v_; + } + + protected: + + const T& v_; + const T c_; + + private: + + voc_node(const voc_node&) exprtk_delete; + voc_node& operator=(const voc_node&) exprtk_delete; + }; + + template + class vob_node exprtk_final : public vob_base_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + typedef Operation operation_t; + + // variable op binary node + explicit vob_node(const T& var, const expression_ptr branch) + : v_(var) + { + construct_branch_pair(branch_, branch); + assert(valid()); + } + + inline T value() const exprtk_override + { + return Operation::process(v_,branch_.first->value()); + } + + inline const T& v() const exprtk_override + { + return v_; + } + + inline bool valid() const exprtk_override + { + return branch_.first && branch_.first->valid(); + } + + inline expression_node* branch(const std::size_t&) const exprtk_override + { + return branch_.first; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::template collect(branch_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(branch_); + } + + private: + + vob_node(const vob_node&) exprtk_delete; + vob_node& operator=(const vob_node&) exprtk_delete; + + const T& v_; + branch_t branch_; + }; + + template + class bov_node exprtk_final : public bov_base_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + typedef Operation operation_t; + + // binary node op variable node + explicit bov_node(const expression_ptr branch, const T& var) + : v_(var) + { + construct_branch_pair(branch_, branch); + assert(valid()); + } + + inline T value() const exprtk_override + { + return Operation::process(branch_.first->value(),v_); + } + + inline const T& v() const exprtk_override + { + return v_; + } + + inline bool valid() const exprtk_override + { + return branch_.first && branch_.first->valid(); + } + + inline expression_node* branch(const std::size_t&) const exprtk_override + { + return branch_.first; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::template collect(branch_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(branch_); + } + + private: + + bov_node(const bov_node&) exprtk_delete; + bov_node& operator=(const bov_node&) exprtk_delete; + + const T& v_; + branch_t branch_; + }; + + template + class cob_node exprtk_final : public cob_base_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + typedef Operation operation_t; + + // constant op variable node + explicit cob_node(const T const_var, const expression_ptr branch) + : c_(const_var) + { + construct_branch_pair(branch_, branch); + assert(valid()); + } + + inline T value() const exprtk_override + { + return Operation::process(c_,branch_.first->value()); + } + + inline operator_type operation() const exprtk_override + { + return Operation::operation(); + } + + inline const T c() const exprtk_override + { + return c_; + } + + inline void set_c(const T new_c) exprtk_override + { + (*const_cast(&c_)) = new_c; + } + + inline bool valid() const exprtk_override + { + return branch_.first && branch_.first->valid(); + } + + inline expression_node* branch(const std::size_t&) const exprtk_override + { + return branch_.first; + } + + inline expression_node* move_branch(const std::size_t&) exprtk_override + { + branch_.second = false; + return branch_.first; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::template collect(branch_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(branch_); + } + + private: + + cob_node(const cob_node&) exprtk_delete; + cob_node& operator=(const cob_node&) exprtk_delete; + + const T c_; + branch_t branch_; + }; + + template + class boc_node exprtk_final : public boc_base_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + typedef Operation operation_t; + + // binary node op constant node + explicit boc_node(const expression_ptr branch, const T const_var) + : c_(const_var) + { + construct_branch_pair(branch_, branch); + assert(valid()); + } + + inline T value() const exprtk_override + { + return Operation::process(branch_.first->value(),c_); + } + + inline operator_type operation() const exprtk_override + { + return Operation::operation(); + } + + inline const T c() const exprtk_override + { + return c_; + } + + inline void set_c(const T new_c) exprtk_override + { + (*const_cast(&c_)) = new_c; + } + + inline bool valid() const exprtk_override + { + return branch_.first && branch_.first->valid(); + } + + inline expression_node* branch(const std::size_t&) const exprtk_override + { + return branch_.first; + } + + inline expression_node* move_branch(const std::size_t&) exprtk_override + { + branch_.second = false; + return branch_.first; + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::template collect(branch_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(branch_); + } + + private: + + boc_node(const boc_node&) exprtk_delete; + boc_node& operator=(const boc_node&) exprtk_delete; + + const T c_; + branch_t branch_; + }; + + #ifndef exprtk_disable_string_capabilities + template + class sos_node exprtk_final : public sos_base_node + { + public: + + typedef expression_node* expression_ptr; + typedef Operation operation_t; + + // string op string node + explicit sos_node(SType0 p0, SType1 p1) + : s0_(p0) + , s1_(p1) + {} + + inline T value() const exprtk_override + { + return Operation::process(s0_,s1_); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return Operation::type(); + } + + inline operator_type operation() const exprtk_override + { + return Operation::operation(); + } + + inline std::string& s0() + { + return s0_; + } + + inline std::string& s1() + { + return s1_; + } + + protected: + + SType0 s0_; + SType1 s1_; + + private: + + sos_node(const sos_node&) exprtk_delete; + sos_node& operator=(const sos_node&) exprtk_delete; + }; + + template + class str_xrox_node exprtk_final : public sos_base_node + { + public: + + typedef expression_node* expression_ptr; + typedef Operation operation_t; + typedef str_xrox_node node_type; + + // string-range op string node + explicit str_xrox_node(SType0 p0, SType1 p1, RangePack rp0) + : s0_ (p0 ) + , s1_ (p1 ) + , rp0_(rp0) + {} + + ~str_xrox_node() + { + rp0_.free(); + } + + inline T value() const exprtk_override + { + std::size_t r0 = 0; + std::size_t r1 = 0; + + if (rp0_(r0, r1, s0_.size())) + return Operation::process(s0_.substr(r0, (r1 - r0) + 1), s1_); + else + return T(0); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return Operation::type(); + } + + inline operator_type operation() const exprtk_override + { + return Operation::operation(); + } + + inline std::string& s0() + { + return s0_; + } + + inline std::string& s1() + { + return s1_; + } + + protected: + + SType0 s0_; + SType1 s1_; + RangePack rp0_; + + private: + + str_xrox_node(const node_type&) exprtk_delete; + node_type& operator=(const node_type&) exprtk_delete; + }; + + template + class str_xoxr_node exprtk_final : public sos_base_node + { + public: + + typedef expression_node* expression_ptr; + typedef Operation operation_t; + typedef str_xoxr_node node_type; + + // string op string range node + explicit str_xoxr_node(SType0 p0, SType1 p1, RangePack rp1) + : s0_ (p0 ) + , s1_ (p1 ) + , rp1_(rp1) + {} + + ~str_xoxr_node() + { + rp1_.free(); + } + + inline T value() const exprtk_override + { + std::size_t r0 = 0; + std::size_t r1 = 0; + + if (rp1_(r0, r1, s1_.size())) + { + return Operation::process + ( + s0_, + s1_.substr(r0, (r1 - r0) + 1) + ); + } + else + return T(0); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return Operation::type(); + } + + inline operator_type operation() const exprtk_override + { + return Operation::operation(); + } + + inline std::string& s0() + { + return s0_; + } + + inline std::string& s1() + { + return s1_; + } + + protected: + + SType0 s0_; + SType1 s1_; + RangePack rp1_; + + private: + + str_xoxr_node(const node_type&) exprtk_delete; + node_type& operator=(const node_type&) exprtk_delete; + }; + + template + class str_xroxr_node exprtk_final : public sos_base_node + { + public: + + typedef expression_node* expression_ptr; + typedef Operation operation_t; + typedef str_xroxr_node node_type; + + // string-range op string-range node + explicit str_xroxr_node(SType0 p0, SType1 p1, RangePack rp0, RangePack rp1) + : s0_ (p0 ) + , s1_ (p1 ) + , rp0_(rp0) + , rp1_(rp1) + {} + + ~str_xroxr_node() + { + rp0_.free(); + rp1_.free(); + } + + inline T value() const exprtk_override + { + std::size_t r0_0 = 0; + std::size_t r0_1 = 0; + std::size_t r1_0 = 0; + std::size_t r1_1 = 0; + + if ( + rp0_(r0_0, r1_0, s0_.size()) && + rp1_(r0_1, r1_1, s1_.size()) + ) + { + return Operation::process + ( + s0_.substr(r0_0, (r1_0 - r0_0) + 1), + s1_.substr(r0_1, (r1_1 - r0_1) + 1) + ); + } + else + return T(0); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return Operation::type(); + } + + inline operator_type operation() const exprtk_override + { + return Operation::operation(); + } + + inline std::string& s0() + { + return s0_; + } + + inline std::string& s1() + { + return s1_; + } + + protected: + + SType0 s0_; + SType1 s1_; + RangePack rp0_; + RangePack rp1_; + + private: + + str_xroxr_node(const node_type&) exprtk_delete; + node_type& operator=(const node_type&) exprtk_delete; + }; + + template + class str_sogens_node exprtk_final : public binary_node + { + public: + + typedef expression_node * expression_ptr; + typedef string_base_node* str_base_ptr; + typedef range_pack range_t; + typedef range_t* range_ptr; + typedef range_interface irange_t; + typedef irange_t* irange_ptr; + + using binary_node::branch; + + str_sogens_node(const operator_type& opr, + expression_ptr branch0, + expression_ptr branch1) + : binary_node(opr, branch0, branch1) + , str0_base_ptr_ (0) + , str1_base_ptr_ (0) + , str0_range_ptr_(0) + , str1_range_ptr_(0) + , initialised_ (false) + { + if (is_generally_string_node(branch(0))) + { + str0_base_ptr_ = dynamic_cast(branch(0)); + + if (0 == str0_base_ptr_) + return; + + irange_ptr range = dynamic_cast(branch(0)); + + if (0 == range) + return; + + str0_range_ptr_ = &(range->range_ref()); + } + + if (is_generally_string_node(branch(1))) + { + str1_base_ptr_ = dynamic_cast(branch(1)); + + if (0 == str1_base_ptr_) + return; + + irange_ptr range = dynamic_cast(branch(1)); + + if (0 == range) + return; + + str1_range_ptr_ = &(range->range_ref()); + } + + initialised_ = + str0_base_ptr_ && + str1_base_ptr_ && + str0_range_ptr_ && + str1_range_ptr_; + + assert(valid()); + } + + inline T value() const exprtk_override + { + branch(0)->value(); + branch(1)->value(); + + std::size_t str0_r0 = 0; + std::size_t str0_r1 = 0; + + std::size_t str1_r0 = 0; + std::size_t str1_r1 = 0; + + const range_t& range0 = (*str0_range_ptr_); + const range_t& range1 = (*str1_range_ptr_); + + if ( + range0(str0_r0, str0_r1, str0_base_ptr_->size()) && + range1(str1_r0, str1_r1, str1_base_ptr_->size()) + ) + { + return Operation::process + ( + str0_base_ptr_->str().substr(str0_r0,(str0_r1 - str0_r0)), + str1_base_ptr_->str().substr(str1_r0,(str1_r1 - str1_r0)) + ); + } + + return std::numeric_limits::quiet_NaN(); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return Operation::type(); + } + + inline bool valid() const exprtk_override + { + return initialised_; + } + + private: + + str_sogens_node(const str_sogens_node&) exprtk_delete; + str_sogens_node& operator=(const str_sogens_node&) exprtk_delete; + + str_base_ptr str0_base_ptr_; + str_base_ptr str1_base_ptr_; + range_ptr str0_range_ptr_; + range_ptr str1_range_ptr_; + bool initialised_; + }; + + template + class sosos_node exprtk_final : public sosos_base_node + { + public: + + typedef expression_node* expression_ptr; + typedef Operation operation_t; + typedef sosos_node node_type; + + // string op string op string node + explicit sosos_node(SType0 p0, SType1 p1, SType2 p2) + : s0_(p0) + , s1_(p1) + , s2_(p2) + {} + + inline T value() const exprtk_override + { + return Operation::process(s0_, s1_, s2_); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return Operation::type(); + } + + inline operator_type operation() const exprtk_override + { + return Operation::operation(); + } + + inline std::string& s0() + { + return s0_; + } + + inline std::string& s1() + { + return s1_; + } + + inline std::string& s2() + { + return s2_; + } + + protected: + + SType0 s0_; + SType1 s1_; + SType2 s2_; + + private: + + sosos_node(const node_type&) exprtk_delete; + node_type& operator=(const node_type&) exprtk_delete; + }; + #endif + + template + class ipow_node exprtk_final: public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef PowOp operation_t; + + explicit ipow_node(const T& v) + : v_(v) + {} + + inline T value() const exprtk_override + { + return PowOp::result(v_); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_ipow; + } + + private: + + ipow_node(const ipow_node&) exprtk_delete; + ipow_node& operator=(const ipow_node&) exprtk_delete; + + const T& v_; + }; + + template + class bipow_node exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + typedef PowOp operation_t; + + explicit bipow_node(expression_ptr branch) + { + construct_branch_pair(branch_, branch); + assert(valid()); + } + + inline T value() const exprtk_override + { + return PowOp::result(branch_.first->value()); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_ipow; + } + + inline bool valid() const exprtk_override + { + return branch_.first && branch_.first->valid(); + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::collect(branch_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(branch_); + } + + private: + + bipow_node(const bipow_node&) exprtk_delete; + bipow_node& operator=(const bipow_node&) exprtk_delete; + + branch_t branch_; + }; + + template + class ipowinv_node exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef PowOp operation_t; + + explicit ipowinv_node(const T& v) + : v_(v) + {} + + inline T value() const exprtk_override + { + return (T(1) / PowOp::result(v_)); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_ipowinv; + } + + private: + + ipowinv_node(const ipowinv_node&) exprtk_delete; + ipowinv_node& operator=(const ipowinv_node&) exprtk_delete; + + const T& v_; + }; + + template + class bipowinv_node exprtk_final : public expression_node + { + public: + + typedef expression_node* expression_ptr; + typedef std::pair branch_t; + typedef PowOp operation_t; + + explicit bipowinv_node(expression_ptr branch) + { + construct_branch_pair(branch_, branch); + assert(valid()); + } + + inline T value() const exprtk_override + { + return (T(1) / PowOp::result(branch_.first->value())); + } + + inline typename expression_node::node_type type() const exprtk_override + { + return expression_node::e_ipowinv; + } + + inline bool valid() const exprtk_override + { + return branch_.first && branch_.first->valid(); + } + + void collect_nodes(typename expression_node::noderef_list_t& node_delete_list) exprtk_override + { + expression_node::ndb_t::template collect(branch_, node_delete_list); + } + + std::size_t node_depth() const exprtk_override + { + return expression_node::ndb_t::compute_node_depth(branch_); + } + + private: + + bipowinv_node(const bipowinv_node&) exprtk_delete; + bipowinv_node& operator=(const bipowinv_node&) exprtk_delete; + + branch_t branch_; + }; + + template + inline bool is_vov_node(const expression_node* node) + { + return (0 != dynamic_cast*>(node)); + } + + template + inline bool is_cov_node(const expression_node* node) + { + return (0 != dynamic_cast*>(node)); + } + + template + inline bool is_voc_node(const expression_node* node) + { + return (0 != dynamic_cast*>(node)); + } + + template + inline bool is_cob_node(const expression_node* node) + { + return (0 != dynamic_cast*>(node)); + } + + template + inline bool is_boc_node(const expression_node* node) + { + return (0 != dynamic_cast*>(node)); + } + + template + inline bool is_t0ot1ot2_node(const expression_node* node) + { + return (0 != dynamic_cast*>(node)); + } + + template + inline bool is_t0ot1ot2ot3_node(const expression_node* node) + { + return (0 != dynamic_cast*>(node)); + } + + template + inline bool is_uv_node(const expression_node* node) + { + return (0 != dynamic_cast*>(node)); + } + + template + inline bool is_string_node(const expression_node* node) + { + return node && (expression_node::e_stringvar == node->type()); + } + + template + inline bool is_string_range_node(const expression_node* node) + { + return node && (expression_node::e_stringvarrng == node->type()); + } + + template + inline bool is_const_string_node(const expression_node* node) + { + return node && (expression_node::e_stringconst == node->type()); + } + + template + inline bool is_const_string_range_node(const expression_node* node) + { + return node && (expression_node::e_cstringvarrng == node->type()); + } + + template + inline bool is_string_assignment_node(const expression_node* node) + { + return node && (expression_node::e_strass == node->type()); + } + + template + inline bool is_string_concat_node(const expression_node* node) + { + return node && (expression_node::e_strconcat == node->type()); + } + + template + inline bool is_string_function_node(const expression_node* node) + { + return node && (expression_node::e_strfunction == node->type()); + } + + template + inline bool is_string_condition_node(const expression_node* node) + { + return node && (expression_node::e_strcondition == node->type()); + } + + template + inline bool is_string_ccondition_node(const expression_node* node) + { + return node && (expression_node::e_strccondition == node->type()); + } + + template + inline bool is_string_vararg_node(const expression_node* node) + { + return node && (expression_node::e_stringvararg == node->type()); + } + + template + inline bool is_genricstring_range_node(const expression_node* node) + { + return node && (expression_node::e_strgenrange == node->type()); + } + + template + inline bool is_generally_string_node(const expression_node* node) + { + if (node) + { + switch (node->type()) + { + case expression_node::e_stringvar : + case expression_node::e_stringconst : + case expression_node::e_stringvarrng : + case expression_node::e_cstringvarrng : + case expression_node::e_strgenrange : + case expression_node::e_strass : + case expression_node::e_strconcat : + case expression_node::e_strfunction : + case expression_node::e_strcondition : + case expression_node::e_strccondition : + case expression_node::e_stringvararg : return true; + default : return false; + } + } + + return false; + } + + class node_allocator + { + public: + + template + inline expression_node* allocate(OpType& operation, ExprNode (&branch)[1]) + { + expression_node* result = + allocate(operation, branch[0]); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate(OpType& operation, ExprNode (&branch)[2]) + { + expression_node* result = + allocate(operation, branch[0], branch[1]); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate(OpType& operation, ExprNode (&branch)[3]) + { + expression_node* result = + allocate(operation, branch[0], branch[1], branch[2]); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate(OpType& operation, ExprNode (&branch)[4]) + { + expression_node* result = + allocate(operation, branch[0], branch[1], branch[2], branch[3]); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate(OpType& operation, ExprNode (&branch)[5]) + { + expression_node* result = + allocate(operation, branch[0],branch[1], branch[2], branch[3], branch[4]); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate(OpType& operation, ExprNode (&branch)[6]) + { + expression_node* result = + allocate(operation, branch[0], branch[1], branch[2], branch[3], branch[4], branch[5]); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate() const + { + return (new node_type()); + } + + template class Sequence> + inline expression_node* allocate(const Sequence& seq) const + { + expression_node* + result = (new node_type(seq)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate(T1& t1) const + { + expression_node* + result = (new node_type(t1)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate_c(const T1& t1) const + { + expression_node* + result = (new node_type(t1)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate(const T1& t1, const T2& t2) const + { + expression_node* + result = (new node_type(t1, t2)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate_cr(const T1& t1, T2& t2) const + { + expression_node* + result = (new node_type(t1, t2)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate_rc(T1& t1, const T2& t2) const + { + expression_node* + result = (new node_type(t1, t2)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate_rr(T1& t1, T2& t2) const + { + expression_node* + result = (new node_type(t1, t2)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate_tt(T1 t1, T2 t2) const + { + expression_node* + result = (new node_type(t1, t2)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate_ttt(T1 t1, T2 t2, T3 t3) const + { + expression_node* + result = (new node_type(t1, t2, t3)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate_tttt(T1 t1, T2 t2, T3 t3, T4 t4) const + { + expression_node* + result = (new node_type(t1, t2, t3, t4)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate_rrr(T1& t1, T2& t2, T3& t3) const + { + expression_node* + result = (new node_type(t1, t2, t3)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate_rrrr(T1& t1, T2& t2, T3& t3, T4& t4) const + { + expression_node* + result = (new node_type(t1, t2, t3, t4)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate_rrrrr(T1& t1, T2& t2, T3& t3, T4& t4, T5& t5) const + { + expression_node* + result = (new node_type(t1, t2, t3, t4, t5)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate(const T1& t1, const T2& t2, + const T3& t3) const + { + expression_node* + result = (new node_type(t1, t2, t3)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate(const T1& t1, const T2& t2, + const T3& t3, const T4& t4) const + { + expression_node* + result = (new node_type(t1, t2, t3, t4)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate(const T1& t1, const T2& t2, + const T3& t3, const T4& t4, + const T5& t5) const + { + expression_node* + result = (new node_type(t1, t2, t3, t4, t5)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate(const T1& t1, const T2& t2, + const T3& t3, const T4& t4, + const T5& t5, const T6& t6) const + { + expression_node* + result = (new node_type(t1, t2, t3, t4, t5, t6)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate(const T1& t1, const T2& t2, + const T3& t3, const T4& t4, + const T5& t5, const T6& t6, + const T7& t7) const + { + expression_node* + result = (new node_type(t1, t2, t3, t4, t5, t6, t7)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate(const T1& t1, const T2& t2, + const T3& t3, const T4& t4, + const T5& t5, const T6& t6, + const T7& t7, const T8& t8) const + { + expression_node* + result = (new node_type(t1, t2, t3, t4, t5, t6, t7, t8)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate(const T1& t1, const T2& t2, + const T3& t3, const T4& t4, + const T5& t5, const T6& t6, + const T7& t7, const T8& t8, + const T9& t9) const + { + expression_node* + result = (new node_type(t1, t2, t3, t4, t5, t6, t7, t8, t9)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate(const T1& t1, const T2& t2, + const T3& t3, const T4& t4, + const T5& t5, const T6& t6, + const T7& t7, const T8& t8, + const T9& t9, const T10& t10) const + { + expression_node* + result = (new node_type(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate_type(T1 t1, T2 t2, T3 t3) const + { + expression_node* + result = (new node_type(t1, t2, t3)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate_type(T1 t1, T2 t2, + T3 t3, T4 t4) const + { + expression_node* + result = (new node_type(t1, t2, t3, t4)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate_type(T1 t1, T2 t2, + T3 t3, T4 t4, + T5 t5) const + { + expression_node* + result = (new node_type(t1, t2, t3, t4, t5)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate_type(T1 t1, T2 t2, + T3 t3, T4 t4, + T5 t5, T6 t6) const + { + expression_node* + result = (new node_type(t1, t2, t3, t4, t5, t6)); + result->node_depth(); + return result; + } + + template + inline expression_node* allocate_type(T1 t1, T2 t2, + T3 t3, T4 t4, + T5 t5, T6 t6, + T7 t7) const + { + expression_node* + result = (new node_type(t1, t2, t3, t4, t5, t6, t7)); + result->node_depth(); + return result; + } + + template + void inline free(expression_node*& e) const + { + exprtk_debug(("node_allocator::free() - deleting expression_node " + "type: %03d addr: %p\n", + static_cast(e->type()), + reinterpret_cast(e))); + delete e; + e = 0; + } + }; + + inline void load_operations_map(std::multimap& m) + { + #define register_op(Symbol, Type, Args) \ + m.insert(std::make_pair(std::string(Symbol),details::base_operation_t(Type,Args))); \ + + register_op("abs" , e_abs , 1) + register_op("acos" , e_acos , 1) + register_op("acosh" , e_acosh , 1) + register_op("asin" , e_asin , 1) + register_op("asinh" , e_asinh , 1) + register_op("atan" , e_atan , 1) + register_op("atanh" , e_atanh , 1) + register_op("ceil" , e_ceil , 1) + register_op("cos" , e_cos , 1) + register_op("cosh" , e_cosh , 1) + register_op("exp" , e_exp , 1) + register_op("expm1" , e_expm1 , 1) + register_op("floor" , e_floor , 1) + register_op("log" , e_log , 1) + register_op("log10" , e_log10 , 1) + register_op("log2" , e_log2 , 1) + register_op("log1p" , e_log1p , 1) + register_op("round" , e_round , 1) + register_op("sin" , e_sin , 1) + register_op("sinc" , e_sinc , 1) + register_op("sinh" , e_sinh , 1) + register_op("sec" , e_sec , 1) + register_op("csc" , e_csc , 1) + register_op("sqrt" , e_sqrt , 1) + register_op("tan" , e_tan , 1) + register_op("tanh" , e_tanh , 1) + register_op("cot" , e_cot , 1) + register_op("rad2deg" , e_r2d , 1) + register_op("deg2rad" , e_d2r , 1) + register_op("deg2grad" , e_d2g , 1) + register_op("grad2deg" , e_g2d , 1) + register_op("sgn" , e_sgn , 1) + register_op("not" , e_notl , 1) + register_op("erf" , e_erf , 1) + register_op("erfc" , e_erfc , 1) + register_op("ncdf" , e_ncdf , 1) + register_op("frac" , e_frac , 1) + register_op("trunc" , e_trunc , 1) + register_op("atan2" , e_atan2 , 2) + register_op("mod" , e_mod , 2) + register_op("logn" , e_logn , 2) + register_op("pow" , e_pow , 2) + register_op("root" , e_root , 2) + register_op("roundn" , e_roundn , 2) + register_op("equal" , e_equal , 2) + register_op("not_equal" , e_nequal , 2) + register_op("hypot" , e_hypot , 2) + register_op("shr" , e_shr , 2) + register_op("shl" , e_shl , 2) + register_op("clamp" , e_clamp , 3) + register_op("iclamp" , e_iclamp , 3) + register_op("inrange" , e_inrange , 3) + #undef register_op + } + + } // namespace details + + class function_traits + { + public: + + function_traits() + : allow_zero_parameters_(false) + , has_side_effects_(true) + , min_num_args_(0) + , max_num_args_(std::numeric_limits::max()) + {} + + inline bool& allow_zero_parameters() + { + return allow_zero_parameters_; + } + + inline bool& has_side_effects() + { + return has_side_effects_; + } + + std::size_t& min_num_args() + { + return min_num_args_; + } + + std::size_t& max_num_args() + { + return max_num_args_; + } + + private: + + bool allow_zero_parameters_; + bool has_side_effects_; + std::size_t min_num_args_; + std::size_t max_num_args_; + }; + + template + void enable_zero_parameters(FunctionType& func) + { + func.allow_zero_parameters() = true; + + if (0 != func.min_num_args()) + { + func.min_num_args() = 0; + } + } + + template + void disable_zero_parameters(FunctionType& func) + { + func.allow_zero_parameters() = false; + } + + template + void enable_has_side_effects(FunctionType& func) + { + func.has_side_effects() = true; + } + + template + void disable_has_side_effects(FunctionType& func) + { + func.has_side_effects() = false; + } + + template + void set_min_num_args(FunctionType& func, const std::size_t& num_args) + { + func.min_num_args() = num_args; + + if ((0 != func.min_num_args()) && func.allow_zero_parameters()) + func.allow_zero_parameters() = false; + } + + template + void set_max_num_args(FunctionType& func, const std::size_t& num_args) + { + func.max_num_args() = num_args; + } + + template + class ifunction : public function_traits + { + public: + + explicit ifunction(const std::size_t& pc) + : param_count(pc) + {} + + virtual ~ifunction() + {} + + #define empty_method_body(N) \ + { \ + exprtk_debug(("ifunction::operator() - Operator(" #N ") has not been overridden\n")); \ + return std::numeric_limits::quiet_NaN(); \ + } \ + + inline virtual T operator() () + empty_method_body(0) + + inline virtual T operator() (const T&) + empty_method_body(1) + + inline virtual T operator() (const T&,const T&) + empty_method_body(2) + + inline virtual T operator() (const T&, const T&, const T&) + empty_method_body(3) + + inline virtual T operator() (const T&, const T&, const T&, const T&) + empty_method_body(4) + + inline virtual T operator() (const T&, const T&, const T&, const T&, const T&) + empty_method_body(5) + + inline virtual T operator() (const T&, const T&, const T&, const T&, const T&, const T&) + empty_method_body(6) + + inline virtual T operator() (const T&, const T&, const T&, const T&, const T&, const T&, const T&) + empty_method_body(7) + + inline virtual T operator() (const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&) + empty_method_body(8) + + inline virtual T operator() (const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&) + empty_method_body(9) + + inline virtual T operator() (const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&) + empty_method_body(10) + + inline virtual T operator() (const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, + const T&) + empty_method_body(11) + + inline virtual T operator() (const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, + const T&, const T&) + empty_method_body(12) + + inline virtual T operator() (const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, + const T&, const T&, const T&) + empty_method_body(13) + + inline virtual T operator() (const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, + const T&, const T&, const T&, const T&) + empty_method_body(14) + + inline virtual T operator() (const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, + const T&, const T&, const T&, const T&, const T&) + empty_method_body(15) + + inline virtual T operator() (const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, + const T&, const T&, const T&, const T&, const T&, const T&) + empty_method_body(16) + + inline virtual T operator() (const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, + const T&, const T&, const T&, const T&, const T&, const T&, const T&) + empty_method_body(17) + + inline virtual T operator() (const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, + const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&) + empty_method_body(18) + + inline virtual T operator() (const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, + const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&) + empty_method_body(19) + + inline virtual T operator() (const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, + const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&, const T&) + empty_method_body(20) + + #undef empty_method_body + + std::size_t param_count; + }; + + template + class ivararg_function : public function_traits + { + public: + + virtual ~ivararg_function() + {} + + inline virtual T operator() (const std::vector&) + { + exprtk_debug(("ivararg_function::operator() - Operator has not been overridden\n")); + return std::numeric_limits::quiet_NaN(); + } + }; + + template + class igeneric_function : public function_traits + { + public: + + enum return_type + { + e_rtrn_scalar = 0, + e_rtrn_string = 1, + e_rtrn_overload = 2 + }; + + typedef T type; + typedef type_store generic_type; + typedef typename generic_type::parameter_list parameter_list_t; + + explicit igeneric_function(const std::string& param_seq = "", const return_type rtr_type = e_rtrn_scalar) + : parameter_sequence(param_seq) + , rtrn_type(rtr_type) + {} + + virtual ~igeneric_function() + {} + + #define igeneric_function_empty_body(N) \ + { \ + exprtk_debug(("igeneric_function::operator() - Operator(" #N ") has not been overridden\n")); \ + return std::numeric_limits::quiet_NaN(); \ + } \ + + // f(i_0,i_1,....,i_N) --> Scalar + inline virtual T operator() (parameter_list_t) + igeneric_function_empty_body(1) + + // f(i_0,i_1,....,i_N) --> String + inline virtual T operator() (std::string&, parameter_list_t) + igeneric_function_empty_body(2) + + // f(psi,i_0,i_1,....,i_N) --> Scalar + inline virtual T operator() (const std::size_t&, parameter_list_t) + igeneric_function_empty_body(3) + + // f(psi,i_0,i_1,....,i_N) --> String + inline virtual T operator() (const std::size_t&, std::string&, parameter_list_t) + igeneric_function_empty_body(4) + + #undef igeneric_function_empty_body + + std::string parameter_sequence; + return_type rtrn_type; + }; + + #ifndef exprtk_disable_string_capabilities + template + class stringvar_base + { + public: + + typedef typename details::stringvar_node stringvar_node_t; + + stringvar_base(const std::string& name, stringvar_node_t* svn) + : name_(name) + , string_varnode_(svn) + {} + + bool valid() const + { + return !name_.empty() && (0 != string_varnode_); + } + + std::string name() const + { + assert(string_varnode_); + return name_; + } + + void rebase(std::string& s) + { + assert(string_varnode_); + string_varnode_->rebase(s); + } + + private: + + std::string name_; + stringvar_node_t* string_varnode_; + }; + #endif + + template class parser; + template class expression_helper; + + template + class symbol_table + { + public: + + enum symtab_mutability_type + { + e_unknown = 0, + e_mutable = 1, + e_immutable = 2 + }; + + typedef T (*ff00_functor)(); + typedef T (*ff01_functor)(T); + typedef T (*ff02_functor)(T, T); + typedef T (*ff03_functor)(T, T, T); + typedef T (*ff04_functor)(T, T, T, T); + typedef T (*ff05_functor)(T, T, T, T, T); + typedef T (*ff06_functor)(T, T, T, T, T, T); + typedef T (*ff07_functor)(T, T, T, T, T, T, T); + typedef T (*ff08_functor)(T, T, T, T, T, T, T, T); + typedef T (*ff09_functor)(T, T, T, T, T, T, T, T, T); + typedef T (*ff10_functor)(T, T, T, T, T, T, T, T, T, T); + typedef T (*ff11_functor)(T, T, T, T, T, T, T, T, T, T, T); + typedef T (*ff12_functor)(T, T, T, T, T, T, T, T, T, T, T, T); + typedef T (*ff13_functor)(T, T, T, T, T, T, T, T, T, T, T, T, T); + typedef T (*ff14_functor)(T, T, T, T, T, T, T, T, T, T, T, T, T, T); + typedef T (*ff15_functor)(T, T, T, T, T, T, T, T, T, T, T, T, T, T, T); + + protected: + + struct freefunc00 exprtk_final : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + explicit freefunc00(ff00_functor ff) : exprtk::ifunction(0), f(ff) {} + inline T operator() () exprtk_override + { return f(); } + ff00_functor f; + }; + + struct freefunc01 exprtk_final : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + explicit freefunc01(ff01_functor ff) : exprtk::ifunction(1), f(ff) {} + inline T operator() (const T& v0) exprtk_override + { return f(v0); } + ff01_functor f; + }; + + struct freefunc02 exprtk_final : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + explicit freefunc02(ff02_functor ff) : exprtk::ifunction(2), f(ff) {} + inline T operator() (const T& v0, const T& v1) exprtk_override + { return f(v0, v1); } + ff02_functor f; + }; + + struct freefunc03 exprtk_final : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + explicit freefunc03(ff03_functor ff) : exprtk::ifunction(3), f(ff) {} + inline T operator() (const T& v0, const T& v1, const T& v2) exprtk_override + { return f(v0, v1, v2); } + ff03_functor f; + }; + + struct freefunc04 exprtk_final : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + explicit freefunc04(ff04_functor ff) : exprtk::ifunction(4), f(ff) {} + inline T operator() (const T& v0, const T& v1, const T& v2, const T& v3) exprtk_override + { return f(v0, v1, v2, v3); } + ff04_functor f; + }; + + struct freefunc05 : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + explicit freefunc05(ff05_functor ff) : exprtk::ifunction(5), f(ff) {} + inline T operator() (const T& v0, const T& v1, const T& v2, const T& v3, const T& v4) exprtk_override + { return f(v0, v1, v2, v3, v4); } + ff05_functor f; + }; + + struct freefunc06 exprtk_final : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + explicit freefunc06(ff06_functor ff) : exprtk::ifunction(6), f(ff) {} + inline T operator() (const T& v0, const T& v1, const T& v2, const T& v3, const T& v4, const T& v5) exprtk_override + { return f(v0, v1, v2, v3, v4, v5); } + ff06_functor f; + }; + + struct freefunc07 exprtk_final : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + explicit freefunc07(ff07_functor ff) : exprtk::ifunction(7), f(ff) {} + inline T operator() (const T& v0, const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6) exprtk_override + { return f(v0, v1, v2, v3, v4, v5, v6); } + ff07_functor f; + }; + + struct freefunc08 exprtk_final : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + explicit freefunc08(ff08_functor ff) : exprtk::ifunction(8), f(ff) {} + inline T operator() (const T& v0, const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6, const T& v7) exprtk_override + { return f(v0, v1, v2, v3, v4, v5, v6, v7); } + ff08_functor f; + }; + + struct freefunc09 exprtk_final : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + explicit freefunc09(ff09_functor ff) : exprtk::ifunction(9), f(ff) {} + inline T operator() (const T& v0, const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6, const T& v7, const T& v8) exprtk_override + { return f(v0, v1, v2, v3, v4, v5, v6, v7, v8); } + ff09_functor f; + }; + + struct freefunc10 exprtk_final : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + explicit freefunc10(ff10_functor ff) : exprtk::ifunction(10), f(ff) {} + inline T operator() (const T& v0, const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6, const T& v7, const T& v8, const T& v9) exprtk_override + { return f(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9); } + ff10_functor f; + }; + + struct freefunc11 exprtk_final : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + explicit freefunc11(ff11_functor ff) : exprtk::ifunction(11), f(ff) {} + inline T operator() (const T& v0, const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6, const T& v7, const T& v8, const T& v9, const T& v10) exprtk_override + { return f(v0, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10); } + ff11_functor f; + }; + + struct freefunc12 exprtk_final : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + explicit freefunc12(ff12_functor ff) : exprtk::ifunction(12), f(ff) {} + inline T operator() (const T& v00, const T& v01, const T& v02, const T& v03, const T& v04, + const T& v05, const T& v06, const T& v07, const T& v08, const T& v09, + const T& v10, const T& v11) exprtk_override + { return f(v00, v01, v02, v03, v04, v05, v06, v07, v08, v09, v10, v11); } + ff12_functor f; + }; + + struct freefunc13 exprtk_final : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + explicit freefunc13(ff13_functor ff) : exprtk::ifunction(13), f(ff) {} + inline T operator() (const T& v00, const T& v01, const T& v02, const T& v03, const T& v04, + const T& v05, const T& v06, const T& v07, const T& v08, const T& v09, + const T& v10, const T& v11, const T& v12) exprtk_override + { return f(v00, v01, v02, v03, v04, v05, v06, v07, v08, v09, v10, v11, v12); } + ff13_functor f; + }; + + struct freefunc14 exprtk_final : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + explicit freefunc14(ff14_functor ff) : exprtk::ifunction(14), f(ff) {} + inline T operator() (const T& v00, const T& v01, const T& v02, const T& v03, const T& v04, + const T& v05, const T& v06, const T& v07, const T& v08, const T& v09, + const T& v10, const T& v11, const T& v12, const T& v13) exprtk_override + { return f(v00, v01, v02, v03, v04, v05, v06, v07, v08, v09, v10, v11, v12, v13); } + ff14_functor f; + }; + + struct freefunc15 exprtk_final : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + explicit freefunc15(ff15_functor ff) : exprtk::ifunction(15), f(ff) {} + inline T operator() (const T& v00, const T& v01, const T& v02, const T& v03, const T& v04, + const T& v05, const T& v06, const T& v07, const T& v08, const T& v09, + const T& v10, const T& v11, const T& v12, const T& v13, const T& v14) exprtk_override + { return f(v00, v01, v02, v03, v04, v05, v06, v07, v08, v09, v10, v11, v12, v13, v14); } + ff15_functor f; + }; + + template + struct type_store + { + typedef details::expression_node* expression_ptr; + typedef typename details::variable_node variable_node_t; + typedef ifunction ifunction_t; + typedef ivararg_function ivararg_function_t; + typedef igeneric_function igeneric_function_t; + typedef details::vector_holder vector_t; + #ifndef exprtk_disable_string_capabilities + typedef typename details::stringvar_node stringvar_node_t; + #endif + + typedef Type type_t; + typedef type_t* type_ptr; + typedef std::pair type_pair_t; + typedef std::map type_map_t; + typedef typename type_map_t::iterator tm_itr_t; + typedef typename type_map_t::const_iterator tm_const_itr_t; + + enum { lut_size = 256 }; + + type_map_t map; + std::size_t size; + + type_store() + : size(0) + {} + + struct deleter + { + #define exprtk_define_process(Type) \ + static inline void process(std::pair& n) \ + { \ + delete n.second; \ + } \ + + exprtk_define_process(variable_node_t ) + exprtk_define_process(vector_t ) + #ifndef exprtk_disable_string_capabilities + exprtk_define_process(stringvar_node_t) + #endif + + #undef exprtk_define_process + + template + static inline void process(std::pair&) + {} + }; + + inline bool symbol_exists(const std::string& symbol_name) const + { + if (symbol_name.empty()) + return false; + else if (map.end() != map.find(symbol_name)) + return true; + else + return false; + } + + template + inline std::string entity_name(const PtrType& ptr) const + { + if (map.empty()) + return std::string(); + + tm_const_itr_t itr = map.begin(); + + while (map.end() != itr) + { + if (itr->second.second == ptr) + { + return itr->first; + } + else + ++itr; + } + + return std::string(); + } + + inline bool is_constant(const std::string& symbol_name) const + { + if (symbol_name.empty()) + return false; + else + { + const tm_const_itr_t itr = map.find(symbol_name); + + if (map.end() == itr) + return false; + else + return (*itr).second.first; + } + } + + template + inline bool add_impl(const std::string& symbol_name, RType t, const bool is_const) + { + if (symbol_name.size() > 1) + { + for (std::size_t i = 0; i < details::reserved_symbols_size; ++i) + { + if (details::imatch(symbol_name, details::reserved_symbols[i])) + { + return false; + } + } + } + + const tm_itr_t itr = map.find(symbol_name); + + if (map.end() == itr) + { + map[symbol_name] = Tie::make(t,is_const); + ++size; + } + + return true; + } + + struct tie_array + { + static inline std::pair make(std::pair v, const bool is_const = false) + { + return std::make_pair(is_const, new vector_t(v.first, v.second)); + } + }; + + struct tie_stdvec + { + template + static inline std::pair make(std::vector& v, const bool is_const = false) + { + return std::make_pair(is_const, new vector_t(v)); + } + }; + + struct tie_vecview + { + static inline std::pair make(exprtk::vector_view& v, const bool is_const = false) + { + return std::make_pair(is_const, new vector_t(v)); + } + }; + + struct tie_stddeq + { + template + static inline std::pair make(std::deque& v, const bool is_const = false) + { + return std::make_pair(is_const, new vector_t(v)); + } + }; + + template + inline bool add(const std::string& symbol_name, T (&v)[v_size], const bool is_const = false) + { + return add_impl > + (symbol_name, std::make_pair(v,v_size), is_const); + } + + inline bool add(const std::string& symbol_name, T* v, const std::size_t v_size, const bool is_const = false) + { + return add_impl > + (symbol_name, std::make_pair(v,v_size), is_const); + } + + template + inline bool add(const std::string& symbol_name, std::vector& v, const bool is_const = false) + { + return add_impl&> + (symbol_name, v, is_const); + } + + inline bool add(const std::string& symbol_name, exprtk::vector_view& v, const bool is_const = false) + { + return add_impl&> + (symbol_name, v, is_const); + } + + template + inline bool add(const std::string& symbol_name, std::deque& v, const bool is_const = false) + { + return add_impl&> + (symbol_name, v, is_const); + } + + inline bool add(const std::string& symbol_name, RawType& t_, const bool is_const = false) + { + struct tie + { + static inline std::pair make(T& t, const bool is_constant = false) + { + return std::make_pair(is_constant, new variable_node_t(t)); + } + + #ifndef exprtk_disable_string_capabilities + static inline std::pair make(std::string& t, const bool is_constant = false) + { + return std::make_pair(is_constant, new stringvar_node_t(t)); + } + #endif + + static inline std::pair make(function_t& t, const bool is_constant = false) + { + return std::make_pair(is_constant,&t); + } + + static inline std::pair make(vararg_function_t& t, const bool is_constant = false) + { + return std::make_pair(is_constant,&t); + } + + static inline std::pair make(generic_function_t& t, const bool is_constant = false) + { + return std::make_pair(is_constant,&t); + } + }; + + const tm_itr_t itr = map.find(symbol_name); + + if (map.end() == itr) + { + map[symbol_name] = tie::make(t_,is_const); + ++size; + } + + return true; + } + + inline type_ptr get(const std::string& symbol_name) const + { + const tm_const_itr_t itr = map.find(symbol_name); + + if (map.end() == itr) + return reinterpret_cast(0); + else + return itr->second.second; + } + + template + struct ptr_match + { + static inline bool test(const PtrType, const void*) + { + return false; + } + }; + + template + struct ptr_match + { + static inline bool test(const variable_node_t* p, const void* ptr) + { + exprtk_debug(("ptr_match::test() - %p <--> %p\n", reinterpret_cast(&(p->ref())), ptr)); + return (&(p->ref()) == ptr); + } + }; + + inline type_ptr get_from_varptr(const void* ptr) const + { + tm_const_itr_t itr = map.begin(); + + while (map.end() != itr) + { + type_ptr ret_ptr = itr->second.second; + + if (ptr_match::test(ret_ptr,ptr)) + { + return ret_ptr; + } + + ++itr; + } + + return type_ptr(0); + } + + inline bool remove(const std::string& symbol_name, const bool delete_node = true) + { + const tm_itr_t itr = map.find(symbol_name); + + if (map.end() != itr) + { + if (delete_node) + { + deleter::process((*itr).second); + } + + map.erase(itr); + --size; + + return true; + } + else + return false; + } + + inline RawType& type_ref(const std::string& symbol_name) + { + struct init_type + { + static inline double set(double) { return (0.0); } + static inline double set(long double) { return (0.0); } + static inline float set(float) { return (0.0f); } + static inline std::string set(std::string) { return std::string(""); } + }; + + static RawType null_type = init_type::set(RawType()); + + const tm_const_itr_t itr = map.find(symbol_name); + + if (map.end() == itr) + return null_type; + else + return itr->second.second->ref(); + } + + inline void clear(const bool delete_node = true) + { + if (!map.empty()) + { + if (delete_node) + { + tm_itr_t itr = map.begin(); + tm_itr_t end = map.end (); + + while (end != itr) + { + deleter::process((*itr).second); + ++itr; + } + } + + map.clear(); + } + + size = 0; + } + + template class Sequence> + inline std::size_t get_list(Sequence,Allocator>& list) const + { + std::size_t count = 0; + + if (!map.empty()) + { + tm_const_itr_t itr = map.begin(); + tm_const_itr_t end = map.end (); + + while (end != itr) + { + list.push_back(std::make_pair((*itr).first,itr->second.second->ref())); + ++itr; + ++count; + } + } + + return count; + } + + template class Sequence> + inline std::size_t get_list(Sequence& vlist) const + { + std::size_t count = 0; + + if (!map.empty()) + { + tm_const_itr_t itr = map.begin(); + tm_const_itr_t end = map.end (); + + while (end != itr) + { + vlist.push_back((*itr).first); + ++itr; + ++count; + } + } + + return count; + } + }; + + typedef details::expression_node* expression_ptr; + typedef typename details::variable_node variable_t; + typedef typename details::vector_holder vector_holder_t; + typedef variable_t* variable_ptr; + #ifndef exprtk_disable_string_capabilities + typedef typename details::stringvar_node stringvar_t; + typedef stringvar_t* stringvar_ptr; + #endif + typedef ifunction function_t; + typedef ivararg_function vararg_function_t; + typedef igeneric_function generic_function_t; + typedef function_t* function_ptr; + typedef vararg_function_t* vararg_function_ptr; + typedef generic_function_t* generic_function_ptr; + + static const std::size_t lut_size = 256; + + // Symbol Table Holder + struct control_block + { + struct st_data + { + type_store variable_store; + type_store function_store; + type_store vararg_function_store; + type_store generic_function_store; + type_store string_function_store; + type_store overload_function_store; + type_store vector_store; + #ifndef exprtk_disable_string_capabilities + type_store stringvar_store; + #endif + + st_data() + { + for (std::size_t i = 0; i < details::reserved_words_size; ++i) + { + reserved_symbol_table_.insert(details::reserved_words[i]); + } + + for (std::size_t i = 0; i < details::reserved_symbols_size; ++i) + { + reserved_symbol_table_.insert(details::reserved_symbols[i]); + } + } + + ~st_data() + { + for (std::size_t i = 0; i < free_function_list_.size(); ++i) + { + delete free_function_list_[i]; + } + } + + inline bool is_reserved_symbol(const std::string& symbol) const + { + return (reserved_symbol_table_.end() != reserved_symbol_table_.find(symbol)); + } + + static inline st_data* create() + { + return (new st_data); + } + + static inline void destroy(st_data*& sd) + { + delete sd; + sd = reinterpret_cast(0); + } + + std::list local_symbol_list_; + std::list local_stringvar_list_; + std::set reserved_symbol_table_; + std::vector*> free_function_list_; + }; + + control_block() + : ref_count(1) + , data_(st_data::create()) + , mutability_(e_mutable) + {} + + explicit control_block(st_data* data) + : ref_count(1) + , data_(data) + , mutability_(e_mutable) + {} + + ~control_block() + { + if (data_ && (0 == ref_count)) + { + st_data::destroy(data_); + } + } + + static inline control_block* create() + { + return (new control_block); + } + + template + static inline void destroy(control_block*& cntrl_blck, SymTab* sym_tab) + { + if (cntrl_blck) + { + if ( + (0 != cntrl_blck->ref_count) && + (0 == --cntrl_blck->ref_count) + ) + { + if (sym_tab) + sym_tab->clear(); + + delete cntrl_blck; + } + + cntrl_blck = 0; + } + } + + void set_mutability(const symtab_mutability_type mutability) + { + mutability_ = mutability; + } + + std::size_t ref_count; + st_data* data_; + symtab_mutability_type mutability_; + }; + + public: + + explicit symbol_table(const symtab_mutability_type mutability = e_mutable) + : control_block_(control_block::create()) + { + control_block_->set_mutability(mutability); + clear(); + } + + ~symbol_table() + { + exprtk::details::dump_ptr("~symbol_table", this); + control_block::destroy(control_block_, this); + } + + symbol_table(const symbol_table& st) + { + control_block_ = st.control_block_; + control_block_->ref_count++; + } + + inline symbol_table& operator=(const symbol_table& st) + { + if (this != &st) + { + control_block::destroy(control_block_,reinterpret_cast*>(0)); + + control_block_ = st.control_block_; + control_block_->ref_count++; + } + + return (*this); + } + + inline bool operator==(const symbol_table& st) const + { + return (this == &st) || (control_block_ == st.control_block_); + } + + inline symtab_mutability_type mutability() const + { + return valid() ? control_block_->mutability_ : e_unknown; + } + + inline void clear_variables(const bool delete_node = true) + { + local_data().variable_store.clear(delete_node); + } + + inline void clear_functions() + { + local_data().function_store.clear(); + } + + inline void clear_strings() + { + #ifndef exprtk_disable_string_capabilities + local_data().stringvar_store.clear(); + #endif + } + + inline void clear_vectors() + { + local_data().vector_store.clear(); + } + + inline void clear_local_constants() + { + local_data().local_symbol_list_.clear(); + } + + inline void clear() + { + if (!valid()) return; + clear_variables (); + clear_functions (); + clear_strings (); + clear_vectors (); + clear_local_constants(); + } + + inline std::size_t variable_count() const + { + if (valid()) + return local_data().variable_store.size; + else + return 0; + } + + #ifndef exprtk_disable_string_capabilities + inline std::size_t stringvar_count() const + { + if (valid()) + return local_data().stringvar_store.size; + else + return 0; + } + #endif + + inline std::size_t function_count() const + { + if (valid()) + return local_data().function_store.size; + else + return 0; + } + + inline std::size_t vector_count() const + { + if (valid()) + return local_data().vector_store.size; + else + return 0; + } + + inline variable_ptr get_variable(const std::string& variable_name) const + { + if (!valid()) + return reinterpret_cast(0); + else if (!valid_symbol(variable_name)) + return reinterpret_cast(0); + else + return local_data().variable_store.get(variable_name); + } + + inline variable_ptr get_variable(const T& var_ref) const + { + if (!valid()) + return reinterpret_cast(0); + else + return local_data().variable_store.get_from_varptr( + reinterpret_cast(&var_ref)); + } + + #ifndef exprtk_disable_string_capabilities + inline stringvar_ptr get_stringvar(const std::string& string_name) const + { + if (!valid()) + return reinterpret_cast(0); + else if (!valid_symbol(string_name)) + return reinterpret_cast(0); + else + return local_data().stringvar_store.get(string_name); + } + + inline stringvar_base get_stringvar_base(const std::string& string_name) const + { + static stringvar_base null_stringvar_base("",reinterpret_cast(0)); + if (!valid()) + return null_stringvar_base; + else if (!valid_symbol(string_name)) + return null_stringvar_base; + + stringvar_ptr stringvar = local_data().stringvar_store.get(string_name); + + if (0 == stringvar) + { + return null_stringvar_base; + } + + return stringvar_base(string_name,stringvar); + } + #endif + + inline function_ptr get_function(const std::string& function_name) const + { + if (!valid()) + return reinterpret_cast(0); + else if (!valid_symbol(function_name)) + return reinterpret_cast(0); + else + return local_data().function_store.get(function_name); + } + + inline vararg_function_ptr get_vararg_function(const std::string& vararg_function_name) const + { + if (!valid()) + return reinterpret_cast(0); + else if (!valid_symbol(vararg_function_name)) + return reinterpret_cast(0); + else + return local_data().vararg_function_store.get(vararg_function_name); + } + + inline generic_function_ptr get_generic_function(const std::string& function_name) const + { + if (!valid()) + return reinterpret_cast(0); + else if (!valid_symbol(function_name)) + return reinterpret_cast(0); + else + return local_data().generic_function_store.get(function_name); + } + + inline generic_function_ptr get_string_function(const std::string& function_name) const + { + if (!valid()) + return reinterpret_cast(0); + else if (!valid_symbol(function_name)) + return reinterpret_cast(0); + else + return local_data().string_function_store.get(function_name); + } + + inline generic_function_ptr get_overload_function(const std::string& function_name) const + { + if (!valid()) + return reinterpret_cast(0); + else if (!valid_symbol(function_name)) + return reinterpret_cast(0); + else + return local_data().overload_function_store.get(function_name); + } + + typedef vector_holder_t* vector_holder_ptr; + + inline vector_holder_ptr get_vector(const std::string& vector_name) const + { + if (!valid()) + return reinterpret_cast(0); + else if (!valid_symbol(vector_name)) + return reinterpret_cast(0); + else + return local_data().vector_store.get(vector_name); + } + + inline T& variable_ref(const std::string& symbol_name) + { + static T null_var = T(0); + if (!valid()) + return null_var; + else if (!valid_symbol(symbol_name)) + return null_var; + else + return local_data().variable_store.type_ref(symbol_name); + } + + #ifndef exprtk_disable_string_capabilities + inline std::string& stringvar_ref(const std::string& symbol_name) + { + static std::string null_stringvar; + if (!valid()) + return null_stringvar; + else if (!valid_symbol(symbol_name)) + return null_stringvar; + else + return local_data().stringvar_store.type_ref(symbol_name); + } + #endif + + inline bool is_constant_node(const std::string& symbol_name) const + { + if (!valid()) + return false; + else if (!valid_symbol(symbol_name)) + return false; + else + return local_data().variable_store.is_constant(symbol_name); + } + + #ifndef exprtk_disable_string_capabilities + inline bool is_constant_string(const std::string& symbol_name) const + { + if (!valid()) + return false; + else if (!valid_symbol(symbol_name)) + return false; + else if (!local_data().stringvar_store.symbol_exists(symbol_name)) + return false; + else + return local_data().stringvar_store.is_constant(symbol_name); + } + #endif + + inline bool create_variable(const std::string& variable_name, const T& value = T(0)) + { + if (!valid()) + return false; + else if (!valid_symbol(variable_name)) + return false; + else if (symbol_exists(variable_name)) + return false; + + local_data().local_symbol_list_.push_back(value); + T& t = local_data().local_symbol_list_.back(); + + return add_variable(variable_name,t); + } + + #ifndef exprtk_disable_string_capabilities + inline bool create_stringvar(const std::string& stringvar_name, const std::string& value = std::string("")) + { + if (!valid()) + return false; + else if (!valid_symbol(stringvar_name)) + return false; + else if (symbol_exists(stringvar_name)) + return false; + + local_data().local_stringvar_list_.push_back(value); + std::string& s = local_data().local_stringvar_list_.back(); + + return add_stringvar(stringvar_name,s); + } + #endif + + inline bool add_variable(const std::string& variable_name, T& t, const bool is_constant = false) + { + if (!valid()) + return false; + else if (!valid_symbol(variable_name)) + return false; + else if (symbol_exists(variable_name)) + return false; + else + return local_data().variable_store.add(variable_name, t, is_constant); + } + + inline bool add_constant(const std::string& constant_name, const T& value) + { + if (!valid()) + return false; + else if (!valid_symbol(constant_name)) + return false; + else if (symbol_exists(constant_name)) + return false; + + local_data().local_symbol_list_.push_back(value); + T& t = local_data().local_symbol_list_.back(); + + return add_variable(constant_name, t, true); + } + + #ifndef exprtk_disable_string_capabilities + inline bool add_stringvar(const std::string& stringvar_name, std::string& s, const bool is_constant = false) + { + if (!valid()) + return false; + else if (!valid_symbol(stringvar_name)) + return false; + else if (symbol_exists(stringvar_name)) + return false; + else + return local_data().stringvar_store.add(stringvar_name, s, is_constant); + } + #endif + + inline bool add_function(const std::string& function_name, function_t& function) + { + if (!valid()) + return false; + else if (!valid_symbol(function_name)) + return false; + else if (symbol_exists(function_name)) + return false; + else + return local_data().function_store.add(function_name,function); + } + + inline bool add_function(const std::string& vararg_function_name, vararg_function_t& vararg_function) + { + if (!valid()) + return false; + else if (!valid_symbol(vararg_function_name)) + return false; + else if (symbol_exists(vararg_function_name)) + return false; + else + return local_data().vararg_function_store.add(vararg_function_name,vararg_function); + } + + inline bool add_function(const std::string& function_name, generic_function_t& function) + { + if (!valid()) + return false; + else if (!valid_symbol(function_name)) + return false; + else if (symbol_exists(function_name)) + return false; + else + { + switch (function.rtrn_type) + { + case generic_function_t::e_rtrn_scalar : + return (std::string::npos == function.parameter_sequence.find_first_not_of("STVZ*?|")) ? + local_data().generic_function_store.add(function_name,function) : false; + + case generic_function_t::e_rtrn_string : + return (std::string::npos == function.parameter_sequence.find_first_not_of("STVZ*?|")) ? + local_data().string_function_store.add(function_name,function) : false; + + case generic_function_t::e_rtrn_overload : + return (std::string::npos == function.parameter_sequence.find_first_not_of("STVZ*?|:")) ? + local_data().overload_function_store.add(function_name,function) : false; + } + } + + return false; + } + + #define exprtk_define_freefunction(NN) \ + inline bool add_function(const std::string& function_name, ff##NN##_functor function) \ + { \ + if (!valid()) \ + { return false; } \ + if (!valid_symbol(function_name)) \ + { return false; } \ + if (symbol_exists(function_name)) \ + { return false; } \ + \ + exprtk::ifunction* ifunc = new freefunc##NN(function); \ + \ + local_data().free_function_list_.push_back(ifunc); \ + \ + return add_function(function_name,(*local_data().free_function_list_.back())); \ + } \ + + exprtk_define_freefunction(00) exprtk_define_freefunction(01) + exprtk_define_freefunction(02) exprtk_define_freefunction(03) + exprtk_define_freefunction(04) exprtk_define_freefunction(05) + exprtk_define_freefunction(06) exprtk_define_freefunction(07) + exprtk_define_freefunction(08) exprtk_define_freefunction(09) + exprtk_define_freefunction(10) exprtk_define_freefunction(11) + exprtk_define_freefunction(12) exprtk_define_freefunction(13) + exprtk_define_freefunction(14) exprtk_define_freefunction(15) + + #undef exprtk_define_freefunction + + inline bool add_reserved_function(const std::string& function_name, function_t& function) + { + if (!valid()) + return false; + else if (!valid_symbol(function_name,false)) + return false; + else if (symbol_exists(function_name,false)) + return false; + else + return local_data().function_store.add(function_name,function); + } + + inline bool add_reserved_function(const std::string& vararg_function_name, vararg_function_t& vararg_function) + { + if (!valid()) + return false; + else if (!valid_symbol(vararg_function_name,false)) + return false; + else if (symbol_exists(vararg_function_name,false)) + return false; + else + return local_data().vararg_function_store.add(vararg_function_name,vararg_function); + } + + inline bool add_reserved_function(const std::string& function_name, generic_function_t& function) + { + if (!valid()) + return false; + else if (!valid_symbol(function_name,false)) + return false; + else if (symbol_exists(function_name,false)) + return false; + else + { + switch (function.rtrn_type) + { + case generic_function_t::e_rtrn_scalar : + return (std::string::npos == function.parameter_sequence.find_first_not_of("STVZ*?|")) ? + local_data().generic_function_store.add(function_name,function) : false; + + case generic_function_t::e_rtrn_string : + return (std::string::npos == function.parameter_sequence.find_first_not_of("STVZ*?|")) ? + local_data().string_function_store.add(function_name,function) : false; + + case generic_function_t::e_rtrn_overload : + return (std::string::npos == function.parameter_sequence.find_first_not_of("STVZ*?|:")) ? + local_data().overload_function_store.add(function_name,function) : false; + } + } + + return false; + } + + template + inline bool add_vector(const std::string& vector_name, T (&v)[N]) + { + if (!valid()) + return false; + else if (!valid_symbol(vector_name)) + return false; + else if (symbol_exists(vector_name)) + return false; + else + return local_data().vector_store.add(vector_name,v); + } + + inline bool add_vector(const std::string& vector_name, T* v, const std::size_t& v_size) + { + if (!valid()) + return false; + else if (!valid_symbol(vector_name)) + return false; + else if (symbol_exists(vector_name)) + return false; + else if (0 == v_size) + return false; + else + return local_data().vector_store.add(vector_name, v, v_size); + } + + template + inline bool add_vector(const std::string& vector_name, std::vector& v) + { + if (!valid()) + return false; + else if (!valid_symbol(vector_name)) + return false; + else if (symbol_exists(vector_name)) + return false; + else if (0 == v.size()) + return false; + else + return local_data().vector_store.add(vector_name,v); + } + + inline bool add_vector(const std::string& vector_name, exprtk::vector_view& v) + { + if (!valid()) + return false; + else if (!valid_symbol(vector_name)) + return false; + else if (symbol_exists(vector_name)) + return false; + else if (0 == v.size()) + return false; + else + return local_data().vector_store.add(vector_name,v); + } + + inline bool remove_variable(const std::string& variable_name, const bool delete_node = true) + { + if (!valid()) + return false; + else + return local_data().variable_store.remove(variable_name, delete_node); + } + + #ifndef exprtk_disable_string_capabilities + inline bool remove_stringvar(const std::string& string_name) + { + if (!valid()) + return false; + else + return local_data().stringvar_store.remove(string_name); + } + #endif + + inline bool remove_function(const std::string& function_name) + { + if (!valid()) + return false; + else + return local_data().function_store.remove(function_name); + } + + inline bool remove_vararg_function(const std::string& vararg_function_name) + { + if (!valid()) + return false; + else + return local_data().vararg_function_store.remove(vararg_function_name); + } + + inline bool remove_vector(const std::string& vector_name) + { + if (!valid()) + return false; + else + return local_data().vector_store.remove(vector_name); + } + + inline bool add_constants() + { + return add_pi () && + add_epsilon () && + add_infinity() ; + } + + inline bool add_pi() + { + const typename details::numeric::details::number_type::type num_type; + static const T local_pi = details::numeric::details::const_pi_impl(num_type); + return add_constant("pi",local_pi); + } + + inline bool add_epsilon() + { + static const T local_epsilon = details::numeric::details::epsilon_type::value(); + return add_constant("epsilon",local_epsilon); + } + + inline bool add_infinity() + { + static const T local_infinity = std::numeric_limits::infinity(); + return add_constant("inf",local_infinity); + } + + template + inline bool add_package(Package& package) + { + return package.register_package(*this); + } + + template class Sequence> + inline std::size_t get_variable_list(Sequence,Allocator>& vlist) const + { + if (!valid()) + return 0; + else + return local_data().variable_store.get_list(vlist); + } + + template class Sequence> + inline std::size_t get_variable_list(Sequence& vlist) const + { + if (!valid()) + return 0; + else + return local_data().variable_store.get_list(vlist); + } + + #ifndef exprtk_disable_string_capabilities + template class Sequence> + inline std::size_t get_stringvar_list(Sequence,Allocator>& svlist) const + { + if (!valid()) + return 0; + else + return local_data().stringvar_store.get_list(svlist); + } + + template class Sequence> + inline std::size_t get_stringvar_list(Sequence& svlist) const + { + if (!valid()) + return 0; + else + return local_data().stringvar_store.get_list(svlist); + } + #endif + + template class Sequence> + inline std::size_t get_vector_list(Sequence& vec_list) const + { + if (!valid()) + return 0; + else + return local_data().vector_store.get_list(vec_list); + } + + template class Sequence> + inline std::size_t get_function_list(Sequence& function_list) const + { + if (!valid()) + return 0; + + std::vector function_names; + std::size_t count = 0; + + count += local_data().function_store .get_list(function_names); + count += local_data().vararg_function_store .get_list(function_names); + count += local_data().generic_function_store .get_list(function_names); + count += local_data().string_function_store .get_list(function_names); + count += local_data().overload_function_store.get_list(function_names); + + std::set function_set; + + for (std::size_t i = 0; i < function_names.size(); ++i) + { + function_set.insert(function_names[i]); + } + + std::copy(function_set.begin(), function_set.end(), + std::back_inserter(function_list)); + + return count; + } + + inline std::vector get_function_list() const + { + std::vector result; + get_function_list(result); + return result; + } + + inline bool symbol_exists(const std::string& symbol_name, const bool check_reserved_symb = true) const + { + /* + Function will return true if symbol_name exists as either a + reserved symbol, variable, stringvar, vector or function name + in any of the type stores. + */ + if (!valid()) + return false; + else if (local_data().variable_store.symbol_exists(symbol_name)) + return true; + #ifndef exprtk_disable_string_capabilities + else if (local_data().stringvar_store.symbol_exists(symbol_name)) + return true; + #endif + else if (local_data().vector_store.symbol_exists(symbol_name)) + return true; + else if (local_data().function_store.symbol_exists(symbol_name)) + return true; + else if (check_reserved_symb && local_data().is_reserved_symbol(symbol_name)) + return true; + else + return false; + } + + inline bool is_variable(const std::string& variable_name) const + { + if (!valid()) + return false; + else + return local_data().variable_store.symbol_exists(variable_name); + } + + #ifndef exprtk_disable_string_capabilities + inline bool is_stringvar(const std::string& stringvar_name) const + { + if (!valid()) + return false; + else + return local_data().stringvar_store.symbol_exists(stringvar_name); + } + + inline bool is_conststr_stringvar(const std::string& symbol_name) const + { + if (!valid()) + return false; + else if (!valid_symbol(symbol_name)) + return false; + else if (!local_data().stringvar_store.symbol_exists(symbol_name)) + return false; + + return ( + local_data().stringvar_store.symbol_exists(symbol_name) || + local_data().stringvar_store.is_constant (symbol_name) + ); + } + #endif + + inline bool is_function(const std::string& function_name) const + { + if (!valid()) + return false; + else + return local_data().function_store.symbol_exists(function_name); + } + + inline bool is_vararg_function(const std::string& vararg_function_name) const + { + if (!valid()) + return false; + else + return local_data().vararg_function_store.symbol_exists(vararg_function_name); + } + + inline bool is_vector(const std::string& vector_name) const + { + if (!valid()) + return false; + else + return local_data().vector_store.symbol_exists(vector_name); + } + + inline std::string get_variable_name(const expression_ptr& ptr) const + { + return local_data().variable_store.entity_name(ptr); + } + + inline std::string get_vector_name(const vector_holder_ptr& ptr) const + { + return local_data().vector_store.entity_name(ptr); + } + + #ifndef exprtk_disable_string_capabilities + inline std::string get_stringvar_name(const expression_ptr& ptr) const + { + return local_data().stringvar_store.entity_name(ptr); + } + + inline std::string get_conststr_stringvar_name(const expression_ptr& ptr) const + { + return local_data().stringvar_store.entity_name(ptr); + } + #endif + + inline bool valid() const + { + // Symbol table sanity check. + return control_block_ && control_block_->data_; + } + + inline void load_from(const symbol_table& st) + { + { + std::vector name_list; + + st.local_data().function_store.get_list(name_list); + + if (!name_list.empty()) + { + for (std::size_t i = 0; i < name_list.size(); ++i) + { + exprtk::ifunction& ifunc = *st.get_function(name_list[i]); + add_function(name_list[i],ifunc); + } + } + } + + { + std::vector name_list; + + st.local_data().vararg_function_store.get_list(name_list); + + if (!name_list.empty()) + { + for (std::size_t i = 0; i < name_list.size(); ++i) + { + exprtk::ivararg_function& ivafunc = *st.get_vararg_function(name_list[i]); + add_function(name_list[i],ivafunc); + } + } + } + + { + std::vector name_list; + + st.local_data().generic_function_store.get_list(name_list); + + if (!name_list.empty()) + { + for (std::size_t i = 0; i < name_list.size(); ++i) + { + exprtk::igeneric_function& ifunc = *st.get_generic_function(name_list[i]); + add_function(name_list[i],ifunc); + } + } + } + + { + std::vector name_list; + + st.local_data().string_function_store.get_list(name_list); + + if (!name_list.empty()) + { + for (std::size_t i = 0; i < name_list.size(); ++i) + { + exprtk::igeneric_function& ifunc = *st.get_string_function(name_list[i]); + add_function(name_list[i],ifunc); + } + } + } + + { + std::vector name_list; + + st.local_data().overload_function_store.get_list(name_list); + + if (!name_list.empty()) + { + for (std::size_t i = 0; i < name_list.size(); ++i) + { + exprtk::igeneric_function& ifunc = *st.get_overload_function(name_list[i]); + add_function(name_list[i],ifunc); + } + } + } + } + + inline void load_variables_from(const symbol_table& st) + { + std::vector name_list; + + st.local_data().variable_store.get_list(name_list); + + if (!name_list.empty()) + { + for (std::size_t i = 0; i < name_list.size(); ++i) + { + T& variable = st.get_variable(name_list[i])->ref(); + add_variable(name_list[i], variable); + } + } + } + + inline void load_vectors_from(const symbol_table& st) + { + std::vector name_list; + + st.local_data().vector_store.get_list(name_list); + + if (!name_list.empty()) + { + for (std::size_t i = 0; i < name_list.size(); ++i) + { + vector_holder_t& vecholder = *st.get_vector(name_list[i]); + add_vector(name_list[i], vecholder.data(), vecholder.size()); + } + } + } + + private: + + inline bool valid_symbol(const std::string& symbol, const bool check_reserved_symb = true) const + { + if (symbol.empty()) + return false; + else if (!details::is_letter(symbol[0])) + return false; + else if (symbol.size() > 1) + { + for (std::size_t i = 1; i < symbol.size(); ++i) + { + if ( + !details::is_letter_or_digit(symbol[i]) && + ('_' != symbol[i]) + ) + { + if ((i < (symbol.size() - 1)) && ('.' == symbol[i])) + continue; + else + return false; + } + } + } + + return (check_reserved_symb) ? (!local_data().is_reserved_symbol(symbol)) : true; + } + + inline bool valid_function(const std::string& symbol) const + { + if (symbol.empty()) + return false; + else if (!details::is_letter(symbol[0])) + return false; + else if (symbol.size() > 1) + { + for (std::size_t i = 1; i < symbol.size(); ++i) + { + if ( + !details::is_letter_or_digit(symbol[i]) && + ('_' != symbol[i]) + ) + { + if ((i < (symbol.size() - 1)) && ('.' == symbol[i])) + continue; + else + return false; + } + } + } + + return true; + } + + typedef typename control_block::st_data local_data_t; + + inline local_data_t& local_data() + { + return *(control_block_->data_); + } + + inline const local_data_t& local_data() const + { + return *(control_block_->data_); + } + + control_block* control_block_; + + friend class parser; + }; // class symbol_table + + template + class function_compositor; + + template + class expression + { + private: + + typedef details::expression_node* expression_ptr; + typedef details::vector_holder* vector_holder_ptr; + typedef std::vector > symtab_list_t; + + struct control_block + { + enum data_type + { + e_unknown , + e_expr , + e_vecholder, + e_data , + e_vecdata , + e_string + }; + + struct data_pack + { + data_pack() + : pointer(0) + , type(e_unknown) + , size(0) + {} + + data_pack(void* ptr, const data_type dt, const std::size_t sz = 0) + : pointer(ptr) + , type(dt) + , size(sz) + {} + + void* pointer; + data_type type; + std::size_t size; + }; + + typedef std::vector local_data_list_t; + typedef results_context results_context_t; + typedef control_block* cntrl_blck_ptr_t; + + control_block() + : ref_count(0) + , expr (0) + , results (0) + , retinv_null(false) + , return_invoked(&retinv_null) + {} + + explicit control_block(expression_ptr e) + : ref_count(1) + , expr (e) + , results (0) + , retinv_null(false) + , return_invoked(&retinv_null) + {} + + ~control_block() + { + if (expr && details::branch_deletable(expr)) + { + destroy_node(expr); + } + + if (!local_data_list.empty()) + { + for (std::size_t i = 0; i < local_data_list.size(); ++i) + { + switch (local_data_list[i].type) + { + case e_expr : delete reinterpret_cast(local_data_list[i].pointer); + break; + + case e_vecholder : delete reinterpret_cast(local_data_list[i].pointer); + break; + + case e_data : delete reinterpret_cast(local_data_list[i].pointer); + break; + + case e_vecdata : delete [] reinterpret_cast(local_data_list[i].pointer); + break; + + case e_string : delete reinterpret_cast(local_data_list[i].pointer); + break; + + default : break; + } + } + } + + if (results) + { + delete results; + } + } + + static inline cntrl_blck_ptr_t create(expression_ptr e) + { + return new control_block(e); + } + + static inline void destroy(cntrl_blck_ptr_t& cntrl_blck) + { + if (cntrl_blck) + { + if ( + (0 != cntrl_blck->ref_count) && + (0 == --cntrl_blck->ref_count) + ) + { + delete cntrl_blck; + } + + cntrl_blck = 0; + } + } + + std::size_t ref_count; + expression_ptr expr; + local_data_list_t local_data_list; + results_context_t* results; + bool retinv_null; + bool* return_invoked; + + friend class function_compositor; + }; + + public: + + expression() + : control_block_(0) + { + set_expression(new details::null_node()); + } + + expression(const expression& e) + : control_block_ (e.control_block_ ) + , symbol_table_list_(e.symbol_table_list_) + { + control_block_->ref_count++; + } + + explicit expression(const symbol_table& symbol_table) + : control_block_(0) + { + set_expression(new details::null_node()); + symbol_table_list_.push_back(symbol_table); + } + + inline expression& operator=(const expression& e) + { + if (this != &e) + { + if (control_block_) + { + if ( + (0 != control_block_->ref_count) && + (0 == --control_block_->ref_count) + ) + { + delete control_block_; + } + + control_block_ = 0; + } + + control_block_ = e.control_block_; + control_block_->ref_count++; + symbol_table_list_ = e.symbol_table_list_; + } + + return *this; + } + + inline bool operator==(const expression& e) const + { + return (this == &e); + } + + inline bool operator!() const + { + return ( + (0 == control_block_ ) || + (0 == control_block_->expr) + ); + } + + inline expression& release() + { + exprtk::details::dump_ptr("expression::release", this); + control_block::destroy(control_block_); + + return (*this); + } + + ~expression() + { + control_block::destroy(control_block_); + } + + inline T value() const + { + assert(control_block_ ); + assert(control_block_->expr); + + return control_block_->expr->value(); + } + + inline T operator() () const + { + return value(); + } + + inline operator T() const + { + return value(); + } + + inline operator bool() const + { + return details::is_true(value()); + } + + inline bool register_symbol_table(symbol_table& st) + { + for (std::size_t i = 0; i < symbol_table_list_.size(); ++i) + { + if (st == symbol_table_list_[i]) + { + return false; + } + } + + symbol_table_list_.push_back(st); + return true; + } + + inline const symbol_table& get_symbol_table(const std::size_t& index = 0) const + { + return symbol_table_list_[index]; + } + + inline symbol_table& get_symbol_table(const std::size_t& index = 0) + { + return symbol_table_list_[index]; + } + + std::size_t num_symbol_tables() const + { + return symbol_table_list_.size(); + } + + typedef results_context results_context_t; + + inline const results_context_t& results() const + { + if (control_block_->results) + return (*control_block_->results); + else + { + static const results_context_t null_results; + return null_results; + } + } + + inline bool return_invoked() const + { + return (*control_block_->return_invoked); + } + + private: + + inline symtab_list_t get_symbol_table_list() const + { + return symbol_table_list_; + } + + inline void set_expression(const expression_ptr expr) + { + if (expr) + { + if (control_block_) + { + if (0 == --control_block_->ref_count) + { + delete control_block_; + } + } + + control_block_ = control_block::create(expr); + } + } + + inline void register_local_var(expression_ptr expr) + { + if (expr) + { + if (control_block_) + { + control_block_-> + local_data_list.push_back( + typename expression::control_block:: + data_pack(reinterpret_cast(expr), + control_block::e_expr)); + } + } + } + + inline void register_local_var(vector_holder_ptr vec_holder) + { + if (vec_holder) + { + if (control_block_) + { + control_block_-> + local_data_list.push_back( + typename expression::control_block:: + data_pack(reinterpret_cast(vec_holder), + control_block::e_vecholder)); + } + } + } + + inline void register_local_data(void* data, const std::size_t& size = 0, const std::size_t data_mode = 0) + { + if (data) + { + if (control_block_) + { + typename control_block::data_type dt = control_block::e_data; + + switch (data_mode) + { + case 0 : dt = control_block::e_data; break; + case 1 : dt = control_block::e_vecdata; break; + case 2 : dt = control_block::e_string; break; + } + + control_block_-> + local_data_list.push_back( + typename expression::control_block:: + data_pack(reinterpret_cast(data), dt, size)); + } + } + } + + inline const typename control_block::local_data_list_t& local_data_list() + { + if (control_block_) + { + return control_block_->local_data_list; + } + else + { + static typename control_block::local_data_list_t null_local_data_list; + return null_local_data_list; + } + } + + inline void register_return_results(results_context_t* rc) + { + if (control_block_ && rc) + { + control_block_->results = rc; + } + } + + inline void set_retinvk(bool* retinvk_ptr) + { + if (control_block_) + { + control_block_->return_invoked = retinvk_ptr; + } + } + + control_block* control_block_; + symtab_list_t symbol_table_list_; + + friend class parser; + friend class expression_helper; + friend class function_compositor; + template + friend bool is_valid(const expression& expr); + }; // class expression + + template + class expression_helper + { + public: + + static inline bool is_constant(const expression& expr) + { + return expr.control_block_ && details::is_constant_node(expr.control_block_->expr); + } + + static inline bool is_variable(const expression& expr) + { + return expr.control_block_ && details::is_variable_node(expr.control_block_->expr); + } + + static inline bool is_unary(const expression& expr) + { + return expr.control_block_ && details::is_unary_node(expr.control_block_->expr); + } + + static inline bool is_binary(const expression& expr) + { + return expr.control_block_ && details::is_binary_node(expr.control_block_->expr); + } + + static inline bool is_function(const expression& expr) + { + return expr.control_block_ && details::is_function(expr.control_block_->expr); + } + + static inline bool is_null(const expression& expr) + { + return expr.control_block_ && details::is_null_node(expr.control_block_->expr); + } + }; + + template + inline bool is_valid(const expression& expr) + { + return expr.control_block_ && !expression_helper::is_null(expr); + } + + namespace parser_error + { + enum error_mode + { + e_unknown = 0, + e_syntax = 1, + e_token = 2, + e_numeric = 4, + e_symtab = 5, + e_lexer = 6, + e_synthesis = 7, + e_helper = 8, + e_parser = 9 + }; + + struct type + { + type() + : mode(parser_error::e_unknown) + , line_no (0) + , column_no(0) + {} + + lexer::token token; + error_mode mode; + std::string diagnostic; + std::string src_location; + std::string error_line; + std::size_t line_no; + std::size_t column_no; + }; + + inline type make_error(const error_mode mode, + const std::string& diagnostic = "", + const std::string& src_location = "") + { + type t; + t.mode = mode; + t.token.type = lexer::token::e_error; + t.diagnostic = diagnostic; + t.src_location = src_location; + exprtk_debug(("%s\n", diagnostic .c_str())); + return t; + } + + inline type make_error(const error_mode mode, + const lexer::token& tk, + const std::string& diagnostic = "", + const std::string& src_location = "") + { + type t; + t.mode = mode; + t.token = tk; + t.diagnostic = diagnostic; + t.src_location = src_location; + exprtk_debug(("%s\n", diagnostic .c_str())); + return t; + } + + inline std::string to_str(error_mode mode) + { + switch (mode) + { + case e_unknown : return std::string("Unknown Error"); + case e_syntax : return std::string("Syntax Error" ); + case e_token : return std::string("Token Error" ); + case e_numeric : return std::string("Numeric Error"); + case e_symtab : return std::string("Symbol Error" ); + case e_lexer : return std::string("Lexer Error" ); + case e_helper : return std::string("Helper Error" ); + case e_parser : return std::string("Parser Error" ); + default : return std::string("Unknown Error"); + } + } + + inline bool update_error(type& error, const std::string& expression) + { + if ( + expression.empty() || + (error.token.position > expression.size()) || + (std::numeric_limits::max() == error.token.position) + ) + { + return false; + } + + std::size_t error_line_start = 0; + + for (std::size_t i = error.token.position; i > 0; --i) + { + const details::char_t c = expression[i]; + + if (('\n' == c) || ('\r' == c)) + { + error_line_start = i + 1; + break; + } + } + + std::size_t next_nl_position = std::min(expression.size(), + expression.find_first_of('\n',error.token.position + 1)); + + error.column_no = error.token.position - error_line_start; + error.error_line = expression.substr(error_line_start, + next_nl_position - error_line_start); + + error.line_no = 0; + + for (std::size_t i = 0; i < next_nl_position; ++i) + { + if ('\n' == expression[i]) + ++error.line_no; + } + + return true; + } + + inline void dump_error(const type& error) + { + printf("Position: %02d Type: [%s] Msg: %s\n", + static_cast(error.token.position), + exprtk::parser_error::to_str(error.mode).c_str(), + error.diagnostic.c_str()); + } + } + + namespace details + { + template + inline void disable_type_checking(Parser& p) + { + p.state_.type_check_enabled = false; + } + } + + template + class parser : public lexer::parser_helper + { + private: + + enum precedence_level + { + e_level00, e_level01, e_level02, e_level03, e_level04, + e_level05, e_level06, e_level07, e_level08, e_level09, + e_level10, e_level11, e_level12, e_level13, e_level14 + }; + + typedef const T& cref_t; + typedef const T const_t; + typedef ifunction F; + typedef ivararg_function VAF; + typedef igeneric_function GF; + typedef ifunction ifunction_t; + typedef ivararg_function ivararg_function_t; + typedef igeneric_function igeneric_function_t; + typedef details::expression_node expression_node_t; + typedef details::literal_node literal_node_t; + typedef details::unary_node unary_node_t; + typedef details::binary_node binary_node_t; + typedef details::trinary_node trinary_node_t; + typedef details::quaternary_node quaternary_node_t; + typedef details::conditional_node conditional_node_t; + typedef details::cons_conditional_node cons_conditional_node_t; + typedef details::while_loop_node while_loop_node_t; + typedef details::repeat_until_loop_node repeat_until_loop_node_t; + typedef details::for_loop_node for_loop_node_t; + typedef details::while_loop_rtc_node while_loop_rtc_node_t; + typedef details::repeat_until_loop_rtc_node repeat_until_loop_rtc_node_t; + typedef details::for_loop_rtc_node for_loop_rtc_node_t; + #ifndef exprtk_disable_break_continue + typedef details::while_loop_bc_node while_loop_bc_node_t; + typedef details::repeat_until_loop_bc_node repeat_until_loop_bc_node_t; + typedef details::for_loop_bc_node for_loop_bc_node_t; + typedef details::while_loop_bc_rtc_node while_loop_bc_rtc_node_t; + typedef details::repeat_until_loop_bc_rtc_node repeat_until_loop_bc_rtc_node_t; + typedef details::for_loop_bc_rtc_node for_loop_bc_rtc_node_t; + #endif + typedef details::switch_node switch_node_t; + typedef details::variable_node variable_node_t; + typedef details::vector_elem_node vector_elem_node_t; + typedef details::vector_celem_node vector_celem_node_t; + typedef details::vector_elem_rtc_node vector_elem_rtc_node_t; + typedef details::vector_celem_rtc_node vector_celem_rtc_node_t; + typedef details::rebasevector_elem_node rebasevector_elem_node_t; + typedef details::rebasevector_celem_node rebasevector_celem_node_t; + typedef details::rebasevector_elem_rtc_node rebasevector_elem_rtc_node_t; + typedef details::rebasevector_celem_rtc_node rebasevector_celem_rtc_node_t; + typedef details::vector_node vector_node_t; + typedef details::vector_size_node vector_size_node_t; + typedef details::range_pack range_t; + #ifndef exprtk_disable_string_capabilities + typedef details::stringvar_node stringvar_node_t; + typedef details::string_literal_node string_literal_node_t; + typedef details::string_range_node string_range_node_t; + typedef details::const_string_range_node const_string_range_node_t; + typedef details::generic_string_range_node generic_string_range_node_t; + typedef details::string_concat_node string_concat_node_t; + typedef details::assignment_string_node assignment_string_node_t; + typedef details::assignment_string_range_node assignment_string_range_node_t; + typedef details::conditional_string_node conditional_string_node_t; + typedef details::cons_conditional_str_node cons_conditional_str_node_t; + #endif + typedef details::assignment_node assignment_node_t; + typedef details::assignment_vec_elem_node assignment_vec_elem_node_t; + typedef details::assignment_vec_elem_rtc_node assignment_vec_elem_rtc_node_t; + typedef details::assignment_rebasevec_elem_node assignment_rebasevec_elem_node_t; + typedef details::assignment_rebasevec_elem_rtc_node assignment_rebasevec_elem_rtc_node_t; + typedef details::assignment_rebasevec_celem_node assignment_rebasevec_celem_node_t; + typedef details::assignment_vec_node assignment_vec_node_t; + typedef details::assignment_vecvec_node assignment_vecvec_node_t; + typedef details::conditional_vector_node conditional_vector_node_t; + typedef details::scand_node scand_node_t; + typedef details::scor_node scor_node_t; + typedef lexer::token token_t; + typedef expression_node_t* expression_node_ptr; + typedef expression expression_t; + typedef symbol_table symbol_table_t; + typedef typename expression::symtab_list_t symbol_table_list_t; + typedef details::vector_holder vector_holder_t; + typedef vector_holder_t* vector_holder_ptr; + + typedef typename details::functor_t functor_t; + typedef typename functor_t::qfunc_t quaternary_functor_t; + typedef typename functor_t::tfunc_t trinary_functor_t; + typedef typename functor_t::bfunc_t binary_functor_t; + typedef typename functor_t::ufunc_t unary_functor_t; + + typedef details::operator_type operator_t; + + typedef std::map unary_op_map_t; + typedef std::map binary_op_map_t; + typedef std::map trinary_op_map_t; + + typedef std::map > sf3_map_t; + typedef std::map > sf4_map_t; + + typedef std::map inv_binary_op_map_t; + typedef std::multimap base_ops_map_t; + typedef std::set disabled_func_set_t; + + typedef details::T0oT1_define vov_t; + typedef details::T0oT1_define cov_t; + typedef details::T0oT1_define voc_t; + + typedef details::T0oT1oT2_define vovov_t; + typedef details::T0oT1oT2_define vovoc_t; + typedef details::T0oT1oT2_define vocov_t; + typedef details::T0oT1oT2_define covov_t; + typedef details::T0oT1oT2_define covoc_t; + typedef details::T0oT1oT2_define cocov_t; + typedef details::T0oT1oT2_define vococ_t; + + typedef details::T0oT1oT2oT3_define vovovov_t; + typedef details::T0oT1oT2oT3_define vovovoc_t; + typedef details::T0oT1oT2oT3_define vovocov_t; + typedef details::T0oT1oT2oT3_define vocovov_t; + typedef details::T0oT1oT2oT3_define covovov_t; + + typedef details::T0oT1oT2oT3_define covocov_t; + typedef details::T0oT1oT2oT3_define vocovoc_t; + typedef details::T0oT1oT2oT3_define covovoc_t; + typedef details::T0oT1oT2oT3_define vococov_t; + + typedef results_context results_context_t; + + typedef parser_helper prsrhlpr_t; + + struct scope_element + { + enum element_type + { + e_none , + e_variable, + e_vector , + e_vecelem , + e_string + }; + + typedef details::vector_holder vector_holder_t; + typedef variable_node_t* variable_node_ptr; + typedef vector_holder_t* vector_holder_ptr; + typedef expression_node_t* expression_node_ptr; + #ifndef exprtk_disable_string_capabilities + typedef stringvar_node_t* stringvar_node_ptr; + #endif + + scope_element() + : name("???") + , size (std::numeric_limits::max()) + , index(std::numeric_limits::max()) + , depth(std::numeric_limits::max()) + , ref_count(0) + , ip_index (0) + , type (e_none) + , active (false) + , data (0) + , var_node (0) + , vec_node (0) + #ifndef exprtk_disable_string_capabilities + , str_node(0) + #endif + {} + + bool operator < (const scope_element& se) const + { + if (ip_index < se.ip_index) + return true; + else if (ip_index > se.ip_index) + return false; + else if (depth < se.depth) + return true; + else if (depth > se.depth) + return false; + else if (index < se.index) + return true; + else if (index > se.index) + return false; + else + return (name < se.name); + } + + void clear() + { + name = "???"; + size = std::numeric_limits::max(); + index = std::numeric_limits::max(); + depth = std::numeric_limits::max(); + type = e_none; + active = false; + ref_count = 0; + ip_index = 0; + data = 0; + var_node = 0; + vec_node = 0; + #ifndef exprtk_disable_string_capabilities + str_node = 0; + #endif + } + + std::string name; + std::size_t size; + std::size_t index; + std::size_t depth; + std::size_t ref_count; + std::size_t ip_index; + element_type type; + bool active; + void* data; + expression_node_ptr var_node; + vector_holder_ptr vec_node; + #ifndef exprtk_disable_string_capabilities + stringvar_node_ptr str_node; + #endif + }; + + class scope_element_manager + { + public: + + typedef expression_node_t* expression_node_ptr; + typedef variable_node_t* variable_node_ptr; + typedef parser parser_t; + + explicit scope_element_manager(parser& p) + : parser_(p) + , input_param_cnt_(0) + {} + + inline std::size_t size() const + { + return element_.size(); + } + + inline bool empty() const + { + return element_.empty(); + } + + inline scope_element& get_element(const std::size_t& index) + { + if (index < element_.size()) + return element_[index]; + else + return null_element_; + } + + inline scope_element& get_element(const std::string& var_name, + const std::size_t index = std::numeric_limits::max()) + { + const std::size_t current_depth = parser_.state_.scope_depth; + + for (std::size_t i = 0; i < element_.size(); ++i) + { + scope_element& se = element_[i]; + + if (se.depth > current_depth) + continue; + else if ( + details::imatch(se.name, var_name) && + (se.index == index) + ) + return se; + } + + return null_element_; + } + + inline scope_element& get_active_element(const std::string& var_name, + const std::size_t index = std::numeric_limits::max()) + { + const std::size_t current_depth = parser_.state_.scope_depth; + + for (std::size_t i = 0; i < element_.size(); ++i) + { + scope_element& se = element_[i]; + + if (se.depth > current_depth) + continue; + else if ( + details::imatch(se.name, var_name) && + (se.index == index) && + (se.active) + ) + return se; + } + + return null_element_; + } + + inline bool add_element(const scope_element& se) + { + for (std::size_t i = 0; i < element_.size(); ++i) + { + scope_element& cse = element_[i]; + + if ( + details::imatch(cse.name, se.name) && + (cse.depth <= se.depth) && + (cse.index == se.index) && + (cse.size == se.size ) && + (cse.type == se.type ) && + (cse.active) + ) + return false; + } + + element_.push_back(se); + std::sort(element_.begin(),element_.end()); + + return true; + } + + inline void deactivate(const std::size_t& scope_depth) + { + exprtk_debug(("deactivate() - Scope depth: %d\n", + static_cast(parser_.state_.scope_depth))); + + for (std::size_t i = 0; i < element_.size(); ++i) + { + scope_element& se = element_[i]; + + if (se.active && (se.depth >= scope_depth)) + { + exprtk_debug(("deactivate() - element[%02d] '%s'\n", + static_cast(i), + se.name.c_str())); + + se.active = false; + } + } + } + + inline void free_element(scope_element& se) + { + exprtk_debug(("free_element() - se[%s]\n", se.name.c_str())); + + switch (se.type) + { + case scope_element::e_variable : delete reinterpret_cast(se.data); + delete se.var_node; + break; + + case scope_element::e_vector : delete[] reinterpret_cast(se.data); + delete se.vec_node; + break; + + case scope_element::e_vecelem : delete se.var_node; + break; + + #ifndef exprtk_disable_string_capabilities + case scope_element::e_string : delete reinterpret_cast(se.data); + delete se.str_node; + break; + #endif + + default : return; + } + + se.clear(); + } + + inline void cleanup() + { + for (std::size_t i = 0; i < element_.size(); ++i) + { + free_element(element_[i]); + } + + element_.clear(); + + input_param_cnt_ = 0; + } + + inline std::size_t next_ip_index() + { + return ++input_param_cnt_; + } + + inline expression_node_ptr get_variable(const T& v) + { + for (std::size_t i = 0; i < element_.size(); ++i) + { + scope_element& se = element_[i]; + + if ( + se.active && + se.var_node && + details::is_variable_node(se.var_node) + ) + { + variable_node_ptr vn = reinterpret_cast(se.var_node); + + if (&(vn->ref()) == (&v)) + { + return se.var_node; + } + } + } + + return expression_node_ptr(0); + } + + inline std::string get_vector_name(const T* data) + { + for (std::size_t i = 0; i < element_.size(); ++i) + { + scope_element& se = element_[i]; + + if ( + se.active && + se.vec_node && + (se.vec_node->data() == data) + ) + { + return se.name; + } + } + + return "neo-vector"; + } + + private: + + scope_element_manager(const scope_element_manager&) exprtk_delete; + scope_element_manager& operator=(const scope_element_manager&) exprtk_delete; + + parser_t& parser_; + std::vector element_; + scope_element null_element_; + std::size_t input_param_cnt_; + }; + + class scope_handler + { + public: + + typedef parser parser_t; + + explicit scope_handler(parser& p) + : parser_(p) + { + parser_.state_.scope_depth++; + #ifdef exprtk_enable_debugging + const std::string depth(2 * parser_.state_.scope_depth,'-'); + exprtk_debug(("%s> Scope Depth: %02d\n", + depth.c_str(), + static_cast(parser_.state_.scope_depth))); + #endif + } + + ~scope_handler() + { + parser_.sem_.deactivate(parser_.state_.scope_depth); + parser_.state_.scope_depth--; + #ifdef exprtk_enable_debugging + const std::string depth(2 * parser_.state_.scope_depth,'-'); + exprtk_debug(("<%s Scope Depth: %02d\n", + depth.c_str(), + static_cast(parser_.state_.scope_depth))); + #endif + } + + private: + + scope_handler(const scope_handler&) exprtk_delete; + scope_handler& operator=(const scope_handler&) exprtk_delete; + + parser_t& parser_; + }; + + template + struct halfopen_range_policy + { + static inline bool is_within(const T_& v, const T_& begin, const T_& end) + { + assert(begin <= end); + return (begin <= v) && (v < end); + } + + static inline bool is_less(const T_& v, const T_& begin) + { + return (v < begin); + } + + static inline bool is_greater(const T_& v, const T_& end) + { + return (end <= v); + } + + static inline bool end_inclusive() + { + return false; + } + }; + + template + struct closed_range_policy + { + static inline bool is_within(const T_& v, const T_& begin, const T_& end) + { + assert(begin <= end); + return (begin <= v) && (v <= end); + } + + static inline bool is_less(const T_& v, const T_& begin) + { + return (v < begin); + } + + static inline bool is_greater(const T_& v, const T_& end) + { + return (end < v); + } + + static inline bool end_inclusive() + { + return true; + } + }; + + template > + class interval_container_t + { + public: + + typedef IntervalPointType interval_point_t; + typedef std::pair interval_t; + typedef std::map interval_map_t; + typedef typename interval_map_t::const_iterator interval_map_citr_t; + + std::size_t size() const + { + return interval_map_.size(); + } + + void reset() + { + interval_map_.clear(); + } + + bool in_interval(const interval_point_t point, interval_t& interval) const + { + interval_map_citr_t itr = RangePolicy::end_inclusive() ? + interval_map_.lower_bound(point): + interval_map_.upper_bound(point); + + for (; itr != interval_map_.end(); ++itr) + { + const interval_point_t& begin = itr->second.first; + const interval_point_t& end = itr->second.second; + + if (RangePolicy::is_within(point, begin, end)) + { + interval = interval_t(begin,end); + return true; + } + else if (RangePolicy::is_greater(point, end)) + { + break; + } + } + + return false; + } + + bool in_interval(const interval_point_t point) const + { + interval_t interval; + return in_interval(point,interval); + } + + bool add_interval(const interval_point_t begin, const interval_point_t end) + { + if ((end <= begin) || in_interval(begin) || in_interval(end)) + { + return false; + } + + interval_map_[end] = std::make_pair(begin, end); + + return true; + } + + bool add_interval(const interval_t interval) + { + return add_interval(interval.first, interval.second); + } + + private: + + interval_map_t interval_map_; + }; + + class stack_limit_handler + { + public: + + typedef parser parser_t; + + explicit stack_limit_handler(parser& p) + : parser_(p) + , limit_exceeded_(false) + { + if (++parser_.state_.stack_depth > parser_.settings_.max_stack_depth_) + { + limit_exceeded_ = true; + parser_.set_error(make_error( + parser_error::e_parser, + "ERR000 - Current stack depth " + details::to_str(parser_.state_.stack_depth) + + " exceeds maximum allowed stack depth of " + details::to_str(parser_.settings_.max_stack_depth_), + exprtk_error_location)); + } + } + + ~stack_limit_handler() + { + assert(parser_.state_.stack_depth > 0); + parser_.state_.stack_depth--; + } + + bool operator!() + { + return limit_exceeded_; + } + + private: + + stack_limit_handler(const stack_limit_handler&) exprtk_delete; + stack_limit_handler& operator=(const stack_limit_handler&) exprtk_delete; + + parser_t& parser_; + bool limit_exceeded_; + }; + + struct symtab_store + { + symbol_table_list_t symtab_list_; + + typedef typename symbol_table_t::local_data_t local_data_t; + typedef typename symbol_table_t::variable_ptr variable_ptr; + typedef typename symbol_table_t::function_ptr function_ptr; + #ifndef exprtk_disable_string_capabilities + typedef typename symbol_table_t::stringvar_ptr stringvar_ptr; + #endif + typedef typename symbol_table_t::vector_holder_ptr vector_holder_ptr; + typedef typename symbol_table_t::vararg_function_ptr vararg_function_ptr; + typedef typename symbol_table_t::generic_function_ptr generic_function_ptr; + + struct variable_context + { + variable_context() + : symbol_table(0) + , variable(0) + {} + + const symbol_table_t* symbol_table; + variable_ptr variable; + }; + + struct vector_context + { + vector_context() + : symbol_table(0) + , vector_holder(0) + {} + + const symbol_table_t* symbol_table; + vector_holder_ptr vector_holder; + }; + + #ifndef exprtk_disable_string_capabilities + struct string_context + { + string_context() + : symbol_table(0) + , str_var(0) + {} + + const symbol_table_t* symbol_table; + stringvar_ptr str_var; + }; + #endif + + inline bool empty() const + { + return symtab_list_.empty(); + } + + inline void clear() + { + symtab_list_.clear(); + } + + inline bool valid() const + { + if (!empty()) + { + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (symtab_list_[i].valid()) + return true; + } + } + + return false; + } + + inline bool valid_symbol(const std::string& symbol) const + { + if (!symtab_list_.empty()) + return symtab_list_[0].valid_symbol(symbol); + else + return false; + } + + inline bool valid_function_name(const std::string& symbol) const + { + if (!symtab_list_.empty()) + return symtab_list_[0].valid_function(symbol); + else + return false; + } + + inline variable_context get_variable_context(const std::string& variable_name) const + { + variable_context result; + if (!valid_symbol(variable_name)) + return result; + + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + { + continue; + } + + result.variable = local_data(i) + .variable_store.get(variable_name); + if (result.variable) + { + result.symbol_table = &symtab_list_[i]; + break; + } + } + + return result; + } + + inline variable_ptr get_variable(const std::string& variable_name) const + { + if (!valid_symbol(variable_name)) + return reinterpret_cast(0); + + variable_ptr result = reinterpret_cast(0); + + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + continue; + else + result = local_data(i) + .variable_store.get(variable_name); + + if (result) break; + } + + return result; + } + + inline variable_ptr get_variable(const T& var_ref) const + { + variable_ptr result = reinterpret_cast(0); + + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + continue; + else + result = local_data(i).variable_store + .get_from_varptr(reinterpret_cast(&var_ref)); + + if (result) break; + } + + return result; + } + + #ifndef exprtk_disable_string_capabilities + inline string_context get_string_context(const std::string& string_name) const + { + string_context result; + + if (!valid_symbol(string_name)) + return result; + + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + { + continue; + } + + result.str_var = local_data(i).stringvar_store.get(string_name); + + if (result.str_var) + { + result.symbol_table = &symtab_list_[i]; + break; + } + } + + return result; + } + + inline stringvar_ptr get_stringvar(const std::string& string_name) const + { + if (!valid_symbol(string_name)) + return reinterpret_cast(0); + + stringvar_ptr result = reinterpret_cast(0); + + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + continue; + else + result = local_data(i) + .stringvar_store.get(string_name); + + if (result) break; + } + + return result; + } + #endif + + inline function_ptr get_function(const std::string& function_name) const + { + if (!valid_function_name(function_name)) + return reinterpret_cast(0); + + function_ptr result = reinterpret_cast(0); + + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + continue; + else + result = local_data(i) + .function_store.get(function_name); + + if (result) break; + } + + return result; + } + + inline vararg_function_ptr get_vararg_function(const std::string& vararg_function_name) const + { + if (!valid_function_name(vararg_function_name)) + return reinterpret_cast(0); + + vararg_function_ptr result = reinterpret_cast(0); + + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + continue; + else + result = local_data(i) + .vararg_function_store.get(vararg_function_name); + + if (result) break; + } + + return result; + } + + inline generic_function_ptr get_generic_function(const std::string& function_name) const + { + if (!valid_function_name(function_name)) + return reinterpret_cast(0); + + generic_function_ptr result = reinterpret_cast(0); + + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + continue; + else + result = local_data(i) + .generic_function_store.get(function_name); + + if (result) break; + } + + return result; + } + + inline generic_function_ptr get_string_function(const std::string& function_name) const + { + if (!valid_function_name(function_name)) + return reinterpret_cast(0); + + generic_function_ptr result = reinterpret_cast(0); + + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + continue; + else + result = + local_data(i).string_function_store.get(function_name); + + if (result) break; + } + + return result; + } + + inline generic_function_ptr get_overload_function(const std::string& function_name) const + { + if (!valid_function_name(function_name)) + return reinterpret_cast(0); + + generic_function_ptr result = reinterpret_cast(0); + + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + continue; + else + result = + local_data(i).overload_function_store.get(function_name); + + if (result) break; + } + + return result; + } + + inline vector_context get_vector_context(const std::string& vector_name) const + { + vector_context result; + if (!valid_symbol(vector_name)) + return result; + + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + { + continue; + } + + result.vector_holder = local_data(i).vector_store.get(vector_name); + + if (result.vector_holder) + { + result.symbol_table = &symtab_list_[i]; + break; + } + } + + return result; + } + + inline vector_holder_ptr get_vector(const std::string& vector_name) const + { + if (!valid_symbol(vector_name)) + return reinterpret_cast(0); + + vector_holder_ptr result = reinterpret_cast(0); + + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + { + continue; + } + + result = local_data(i).vector_store.get(vector_name); + + if (result) + { + break; + } + } + + return result; + } + + inline bool is_constant_node(const std::string& symbol_name) const + { + if (!valid_symbol(symbol_name)) + return false; + + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + { + continue; + } + + if (local_data(i).variable_store.is_constant(symbol_name)) + { + return true; + } + } + + return false; + } + + #ifndef exprtk_disable_string_capabilities + inline bool is_constant_string(const std::string& symbol_name) const + { + if (!valid_symbol(symbol_name)) + return false; + + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + continue; + else if (!local_data(i).stringvar_store.symbol_exists(symbol_name)) + continue; + else if (local_data(i).stringvar_store.is_constant(symbol_name)) + return true; + } + + return false; + } + #endif + + inline bool symbol_exists(const std::string& symbol) const + { + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + { + continue; + } + + if (symtab_list_[i].symbol_exists(symbol)) + { + return true; + } + } + + return false; + } + + inline bool is_variable(const std::string& variable_name) const + { + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + continue; + else if ( + symtab_list_[i].local_data().variable_store + .symbol_exists(variable_name) + ) + return true; + } + + return false; + } + + #ifndef exprtk_disable_string_capabilities + inline bool is_stringvar(const std::string& stringvar_name) const + { + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + continue; + else if ( + symtab_list_[i].local_data().stringvar_store + .symbol_exists(stringvar_name) + ) + return true; + } + + return false; + } + + inline bool is_conststr_stringvar(const std::string& symbol_name) const + { + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + continue; + else if ( + symtab_list_[i].local_data().stringvar_store + .symbol_exists(symbol_name) + ) + { + return ( + local_data(i).stringvar_store.symbol_exists(symbol_name) || + local_data(i).stringvar_store.is_constant (symbol_name) + ); + + } + } + + return false; + } + #endif + + inline bool is_function(const std::string& function_name) const + { + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + continue; + else if ( + local_data(i).vararg_function_store + .symbol_exists(function_name) + ) + return true; + } + + return false; + } + + inline bool is_vararg_function(const std::string& vararg_function_name) const + { + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + continue; + else if ( + local_data(i).vararg_function_store + .symbol_exists(vararg_function_name) + ) + return true; + } + + return false; + } + + inline bool is_vector(const std::string& vector_name) const + { + for (std::size_t i = 0; i < symtab_list_.size(); ++i) + { + if (!symtab_list_[i].valid()) + continue; + else if ( + local_data(i).vector_store + .symbol_exists(vector_name) + ) + return true; + } + + return false; + } + + inline std::string get_variable_name(const expression_node_ptr& ptr) const + { + return local_data().variable_store.entity_name(ptr); + } + + inline std::string get_vector_name(const vector_holder_ptr& ptr) const + { + return local_data().vector_store.entity_name(ptr); + } + + #ifndef exprtk_disable_string_capabilities + inline std::string get_stringvar_name(const expression_node_ptr& ptr) const + { + return local_data().stringvar_store.entity_name(ptr); + } + + inline std::string get_conststr_stringvar_name(const expression_node_ptr& ptr) const + { + return local_data().stringvar_store.entity_name(ptr); + } + #endif + + inline local_data_t& local_data(const std::size_t& index = 0) + { + return symtab_list_[index].local_data(); + } + + inline const local_data_t& local_data(const std::size_t& index = 0) const + { + return symtab_list_[index].local_data(); + } + + inline symbol_table_t& get_symbol_table(const std::size_t& index = 0) + { + return symtab_list_[index]; + } + }; + + struct parser_state + { + parser_state() + : type_check_enabled(true) + { + reset(); + } + + void reset() + { + parsing_return_stmt = false; + parsing_break_stmt = false; + return_stmt_present = false; + side_effect_present = false; + scope_depth = 0; + stack_depth = 0; + parsing_loop_stmt_count = 0; + } + + #ifndef exprtk_enable_debugging + void activate_side_effect(const std::string&) + #else + void activate_side_effect(const std::string& source) + #endif + { + if (!side_effect_present) + { + side_effect_present = true; + + exprtk_debug(("activate_side_effect() - caller: %s\n", source.c_str())); + } + } + + bool parsing_return_stmt; + bool parsing_break_stmt; + bool return_stmt_present; + bool side_effect_present; + bool type_check_enabled; + std::size_t scope_depth; + std::size_t stack_depth; + std::size_t parsing_loop_stmt_count; + }; + + public: + + struct unknown_symbol_resolver + { + + enum usr_symbol_type + { + e_usr_unknown_type = 0, + e_usr_variable_type = 1, + e_usr_constant_type = 2 + }; + + enum usr_mode + { + e_usrmode_default = 0, + e_usrmode_extended = 1 + }; + + usr_mode mode; + + unknown_symbol_resolver(const usr_mode m = e_usrmode_default) + : mode(m) + {} + + virtual ~unknown_symbol_resolver() + {} + + virtual bool process(const std::string& /*unknown_symbol*/, + usr_symbol_type& st, + T& default_value, + std::string& error_message) + { + if (e_usrmode_default != mode) + return false; + + st = e_usr_variable_type; + default_value = T(0); + error_message.clear(); + + return true; + } + + virtual bool process(const std::string& /* unknown_symbol */, + symbol_table_t& /* symbol_table */, + std::string& /* error_message */) + { + return false; + } + }; + + enum collect_type + { + e_ct_none = 0, + e_ct_variables = 1, + e_ct_functions = 2, + e_ct_assignments = 4 + }; + + enum symbol_type + { + e_st_unknown = 0, + e_st_variable = 1, + e_st_vector = 2, + e_st_vecelem = 3, + e_st_string = 4, + e_st_function = 5, + e_st_local_variable = 6, + e_st_local_vector = 7, + e_st_local_string = 8 + }; + + class dependent_entity_collector + { + public: + + typedef std::pair symbol_t; + typedef std::vector symbol_list_t; + + dependent_entity_collector(const std::size_t options = e_ct_none) + : options_(options) + , collect_variables_ ((options_ & e_ct_variables ) == e_ct_variables ) + , collect_functions_ ((options_ & e_ct_functions ) == e_ct_functions ) + , collect_assignments_((options_ & e_ct_assignments) == e_ct_assignments) + , return_present_ (false) + , final_stmt_return_(false) + {} + + template class Sequence> + inline std::size_t symbols(Sequence& symbols_list) + { + if (!collect_variables_ && !collect_functions_) + return 0; + else if (symbol_name_list_.empty()) + return 0; + + for (std::size_t i = 0; i < symbol_name_list_.size(); ++i) + { + details::case_normalise(symbol_name_list_[i].first); + } + + std::sort(symbol_name_list_.begin(), symbol_name_list_.end()); + + std::unique_copy + ( + symbol_name_list_.begin(), + symbol_name_list_.end (), + std::back_inserter(symbols_list) + ); + + return symbols_list.size(); + } + + template class Sequence> + inline std::size_t assignment_symbols(Sequence& assignment_list) + { + if (!collect_assignments_) + return 0; + else if (assignment_name_list_.empty()) + return 0; + + for (std::size_t i = 0; i < assignment_name_list_.size(); ++i) + { + details::case_normalise(assignment_name_list_[i].first); + } + + std::sort(assignment_name_list_.begin(),assignment_name_list_.end()); + + std::unique_copy + ( + assignment_name_list_.begin(), + assignment_name_list_.end (), + std::back_inserter(assignment_list) + ); + + return assignment_list.size(); + } + + void clear() + { + symbol_name_list_ .clear(); + assignment_name_list_.clear(); + retparam_list_ .clear(); + return_present_ = false; + final_stmt_return_ = false; + } + + bool& collect_variables() + { + return collect_variables_; + } + + bool& collect_functions() + { + return collect_functions_; + } + + bool& collect_assignments() + { + return collect_assignments_; + } + + bool return_present() const + { + return return_present_; + } + + bool final_stmt_return() const + { + return final_stmt_return_; + } + + typedef std::vector retparam_list_t; + + retparam_list_t return_param_type_list() const + { + return retparam_list_; + } + + private: + + inline void add_symbol(const std::string& symbol, const symbol_type st) + { + switch (st) + { + case e_st_variable : + case e_st_vector : + case e_st_string : + case e_st_local_variable : + case e_st_local_vector : + case e_st_local_string : if (collect_variables_) + symbol_name_list_ + .push_back(std::make_pair(symbol, st)); + break; + + case e_st_function : if (collect_functions_) + symbol_name_list_ + .push_back(std::make_pair(symbol, st)); + break; + + default : return; + } + } + + inline void add_assignment(const std::string& symbol, const symbol_type st) + { + switch (st) + { + case e_st_variable : + case e_st_vector : + case e_st_string : if (collect_assignments_) + assignment_name_list_ + .push_back(std::make_pair(symbol, st)); + break; + + default : return; + } + } + + std::size_t options_; + bool collect_variables_; + bool collect_functions_; + bool collect_assignments_; + bool return_present_; + bool final_stmt_return_; + symbol_list_t symbol_name_list_; + symbol_list_t assignment_name_list_; + retparam_list_t retparam_list_; + + friend class parser; + }; + + class settings_store + { + private: + + typedef std::set disabled_entity_set_t; + typedef disabled_entity_set_t::iterator des_itr_t; + + public: + + enum settings_compilation_options + { + e_unknown = 0, + e_replacer = 1, + e_joiner = 2, + e_numeric_check = 4, + e_bracket_check = 8, + e_sequence_check = 16, + e_commutative_check = 32, + e_strength_reduction = 64, + e_disable_vardef = 128, + e_collect_vars = 256, + e_collect_funcs = 512, + e_collect_assings = 1024, + e_disable_usr_on_rsrvd = 2048, + e_disable_zero_return = 4096 + }; + + enum settings_base_funcs + { + e_bf_unknown = 0, + e_bf_abs , e_bf_acos , e_bf_acosh , e_bf_asin , + e_bf_asinh , e_bf_atan , e_bf_atan2 , e_bf_atanh , + e_bf_avg , e_bf_ceil , e_bf_clamp , e_bf_cos , + e_bf_cosh , e_bf_cot , e_bf_csc , e_bf_equal , + e_bf_erf , e_bf_erfc , e_bf_exp , e_bf_expm1 , + e_bf_floor , e_bf_frac , e_bf_hypot , e_bf_iclamp , + e_bf_like , e_bf_log , e_bf_log10 , e_bf_log1p , + e_bf_log2 , e_bf_logn , e_bf_mand , e_bf_max , + e_bf_min , e_bf_mod , e_bf_mor , e_bf_mul , + e_bf_ncdf , e_bf_pow , e_bf_root , e_bf_round , + e_bf_roundn , e_bf_sec , e_bf_sgn , e_bf_sin , + e_bf_sinc , e_bf_sinh , e_bf_sqrt , e_bf_sum , + e_bf_swap , e_bf_tan , e_bf_tanh , e_bf_trunc , + e_bf_not_equal , e_bf_inrange , e_bf_deg2grad , e_bf_deg2rad , + e_bf_rad2deg , e_bf_grad2deg + }; + + enum settings_control_structs + { + e_ctrl_unknown = 0, + e_ctrl_ifelse, + e_ctrl_switch, + e_ctrl_for_loop, + e_ctrl_while_loop, + e_ctrl_repeat_loop, + e_ctrl_return + }; + + enum settings_logic_opr + { + e_logic_unknown = 0, + e_logic_and, e_logic_nand , e_logic_nor , + e_logic_not, e_logic_or , e_logic_xnor, + e_logic_xor, e_logic_scand, e_logic_scor + }; + + enum settings_arithmetic_opr + { + e_arith_unknown = 0, + e_arith_add, e_arith_sub, e_arith_mul, + e_arith_div, e_arith_mod, e_arith_pow + }; + + enum settings_assignment_opr + { + e_assign_unknown = 0, + e_assign_assign, e_assign_addass, e_assign_subass, + e_assign_mulass, e_assign_divass, e_assign_modass + }; + + enum settings_inequality_opr + { + e_ineq_unknown = 0, + e_ineq_lt , e_ineq_lte, e_ineq_eq , + e_ineq_equal, e_ineq_ne , e_ineq_nequal, + e_ineq_gte , e_ineq_gt + }; + + static const std::size_t default_compile_all_opts = + e_replacer + + e_joiner + + e_numeric_check + + e_bracket_check + + e_sequence_check + + e_commutative_check + + e_strength_reduction; + + settings_store(const std::size_t compile_options = default_compile_all_opts) + : max_stack_depth_(400) + , max_node_depth_(10000) + , max_local_vector_size_(2000000000) + { + load_compile_options(compile_options); + } + + settings_store& enable_all_base_functions() + { + disabled_func_set_.clear(); + return (*this); + } + + settings_store& enable_all_control_structures() + { + disabled_ctrl_set_.clear(); + return (*this); + } + + settings_store& enable_all_logic_ops() + { + disabled_logic_set_.clear(); + return (*this); + } + + settings_store& enable_all_arithmetic_ops() + { + disabled_arithmetic_set_.clear(); + return (*this); + } + + settings_store& enable_all_assignment_ops() + { + disabled_assignment_set_.clear(); + return (*this); + } + + settings_store& enable_all_inequality_ops() + { + disabled_inequality_set_.clear(); + return (*this); + } + + settings_store& enable_local_vardef() + { + disable_vardef_ = false; + return (*this); + } + + settings_store& enable_commutative_check() + { + enable_commutative_check_ = true; + return (*this); + } + + settings_store& enable_strength_reduction() + { + enable_strength_reduction_ = true; + return (*this); + } + + settings_store& disable_all_base_functions() + { + std::copy(details::base_function_list, + details::base_function_list + details::base_function_list_size, + std::insert_iterator + (disabled_func_set_, disabled_func_set_.begin())); + return (*this); + } + + settings_store& disable_all_control_structures() + { + std::copy(details::cntrl_struct_list, + details::cntrl_struct_list + details::cntrl_struct_list_size, + std::insert_iterator + (disabled_ctrl_set_, disabled_ctrl_set_.begin())); + return (*this); + } + + settings_store& disable_all_logic_ops() + { + std::copy(details::logic_ops_list, + details::logic_ops_list + details::logic_ops_list_size, + std::insert_iterator + (disabled_logic_set_, disabled_logic_set_.begin())); + return (*this); + } + + settings_store& disable_all_arithmetic_ops() + { + std::copy(details::arithmetic_ops_list, + details::arithmetic_ops_list + details::arithmetic_ops_list_size, + std::insert_iterator + (disabled_arithmetic_set_, disabled_arithmetic_set_.begin())); + return (*this); + } + + settings_store& disable_all_assignment_ops() + { + std::copy(details::assignment_ops_list, + details::assignment_ops_list + details::assignment_ops_list_size, + std::insert_iterator + (disabled_assignment_set_, disabled_assignment_set_.begin())); + return (*this); + } + + settings_store& disable_all_inequality_ops() + { + std::copy(details::inequality_ops_list, + details::inequality_ops_list + details::inequality_ops_list_size, + std::insert_iterator + (disabled_inequality_set_, disabled_inequality_set_.begin())); + return (*this); + } + + settings_store& disable_local_vardef() + { + disable_vardef_ = true; + return (*this); + } + + settings_store& disable_commutative_check() + { + enable_commutative_check_ = false; + return (*this); + } + + settings_store& disable_strength_reduction() + { + enable_strength_reduction_ = false; + return (*this); + } + + bool replacer_enabled () const { return enable_replacer_; } + bool commutative_check_enabled () const { return enable_commutative_check_; } + bool joiner_enabled () const { return enable_joiner_; } + bool numeric_check_enabled () const { return enable_numeric_check_; } + bool bracket_check_enabled () const { return enable_bracket_check_; } + bool sequence_check_enabled () const { return enable_sequence_check_; } + bool strength_reduction_enabled () const { return enable_strength_reduction_; } + bool collect_variables_enabled () const { return enable_collect_vars_; } + bool collect_functions_enabled () const { return enable_collect_funcs_; } + bool collect_assignments_enabled() const { return enable_collect_assings_; } + bool vardef_disabled () const { return disable_vardef_; } + bool rsrvd_sym_usr_disabled () const { return disable_rsrvd_sym_usr_; } + bool zero_return_disabled () const { return disable_zero_return_; } + + bool function_enabled(const std::string& function_name) const + { + if (disabled_func_set_.empty()) + return true; + else + return (disabled_func_set_.end() == disabled_func_set_.find(function_name)); + } + + bool control_struct_enabled(const std::string& control_struct) const + { + if (disabled_ctrl_set_.empty()) + return true; + else + return (disabled_ctrl_set_.end() == disabled_ctrl_set_.find(control_struct)); + } + + bool logic_enabled(const std::string& logic_operation) const + { + if (disabled_logic_set_.empty()) + return true; + else + return (disabled_logic_set_.end() == disabled_logic_set_.find(logic_operation)); + } + + bool arithmetic_enabled(const details::operator_type& arithmetic_operation) const + { + if (disabled_logic_set_.empty()) + return true; + else + return disabled_arithmetic_set_.end() == disabled_arithmetic_set_ + .find(arith_opr_to_string(arithmetic_operation)); + } + + bool assignment_enabled(const details::operator_type& assignment) const + { + if (disabled_assignment_set_.empty()) + return true; + else + return disabled_assignment_set_.end() == disabled_assignment_set_ + .find(assign_opr_to_string(assignment)); + } + + bool inequality_enabled(const details::operator_type& inequality) const + { + if (disabled_inequality_set_.empty()) + return true; + else + return disabled_inequality_set_.end() == disabled_inequality_set_ + .find(inequality_opr_to_string(inequality)); + } + + bool function_disabled(const std::string& function_name) const + { + if (disabled_func_set_.empty()) + return false; + else + return (disabled_func_set_.end() != disabled_func_set_.find(function_name)); + } + + bool control_struct_disabled(const std::string& control_struct) const + { + if (disabled_ctrl_set_.empty()) + return false; + else + return (disabled_ctrl_set_.end() != disabled_ctrl_set_.find(control_struct)); + } + + bool logic_disabled(const std::string& logic_operation) const + { + if (disabled_logic_set_.empty()) + return false; + else + return (disabled_logic_set_.end() != disabled_logic_set_.find(logic_operation)); + } + + bool assignment_disabled(const details::operator_type assignment_operation) const + { + if (disabled_assignment_set_.empty()) + return false; + else + return disabled_assignment_set_.end() != disabled_assignment_set_ + .find(assign_opr_to_string(assignment_operation)); + } + + bool logic_disabled(const details::operator_type logic_operation) const + { + if (disabled_logic_set_.empty()) + return false; + else + return disabled_logic_set_.end() != disabled_logic_set_ + .find(logic_opr_to_string(logic_operation)); + } + + bool arithmetic_disabled(const details::operator_type arithmetic_operation) const + { + if (disabled_arithmetic_set_.empty()) + return false; + else + return disabled_arithmetic_set_.end() != disabled_arithmetic_set_ + .find(arith_opr_to_string(arithmetic_operation)); + } + + bool inequality_disabled(const details::operator_type& inequality) const + { + if (disabled_inequality_set_.empty()) + return false; + else + return disabled_inequality_set_.end() != disabled_inequality_set_ + .find(inequality_opr_to_string(inequality)); + } + + settings_store& disable_base_function(const settings_base_funcs bf) + { + if ( + (e_bf_unknown != bf) && + (static_cast(bf) < (details::base_function_list_size + 1)) + ) + { + disabled_func_set_.insert(details::base_function_list[bf - 1]); + } + + return (*this); + } + + settings_store& disable_control_structure(const settings_control_structs ctrl_struct) + { + if ( + (e_ctrl_unknown != ctrl_struct) && + (static_cast(ctrl_struct) < (details::cntrl_struct_list_size + 1)) + ) + { + disabled_ctrl_set_.insert(details::cntrl_struct_list[ctrl_struct - 1]); + } + + return (*this); + } + + settings_store& disable_logic_operation(const settings_logic_opr logic) + { + if ( + (e_logic_unknown != logic) && + (static_cast(logic) < (details::logic_ops_list_size + 1)) + ) + { + disabled_logic_set_.insert(details::logic_ops_list[logic - 1]); + } + + return (*this); + } + + settings_store& disable_arithmetic_operation(const settings_arithmetic_opr arithmetic) + { + if ( + (e_arith_unknown != arithmetic) && + (static_cast(arithmetic) < (details::arithmetic_ops_list_size + 1)) + ) + { + disabled_arithmetic_set_.insert(details::arithmetic_ops_list[arithmetic - 1]); + } + + return (*this); + } + + settings_store& disable_assignment_operation(const settings_assignment_opr assignment) + { + if ( + (e_assign_unknown != assignment) && + (static_cast(assignment) < (details::assignment_ops_list_size + 1)) + ) + { + disabled_assignment_set_.insert(details::assignment_ops_list[assignment - 1]); + } + + return (*this); + } + + settings_store& disable_inequality_operation(const settings_inequality_opr inequality) + { + if ( + (e_ineq_unknown != inequality) && + (static_cast(inequality) < (details::inequality_ops_list_size + 1)) + ) + { + disabled_inequality_set_.insert(details::inequality_ops_list[inequality - 1]); + } + + return (*this); + } + + settings_store& enable_base_function(const settings_base_funcs bf) + { + if ( + (e_bf_unknown != bf) && + (static_cast(bf) < (details::base_function_list_size + 1)) + ) + { + const des_itr_t itr = disabled_func_set_.find(details::base_function_list[bf - 1]); + + if (disabled_func_set_.end() != itr) + { + disabled_func_set_.erase(itr); + } + } + + return (*this); + } + + settings_store& enable_control_structure(const settings_control_structs ctrl_struct) + { + if ( + (e_ctrl_unknown != ctrl_struct) && + (static_cast(ctrl_struct) < (details::cntrl_struct_list_size + 1)) + ) + { + const des_itr_t itr = disabled_ctrl_set_.find(details::cntrl_struct_list[ctrl_struct - 1]); + + if (disabled_ctrl_set_.end() != itr) + { + disabled_ctrl_set_.erase(itr); + } + } + + return (*this); + } + + settings_store& enable_logic_operation(const settings_logic_opr logic) + { + if ( + (e_logic_unknown != logic) && + (static_cast(logic) < (details::logic_ops_list_size + 1)) + ) + { + const des_itr_t itr = disabled_logic_set_.find(details::logic_ops_list[logic - 1]); + + if (disabled_logic_set_.end() != itr) + { + disabled_logic_set_.erase(itr); + } + } + + return (*this); + } + + settings_store& enable_arithmetic_operation(const settings_arithmetic_opr arithmetic) + { + if ( + (e_arith_unknown != arithmetic) && + (static_cast(arithmetic) < (details::arithmetic_ops_list_size + 1)) + ) + { + const des_itr_t itr = disabled_arithmetic_set_.find(details::arithmetic_ops_list[arithmetic - 1]); + + if (disabled_arithmetic_set_.end() != itr) + { + disabled_arithmetic_set_.erase(itr); + } + } + + return (*this); + } + + settings_store& enable_assignment_operation(const settings_assignment_opr assignment) + { + if ( + (e_assign_unknown != assignment) && + (static_cast(assignment) < (details::assignment_ops_list_size + 1)) + ) + { + const des_itr_t itr = disabled_assignment_set_.find(details::assignment_ops_list[assignment - 1]); + + if (disabled_assignment_set_.end() != itr) + { + disabled_assignment_set_.erase(itr); + } + } + + return (*this); + } + + settings_store& enable_inequality_operation(const settings_inequality_opr inequality) + { + if ( + (e_ineq_unknown != inequality) && + (static_cast(inequality) < (details::inequality_ops_list_size + 1)) + ) + { + const des_itr_t itr = disabled_inequality_set_.find(details::inequality_ops_list[inequality - 1]); + + if (disabled_inequality_set_.end() != itr) + { + disabled_inequality_set_.erase(itr); + } + } + + return (*this); + } + + void set_max_stack_depth(const std::size_t max_stack_depth) + { + max_stack_depth_ = max_stack_depth; + } + + void set_max_node_depth(const std::size_t max_node_depth) + { + max_node_depth_ = max_node_depth; + } + + void set_max_local_vector_size(const std::size_t max_local_vector_size) + { + max_local_vector_size_ = max_local_vector_size; + } + + std::size_t max_stack_depth() const + { + return max_stack_depth_; + } + + std::size_t max_node_depth() const + { + return max_node_depth_; + } + + std::size_t max_local_vector_size() const + { + return max_local_vector_size_; + } + + private: + + void load_compile_options(const std::size_t compile_options) + { + enable_replacer_ = (compile_options & e_replacer ) == e_replacer; + enable_joiner_ = (compile_options & e_joiner ) == e_joiner; + enable_numeric_check_ = (compile_options & e_numeric_check ) == e_numeric_check; + enable_bracket_check_ = (compile_options & e_bracket_check ) == e_bracket_check; + enable_sequence_check_ = (compile_options & e_sequence_check ) == e_sequence_check; + enable_commutative_check_ = (compile_options & e_commutative_check ) == e_commutative_check; + enable_strength_reduction_ = (compile_options & e_strength_reduction ) == e_strength_reduction; + enable_collect_vars_ = (compile_options & e_collect_vars ) == e_collect_vars; + enable_collect_funcs_ = (compile_options & e_collect_funcs ) == e_collect_funcs; + enable_collect_assings_ = (compile_options & e_collect_assings ) == e_collect_assings; + disable_vardef_ = (compile_options & e_disable_vardef ) == e_disable_vardef; + disable_rsrvd_sym_usr_ = (compile_options & e_disable_usr_on_rsrvd) == e_disable_usr_on_rsrvd; + disable_zero_return_ = (compile_options & e_disable_zero_return ) == e_disable_zero_return; + } + + std::string assign_opr_to_string(details::operator_type opr) const + { + switch (opr) + { + case details::e_assign : return ":="; + case details::e_addass : return "+="; + case details::e_subass : return "-="; + case details::e_mulass : return "*="; + case details::e_divass : return "/="; + case details::e_modass : return "%="; + default : return "" ; + } + } + + std::string arith_opr_to_string(details::operator_type opr) const + { + switch (opr) + { + case details::e_add : return "+"; + case details::e_sub : return "-"; + case details::e_mul : return "*"; + case details::e_div : return "/"; + case details::e_mod : return "%"; + case details::e_pow : return "^"; + default : return "" ; + } + } + + std::string inequality_opr_to_string(details::operator_type opr) const + { + switch (opr) + { + case details::e_lt : return "<" ; + case details::e_lte : return "<="; + case details::e_eq : return "=="; + case details::e_equal : return "=" ; + case details::e_ne : return "!="; + case details::e_nequal: return "<>"; + case details::e_gte : return ">="; + case details::e_gt : return ">" ; + default : return "" ; + } + } + + std::string logic_opr_to_string(details::operator_type opr) const + { + switch (opr) + { + case details::e_and : return "and" ; + case details::e_or : return "or" ; + case details::e_xor : return "xor" ; + case details::e_nand : return "nand"; + case details::e_nor : return "nor" ; + case details::e_xnor : return "xnor"; + case details::e_notl : return "not" ; + default : return "" ; + } + } + + bool enable_replacer_; + bool enable_joiner_; + bool enable_numeric_check_; + bool enable_bracket_check_; + bool enable_sequence_check_; + bool enable_commutative_check_; + bool enable_strength_reduction_; + bool enable_collect_vars_; + bool enable_collect_funcs_; + bool enable_collect_assings_; + bool disable_vardef_; + bool disable_rsrvd_sym_usr_; + bool disable_zero_return_; + + disabled_entity_set_t disabled_func_set_ ; + disabled_entity_set_t disabled_ctrl_set_ ; + disabled_entity_set_t disabled_logic_set_; + disabled_entity_set_t disabled_arithmetic_set_; + disabled_entity_set_t disabled_assignment_set_; + disabled_entity_set_t disabled_inequality_set_; + + std::size_t max_stack_depth_; + std::size_t max_node_depth_; + std::size_t max_local_vector_size_; + + friend class parser; + }; + + typedef settings_store settings_t; + + explicit parser(const settings_t& settings = settings_t()) + : settings_(settings) + , resolve_unknown_symbol_(false) + , results_context_(0) + , unknown_symbol_resolver_(reinterpret_cast(0)) + #ifdef _MSC_VER + #pragma warning(push) + #pragma warning (disable:4355) + #endif + , sem_(*this) + #ifdef _MSC_VER + #pragma warning(pop) + #endif + , operator_joiner_2_(2) + , operator_joiner_3_(3) + , loop_runtime_check_(0) + , vector_access_runtime_check_(0) + , compilation_check_ptr_(0) + { + init_precompilation(); + + load_operations_map (base_ops_map_ ); + load_unary_operations_map (unary_op_map_ ); + load_binary_operations_map (binary_op_map_ ); + load_inv_binary_operations_map(inv_binary_op_map_); + load_sf3_map (sf3_map_ ); + load_sf4_map (sf4_map_ ); + + expression_generator_.init_synthesize_map(); + expression_generator_.set_parser(*this); + expression_generator_.set_uom (unary_op_map_ ); + expression_generator_.set_bom (binary_op_map_ ); + expression_generator_.set_ibom(inv_binary_op_map_); + expression_generator_.set_sf3m(sf3_map_ ); + expression_generator_.set_sf4m(sf4_map_ ); + expression_generator_.set_strength_reduction_state(settings_.strength_reduction_enabled()); + } + + ~parser() + {} + + inline void init_precompilation() + { + dec_.collect_variables() = + settings_.collect_variables_enabled(); + + dec_.collect_functions() = + settings_.collect_functions_enabled(); + + dec_.collect_assignments() = + settings_.collect_assignments_enabled(); + + if (settings_.replacer_enabled()) + { + symbol_replacer_.clear(); + symbol_replacer_.add_replace("true" , "1", lexer::token::e_number); + symbol_replacer_.add_replace("false", "0", lexer::token::e_number); + helper_assembly_.token_modifier_list.clear(); + helper_assembly_.register_modifier(&symbol_replacer_); + } + + if (settings_.commutative_check_enabled()) + { + for (std::size_t i = 0; i < details::reserved_words_size; ++i) + { + commutative_inserter_.ignore_symbol(details::reserved_words[i]); + } + + helper_assembly_.token_inserter_list.clear(); + helper_assembly_.register_inserter(&commutative_inserter_); + } + + if (settings_.joiner_enabled()) + { + helper_assembly_.token_joiner_list.clear(); + helper_assembly_.register_joiner(&operator_joiner_2_); + helper_assembly_.register_joiner(&operator_joiner_3_); + } + + if ( + settings_.numeric_check_enabled () || + settings_.bracket_check_enabled () || + settings_.sequence_check_enabled() + ) + { + helper_assembly_.token_scanner_list.clear(); + + if (settings_.numeric_check_enabled()) + { + helper_assembly_.register_scanner(&numeric_checker_); + } + + if (settings_.bracket_check_enabled()) + { + helper_assembly_.register_scanner(&bracket_checker_); + } + + if (settings_.sequence_check_enabled()) + { + helper_assembly_.register_scanner(&sequence_validator_ ); + helper_assembly_.register_scanner(&sequence_validator_3tkns_); + } + } + } + + inline bool compile(const std::string& expression_string, expression& expr) + { + state_ .reset(); + error_list_ .clear(); + brkcnt_list_ .clear(); + synthesis_error_ .clear(); + immutable_memory_map_.reset(); + immutable_symtok_map_.clear(); + current_state_stack_ .clear(); + sem_ .cleanup(); + + return_cleanup(); + + expression_generator_.set_allocator(node_allocator_); + + if (expression_string.empty()) + { + set_error(make_error( + parser_error::e_syntax, + "ERR001 - Empty expression!", + exprtk_error_location)); + + return false; + } + + if (!init(expression_string)) + { + process_lexer_errors(); + return false; + } + + if (lexer().empty()) + { + set_error(make_error( + parser_error::e_syntax, + "ERR002 - Empty expression!", + exprtk_error_location)); + + return false; + } + + if (halt_compilation_check()) + { + return false; + } + + if (!run_assemblies()) + { + return false; + } + + if (halt_compilation_check()) + { + return false; + } + + symtab_store_.symtab_list_ = expr.get_symbol_table_list(); + dec_.clear(); + + lexer().begin(); + + next_token(); + + expression_node_ptr e = parse_corpus(); + + if ((0 != e) && (token_t::e_eof == current_token().type)) + { + bool* retinvk_ptr = 0; + + if (state_.return_stmt_present) + { + dec_.return_present_ = true; + + e = expression_generator_ + .return_envelope(e, results_context_, retinvk_ptr); + } + + expr.set_expression(e); + expr.set_retinvk(retinvk_ptr); + + register_local_vars(expr); + register_return_results(expr); + + return !(!expr); + } + else + { + if (error_list_.empty()) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR003 - Invalid expression encountered", + exprtk_error_location)); + } + + if ((0 != e) && branch_deletable(e)) + { + destroy_node(e); + } + + dec_.clear (); + sem_.cleanup (); + return_cleanup(); + + return false; + } + } + + inline expression_t compile(const std::string& expression_string, symbol_table_t& symtab) + { + expression_t expression; + expression.register_symbol_table(symtab); + compile(expression_string,expression); + return expression; + } + + void process_lexer_errors() + { + for (std::size_t i = 0; i < lexer().size(); ++i) + { + if (lexer()[i].is_error()) + { + std::string diagnostic = "ERR004 - "; + + switch (lexer()[i].type) + { + case lexer::token::e_error : diagnostic += "General token error"; + break; + + case lexer::token::e_err_symbol : diagnostic += "Symbol error"; + break; + + case lexer::token::e_err_number : diagnostic += "Invalid numeric token"; + break; + + case lexer::token::e_err_string : diagnostic += "Invalid string token"; + break; + + case lexer::token::e_err_sfunc : diagnostic += "Invalid special function token"; + break; + + default : diagnostic += "Unknown compiler error"; + } + + set_error(make_error( + parser_error::e_lexer, + lexer()[i], + diagnostic + ": " + lexer()[i].value, + exprtk_error_location)); + } + } + } + + inline bool run_assemblies() + { + if (settings_.commutative_check_enabled()) + { + helper_assembly_.run_inserters(lexer()); + } + + if (settings_.joiner_enabled()) + { + helper_assembly_.run_joiners(lexer()); + } + + if (settings_.replacer_enabled()) + { + helper_assembly_.run_modifiers(lexer()); + } + + if ( + settings_.numeric_check_enabled () || + settings_.bracket_check_enabled () || + settings_.sequence_check_enabled() + ) + { + if (!helper_assembly_.run_scanners(lexer())) + { + if (helper_assembly_.error_token_scanner) + { + lexer::helper::bracket_checker* bracket_checker_ptr = 0; + lexer::helper::numeric_checker* numeric_checker_ptr = 0; + lexer::helper::sequence_validator* sequence_validator_ptr = 0; + lexer::helper::sequence_validator_3tokens* sequence_validator3_ptr = 0; + + if (0 != (bracket_checker_ptr = dynamic_cast(helper_assembly_.error_token_scanner))) + { + set_error(make_error( + parser_error::e_token, + bracket_checker_ptr->error_token(), + "ERR005 - Mismatched brackets: '" + bracket_checker_ptr->error_token().value + "'", + exprtk_error_location)); + } + else if (0 != (numeric_checker_ptr = dynamic_cast*>(helper_assembly_.error_token_scanner))) + { + for (std::size_t i = 0; i < numeric_checker_ptr->error_count(); ++i) + { + lexer::token error_token = lexer()[numeric_checker_ptr->error_index(i)]; + + set_error(make_error( + parser_error::e_token, + error_token, + "ERR006 - Invalid numeric token: '" + error_token.value + "'", + exprtk_error_location)); + } + + if (numeric_checker_ptr->error_count()) + { + numeric_checker_ptr->clear_errors(); + } + } + else if (0 != (sequence_validator_ptr = dynamic_cast(helper_assembly_.error_token_scanner))) + { + for (std::size_t i = 0; i < sequence_validator_ptr->error_count(); ++i) + { + std::pair error_token = sequence_validator_ptr->error(i); + + set_error(make_error( + parser_error::e_token, + error_token.first, + "ERR007 - Invalid token sequence: '" + + error_token.first.value + "' and '" + + error_token.second.value + "'", + exprtk_error_location)); + } + + if (sequence_validator_ptr->error_count()) + { + sequence_validator_ptr->clear_errors(); + } + } + else if (0 != (sequence_validator3_ptr = dynamic_cast(helper_assembly_.error_token_scanner))) + { + for (std::size_t i = 0; i < sequence_validator3_ptr->error_count(); ++i) + { + std::pair error_token = sequence_validator3_ptr->error(i); + + set_error(make_error( + parser_error::e_token, + error_token.first, + "ERR008 - Invalid token sequence: '" + + error_token.first.value + "' and '" + + error_token.second.value + "'", + exprtk_error_location)); + } + + if (sequence_validator3_ptr->error_count()) + { + sequence_validator3_ptr->clear_errors(); + } + } + } + + return false; + } + } + + return true; + } + + inline settings_store& settings() + { + return settings_; + } + + inline parser_error::type get_error(const std::size_t& index) const + { + if (index < error_list_.size()) + return error_list_[index]; + else + throw std::invalid_argument("parser::get_error() - Invalid error index specified"); + } + + inline std::string error() const + { + if (!error_list_.empty()) + { + return error_list_[0].diagnostic; + } + else + return std::string("No Error"); + } + + inline std::size_t error_count() const + { + return error_list_.size(); + } + + inline dependent_entity_collector& dec() + { + return dec_; + } + + inline bool replace_symbol(const std::string& old_symbol, const std::string& new_symbol) + { + if (!settings_.replacer_enabled()) + return false; + else if (details::is_reserved_word(old_symbol)) + return false; + else + return symbol_replacer_.add_replace(old_symbol,new_symbol,lexer::token::e_symbol); + } + + inline bool remove_replace_symbol(const std::string& symbol) + { + if (!settings_.replacer_enabled()) + return false; + else if (details::is_reserved_word(symbol)) + return false; + else + return symbol_replacer_.remove(symbol); + } + + inline void enable_unknown_symbol_resolver(unknown_symbol_resolver* usr = reinterpret_cast(0)) + { + resolve_unknown_symbol_ = true; + + if (usr) + unknown_symbol_resolver_ = usr; + else + unknown_symbol_resolver_ = &default_usr_; + } + + inline void enable_unknown_symbol_resolver(unknown_symbol_resolver& usr) + { + enable_unknown_symbol_resolver(&usr); + } + + inline void disable_unknown_symbol_resolver() + { + resolve_unknown_symbol_ = false; + unknown_symbol_resolver_ = &default_usr_; + } + + inline void register_loop_runtime_check(loop_runtime_check& lrtchk) + { + loop_runtime_check_ = &lrtchk; + } + + inline void register_vector_access_runtime_check(vector_access_runtime_check& vartchk) + { + vector_access_runtime_check_ = &vartchk; + } + + inline void register_compilation_timeout_check(compilation_check& compchk) + { + compilation_check_ptr_ = &compchk; + } + + inline void clear_loop_runtime_check() + { + loop_runtime_check_ = loop_runtime_check_ptr(0); + } + + inline void clear_vector_access_runtime_check() + { + vector_access_runtime_check_ = vector_access_runtime_check_ptr(0); + } + + inline void clear_compilation_timeout_check() + { + compilation_check_ptr_ = compilation_check_ptr(0); + } + + private: + + inline bool valid_base_operation(const std::string& symbol) const + { + const std::size_t length = symbol.size(); + + if ( + (length < 3) || // Shortest base op symbol length + (length > 9) // Longest base op symbol length + ) + return false; + else + return settings_.function_enabled(symbol) && + (base_ops_map_.end() != base_ops_map_.find(symbol)); + } + + inline bool valid_vararg_operation(const std::string& symbol) const + { + static const std::string s_sum = "sum" ; + static const std::string s_mul = "mul" ; + static const std::string s_avg = "avg" ; + static const std::string s_min = "min" ; + static const std::string s_max = "max" ; + static const std::string s_mand = "mand"; + static const std::string s_mor = "mor" ; + static const std::string s_multi = "~" ; + static const std::string s_mswitch = "[*]" ; + + return + ( + details::imatch(symbol,s_sum ) || + details::imatch(symbol,s_mul ) || + details::imatch(symbol,s_avg ) || + details::imatch(symbol,s_min ) || + details::imatch(symbol,s_max ) || + details::imatch(symbol,s_mand ) || + details::imatch(symbol,s_mor ) || + details::imatch(symbol,s_multi ) || + details::imatch(symbol,s_mswitch) + ) && + settings_.function_enabled(symbol); + } + + bool is_invalid_logic_operation(const details::operator_type operation) const + { + return settings_.logic_disabled(operation); + } + + bool is_invalid_arithmetic_operation(const details::operator_type operation) const + { + return settings_.arithmetic_disabled(operation); + } + + bool is_invalid_assignment_operation(const details::operator_type operation) const + { + return settings_.assignment_disabled(operation); + } + + bool is_invalid_inequality_operation(const details::operator_type operation) const + { + return settings_.inequality_disabled(operation); + } + + #ifdef exprtk_enable_debugging + inline void next_token() + { + const std::string ct_str = current_token().value; + const std::size_t ct_pos = current_token().position; + parser_helper::next_token(); + const std::string depth(2 * state_.scope_depth,' '); + exprtk_debug(("%s" + "prev[%s | %04d] --> curr[%s | %04d] stack_level: %3d\n", + depth.c_str(), + ct_str.c_str(), + static_cast(ct_pos), + current_token().value.c_str(), + static_cast(current_token().position), + static_cast(state_.stack_depth))); + } + #endif + + inline expression_node_ptr parse_corpus() + { + std::vector arg_list; + std::vector side_effect_list; + + scoped_vec_delete sdd((*this),arg_list); + + lexer::token begin_token; + lexer::token end_token; + + for ( ; ; ) + { + state_.side_effect_present = false; + + begin_token = current_token(); + + expression_node_ptr arg = parse_expression(); + + if (0 == arg) + { + if (error_list_.empty()) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR009 - Invalid expression encountered", + exprtk_error_location)); + } + + return error_node(); + } + else + { + arg_list.push_back(arg); + + side_effect_list.push_back(state_.side_effect_present); + + end_token = current_token(); + + const std::string sub_expr = construct_subexpr(begin_token, end_token); + + exprtk_debug(("parse_corpus(%02d) Subexpr: %s\n", + static_cast(arg_list.size() - 1), + sub_expr.c_str())); + + exprtk_debug(("parse_corpus(%02d) - Side effect present: %s\n", + static_cast(arg_list.size() - 1), + state_.side_effect_present ? "true" : "false")); + + exprtk_debug(("-------------------------------------------------\n")); + } + + if (token_is(token_t::e_eof,prsrhlpr_t::e_hold)) + { + if (lexer().finished()) + break; + else + next_token(); + } + } + + if ( + !arg_list.empty() && + is_return_node(arg_list.back()) + ) + { + dec_.final_stmt_return_ = true; + } + + const expression_node_ptr result = simplify(arg_list,side_effect_list); + + sdd.delete_ptr = (0 == result); + + return result; + } + + std::string construct_subexpr(lexer::token& begin_token, lexer::token& end_token) + { + std::string result = lexer().substr(begin_token.position,end_token.position); + + for (std::size_t i = 0; i < result.size(); ++i) + { + if (details::is_whitespace(result[i])) result[i] = ' '; + } + + return result; + } + + static const precedence_level default_precedence = e_level00; + + struct state_t + { + inline void set(const precedence_level& l, + const precedence_level& r, + const details::operator_type& o, + const token_t tkn = token_t()) + { + left = l; + right = r; + operation = o; + token = tkn; + } + + inline void reset() + { + left = e_level00; + right = e_level00; + operation = details::e_default; + } + + precedence_level left; + precedence_level right; + details::operator_type operation; + token_t token; + }; + + inline void push_current_state(const state_t current_state) + { + current_state_stack_.push_back(current_state); + } + + inline void pop_current_state() + { + if (!current_state_stack_.empty()) + { + current_state_stack_.pop_back(); + } + } + + inline state_t current_state() const + { + return (!current_state_stack_.empty()) ? + current_state_stack_.back() : + state_t(); + } + + inline bool halt_compilation_check() + { + compilation_check::compilation_context context; + + if (compilation_check_ptr_ && !compilation_check_ptr_->continue_compilation(context)) + { + const std::string error_message = + !context.error_message.empty() ? " Details: " + context.error_message : ""; + + set_error(make_error( + parser_error::e_parser, + token_t(), + "ERR010 - Internal compilation check failed." + error_message, + exprtk_error_location)); + + return true; + } + + return false; + } + + inline expression_node_ptr parse_expression(precedence_level precedence = e_level00) + { + if (halt_compilation_check()) + { + return error_node(); + } + + stack_limit_handler slh(*this); + + if (!slh) + { + return error_node(); + } + + expression_node_ptr expression = parse_branch(precedence); + + if (0 == expression) + { + return error_node(); + } + + bool break_loop = false; + + state_t current_state; + + for ( ; ; ) + { + current_state.reset(); + + switch (current_token().type) + { + case token_t::e_assign : current_state.set(e_level00, e_level00, details::e_assign, current_token()); break; + case token_t::e_addass : current_state.set(e_level00, e_level00, details::e_addass, current_token()); break; + case token_t::e_subass : current_state.set(e_level00, e_level00, details::e_subass, current_token()); break; + case token_t::e_mulass : current_state.set(e_level00, e_level00, details::e_mulass, current_token()); break; + case token_t::e_divass : current_state.set(e_level00, e_level00, details::e_divass, current_token()); break; + case token_t::e_modass : current_state.set(e_level00, e_level00, details::e_modass, current_token()); break; + case token_t::e_swap : current_state.set(e_level00, e_level00, details::e_swap , current_token()); break; + case token_t::e_lt : current_state.set(e_level05, e_level06, details::e_lt , current_token()); break; + case token_t::e_lte : current_state.set(e_level05, e_level06, details::e_lte , current_token()); break; + case token_t::e_eq : current_state.set(e_level05, e_level06, details::e_eq , current_token()); break; + case token_t::e_ne : current_state.set(e_level05, e_level06, details::e_ne , current_token()); break; + case token_t::e_gte : current_state.set(e_level05, e_level06, details::e_gte , current_token()); break; + case token_t::e_gt : current_state.set(e_level05, e_level06, details::e_gt , current_token()); break; + case token_t::e_add : current_state.set(e_level07, e_level08, details::e_add , current_token()); break; + case token_t::e_sub : current_state.set(e_level07, e_level08, details::e_sub , current_token()); break; + case token_t::e_div : current_state.set(e_level10, e_level11, details::e_div , current_token()); break; + case token_t::e_mul : current_state.set(e_level10, e_level11, details::e_mul , current_token()); break; + case token_t::e_mod : current_state.set(e_level10, e_level11, details::e_mod , current_token()); break; + case token_t::e_pow : current_state.set(e_level12, e_level12, details::e_pow , current_token()); break; + default : + if (token_t::e_symbol == current_token().type) + { + static const std::string s_and = "and" ; + static const std::string s_nand = "nand" ; + static const std::string s_or = "or" ; + static const std::string s_nor = "nor" ; + static const std::string s_xor = "xor" ; + static const std::string s_xnor = "xnor" ; + static const std::string s_in = "in" ; + static const std::string s_like = "like" ; + static const std::string s_ilike = "ilike"; + static const std::string s_and1 = "&" ; + static const std::string s_or1 = "|" ; + static const std::string s_not = "not" ; + + if (details::imatch(current_token().value,s_and)) + { + current_state.set(e_level03, e_level04, details::e_and, current_token()); + break; + } + else if (details::imatch(current_token().value,s_and1)) + { + #ifndef exprtk_disable_sc_andor + current_state.set(e_level03, e_level04, details::e_scand, current_token()); + #else + current_state.set(e_level03, e_level04, details::e_and, current_token()); + #endif + break; + } + else if (details::imatch(current_token().value,s_nand)) + { + current_state.set(e_level03, e_level04, details::e_nand, current_token()); + break; + } + else if (details::imatch(current_token().value,s_or)) + { + current_state.set(e_level01, e_level02, details::e_or, current_token()); + break; + } + else if (details::imatch(current_token().value,s_or1)) + { + #ifndef exprtk_disable_sc_andor + current_state.set(e_level01, e_level02, details::e_scor, current_token()); + #else + current_state.set(e_level01, e_level02, details::e_or, current_token()); + #endif + break; + } + else if (details::imatch(current_token().value,s_nor)) + { + current_state.set(e_level01, e_level02, details::e_nor, current_token()); + break; + } + else if (details::imatch(current_token().value,s_xor)) + { + current_state.set(e_level01, e_level02, details::e_xor, current_token()); + break; + } + else if (details::imatch(current_token().value,s_xnor)) + { + current_state.set(e_level01, e_level02, details::e_xnor, current_token()); + break; + } + else if (details::imatch(current_token().value,s_in)) + { + current_state.set(e_level04, e_level04, details::e_in, current_token()); + break; + } + else if (details::imatch(current_token().value,s_like)) + { + current_state.set(e_level04, e_level04, details::e_like, current_token()); + break; + } + else if (details::imatch(current_token().value,s_ilike)) + { + current_state.set(e_level04, e_level04, details::e_ilike, current_token()); + break; + } + else if (details::imatch(current_token().value,s_not)) + { + break; + } + } + + break_loop = true; + } + + if (break_loop) + { + parse_pending_string_rangesize(expression); + break; + } + else if (current_state.left < precedence) + break; + + const lexer::token prev_token = current_token(); + + next_token(); + + expression_node_ptr right_branch = error_node(); + expression_node_ptr new_expression = error_node(); + + if (is_invalid_logic_operation(current_state.operation)) + { + free_node(node_allocator_,expression); + + set_error(make_error( + parser_error::e_syntax, + prev_token, + "ERR011 - Invalid or disabled logic operation '" + details::to_str(current_state.operation) + "'", + exprtk_error_location)); + + return error_node(); + } + else if (is_invalid_arithmetic_operation(current_state.operation)) + { + free_node(node_allocator_,expression); + + set_error(make_error( + parser_error::e_syntax, + prev_token, + "ERR012 - Invalid or disabled arithmetic operation '" + details::to_str(current_state.operation) + "'", + exprtk_error_location)); + + return error_node(); + } + else if (is_invalid_inequality_operation(current_state.operation)) + { + free_node(node_allocator_,expression); + + set_error(make_error( + parser_error::e_syntax, + prev_token, + "ERR013 - Invalid inequality operation '" + details::to_str(current_state.operation) + "'", + exprtk_error_location)); + + return error_node(); + } + else if (is_invalid_assignment_operation(current_state.operation)) + { + free_node(node_allocator_,expression); + + set_error(make_error( + parser_error::e_syntax, + prev_token, + "ERR014 - Invalid or disabled assignment operation '" + details::to_str(current_state.operation) + "'", + exprtk_error_location)); + + return error_node(); + } + + if (0 != (right_branch = parse_expression(current_state.right))) + { + if ( + details::is_return_node(expression ) || + details::is_return_node(right_branch) + ) + { + free_node(node_allocator_, expression ); + free_node(node_allocator_, right_branch); + + set_error(make_error( + parser_error::e_syntax, + prev_token, + "ERR015 - Return statements cannot be part of sub-expressions", + exprtk_error_location)); + + return error_node(); + } + + push_current_state(current_state); + + new_expression = expression_generator_ + ( + current_state.operation, + expression, + right_branch + ); + + pop_current_state(); + } + + if (0 == new_expression) + { + if (error_list_.empty()) + { + set_error(make_error( + parser_error::e_syntax, + prev_token, + !synthesis_error_.empty() ? + synthesis_error_ : + "ERR016 - General parsing error at token: '" + prev_token.value + "'", + exprtk_error_location)); + } + + free_node(node_allocator_, expression ); + free_node(node_allocator_, right_branch); + + return error_node(); + } + else + { + if ( + token_is(token_t::e_ternary,prsrhlpr_t::e_hold) && + (e_level00 == precedence) + ) + { + expression = parse_ternary_conditional_statement(new_expression); + } + else + expression = new_expression; + + parse_pending_string_rangesize(expression); + } + } + + if ((0 != expression) && (expression->node_depth() > settings_.max_node_depth_)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR017 - Expression depth of " + details::to_str(static_cast(expression->node_depth())) + + " exceeds maximum allowed expression depth of " + details::to_str(static_cast(settings_.max_node_depth_)), + exprtk_error_location)); + + free_node(node_allocator_,expression); + + return error_node(); + } + + return expression; + } + + bool simplify_unary_negation_branch(expression_node_ptr& node) + { + { + typedef details::unary_branch_node > ubn_t; + ubn_t* n = dynamic_cast(node); + + if (n) + { + expression_node_ptr un_r = n->branch(0); + n->release(); + free_node(node_allocator_,node); + node = un_r; + + return true; + } + } + + { + typedef details::unary_variable_node > uvn_t; + + uvn_t* n = dynamic_cast(node); + + if (n) + { + const T& v = n->v(); + expression_node_ptr return_node = error_node(); + + if ( + (0 != (return_node = symtab_store_.get_variable(v))) || + (0 != (return_node = sem_ .get_variable(v))) + ) + { + free_node(node_allocator_,node); + node = return_node; + + return true; + } + else + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR018 - Failed to find variable node in symbol table", + exprtk_error_location)); + + free_node(node_allocator_,node); + + return false; + } + } + } + + return false; + } + + static inline expression_node_ptr error_node() + { + return reinterpret_cast(0); + } + + struct scoped_expression_delete + { + scoped_expression_delete(parser& pr, expression_node_ptr& expression) + : delete_ptr(true) + , parser_(pr) + , expression_(expression) + {} + + ~scoped_expression_delete() + { + if (delete_ptr) + { + free_node(parser_.node_allocator_, expression_); + } + } + + bool delete_ptr; + parser& parser_; + expression_node_ptr& expression_; + + private: + + scoped_expression_delete(const scoped_expression_delete&) exprtk_delete; + scoped_expression_delete& operator=(const scoped_expression_delete&) exprtk_delete; + }; + + template + struct scoped_delete + { + typedef Type* ptr_t; + + scoped_delete(parser& pr, ptr_t& p) + : delete_ptr(true) + , parser_(pr) + , p_(&p) + {} + + scoped_delete(parser& pr, ptr_t (&p)[N]) + : delete_ptr(true) + , parser_(pr) + , p_(&p[0]) + {} + + ~scoped_delete() + { + if (delete_ptr) + { + for (std::size_t i = 0; i < N; ++i) + { + free_node(parser_.node_allocator_, p_[i]); + } + } + } + + bool delete_ptr; + parser& parser_; + ptr_t* p_; + + private: + + scoped_delete(const scoped_delete&) exprtk_delete; + scoped_delete& operator=(const scoped_delete&) exprtk_delete; + }; + + template + struct scoped_deq_delete + { + typedef Type* ptr_t; + + scoped_deq_delete(parser& pr, std::deque& deq) + : delete_ptr(true) + , parser_(pr) + , deq_(deq) + {} + + ~scoped_deq_delete() + { + if (delete_ptr && !deq_.empty()) + { + for (std::size_t i = 0; i < deq_.size(); ++i) + { + free_node(parser_.node_allocator_,deq_[i]); + } + + deq_.clear(); + } + } + + bool delete_ptr; + parser& parser_; + std::deque& deq_; + + private: + + scoped_deq_delete(const scoped_deq_delete&) exprtk_delete; + scoped_deq_delete& operator=(const scoped_deq_delete&) exprtk_delete; + }; + + template + struct scoped_vec_delete + { + typedef Type* ptr_t; + + scoped_vec_delete(parser& pr, std::vector& vec) + : delete_ptr(true) + , parser_(pr) + , vec_(vec) + {} + + ~scoped_vec_delete() + { + if (delete_ptr && !vec_.empty()) + { + for (std::size_t i = 0; i < vec_.size(); ++i) + { + free_node(parser_.node_allocator_,vec_[i]); + } + + vec_.clear(); + } + } + + bool delete_ptr; + parser& parser_; + std::vector& vec_; + + private: + + scoped_vec_delete(const scoped_vec_delete&) exprtk_delete; + scoped_vec_delete& operator=(const scoped_vec_delete&) exprtk_delete; + }; + + struct scoped_bool_negator + { + explicit scoped_bool_negator(bool& bb) + : b(bb) + { b = !b; } + + ~scoped_bool_negator() + { b = !b; } + + bool& b; + }; + + struct scoped_bool_or_restorer + { + explicit scoped_bool_or_restorer(bool& bb) + : b(bb) + , original_value_(bb) + {} + + ~scoped_bool_or_restorer() + { + b = b || original_value_; + } + + bool& b; + bool original_value_; + }; + + struct scoped_inc_dec + { + explicit scoped_inc_dec(std::size_t& v) + : v_(v) + { ++v_; } + + ~scoped_inc_dec() + { + assert(v_ > 0); + --v_; + } + + std::size_t& v_; + }; + + inline expression_node_ptr parse_function_invocation(ifunction* function, const std::string& function_name) + { + expression_node_ptr func_node = reinterpret_cast(0); + + switch (function->param_count) + { + case 0 : func_node = parse_function_call_0 (function,function_name); break; + case 1 : func_node = parse_function_call< 1>(function,function_name); break; + case 2 : func_node = parse_function_call< 2>(function,function_name); break; + case 3 : func_node = parse_function_call< 3>(function,function_name); break; + case 4 : func_node = parse_function_call< 4>(function,function_name); break; + case 5 : func_node = parse_function_call< 5>(function,function_name); break; + case 6 : func_node = parse_function_call< 6>(function,function_name); break; + case 7 : func_node = parse_function_call< 7>(function,function_name); break; + case 8 : func_node = parse_function_call< 8>(function,function_name); break; + case 9 : func_node = parse_function_call< 9>(function,function_name); break; + case 10 : func_node = parse_function_call<10>(function,function_name); break; + case 11 : func_node = parse_function_call<11>(function,function_name); break; + case 12 : func_node = parse_function_call<12>(function,function_name); break; + case 13 : func_node = parse_function_call<13>(function,function_name); break; + case 14 : func_node = parse_function_call<14>(function,function_name); break; + case 15 : func_node = parse_function_call<15>(function,function_name); break; + case 16 : func_node = parse_function_call<16>(function,function_name); break; + case 17 : func_node = parse_function_call<17>(function,function_name); break; + case 18 : func_node = parse_function_call<18>(function,function_name); break; + case 19 : func_node = parse_function_call<19>(function,function_name); break; + case 20 : func_node = parse_function_call<20>(function,function_name); break; + default : { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR019 - Invalid number of parameters for function: '" + function_name + "'", + exprtk_error_location)); + + return error_node(); + } + } + + if (func_node) + return func_node; + else + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR020 - Failed to generate call to function: '" + function_name + "'", + exprtk_error_location)); + + return error_node(); + } + } + + template + inline expression_node_ptr parse_function_call(ifunction* function, const std::string& function_name) + { + #ifdef _MSC_VER + #pragma warning(push) + #pragma warning(disable: 4127) + #endif + if (0 == NumberofParameters) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR021 - Expecting ifunction '" + function_name + "' to have non-zero parameter count", + exprtk_error_location)); + + return error_node(); + } + #ifdef _MSC_VER + #pragma warning(pop) + #endif + + expression_node_ptr branch[NumberofParameters]; + expression_node_ptr result = error_node(); + + std::fill_n(branch, NumberofParameters, reinterpret_cast(0)); + + scoped_delete sd((*this),branch); + + next_token(); + + if (!token_is(token_t::e_lbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR022 - Expecting argument list for function: '" + function_name + "'", + exprtk_error_location)); + + return error_node(); + } + + for (int i = 0; i < static_cast(NumberofParameters); ++i) + { + branch[i] = parse_expression(); + + if (0 == branch[i]) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR023 - Failed to parse argument " + details::to_str(i) + " for function: '" + function_name + "'", + exprtk_error_location)); + + return error_node(); + } + else if (i < static_cast(NumberofParameters - 1)) + { + if (!token_is(token_t::e_comma)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR024 - Invalid number of arguments for function: '" + function_name + "'", + exprtk_error_location)); + + return error_node(); + } + } + } + + if (!token_is(token_t::e_rbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR025 - Invalid number of arguments for function: '" + function_name + "'", + exprtk_error_location)); + + return error_node(); + } + else + result = expression_generator_.function(function,branch); + + sd.delete_ptr = (0 == result); + + return result; + } + + inline expression_node_ptr parse_function_call_0(ifunction* function, const std::string& function_name) + { + expression_node_ptr result = expression_generator_.function(function); + + state_.side_effect_present = function->has_side_effects(); + + next_token(); + + if ( + token_is(token_t::e_lbracket) && + !token_is(token_t::e_rbracket) + ) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR026 - Expecting '()' to proceed call to function: '" + function_name + "'", + exprtk_error_location)); + + free_node(node_allocator_,result); + + return error_node(); + } + else + return result; + } + + template + inline std::size_t parse_base_function_call(expression_node_ptr (¶m_list)[MaxNumberofParameters], const std::string& function_name = "") + { + std::fill_n(param_list, MaxNumberofParameters, reinterpret_cast(0)); + + scoped_delete sd((*this),param_list); + + next_token(); + + if (!token_is(token_t::e_lbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR027 - Expected a '(' at start of function call to '" + function_name + + "', instead got: '" + current_token().value + "'", + exprtk_error_location)); + + return 0; + } + + if (token_is(token_t::e_rbracket, e_hold)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR028 - Expected at least one input parameter for function call '" + function_name + "'", + exprtk_error_location)); + + return 0; + } + + std::size_t param_index = 0; + + for (; param_index < MaxNumberofParameters; ++param_index) + { + param_list[param_index] = parse_expression(); + + if (0 == param_list[param_index]) + return 0; + else if (token_is(token_t::e_rbracket)) + { + sd.delete_ptr = false; + break; + } + else if (token_is(token_t::e_comma)) + continue; + else + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR029 - Expected a ',' between function input parameters, instead got: '" + current_token().value + "'", + exprtk_error_location)); + + return 0; + } + } + + if (sd.delete_ptr) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR030 - Invalid number of input parameters passed to function '" + function_name + "'", + exprtk_error_location)); + + return 0; + } + + return (param_index + 1); + } + + inline expression_node_ptr parse_base_operation() + { + typedef std::pair map_range_t; + + const std::string operation_name = current_token().value; + const token_t diagnostic_token = current_token(); + + map_range_t itr_range = base_ops_map_.equal_range(operation_name); + + if (0 == std::distance(itr_range.first,itr_range.second)) + { + set_error(make_error( + parser_error::e_syntax, + diagnostic_token, + "ERR031 - No entry found for base operation: " + operation_name, + exprtk_error_location)); + + return error_node(); + } + + static const std::size_t MaxNumberofParameters = 4; + expression_node_ptr param_list[MaxNumberofParameters] = {0}; + + const std::size_t parameter_count = parse_base_function_call(param_list, operation_name); + + if ((parameter_count > 0) && (parameter_count <= MaxNumberofParameters)) + { + for (base_ops_map_t::iterator itr = itr_range.first; itr != itr_range.second; ++itr) + { + const details::base_operation_t& operation = itr->second; + + if (operation.num_params == parameter_count) + { + switch (parameter_count) + { + #define base_opr_case(N) \ + case N : { \ + expression_node_ptr pl##N[N] = {0}; \ + std::copy(param_list, param_list + N, pl##N); \ + lodge_symbol(operation_name, e_st_function); \ + return expression_generator_(operation.type, pl##N); \ + } \ + + base_opr_case(1) + base_opr_case(2) + base_opr_case(3) + base_opr_case(4) + #undef base_opr_case + } + } + } + } + + for (std::size_t i = 0; i < MaxNumberofParameters; ++i) + { + free_node(node_allocator_, param_list[i]); + } + + set_error(make_error( + parser_error::e_syntax, + diagnostic_token, + "ERR032 - Invalid number of input parameters for call to function: '" + operation_name + "'", + exprtk_error_location)); + + return error_node(); + } + + inline expression_node_ptr parse_conditional_statement_01(expression_node_ptr condition) + { + // Parse: [if][(][condition][,][consequent][,][alternative][)] + + expression_node_ptr consequent = error_node(); + expression_node_ptr alternative = error_node(); + + bool result = true; + + if (!token_is(token_t::e_comma)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR033 - Expected ',' between if-statement condition and consequent", + exprtk_error_location)); + + result = false; + } + else if (0 == (consequent = parse_expression())) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR034 - Failed to parse consequent for if-statement", + exprtk_error_location)); + + result = false; + } + else if (!token_is(token_t::e_comma)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR035 - Expected ',' between if-statement consequent and alternative", + exprtk_error_location)); + + result = false; + } + else if (0 == (alternative = parse_expression())) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR036 - Failed to parse alternative for if-statement", + exprtk_error_location)); + + result = false; + } + else if (!token_is(token_t::e_rbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR037 - Expected ')' at the end of if-statement", + exprtk_error_location)); + + result = false; + } + + #ifndef exprtk_disable_string_capabilities + if (result) + { + const bool consq_is_str = is_generally_string_node(consequent ); + const bool alter_is_str = is_generally_string_node(alternative); + + if (consq_is_str || alter_is_str) + { + if (consq_is_str && alter_is_str) + { + expression_node_ptr result_node = + expression_generator_ + .conditional_string(condition, consequent, alternative); + + if (result_node && result_node->valid()) + { + return result_node; + } + + set_error(make_error( + parser_error::e_synthesis, + current_token(), + "ERR038 - Failed to synthesize node: conditional_string", + exprtk_error_location)); + + free_node(node_allocator_, result_node); + return error_node(); + } + + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR039 - Return types of if-statement differ: string/non-string", + exprtk_error_location)); + + result = false; + } + } + #endif + + if (result) + { + const bool consq_is_vec = is_ivector_node(consequent ); + const bool alter_is_vec = is_ivector_node(alternative); + + if (consq_is_vec || alter_is_vec) + { + if (consq_is_vec && alter_is_vec) + { + return expression_generator_ + .conditional_vector(condition, consequent, alternative); + } + + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR040 - Return types of if-statement differ: vector/non-vector", + exprtk_error_location)); + + result = false; + } + } + + if (!result) + { + free_node(node_allocator_, condition ); + free_node(node_allocator_, consequent ); + free_node(node_allocator_, alternative); + + return error_node(); + } + else + return expression_generator_ + .conditional(condition, consequent, alternative); + } + + inline expression_node_ptr parse_conditional_statement_02(expression_node_ptr condition) + { + expression_node_ptr consequent = error_node(); + expression_node_ptr alternative = error_node(); + + bool result = true; + + if (token_is(token_t::e_lcrlbracket,prsrhlpr_t::e_hold)) + { + if (0 == (consequent = parse_multi_sequence("if-statement-01"))) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR041 - Failed to parse body of consequent for if-statement", + exprtk_error_location)); + + result = false; + } + else if + ( + !settings_.commutative_check_enabled() && + !token_is("else",prsrhlpr_t::e_hold) && + !token_is_loop(prsrhlpr_t::e_hold) && + !token_is_arithmetic_opr(prsrhlpr_t::e_hold) && + !token_is_right_bracket (prsrhlpr_t::e_hold) && + !token_is_ineq_opr (prsrhlpr_t::e_hold) && + !token_is(token_t::e_ternary,prsrhlpr_t::e_hold) && + !token_is(token_t::e_eof) + ) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR042 - Expected ';' at the end of the consequent for if-statement (1)", + exprtk_error_location)); + + result = false; + } + } + else + { + if ( + settings_.commutative_check_enabled() && + token_is(token_t::e_mul,prsrhlpr_t::e_hold) + ) + { + next_token(); + } + + if (0 != (consequent = parse_expression())) + { + if (!token_is(token_t::e_eof)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR043 - Expected ';' at the end of the consequent for if-statement (2)", + exprtk_error_location)); + + result = false; + } + } + else + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR044 - Failed to parse body of consequent for if-statement", + exprtk_error_location)); + + result = false; + } + } + + if (result) + { + if (details::imatch(current_token().value,"else")) + { + next_token(); + + if (token_is(token_t::e_lcrlbracket,prsrhlpr_t::e_hold)) + { + if (0 == (alternative = parse_multi_sequence("else-statement-01"))) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR045 - Failed to parse body of the 'else' for if-statement", + exprtk_error_location)); + + result = false; + } + } + else if (details::imatch(current_token().value,"if")) + { + if (0 == (alternative = parse_conditional_statement())) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR046 - Failed to parse body of if-else statement", + exprtk_error_location)); + + result = false; + } + } + else if (0 != (alternative = parse_expression())) + { + if ( + !token_is(token_t::e_ternary,prsrhlpr_t::e_hold) && + !token_is(token_t::e_eof) + ) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR047 - Expected ';' at the end of the 'else-if' for the if-statement", + exprtk_error_location)); + + result = false; + } + } + else + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR048 - Failed to parse body of the 'else' for if-statement", + exprtk_error_location)); + + result = false; + } + } + } + + #ifndef exprtk_disable_string_capabilities + if (result) + { + const bool consq_is_str = is_generally_string_node(consequent ); + const bool alter_is_str = is_generally_string_node(alternative); + + if (consq_is_str || alter_is_str) + { + if (consq_is_str && alter_is_str) + { + return expression_generator_ + .conditional_string(condition, consequent, alternative); + } + + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR049 - Return types of if-statement differ: string/non-string", + exprtk_error_location)); + + result = false; + } + } + #endif + + if (result) + { + const bool consq_is_vec = is_ivector_node(consequent ); + const bool alter_is_vec = is_ivector_node(alternative); + + if (consq_is_vec || alter_is_vec) + { + if (consq_is_vec && alter_is_vec) + { + return expression_generator_ + .conditional_vector(condition, consequent, alternative); + } + + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR050 - Return types of if-statement differ: vector/non-vector", + exprtk_error_location)); + + result = false; + } + } + + if (!result) + { + free_node(node_allocator_, condition ); + free_node(node_allocator_, consequent ); + free_node(node_allocator_, alternative); + + return error_node(); + } + else + return expression_generator_ + .conditional(condition, consequent, alternative); + } + + inline expression_node_ptr parse_conditional_statement() + { + expression_node_ptr condition = error_node(); + + next_token(); + + if (!token_is(token_t::e_lbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR051 - Expected '(' at start of if-statement, instead got: '" + current_token().value + "'", + exprtk_error_location)); + + return error_node(); + } + else if (0 == (condition = parse_expression())) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR052 - Failed to parse condition for if-statement", + exprtk_error_location)); + + return error_node(); + } + else if (token_is(token_t::e_comma,prsrhlpr_t::e_hold)) + { + // if (x,y,z) + return parse_conditional_statement_01(condition); + } + else if (token_is(token_t::e_rbracket)) + { + /* + 00. if (x) y; + 01. if (x) y; else z; + 02. if (x) y; else {z0; ... zn;} + 03. if (x) y; else if (z) w; + 04. if (x) y; else if (z) w; else u; + 05. if (x) y; else if (z) w; else {u0; ... un;} + 06. if (x) y; else if (z) {w0; ... wn;} + 07. if (x) {y0; ... yn;} + 08. if (x) {y0; ... yn;} else z; + 09. if (x) {y0; ... yn;} else {z0; ... zn;}; + 10. if (x) {y0; ... yn;} else if (z) w; + 11. if (x) {y0; ... yn;} else if (z) w; else u; + 12. if (x) {y0; ... nex;} else if (z) w; else {u0 ... un;} + 13. if (x) {y0; ... yn;} else if (z) {w0; ... wn;} + */ + return parse_conditional_statement_02(condition); + } + + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR053 - Invalid if-statement", + exprtk_error_location)); + + free_node(node_allocator_,condition); + + return error_node(); + } + + inline expression_node_ptr parse_ternary_conditional_statement(expression_node_ptr condition) + { + // Parse: [condition][?][consequent][:][alternative] + expression_node_ptr consequent = error_node(); + expression_node_ptr alternative = error_node(); + + bool result = true; + + if (0 == condition) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR054 - Encountered invalid condition branch for ternary if-statement", + exprtk_error_location)); + + return error_node(); + } + else if (!token_is(token_t::e_ternary)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR055 - Expected '?' after condition of ternary if-statement", + exprtk_error_location)); + + result = false; + } + else if (0 == (consequent = parse_expression())) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR056 - Failed to parse consequent for ternary if-statement", + exprtk_error_location)); + + result = false; + } + else if (!token_is(token_t::e_colon)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR057 - Expected ':' between ternary if-statement consequent and alternative", + exprtk_error_location)); + + result = false; + } + else if (0 == (alternative = parse_expression())) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR058 - Failed to parse alternative for ternary if-statement", + exprtk_error_location)); + + result = false; + } + + #ifndef exprtk_disable_string_capabilities + if (result) + { + const bool consq_is_str = is_generally_string_node(consequent ); + const bool alter_is_str = is_generally_string_node(alternative); + + if (consq_is_str || alter_is_str) + { + if (consq_is_str && alter_is_str) + { + return expression_generator_ + .conditional_string(condition, consequent, alternative); + } + + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR059 - Return types of ternary differ: string/non-string", + exprtk_error_location)); + + result = false; + } + } + #endif + + if (result) + { + const bool consq_is_vec = is_ivector_node(consequent ); + const bool alter_is_vec = is_ivector_node(alternative); + + if (consq_is_vec || alter_is_vec) + { + if (consq_is_vec && alter_is_vec) + { + return expression_generator_ + .conditional_vector(condition, consequent, alternative); + } + + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR060 - Return types of ternary differ: vector/non-vector", + exprtk_error_location)); + + result = false; + } + } + + if (!result) + { + free_node(node_allocator_, condition ); + free_node(node_allocator_, consequent ); + free_node(node_allocator_, alternative); + + return error_node(); + } + else + return expression_generator_ + .conditional(condition, consequent, alternative); + } + + inline expression_node_ptr parse_not_statement() + { + if (settings_.logic_disabled("not")) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR061 - Invalid or disabled logic operation 'not'", + exprtk_error_location)); + + return error_node(); + } + + return parse_base_operation(); + } + + void handle_brkcnt_scope_exit() + { + assert(!brkcnt_list_.empty()); + brkcnt_list_.pop_front(); + } + + inline expression_node_ptr parse_while_loop() + { + // Parse: [while][(][test expr][)][{][expression][}] + expression_node_ptr condition = error_node(); + expression_node_ptr branch = error_node(); + expression_node_ptr result_node = error_node(); + + bool result = true; + + next_token(); + + if (!token_is(token_t::e_lbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR062 - Expected '(' at start of while-loop condition statement", + exprtk_error_location)); + + return error_node(); + } + else if (0 == (condition = parse_expression())) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR063 - Failed to parse condition for while-loop", + exprtk_error_location)); + + return error_node(); + } + else if (!token_is(token_t::e_rbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR064 - Expected ')' at end of while-loop condition statement", + exprtk_error_location)); + + result = false; + } + + brkcnt_list_.push_front(false); + + if (result) + { + scoped_inc_dec sid(state_.parsing_loop_stmt_count); + + if (0 == (branch = parse_multi_sequence("while-loop", true))) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR065 - Failed to parse body of while-loop")); + result = false; + } + else if (0 == (result_node = expression_generator_.while_loop(condition, + branch, + brkcnt_list_.front()))) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR066 - Failed to synthesize while-loop", + exprtk_error_location)); + + result = false; + } + } + + handle_brkcnt_scope_exit(); + + if (!result) + { + free_node(node_allocator_, branch ); + free_node(node_allocator_, condition ); + free_node(node_allocator_, result_node); + + return error_node(); + } + + if (result_node && result_node->valid()) + { + return result_node; + } + + set_error(make_error( + parser_error::e_synthesis, + current_token(), + "ERR067 - Failed to synthesize 'valid' while-loop", + exprtk_error_location)); + + free_node(node_allocator_, result_node); + + return error_node(); + } + + inline expression_node_ptr parse_repeat_until_loop() + { + // Parse: [repeat][{][expression][}][until][(][test expr][)] + expression_node_ptr condition = error_node(); + expression_node_ptr branch = error_node(); + next_token(); + + std::vector arg_list; + std::vector side_effect_list; + + scoped_vec_delete sdd((*this),arg_list); + + brkcnt_list_.push_front(false); + + if (details::imatch(current_token().value,"until")) + { + next_token(); + branch = node_allocator_.allocate >(); + } + else + { + const token_t::token_type separator = token_t::e_eof; + + scope_handler sh(*this); + + scoped_bool_or_restorer sbr(state_.side_effect_present); + + scoped_inc_dec sid(state_.parsing_loop_stmt_count); + + for ( ; ; ) + { + state_.side_effect_present = false; + + expression_node_ptr arg = parse_expression(); + + if (0 == arg) + return error_node(); + else + { + arg_list.push_back(arg); + side_effect_list.push_back(state_.side_effect_present); + } + + if (details::imatch(current_token().value,"until")) + { + next_token(); + break; + } + + const bool is_next_until = peek_token_is(token_t::e_symbol) && + peek_token_is("until"); + + if (!token_is(separator) && is_next_until) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR068 - Expected '" + token_t::to_str(separator) + "' in body of repeat until loop", + exprtk_error_location)); + + return error_node(); + } + + if (details::imatch(current_token().value,"until")) + { + next_token(); + break; + } + } + + branch = simplify(arg_list,side_effect_list); + + sdd.delete_ptr = (0 == branch); + + if (sdd.delete_ptr) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR069 - Failed to parse body of repeat until loop", + exprtk_error_location)); + + return error_node(); + } + } + + if (!token_is(token_t::e_lbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR070 - Expected '(' before condition statement of repeat until loop", + exprtk_error_location)); + + free_node(node_allocator_,branch); + return error_node(); + } + else if (0 == (condition = parse_expression())) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR071 - Failed to parse condition for repeat until loop", + exprtk_error_location)); + + free_node(node_allocator_,branch); + return error_node(); + } + else if (!token_is(token_t::e_rbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR072 - Expected ')' after condition of repeat until loop", + exprtk_error_location)); + + free_node(node_allocator_, branch ); + free_node(node_allocator_, condition); + + return error_node(); + } + + expression_node_ptr result_node = + expression_generator_ + .repeat_until_loop( + condition, + branch, + brkcnt_list_.front()); + + if (0 == result_node) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR073 - Failed to synthesize repeat until loop", + exprtk_error_location)); + + free_node(node_allocator_,condition); + + return error_node(); + } + + handle_brkcnt_scope_exit(); + + if (result_node && result_node->valid()) + { + return result_node; + } + + set_error(make_error( + parser_error::e_synthesis, + current_token(), + "ERR074 - Failed to synthesize 'valid' repeat until loop", + exprtk_error_location)); + + free_node(node_allocator_, result_node); + + return error_node(); + } + + inline expression_node_ptr parse_for_loop() + { + expression_node_ptr initialiser = error_node(); + expression_node_ptr condition = error_node(); + expression_node_ptr incrementor = error_node(); + expression_node_ptr loop_body = error_node(); + + scope_element* se = 0; + bool result = true; + + next_token(); + + scope_handler sh(*this); + + if (!token_is(token_t::e_lbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR075 - Expected '(' at start of for-loop", + exprtk_error_location)); + + return error_node(); + } + + if (!token_is(token_t::e_eof)) + { + if ( + !token_is(token_t::e_symbol,prsrhlpr_t::e_hold) && + details::imatch(current_token().value,"var") + ) + { + next_token(); + + if (!token_is(token_t::e_symbol,prsrhlpr_t::e_hold)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR076 - Expected a variable at the start of initialiser section of for-loop", + exprtk_error_location)); + + return error_node(); + } + else if (!peek_token_is(token_t::e_assign)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR077 - Expected variable assignment of initialiser section of for-loop", + exprtk_error_location)); + + return error_node(); + } + + const std::string loop_counter_symbol = current_token().value; + + se = &sem_.get_element(loop_counter_symbol); + + if ((se->name == loop_counter_symbol) && se->active) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR078 - For-loop variable '" + loop_counter_symbol+ "' is being shadowed by a previous declaration", + exprtk_error_location)); + + return error_node(); + } + else if (!symtab_store_.is_variable(loop_counter_symbol)) + { + if ( + !se->active && + (se->name == loop_counter_symbol) && + (se->type == scope_element::e_variable) + ) + { + se->active = true; + se->ref_count++; + } + else + { + scope_element nse; + nse.name = loop_counter_symbol; + nse.active = true; + nse.ref_count = 1; + nse.type = scope_element::e_variable; + nse.depth = state_.scope_depth; + nse.data = new T(T(0)); + nse.var_node = node_allocator_.allocate(*reinterpret_cast(nse.data)); + + if (!sem_.add_element(nse)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR079 - Failed to add new local variable '" + loop_counter_symbol + "' to SEM", + exprtk_error_location)); + + sem_.free_element(nse); + + result = false; + } + else + { + exprtk_debug(("parse_for_loop() - INFO - Added new local variable: %s\n", nse.name.c_str())); + + state_.activate_side_effect("parse_for_loop()"); + } + } + } + } + + if (0 == (initialiser = parse_expression())) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR080 - Failed to parse initialiser of for-loop", + exprtk_error_location)); + + result = false; + } + else if (!token_is(token_t::e_eof)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR081 - Expected ';' after initialiser of for-loop", + exprtk_error_location)); + + result = false; + } + } + + if (!token_is(token_t::e_eof)) + { + if (0 == (condition = parse_expression())) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR082 - Failed to parse condition of for-loop", + exprtk_error_location)); + + result = false; + } + else if (!token_is(token_t::e_eof)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR083 - Expected ';' after condition section of for-loop", + exprtk_error_location)); + + result = false; + } + } + + if (!token_is(token_t::e_rbracket)) + { + if (0 == (incrementor = parse_expression())) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR084 - Failed to parse incrementor of for-loop", + exprtk_error_location)); + + result = false; + } + else if (!token_is(token_t::e_rbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR085 - Expected ')' after incrementor section of for-loop", + exprtk_error_location)); + + result = false; + } + } + + if (result) + { + brkcnt_list_.push_front(false); + + scoped_inc_dec sid(state_.parsing_loop_stmt_count); + + if (0 == (loop_body = parse_multi_sequence("for-loop", true))) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR086 - Failed to parse body of for-loop", + exprtk_error_location)); + + result = false; + } + } + + if (!result) + { + if (se) + { + se->ref_count--; + } + + free_node(node_allocator_, initialiser); + free_node(node_allocator_, condition ); + free_node(node_allocator_, incrementor); + free_node(node_allocator_, loop_body ); + return error_node(); + } + + expression_node_ptr result_node = + expression_generator_.for_loop(initialiser, + condition, + incrementor, + loop_body, + brkcnt_list_.front()); + handle_brkcnt_scope_exit(); + + if (result_node && result_node->valid()) + { + return result_node; + } + + set_error(make_error( + parser_error::e_synthesis, + current_token(), + "ERR087 - Failed to synthesize 'valid' for-loop", + exprtk_error_location)); + + free_node(node_allocator_, result_node); + + return error_node(); + } + + inline expression_node_ptr parse_switch_statement() + { + std::vector arg_list; + expression_node_ptr result = error_node(); + + if (!details::imatch(current_token().value,"switch")) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR088 - Expected keyword 'switch'", + exprtk_error_location)); + + return error_node(); + } + + scoped_vec_delete svd((*this),arg_list); + + next_token(); + + if (!token_is(token_t::e_lcrlbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR089 - Expected '{' for call to switch statement", + exprtk_error_location)); + + return error_node(); + } + + expression_node_ptr default_statement = error_node(); + + scoped_expression_delete defstmt_delete((*this), default_statement); + + for ( ; ; ) + { + if (details::imatch("case",current_token().value)) + { + next_token(); + + expression_node_ptr condition = parse_expression(); + + if (0 == condition) + return error_node(); + else if (!token_is(token_t::e_colon)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR090 - Expected ':' for case of switch statement", + exprtk_error_location)); + + free_node(node_allocator_, condition); + + return error_node(); + } + + expression_node_ptr consequent = + (token_is(token_t::e_lcrlbracket,prsrhlpr_t::e_hold)) ? + parse_multi_sequence("switch-consequent") : + parse_expression(); + + if (0 == consequent) + { + free_node(node_allocator_, condition); + + return error_node(); + } + else if (!token_is(token_t::e_eof)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR091 - Expected ';' at end of case for switch statement", + exprtk_error_location)); + + free_node(node_allocator_, condition ); + free_node(node_allocator_, consequent); + + return error_node(); + } + + // Can we optimise away the case statement? + if (is_constant_node(condition) && is_false(condition)) + { + free_node(node_allocator_, condition ); + free_node(node_allocator_, consequent); + } + else + { + arg_list.push_back(condition ); + arg_list.push_back(consequent); + } + + } + else if (details::imatch("default",current_token().value)) + { + if (0 != default_statement) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR092 - Multiple default cases for switch statement", + exprtk_error_location)); + + return error_node(); + } + + next_token(); + + if (!token_is(token_t::e_colon)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR093 - Expected ':' for default of switch statement", + exprtk_error_location)); + + return error_node(); + } + + default_statement = + (token_is(token_t::e_lcrlbracket,prsrhlpr_t::e_hold)) ? + parse_multi_sequence("switch-default"): + parse_expression(); + + if (0 == default_statement) + return error_node(); + else if (!token_is(token_t::e_eof)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR094 - Expected ';' at end of default for switch statement", + exprtk_error_location)); + + return error_node(); + } + } + else if (token_is(token_t::e_rcrlbracket)) + break; + else + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR095 - Expected '}' at end of switch statement", + exprtk_error_location)); + + return error_node(); + } + } + + const bool default_statement_present = (0 != default_statement); + + if (default_statement_present) + { + arg_list.push_back(default_statement); + } + else + { + arg_list.push_back(node_allocator_.allocate_c(std::numeric_limits::quiet_NaN())); + } + + result = expression_generator_.switch_statement(arg_list, (0 != default_statement)); + + svd.delete_ptr = (0 == result); + defstmt_delete.delete_ptr = (0 == result); + + return result; + } + + inline expression_node_ptr parse_multi_switch_statement() + { + std::vector arg_list; + + if (!details::imatch(current_token().value,"[*]")) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR096 - Expected token '[*]'", + exprtk_error_location)); + + return error_node(); + } + + scoped_vec_delete svd((*this),arg_list); + + next_token(); + + if (!token_is(token_t::e_lcrlbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR097 - Expected '{' for call to [*] statement", + exprtk_error_location)); + + return error_node(); + } + + for ( ; ; ) + { + if (!details::imatch("case",current_token().value)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR098 - Expected a 'case' statement for multi-switch", + exprtk_error_location)); + + return error_node(); + } + + next_token(); + + expression_node_ptr condition = parse_expression(); + + if (0 == condition) + return error_node(); + + if (!token_is(token_t::e_colon)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR099 - Expected ':' for case of [*] statement", + exprtk_error_location)); + + return error_node(); + } + + expression_node_ptr consequent = + (token_is(token_t::e_lcrlbracket,prsrhlpr_t::e_hold)) ? + parse_multi_sequence("multi-switch-consequent") : + parse_expression(); + + if (0 == consequent) + return error_node(); + + if (!token_is(token_t::e_eof)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR100 - Expected ';' at end of case for [*] statement", + exprtk_error_location)); + + return error_node(); + } + + // Can we optimise away the case statement? + if (is_constant_node(condition) && is_false(condition)) + { + free_node(node_allocator_, condition ); + free_node(node_allocator_, consequent); + } + else + { + arg_list.push_back(condition ); + arg_list.push_back(consequent); + } + + if (token_is(token_t::e_rcrlbracket,prsrhlpr_t::e_hold)) + { + break; + } + } + + if (!token_is(token_t::e_rcrlbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR101 - Expected '}' at end of [*] statement", + exprtk_error_location)); + + return error_node(); + } + + const expression_node_ptr result = expression_generator_.multi_switch_statement(arg_list); + + svd.delete_ptr = (0 == result); + + return result; + } + + inline expression_node_ptr parse_vararg_function() + { + std::vector arg_list; + + details::operator_type opt_type = details::e_default; + const std::string symbol = current_token().value; + + if (details::imatch(symbol,"~")) + { + next_token(); + return parse_multi_sequence(); + } + else if (details::imatch(symbol,"[*]")) + { + return parse_multi_switch_statement(); + } + else if (details::imatch(symbol, "avg" )) opt_type = details::e_avg ; + else if (details::imatch(symbol, "mand")) opt_type = details::e_mand; + else if (details::imatch(symbol, "max" )) opt_type = details::e_max ; + else if (details::imatch(symbol, "min" )) opt_type = details::e_min ; + else if (details::imatch(symbol, "mor" )) opt_type = details::e_mor ; + else if (details::imatch(symbol, "mul" )) opt_type = details::e_prod; + else if (details::imatch(symbol, "sum" )) opt_type = details::e_sum ; + else + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR102 - Unsupported built-in vararg function: " + symbol, + exprtk_error_location)); + + return error_node(); + } + + scoped_vec_delete sdd((*this),arg_list); + + lodge_symbol(symbol, e_st_function); + + next_token(); + + if (!token_is(token_t::e_lbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR103 - Expected '(' for call to vararg function: " + symbol, + exprtk_error_location)); + + return error_node(); + } + + if (token_is(token_t::e_rbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR104 - vararg function: " + symbol + + " requires at least one input parameter", + exprtk_error_location)); + + return error_node(); + } + + for ( ; ; ) + { + expression_node_ptr arg = parse_expression(); + + if (0 == arg) + return error_node(); + else + arg_list.push_back(arg); + + if (token_is(token_t::e_rbracket)) + break; + else if (!token_is(token_t::e_comma)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR105 - Expected ',' for call to vararg function: " + symbol, + exprtk_error_location)); + + return error_node(); + } + } + + const expression_node_ptr result = expression_generator_.vararg_function(opt_type,arg_list); + + sdd.delete_ptr = (0 == result); + return result; + } + + #ifndef exprtk_disable_string_capabilities + inline expression_node_ptr parse_string_range_statement(expression_node_ptr& expression) + { + if (!token_is(token_t::e_lsqrbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR106 - Expected '[' as start of string range definition", + exprtk_error_location)); + + free_node(node_allocator_,expression); + + return error_node(); + } + else if (token_is(token_t::e_rsqrbracket)) + { + return node_allocator_.allocate >(expression); + } + + range_t rp; + + if (!parse_range(rp,true)) + { + free_node(node_allocator_,expression); + + return error_node(); + } + + expression_node_ptr result = expression_generator_(expression,rp); + + if (0 == result) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR107 - Failed to generate string range node", + exprtk_error_location)); + + free_node(node_allocator_,expression); + rp.free(); + } + + rp.clear(); + + if (result && result->valid()) + { + return result; + } + + set_error(make_error( + parser_error::e_synthesis, + current_token(), + "ERR108 - Failed to synthesize node: string_range_node", + exprtk_error_location)); + + free_node(node_allocator_, result); + rp.free(); + return error_node(); + } + #else + inline expression_node_ptr parse_string_range_statement(expression_node_ptr&) + { + return error_node(); + } + #endif + + inline bool parse_pending_string_rangesize(expression_node_ptr& expression) + { + // Allow no more than 100 range calls, eg: s[][][]...[][] + const std::size_t max_rangesize_parses = 100; + + std::size_t i = 0; + + while + ( + (0 != expression) && + (i++ < max_rangesize_parses) && + error_list_.empty() && + is_generally_string_node(expression) && + token_is(token_t::e_lsqrbracket,prsrhlpr_t::e_hold) + ) + { + expression = parse_string_range_statement(expression); + } + + return (i > 1); + } + + inline void parse_pending_vector_index_operator(expression_node_ptr& expression) + { + if + ( + (0 != expression) && + error_list_.empty() && + is_ivector_node(expression) + ) + { + if ( + settings_.commutative_check_enabled() && + token_is(token_t::e_mul,prsrhlpr_t::e_hold) && + peek_token_is(token_t::e_lsqrbracket) + ) + { + token_is(token_t::e_mul); + token_is(token_t::e_lsqrbracket); + } + else if (token_is(token_t::e_lsqrbracket,prsrhlpr_t::e_hold)) + { + token_is(token_t::e_lsqrbracket); + } + else if ( + token_is(token_t::e_rbracket,prsrhlpr_t::e_hold) && + peek_token_is(token_t::e_lsqrbracket) + ) + { + token_is(token_t::e_rbracket ); + token_is(token_t::e_lsqrbracket); + } + else + return; + + details::vector_interface* vi = dynamic_cast*>(expression); + + if (vi) + { + details::vector_holder& vec = vi->vec()->vec_holder(); + const std::string vector_name = sem_.get_vector_name(vec.data()); + expression_node_ptr index = parse_vector_index(vector_name); + + if (index) + { + expression = synthesize_vector_element(vector_name, &vec, expression, index); + return; + } + } + + free_node(node_allocator_,expression); + expression = error_node(); + } + } + + template class Sequence> + inline expression_node_ptr simplify(Sequence& expression_list, + Sequence& side_effect_list, + const bool specialise_on_final_type = false) + { + if (expression_list.empty()) + return error_node(); + else if (1 == expression_list.size()) + return expression_list[0]; + + Sequence tmp_expression_list; + + bool return_node_present = false; + + for (std::size_t i = 0; i < (expression_list.size() - 1); ++i) + { + if (is_variable_node(expression_list[i])) + continue; + else if ( + is_return_node (expression_list[i]) || + is_break_node (expression_list[i]) || + is_continue_node(expression_list[i]) + ) + { + tmp_expression_list.push_back(expression_list[i]); + + // Remove all subexpressions after first short-circuit + // node has been encountered. + + for (std::size_t j = i + 1; j < expression_list.size(); ++j) + { + free_node(node_allocator_,expression_list[j]); + } + + return_node_present = true; + + break; + } + else if ( + is_constant_node(expression_list[i]) || + is_null_node (expression_list[i]) || + !side_effect_list[i] + ) + { + free_node(node_allocator_,expression_list[i]); + continue; + } + else + tmp_expression_list.push_back(expression_list[i]); + } + + if (!return_node_present) + { + tmp_expression_list.push_back(expression_list.back()); + } + + expression_list.swap(tmp_expression_list); + + if (tmp_expression_list.size() > expression_list.size()) + { + exprtk_debug(("simplify() - Reduced subexpressions from %d to %d\n", + static_cast(tmp_expression_list.size()), + static_cast(expression_list .size()))); + } + + if ( + return_node_present || + side_effect_list.back() || + (expression_list.size() > 1) + ) + state_.activate_side_effect("simplify()"); + + if (1 == expression_list.size()) + return expression_list[0]; + else if (specialise_on_final_type && is_generally_string_node(expression_list.back())) + return expression_generator_.vararg_function(details::e_smulti,expression_list); + else + return expression_generator_.vararg_function(details::e_multi,expression_list); + } + + inline expression_node_ptr parse_multi_sequence(const std::string& source = "", + const bool enforce_crlbrackets = false) + { + token_t::token_type open_bracket = token_t::e_lcrlbracket; + token_t::token_type close_bracket = token_t::e_rcrlbracket; + token_t::token_type separator = token_t::e_eof; + + if (!token_is(open_bracket)) + { + if (!enforce_crlbrackets && token_is(token_t::e_lbracket)) + { + open_bracket = token_t::e_lbracket; + close_bracket = token_t::e_rbracket; + separator = token_t::e_comma; + } + else + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR109 - Expected '" + token_t::to_str(open_bracket) + "' for call to multi-sequence" + + ((!source.empty()) ? std::string(" section of " + source): ""), + exprtk_error_location)); + + return error_node(); + } + } + else if (token_is(close_bracket)) + { + return node_allocator_.allocate >(); + } + + std::vector arg_list; + std::vector side_effect_list; + + expression_node_ptr result = error_node(); + + scoped_vec_delete sdd((*this),arg_list); + + scope_handler sh(*this); + + scoped_bool_or_restorer sbr(state_.side_effect_present); + + for ( ; ; ) + { + state_.side_effect_present = false; + + expression_node_ptr arg = parse_expression(); + + if (0 == arg) + return error_node(); + else + { + arg_list.push_back(arg); + side_effect_list.push_back(state_.side_effect_present); + } + + if (token_is(close_bracket)) + break; + + const bool is_next_close = peek_token_is(close_bracket); + + if (!token_is(separator) && is_next_close) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR110 - Expected '" + details::to_str(separator) + "' for call to multi-sequence section of " + source, + exprtk_error_location)); + + return error_node(); + } + + if (token_is(close_bracket)) + break; + } + + result = simplify(arg_list, side_effect_list, source.empty()); + + sdd.delete_ptr = (0 == result); + return result; + } + + inline bool parse_range(range_t& rp, const bool skip_lsqr = false) + { + // Examples of valid ranges: + // 1. [1:5] -> [1,5) + // 2. [ :5] -> [0,5) + // 3. [1: ] -> [1,end) + // 4. [x:y] -> [x,y) where x <= y + // 5. [x+1:y/2] -> [x+1,y/2) where x+1 <= y/2 + // 6. [ :y] -> [0,y) where 0 <= y + // 7. [x: ] -> [x,end) where x <= end + + rp.clear(); + + if (!skip_lsqr && !token_is(token_t::e_lsqrbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR111 - Expected '[' for start of range", + exprtk_error_location)); + + return false; + } + + if (token_is(token_t::e_colon)) + { + rp.n0_c.first = true; + rp.n0_c.second = 0; + rp.cache.first = 0; + } + else + { + expression_node_ptr r0 = parse_expression(); + + if (0 == r0) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR112 - Failed parse begin section of range", + exprtk_error_location)); + + return false; + } + else if (is_constant_node(r0)) + { + const T r0_value = r0->value(); + + if (r0_value >= T(0)) + { + rp.n0_c.first = true; + rp.n0_c.second = static_cast(details::numeric::to_int64(r0_value)); + rp.cache.first = rp.n0_c.second; + } + + free_node(node_allocator_,r0); + + if (r0_value < T(0)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR113 - Range lower bound less than zero! Constraint: r0 >= 0", + exprtk_error_location)); + + return false; + } + } + else + { + rp.n0_e.first = true; + rp.n0_e.second = r0; + } + + if (!token_is(token_t::e_colon)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR114 - Expected ':' for break in range", + exprtk_error_location)); + + rp.free(); + + return false; + } + } + + if (token_is(token_t::e_rsqrbracket)) + { + rp.n1_c.first = true; + rp.n1_c.second = std::numeric_limits::max(); + } + else + { + expression_node_ptr r1 = parse_expression(); + + if (0 == r1) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR115 - Failed parse end section of range", + exprtk_error_location)); + + rp.free(); + + return false; + } + else if (is_constant_node(r1)) + { + const T r1_value = r1->value(); + + if (r1_value >= T(0)) + { + rp.n1_c.first = true; + rp.n1_c.second = static_cast(details::numeric::to_int64(r1_value)); + rp.cache.second = rp.n1_c.second; + } + + free_node(node_allocator_,r1); + + if (r1_value < T(0)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR116 - Range upper bound less than zero! Constraint: r1 >= 0", + exprtk_error_location)); + + rp.free(); + + return false; + } + } + else + { + rp.n1_e.first = true; + rp.n1_e.second = r1; + } + + if (!token_is(token_t::e_rsqrbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR117 - Expected ']' for start of range", + exprtk_error_location)); + + rp.free(); + + return false; + } + } + + if (rp.const_range()) + { + std::size_t r0 = 0; + std::size_t r1 = 0; + + bool rp_result = false; + + try + { + rp_result = rp(r0, r1); + } + catch (std::runtime_error&) + {} + + if (!rp_result || (r0 > r1)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR118 - Invalid range, Constraint: r0 <= r1", + exprtk_error_location)); + + return false; + } + } + + return true; + } + + inline void lodge_symbol(const std::string& symbol, + const symbol_type st) + { + dec_.add_symbol(symbol,st); + } + + #ifndef exprtk_disable_string_capabilities + inline expression_node_ptr parse_string() + { + const std::string symbol = current_token().value; + + typedef details::stringvar_node* strvar_node_t; + + expression_node_ptr result = error_node(); + strvar_node_t const_str_node = static_cast(0); + + scope_element& se = sem_.get_active_element(symbol); + + if (scope_element::e_string == se.type) + { + se.active = true; + result = se.str_node; + lodge_symbol(symbol, e_st_local_string); + } + else + { + typedef typename symtab_store::string_context str_ctxt_t; + str_ctxt_t str_ctx = symtab_store_.get_string_context(symbol); + + if ((0 == str_ctx.str_var) || !symtab_store_.is_conststr_stringvar(symbol)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR119 - Unknown string symbol", + exprtk_error_location)); + + return error_node(); + } + + assert(str_ctx.str_var != 0); + assert(str_ctx.symbol_table != 0); + + result = str_ctx.str_var; + + if (symtab_store_.is_constant_string(symbol)) + { + const_str_node = static_cast(result); + result = expression_generator_(const_str_node->str()); + } + else if (symbol_table_t::e_immutable == str_ctx.symbol_table->mutability()) + { + lodge_immutable_symbol( + current_token(), + make_memory_range(str_ctx.str_var->base(), str_ctx.str_var->size())); + } + + lodge_symbol(symbol, e_st_string); + } + + if (peek_token_is(token_t::e_lsqrbracket)) + { + next_token(); + + if (peek_token_is(token_t::e_rsqrbracket)) + { + next_token(); + next_token(); + + if (const_str_node) + { + free_node(node_allocator_,result); + + return expression_generator_(T(const_str_node->size())); + } + else + return node_allocator_.allocate > + (static_cast*>(result)->ref()); + } + + range_t rp; + + if (!parse_range(rp)) + { + free_node(node_allocator_,result); + + return error_node(); + } + else if (const_str_node) + { + free_node(node_allocator_,result); + result = expression_generator_(const_str_node->ref(),rp); + } + else + result = expression_generator_(static_cast*> + (result)->ref(), rp); + + if (result) + rp.clear(); + } + else + next_token(); + + return result; + } + #else + inline expression_node_ptr parse_string() + { + return error_node(); + } + #endif + + #ifndef exprtk_disable_string_capabilities + inline expression_node_ptr parse_const_string() + { + const std::string const_str = current_token().value; + expression_node_ptr result = expression_generator_(const_str); + + if (peek_token_is(token_t::e_lsqrbracket)) + { + next_token(); + + if (peek_token_is(token_t::e_rsqrbracket)) + { + next_token(); + next_token(); + + free_node(node_allocator_,result); + + return expression_generator_(T(const_str.size())); + } + + range_t rp; + + if (!parse_range(rp)) + { + free_node(node_allocator_,result); + rp.free(); + + return error_node(); + } + + free_node(node_allocator_,result); + + if (rp.n1_c.first && (rp.n1_c.second == std::numeric_limits::max())) + { + rp.n1_c.second = const_str.size() - 1; + rp.cache.second = rp.n1_c.second; + } + + if ( + (rp.n0_c.first && (rp.n0_c.second >= const_str.size())) || + (rp.n1_c.first && (rp.n1_c.second >= const_str.size())) + ) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR120 - Overflow in range for string: '" + const_str + "'[" + + (rp.n0_c.first ? details::to_str(static_cast(rp.n0_c.second)) : "?") + ":" + + (rp.n1_c.first ? details::to_str(static_cast(rp.n1_c.second)) : "?") + "]", + exprtk_error_location)); + + rp.free(); + + return error_node(); + } + + result = expression_generator_(const_str,rp); + + if (result) + rp.clear(); + } + else + next_token(); + + return result; + } + #else + inline expression_node_ptr parse_const_string() + { + return error_node(); + } + #endif + + inline expression_node_ptr parse_vector_index(const std::string& vector_name = "") + { + expression_node_ptr index_expr = error_node(); + + if (0 == (index_expr = parse_expression())) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR121 - Failed to parse index for vector: '" + vector_name + "'", + exprtk_error_location)); + + return error_node(); + } + else if (!token_is(token_t::e_rsqrbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR122 - Expected ']' for index of vector: '" + vector_name + "'", + exprtk_error_location)); + + free_node(node_allocator_,index_expr); + + return error_node(); + } + + return index_expr; + } + + inline expression_node_ptr parse_vector() + { + const std::string vector_name = current_token().value; + + vector_holder_ptr vec = vector_holder_ptr(0); + + const scope_element& se = sem_.get_active_element(vector_name); + + if ( + !details::imatch(se.name, vector_name) || + (se.depth > state_.scope_depth) || + (scope_element::e_vector != se.type) + ) + { + typedef typename symtab_store::vector_context vec_ctxt_t; + vec_ctxt_t vec_ctx = symtab_store_.get_vector_context(vector_name); + + if (0 == vec_ctx.vector_holder) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR123 - Symbol '" + vector_name + " not a vector", + exprtk_error_location)); + + return error_node(); + } + + assert(0 != vec_ctx.vector_holder); + assert(0 != vec_ctx.symbol_table ); + + vec = vec_ctx.vector_holder; + + if (symbol_table_t::e_immutable == vec_ctx.symbol_table->mutability()) + { + lodge_immutable_symbol( + current_token(), + make_memory_range(vec->data(), vec->size())); + } + } + else + { + vec = se.vec_node; + } + + assert(0 != vec); + + next_token(); + + if (!token_is(token_t::e_lsqrbracket)) + { + return node_allocator_.allocate(vec); + } + else if (token_is(token_t::e_rsqrbracket)) + { + return (vec->rebaseable()) ? + node_allocator_.allocate(vec) : + expression_generator_(T(vec->size())); + } + + expression_node_ptr index_expr = parse_vector_index(vector_name); + + if (index_expr) + { + expression_node_ptr vec_node = node_allocator_.allocate(vec); + + return synthesize_vector_element(vector_name, vec, vec_node, index_expr); + } + + return error_node(); + } + + inline expression_node_ptr synthesize_vector_element(const std::string& vector_name, + vector_holder_ptr vec, + expression_node_ptr vec_node, + expression_node_ptr index_expr) + { + // Perform compile-time range check + if (details::is_constant_node(index_expr)) + { + const std::size_t index = static_cast(details::numeric::to_int32(index_expr->value())); + const std::size_t vec_size = vec->size(); + + if (index >= vec_size) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR124 - Index of " + details::to_str(index) + " out of range for " + "vector '" + vector_name + "' of size " + details::to_str(vec_size), + exprtk_error_location)); + + free_node(node_allocator_, vec_node ); + free_node(node_allocator_, index_expr); + + return error_node(); + } + } + + return expression_generator_.vector_element(vector_name, vec, vec_node, index_expr); + } + + inline expression_node_ptr parse_vararg_function_call(ivararg_function* vararg_function, const std::string& vararg_function_name) + { + std::vector arg_list; + + expression_node_ptr result = error_node(); + + scoped_vec_delete sdd((*this),arg_list); + + next_token(); + + if (token_is(token_t::e_lbracket)) + { + if (token_is(token_t::e_rbracket)) + { + if (!vararg_function->allow_zero_parameters()) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR125 - Zero parameter call to vararg function: " + + vararg_function_name + " not allowed", + exprtk_error_location)); + + return error_node(); + } + } + else + { + for ( ; ; ) + { + expression_node_ptr arg = parse_expression(); + + if (0 == arg) + return error_node(); + else + arg_list.push_back(arg); + + if (token_is(token_t::e_rbracket)) + break; + else if (!token_is(token_t::e_comma)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR126 - Expected ',' for call to vararg function: " + + vararg_function_name, + exprtk_error_location)); + + return error_node(); + } + } + } + } + else if (!vararg_function->allow_zero_parameters()) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR127 - Zero parameter call to vararg function: " + + vararg_function_name + " not allowed", + exprtk_error_location)); + + return error_node(); + } + + if (arg_list.size() < vararg_function->min_num_args()) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR128 - Invalid number of parameters to call to vararg function: " + + vararg_function_name + ", require at least " + + details::to_str(static_cast(vararg_function->min_num_args())) + " parameters", + exprtk_error_location)); + + return error_node(); + } + else if (arg_list.size() > vararg_function->max_num_args()) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR129 - Invalid number of parameters to call to vararg function: " + + vararg_function_name + ", require no more than " + + details::to_str(static_cast(vararg_function->max_num_args())) + " parameters", + exprtk_error_location)); + + return error_node(); + } + + result = expression_generator_.vararg_function_call(vararg_function,arg_list); + + sdd.delete_ptr = (0 == result); + + return result; + } + + class type_checker + { + public: + + enum return_type_t + { + e_overload = ' ', + e_numeric = 'T', + e_string = 'S' + }; + + struct function_prototype_t + { + return_type_t return_type; + std::string param_seq; + }; + + typedef parser parser_t; + typedef std::vector function_definition_list_t; + + type_checker(parser_t& p, + const std::string& func_name, + const std::string& func_prototypes, + const return_type_t default_return_type) + : invalid_state_(true) + , parser_(p) + , function_name_(func_name) + , default_return_type_(default_return_type) + { + parse_function_prototypes(func_prototypes); + } + + bool verify(const std::string& param_seq, std::size_t& pseq_index) + { + if (function_definition_list_.empty()) + return true; + + std::vector > error_list; + + for (std::size_t i = 0; i < function_definition_list_.size(); ++i) + { + details::char_t diff_value = 0; + std::size_t diff_index = 0; + + const bool result = details::sequence_match(function_definition_list_[i].param_seq, + param_seq, + diff_index, diff_value); + + if (result) + { + pseq_index = i; + return true; + } + else + error_list.push_back(std::make_pair(diff_index, diff_value)); + } + + if (1 == error_list.size()) + { + parser_.set_error(make_error( + parser_error::e_syntax, + parser_.current_token(), + "ERR130 - Failed parameter type check for function '" + function_name_ + "', " + "Expected '" + function_definition_list_[0].param_seq + + "' call set: '" + param_seq + "'", + exprtk_error_location)); + } + else + { + // find first with largest diff_index; + std::size_t max_diff_index = 0; + + for (std::size_t i = 1; i < error_list.size(); ++i) + { + if (error_list[i].first > error_list[max_diff_index].first) + { + max_diff_index = i; + } + } + + parser_.set_error(make_error( + parser_error::e_syntax, + parser_.current_token(), + "ERR131 - Failed parameter type check for function '" + function_name_ + "', " + "Best match: '" + function_definition_list_[max_diff_index].param_seq + + "' call set: '" + param_seq + "'", + exprtk_error_location)); + } + + return false; + } + + std::size_t paramseq_count() const + { + return function_definition_list_.size(); + } + + std::string paramseq(const std::size_t& index) const + { + return function_definition_list_[index].param_seq; + } + + return_type_t return_type(const std::size_t& index) const + { + return function_definition_list_[index].return_type; + } + + bool invalid() const + { + return !invalid_state_; + } + + bool allow_zero_parameters() const + { + + for (std::size_t i = 0; i < function_definition_list_.size(); ++i) + { + if (std::string::npos != function_definition_list_[i].param_seq.find("Z")) + { + return true; + } + } + + return false; + } + + private: + + std::vector split_param_seq(const std::string& param_seq, const details::char_t delimiter = '|') const + { + std::string::const_iterator current_begin = param_seq.begin(); + std::string::const_iterator iter = param_seq.begin(); + + std::vector result; + + while (iter != param_seq.end()) + { + if (*iter == delimiter) + { + result.push_back(std::string(current_begin, iter)); + current_begin = ++iter; + } + else + ++iter; + } + + if (current_begin != iter) + { + result.push_back(std::string(current_begin, iter)); + } + + return result; + } + + inline bool is_valid_token(std::string param_seq, + function_prototype_t& funcproto) const + { + // Determine return type + funcproto.return_type = default_return_type_; + + if (param_seq.size() > 2) + { + if (':' == param_seq[1]) + { + // Note: Only overloaded igeneric functions can have return + // type definitions. + if (type_checker::e_overload != default_return_type_) + return false; + + switch (param_seq[0]) + { + case 'T' : funcproto.return_type = type_checker::e_numeric; + break; + + case 'S' : funcproto.return_type = type_checker::e_string; + break; + + default : return false; + } + + param_seq.erase(0,2); + } + } + + if ( + (std::string::npos != param_seq.find("?*")) || + (std::string::npos != param_seq.find("**")) + ) + { + return false; + } + else if ( + (std::string::npos == param_seq.find_first_not_of("STV*?|")) || + ("Z" == param_seq) + ) + { + funcproto.param_seq = param_seq; + return true; + } + + return false; + } + + void parse_function_prototypes(const std::string& func_prototypes) + { + if (func_prototypes.empty()) + return; + + std::vector param_seq_list = split_param_seq(func_prototypes); + + typedef std::map param_seq_map_t; + param_seq_map_t param_seq_map; + + for (std::size_t i = 0; i < param_seq_list.size(); ++i) + { + function_prototype_t func_proto; + + if (!is_valid_token(param_seq_list[i], func_proto)) + { + invalid_state_ = false; + + parser_.set_error(make_error( + parser_error::e_syntax, + parser_.current_token(), + "ERR132 - Invalid parameter sequence of '" + param_seq_list[i] + + "' for function: " + function_name_, + exprtk_error_location)); + return; + } + + param_seq_map_t::const_iterator seq_itr = param_seq_map.find(param_seq_list[i]); + + if (param_seq_map.end() != seq_itr) + { + invalid_state_ = false; + + parser_.set_error(make_error( + parser_error::e_syntax, + parser_.current_token(), + "ERR133 - Function '" + function_name_ + "' has a parameter sequence conflict between " + + "pseq_idx[" + details::to_str(seq_itr->second) + "] and" + + "pseq_idx[" + details::to_str(i) + "] " + + "param seq: " + param_seq_list[i], + exprtk_error_location)); + return; + } + + function_definition_list_.push_back(func_proto); + } + } + + type_checker(const type_checker&) exprtk_delete; + type_checker& operator=(const type_checker&) exprtk_delete; + + bool invalid_state_; + parser_t& parser_; + std::string function_name_; + const return_type_t default_return_type_; + function_definition_list_t function_definition_list_; + }; + + inline expression_node_ptr parse_generic_function_call(igeneric_function* function, const std::string& function_name) + { + std::vector arg_list; + + scoped_vec_delete sdd((*this),arg_list); + + next_token(); + + std::string param_type_list; + + type_checker tc( + (*this), + function_name, + function->parameter_sequence, + type_checker::e_string); + + if (tc.invalid()) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR134 - Type checker instantiation failure for generic function: " + function_name, + exprtk_error_location)); + + return error_node(); + } + + if (token_is(token_t::e_lbracket)) + { + if (token_is(token_t::e_rbracket)) + { + if ( + !function->allow_zero_parameters() && + !tc .allow_zero_parameters() + ) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR135 - Zero parameter call to generic function: " + + function_name + " not allowed", + exprtk_error_location)); + + return error_node(); + } + } + else + { + for ( ; ; ) + { + expression_node_ptr arg = parse_expression(); + + if (0 == arg) + return error_node(); + + if (is_ivector_node(arg)) + param_type_list += 'V'; + else if (is_generally_string_node(arg)) + param_type_list += 'S'; + else // Everything else is assumed to be a scalar returning expression + param_type_list += 'T'; + + arg_list.push_back(arg); + + if (token_is(token_t::e_rbracket)) + break; + else if (!token_is(token_t::e_comma)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR136 - Expected ',' for call to generic function: " + function_name, + exprtk_error_location)); + + return error_node(); + } + } + } + } + else if ( + !function->parameter_sequence.empty() && + function->allow_zero_parameters () && + !tc .allow_zero_parameters () + ) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR137 - Zero parameter call to generic function: " + + function_name + " not allowed", + exprtk_error_location)); + + return error_node(); + } + + std::size_t param_seq_index = 0; + + if ( + state_.type_check_enabled && + !tc.verify(param_type_list, param_seq_index) + ) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR138 - Invalid input parameter sequence for call to generic function: " + function_name, + exprtk_error_location)); + + return error_node(); + } + + expression_node_ptr result = error_node(); + + result = (tc.paramseq_count() <= 1) ? + expression_generator_ + .generic_function_call(function, arg_list) : + expression_generator_ + .generic_function_call(function, arg_list, param_seq_index); + + sdd.delete_ptr = (0 == result); + + return result; + } + + inline bool parse_igeneric_function_params(std::string& param_type_list, + std::vector& arg_list, + const std::string& function_name, + igeneric_function* function, + const type_checker& tc) + { + if (token_is(token_t::e_lbracket)) + { + if (token_is(token_t::e_rbracket)) + { + if ( + !function->allow_zero_parameters() && + !tc .allow_zero_parameters() + ) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR139 - Zero parameter call to generic function: " + + function_name + " not allowed", + exprtk_error_location)); + + return false; + } + } + else + { + for ( ; ; ) + { + expression_node_ptr arg = parse_expression(); + + if (0 == arg) + return false; + + if (is_ivector_node(arg)) + param_type_list += 'V'; + else if (is_generally_string_node(arg)) + param_type_list += 'S'; + else // Everything else is a scalar returning expression + param_type_list += 'T'; + + arg_list.push_back(arg); + + if (token_is(token_t::e_rbracket)) + break; + else if (!token_is(token_t::e_comma)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR140 - Expected ',' for call to string function: " + function_name, + exprtk_error_location)); + + return false; + } + } + } + + return true; + } + else + return false; + } + + #ifndef exprtk_disable_string_capabilities + inline expression_node_ptr parse_string_function_call(igeneric_function* function, const std::string& function_name) + { + // Move pass the function name + next_token(); + + std::string param_type_list; + + type_checker tc((*this), function_name, function->parameter_sequence, type_checker::e_string); + + if ( + (!function->parameter_sequence.empty()) && + (0 == tc.paramseq_count()) + ) + { + return error_node(); + } + + std::vector arg_list; + scoped_vec_delete sdd((*this),arg_list); + + if (!parse_igeneric_function_params(param_type_list, arg_list, function_name, function, tc)) + { + return error_node(); + } + + std::size_t param_seq_index = 0; + + if (!tc.verify(param_type_list, param_seq_index)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR141 - Invalid input parameter sequence for call to string function: " + function_name, + exprtk_error_location)); + + return error_node(); + } + + expression_node_ptr result = error_node(); + + result = (tc.paramseq_count() <= 1) ? + expression_generator_ + .string_function_call(function, arg_list) : + expression_generator_ + .string_function_call(function, arg_list, param_seq_index); + + sdd.delete_ptr = (0 == result); + + return result; + } + + inline expression_node_ptr parse_overload_function_call(igeneric_function* function, const std::string& function_name) + { + // Move pass the function name + next_token(); + + std::string param_type_list; + + type_checker tc((*this), function_name, function->parameter_sequence, type_checker::e_overload); + + if ( + (!function->parameter_sequence.empty()) && + (0 == tc.paramseq_count()) + ) + { + return error_node(); + } + + std::vector arg_list; + scoped_vec_delete sdd((*this),arg_list); + + if (!parse_igeneric_function_params(param_type_list, arg_list, function_name, function, tc)) + { + return error_node(); + } + + std::size_t param_seq_index = 0; + + if (!tc.verify(param_type_list, param_seq_index)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR142 - Invalid input parameter sequence for call to overloaded function: " + function_name, + exprtk_error_location)); + + return error_node(); + } + + expression_node_ptr result = error_node(); + + if (type_checker::e_numeric == tc.return_type(param_seq_index)) + { + if (tc.paramseq_count() <= 1) + result = expression_generator_ + .generic_function_call(function, arg_list); + else + result = expression_generator_ + .generic_function_call(function, arg_list, param_seq_index); + } + else if (type_checker::e_string == tc.return_type(param_seq_index)) + { + if (tc.paramseq_count() <= 1) + result = expression_generator_ + .string_function_call(function, arg_list); + else + result = expression_generator_ + .string_function_call(function, arg_list, param_seq_index); + } + else + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR143 - Invalid return type for call to overloaded function: " + function_name, + exprtk_error_location)); + } + + sdd.delete_ptr = (0 == result); + return result; + } + #endif + + template + struct parse_special_function_impl + { + static inline expression_node_ptr process(parser& p, const details::operator_type opt_type, const std::string& sf_name) + { + expression_node_ptr branch[NumberOfParameters]; + expression_node_ptr result = error_node(); + + std::fill_n(branch, NumberOfParameters, reinterpret_cast(0)); + + scoped_delete sd(p,branch); + + p.next_token(); + + if (!p.token_is(token_t::e_lbracket)) + { + p.set_error(make_error( + parser_error::e_syntax, + p.current_token(), + "ERR144 - Expected '(' for special function '" + sf_name + "'", + exprtk_error_location)); + + return error_node(); + } + + for (std::size_t i = 0; i < NumberOfParameters; ++i) + { + branch[i] = p.parse_expression(); + + if (0 == branch[i]) + { + return p.error_node(); + } + else if (i < (NumberOfParameters - 1)) + { + if (!p.token_is(token_t::e_comma)) + { + p.set_error(make_error( + parser_error::e_syntax, + p.current_token(), + "ERR145 - Expected ',' before next parameter of special function '" + sf_name + "'", + exprtk_error_location)); + + return p.error_node(); + } + } + } + + if (!p.token_is(token_t::e_rbracket)) + { + p.set_error(make_error( + parser_error::e_syntax, + p.current_token(), + "ERR146 - Invalid number of parameters for special function '" + sf_name + "'", + exprtk_error_location)); + + return p.error_node(); + } + else + result = p.expression_generator_.special_function(opt_type,branch); + + sd.delete_ptr = (0 == result); + + return result; + } + }; + + inline expression_node_ptr parse_special_function() + { + const std::string sf_name = current_token().value; + + // Expect: $fDD(expr0,expr1,expr2) or $fDD(expr0,expr1,expr2,expr3) + if ( + !details::is_digit(sf_name[2]) || + !details::is_digit(sf_name[3]) + ) + { + set_error(make_error( + parser_error::e_token, + current_token(), + "ERR147 - Invalid special function[1]: " + sf_name, + exprtk_error_location)); + + return error_node(); + } + + const int id = (sf_name[2] - '0') * 10 + + (sf_name[3] - '0'); + + if (id >= details::e_sffinal) + { + set_error(make_error( + parser_error::e_token, + current_token(), + "ERR148 - Invalid special function[2]: " + sf_name, + exprtk_error_location)); + + return error_node(); + } + + const int sf_3_to_4 = details::e_sf48; + const details::operator_type opt_type = details::operator_type(id + 1000); + const std::size_t NumberOfParameters = (id < (sf_3_to_4 - 1000)) ? 3U : 4U; + + switch (NumberOfParameters) + { + case 3 : return parse_special_function_impl::process((*this), opt_type, sf_name); + case 4 : return parse_special_function_impl::process((*this), opt_type, sf_name); + default : return error_node(); + } + } + + inline expression_node_ptr parse_null_statement() + { + next_token(); + return node_allocator_.allocate >(); + } + + #ifndef exprtk_disable_break_continue + inline expression_node_ptr parse_break_statement() + { + if (state_.parsing_break_stmt) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR149 - Invoking 'break' within a break call is not allowed", + exprtk_error_location)); + + return error_node(); + } + else if (0 == state_.parsing_loop_stmt_count) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR150 - Invalid use of 'break', allowed only in the scope of a loop", + exprtk_error_location)); + + return error_node(); + } + + scoped_bool_negator sbn(state_.parsing_break_stmt); + + if (!brkcnt_list_.empty()) + { + next_token(); + + brkcnt_list_.front() = true; + + expression_node_ptr return_expr = error_node(); + + if (token_is(token_t::e_lsqrbracket)) + { + if (0 == (return_expr = parse_expression())) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR151 - Failed to parse return expression for 'break' statement", + exprtk_error_location)); + + return error_node(); + } + else if (!token_is(token_t::e_rsqrbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR152 - Expected ']' at the completion of break's return expression", + exprtk_error_location)); + + free_node(node_allocator_,return_expr); + + return error_node(); + } + } + + state_.activate_side_effect("parse_break_statement()"); + + return node_allocator_.allocate >(return_expr); + } + else + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR153 - Invalid use of 'break', allowed only in the scope of a loop", + exprtk_error_location)); + } + + return error_node(); + } + + inline expression_node_ptr parse_continue_statement() + { + if (0 == state_.parsing_loop_stmt_count) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR154 - Invalid use of 'continue', allowed only in the scope of a loop", + exprtk_error_location)); + + return error_node(); + } + else + { + next_token(); + + brkcnt_list_.front() = true; + state_.activate_side_effect("parse_continue_statement()"); + + return node_allocator_.allocate >(); + } + } + #endif + + inline expression_node_ptr parse_define_vector_statement(const std::string& vec_name) + { + expression_node_ptr size_expression_node = error_node(); + + if (!token_is(token_t::e_lsqrbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR155 - Expected '[' as part of vector size definition", + exprtk_error_location)); + + return error_node(); + } + else if (0 == (size_expression_node = parse_expression())) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR156 - Failed to determine size of vector '" + vec_name + "'", + exprtk_error_location)); + + return error_node(); + } + else if (!is_constant_node(size_expression_node)) + { + const bool is_rebaseble_vector = + (size_expression_node->type() == details::expression_node::e_vecsize) && + static_cast*>(size_expression_node)->vec_holder()->rebaseable(); + + free_node(node_allocator_,size_expression_node); + + const std::string error_msg = (is_rebaseble_vector) ? + std::string("Rebasable/Resizable vector cannot be used to define the size of vector") : + std::string("Expected a constant literal number as size of vector"); + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR157 - " + error_msg + " '" + vec_name + "'", + exprtk_error_location)); + + return error_node(); + } + + const T vector_size = size_expression_node->value(); + + free_node(node_allocator_,size_expression_node); + + const std::size_t max_vector_size = settings_.max_local_vector_size(); + + if ( + (vector_size <= T(0)) || + std::not_equal_to() + (T(0),vector_size - details::numeric::trunc(vector_size)) || + (static_cast(vector_size) > max_vector_size) + ) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR158 - Invalid vector size. Must be an integer in the " + "range [0," + details::to_str(static_cast(max_vector_size)) + "], size: " + + details::to_str(details::numeric::to_int32(vector_size)), + exprtk_error_location)); + + return error_node(); + } + + std::vector vec_initilizer_list; + + scoped_vec_delete svd((*this),vec_initilizer_list); + + bool single_value_initialiser = false; + bool vec_to_vec_initialiser = false; + bool null_initialisation = false; + + if (!token_is(token_t::e_rsqrbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR159 - Expected ']' as part of vector size definition", + exprtk_error_location)); + + return error_node(); + } + else if (!token_is(token_t::e_eof)) + { + if (!token_is(token_t::e_assign)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR160 - Expected ':=' as part of vector definition", + exprtk_error_location)); + + return error_node(); + } + else if (token_is(token_t::e_lsqrbracket)) + { + expression_node_ptr initialiser = parse_expression(); + + if (0 == initialiser) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR161 - Failed to parse single vector initialiser", + exprtk_error_location)); + + return error_node(); + } + + vec_initilizer_list.push_back(initialiser); + + if (!token_is(token_t::e_rsqrbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR162 - Expected ']' to close single value vector initialiser", + exprtk_error_location)); + + return error_node(); + } + + single_value_initialiser = true; + } + else if (!token_is(token_t::e_lcrlbracket)) + { + expression_node_ptr initialiser = error_node(); + + // Is this a vector to vector assignment and initialisation? + if (token_t::e_symbol == current_token().type) + { + // Is it a locally defined vector? + const scope_element& se = sem_.get_active_element(current_token().value); + + if (scope_element::e_vector == se.type) + { + if (0 != (initialiser = parse_expression())) + vec_initilizer_list.push_back(initialiser); + else + return error_node(); + } + // Are we dealing with a user defined vector? + else if (symtab_store_.is_vector(current_token().value)) + { + lodge_symbol(current_token().value, e_st_vector); + + if (0 != (initialiser = parse_expression())) + vec_initilizer_list.push_back(initialiser); + else + return error_node(); + } + // Are we dealing with a null initialisation vector definition? + else if (token_is(token_t::e_symbol,"null")) + null_initialisation = true; + } + + if (!null_initialisation) + { + if (0 == initialiser) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR163 - Expected '{' as part of vector initialiser list", + exprtk_error_location)); + + return error_node(); + } + else + vec_to_vec_initialiser = true; + } + } + else if (!token_is(token_t::e_rcrlbracket)) + { + for ( ; ; ) + { + expression_node_ptr initialiser = parse_expression(); + + if (0 == initialiser) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR164 - Expected '{' as part of vector initialiser list", + exprtk_error_location)); + + return error_node(); + } + else + vec_initilizer_list.push_back(initialiser); + + if (token_is(token_t::e_rcrlbracket)) + break; + + const bool is_next_close = peek_token_is(token_t::e_rcrlbracket); + + if (!token_is(token_t::e_comma) && is_next_close) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR165 - Expected ',' between vector initialisers", + exprtk_error_location)); + + return error_node(); + } + + if (token_is(token_t::e_rcrlbracket)) + break; + } + } + + if ( + !token_is(token_t::e_rbracket , prsrhlpr_t::e_hold) && + !token_is(token_t::e_rcrlbracket, prsrhlpr_t::e_hold) && + !token_is(token_t::e_rsqrbracket, prsrhlpr_t::e_hold) + ) + { + if (!token_is(token_t::e_eof)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR166 - Expected ';' at end of vector definition", + exprtk_error_location)); + + return error_node(); + } + } + + if (T(vec_initilizer_list.size()) > vector_size) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR167 - Initialiser list larger than the number of elements in the vector: '" + vec_name + "'", + exprtk_error_location)); + + return error_node(); + } + } + + typename symbol_table_t::vector_holder_ptr vec_holder = typename symbol_table_t::vector_holder_ptr(0); + + const std::size_t vec_size = static_cast(details::numeric::to_int32(vector_size)); + + scope_element& se = sem_.get_element(vec_name); + + if (se.name == vec_name) + { + if (se.active) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR168 - Illegal redefinition of local vector: '" + vec_name + "'", + exprtk_error_location)); + + return error_node(); + } + else if ( + (se.size == vec_size) && + (scope_element::e_vector == se.type) + ) + { + vec_holder = se.vec_node; + se.active = true; + se.depth = state_.scope_depth; + se.ref_count++; + } + } + + if (0 == vec_holder) + { + scope_element nse; + nse.name = vec_name; + nse.active = true; + nse.ref_count = 1; + nse.type = scope_element::e_vector; + nse.depth = state_.scope_depth; + nse.size = vec_size; + nse.data = new T[vec_size]; + nse.vec_node = new typename scope_element::vector_holder_t(reinterpret_cast(nse.data),nse.size); + + std::memset(nse.data, 0x00, vec_size * sizeof(T)); + + if (!sem_.add_element(nse)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR169 - Failed to add new local vector '" + vec_name + "' to SEM", + exprtk_error_location)); + + sem_.free_element(nse); + + return error_node(); + } + + vec_holder = nse.vec_node; + + exprtk_debug(("parse_define_vector_statement() - INFO - Added new local vector: %s[%d]\n", + nse.name.c_str(), + static_cast(nse.size))); + } + + state_.activate_side_effect("parse_define_vector_statement()"); + + lodge_symbol(vec_name, e_st_local_vector); + + expression_node_ptr result = error_node(); + + if (!single_value_initialiser && vec_initilizer_list.empty()) + { + single_value_initialiser = true; + assert(vec_initilizer_list.size() <= 1); + } + + if (null_initialisation) + result = expression_generator_(T(0.0)); + else if (vec_to_vec_initialiser) + { + expression_node_ptr vec_node = node_allocator_.allocate(vec_holder); + + result = expression_generator_( + details::e_assign, + vec_node, + vec_initilizer_list[0]); + } + else + result = node_allocator_ + .allocate >( + (*vec_holder)[0], + vec_size, + vec_initilizer_list, + single_value_initialiser); + + svd.delete_ptr = (0 == result); + + return result; + } + + #ifndef exprtk_disable_string_capabilities + inline expression_node_ptr parse_define_string_statement(const std::string& str_name, expression_node_ptr initialisation_expression) + { + stringvar_node_t* str_node = reinterpret_cast(0); + + scope_element& se = sem_.get_element(str_name); + + if (se.name == str_name) + { + if (se.active) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR170 - Illegal redefinition of local variable: '" + str_name + "'", + exprtk_error_location)); + + free_node(node_allocator_,initialisation_expression); + + return error_node(); + } + else if (scope_element::e_string == se.type) + { + str_node = se.str_node; + se.active = true; + se.depth = state_.scope_depth; + se.ref_count++; + } + } + + if (0 == str_node) + { + scope_element nse; + nse.name = str_name; + nse.active = true; + nse.ref_count = 1; + nse.type = scope_element::e_string; + nse.depth = state_.scope_depth; + nse.data = new std::string; + nse.str_node = new stringvar_node_t(*reinterpret_cast(nse.data)); + + if (!sem_.add_element(nse)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR171 - Failed to add new local string variable '" + str_name + "' to SEM", + exprtk_error_location)); + + free_node(node_allocator_,initialisation_expression); + + sem_.free_element(nse); + + return error_node(); + } + + str_node = nse.str_node; + + exprtk_debug(("parse_define_string_statement() - INFO - Added new local string variable: %s\n", nse.name.c_str())); + } + + lodge_symbol(str_name, e_st_local_string); + + state_.activate_side_effect("parse_define_string_statement()"); + + expression_node_ptr branch[2] = {0}; + + branch[0] = str_node; + branch[1] = initialisation_expression; + + return expression_generator_(details::e_assign,branch); + } + #else + inline expression_node_ptr parse_define_string_statement(const std::string&, expression_node_ptr) + { + return error_node(); + } + #endif + + inline bool local_variable_is_shadowed(const std::string& symbol) + { + const scope_element& se = sem_.get_element(symbol); + return (se.name == symbol) && se.active; + } + + inline expression_node_ptr parse_define_var_statement() + { + if (settings_.vardef_disabled()) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR172 - Illegal variable definition", + exprtk_error_location)); + + return error_node(); + } + else if (!details::imatch(current_token().value,"var")) + { + return error_node(); + } + else + next_token(); + + const std::string var_name = current_token().value; + + expression_node_ptr initialisation_expression = error_node(); + + if (!token_is(token_t::e_symbol)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR173 - Expected a symbol for variable definition", + exprtk_error_location)); + + return error_node(); + } + else if (details::is_reserved_symbol(var_name)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR174 - Illegal redefinition of reserved keyword: '" + var_name + "'", + exprtk_error_location)); + + return error_node(); + } + else if (symtab_store_.symbol_exists(var_name)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR175 - Illegal redefinition of variable '" + var_name + "'", + exprtk_error_location)); + + return error_node(); + } + else if (local_variable_is_shadowed(var_name)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR176 - Illegal redefinition of local variable: '" + var_name + "'", + exprtk_error_location)); + + return error_node(); + } + else if (token_is(token_t::e_lsqrbracket,prsrhlpr_t::e_hold)) + { + return parse_define_vector_statement(var_name); + } + else if (token_is(token_t::e_lcrlbracket,prsrhlpr_t::e_hold)) + { + return parse_uninitialised_var_statement(var_name); + } + else if (token_is(token_t::e_assign)) + { + if (0 == (initialisation_expression = parse_expression())) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR177 - Failed to parse initialisation expression", + exprtk_error_location)); + + return error_node(); + } + } + + if ( + !token_is(token_t::e_rbracket , prsrhlpr_t::e_hold) && + !token_is(token_t::e_rcrlbracket, prsrhlpr_t::e_hold) && + !token_is(token_t::e_rsqrbracket, prsrhlpr_t::e_hold) + ) + { + if (!token_is(token_t::e_eof,prsrhlpr_t::e_hold)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR178 - Expected ';' after variable definition", + exprtk_error_location)); + + free_node(node_allocator_,initialisation_expression); + + return error_node(); + } + } + + if ( + (0 != initialisation_expression) && + details::is_generally_string_node(initialisation_expression) + ) + { + return parse_define_string_statement(var_name,initialisation_expression); + } + + expression_node_ptr var_node = reinterpret_cast(0); + + scope_element& se = sem_.get_element(var_name); + + if (se.name == var_name) + { + if (se.active) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR179 - Illegal redefinition of local variable: '" + var_name + "'", + exprtk_error_location)); + + free_node(node_allocator_, initialisation_expression); + + return error_node(); + } + else if (scope_element::e_variable == se.type) + { + var_node = se.var_node; + se.active = true; + se.depth = state_.scope_depth; + se.ref_count++; + } + } + + if (0 == var_node) + { + scope_element nse; + nse.name = var_name; + nse.active = true; + nse.ref_count = 1; + nse.type = scope_element::e_variable; + nse.depth = state_.scope_depth; + nse.data = new T(T(0)); + nse.var_node = node_allocator_.allocate(*reinterpret_cast(nse.data)); + + if (!sem_.add_element(nse)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR180 - Failed to add new local variable '" + var_name + "' to SEM", + exprtk_error_location)); + + free_node(node_allocator_, initialisation_expression); + + sem_.free_element(nse); + + return error_node(); + } + + var_node = nse.var_node; + + exprtk_debug(("parse_define_var_statement() - INFO - Added new local variable: %s\n", nse.name.c_str())); + } + + state_.activate_side_effect("parse_define_var_statement()"); + + lodge_symbol(var_name, e_st_local_variable); + + expression_node_ptr branch[2] = {0}; + + branch[0] = var_node; + branch[1] = initialisation_expression ? initialisation_expression : expression_generator_(T(0)); + + return expression_generator_(details::e_assign,branch); + } + + inline expression_node_ptr parse_uninitialised_var_statement(const std::string& var_name) + { + if ( + !token_is(token_t::e_lcrlbracket) || + !token_is(token_t::e_rcrlbracket) + ) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR181 - Expected a '{}' for uninitialised var definition", + exprtk_error_location)); + + return error_node(); + } + else if (!token_is(token_t::e_eof,prsrhlpr_t::e_hold)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR182 - Expected ';' after uninitialised variable definition", + exprtk_error_location)); + + return error_node(); + } + + expression_node_ptr var_node = reinterpret_cast(0); + + scope_element& se = sem_.get_element(var_name); + + if (se.name == var_name) + { + if (se.active) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR183 - Illegal redefinition of local variable: '" + var_name + "'", + exprtk_error_location)); + + return error_node(); + } + else if (scope_element::e_variable == se.type) + { + var_node = se.var_node; + se.active = true; + se.ref_count++; + } + } + + if (0 == var_node) + { + scope_element nse; + nse.name = var_name; + nse.active = true; + nse.ref_count = 1; + nse.type = scope_element::e_variable; + nse.depth = state_.scope_depth; + nse.ip_index = sem_.next_ip_index(); + nse.data = new T(T(0)); + nse.var_node = node_allocator_.allocate(*reinterpret_cast(nse.data)); + + if (!sem_.add_element(nse)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR184 - Failed to add new local variable '" + var_name + "' to SEM", + exprtk_error_location)); + + sem_.free_element(nse); + + return error_node(); + } + + exprtk_debug(("parse_uninitialised_var_statement() - INFO - Added new local variable: %s\n", + nse.name.c_str())); + } + + lodge_symbol(var_name, e_st_local_variable); + + state_.activate_side_effect("parse_uninitialised_var_statement()"); + + return expression_generator_(T(0)); + } + + inline expression_node_ptr parse_swap_statement() + { + if (!details::imatch(current_token().value,"swap")) + { + return error_node(); + } + else + next_token(); + + if (!token_is(token_t::e_lbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR185 - Expected '(' at start of swap statement", + exprtk_error_location)); + + return error_node(); + } + + expression_node_ptr variable0 = error_node(); + expression_node_ptr variable1 = error_node(); + + bool variable0_generated = false; + bool variable1_generated = false; + + const std::string var0_name = current_token().value; + + if (!token_is(token_t::e_symbol,prsrhlpr_t::e_hold)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR186 - Expected a symbol for variable or vector element definition", + exprtk_error_location)); + + return error_node(); + } + else if (peek_token_is(token_t::e_lsqrbracket)) + { + if (0 == (variable0 = parse_vector())) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR187 - First parameter to swap is an invalid vector element: '" + var0_name + "'", + exprtk_error_location)); + + return error_node(); + } + + variable0_generated = true; + } + else + { + if (symtab_store_.is_variable(var0_name)) + { + variable0 = symtab_store_.get_variable(var0_name); + } + + const scope_element& se = sem_.get_element(var0_name); + + if ( + (se.active) && + (se.name == var0_name) && + (scope_element::e_variable == se.type) + ) + { + variable0 = se.var_node; + } + + lodge_symbol(var0_name, e_st_variable); + + if (0 == variable0) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR188 - First parameter to swap is an invalid variable: '" + var0_name + "'", + exprtk_error_location)); + + return error_node(); + } + else + next_token(); + } + + if (!token_is(token_t::e_comma)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR189 - Expected ',' between parameters to swap", + exprtk_error_location)); + + if (variable0_generated) + { + free_node(node_allocator_,variable0); + } + + return error_node(); + } + + const std::string var1_name = current_token().value; + + if (!token_is(token_t::e_symbol,prsrhlpr_t::e_hold)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR190 - Expected a symbol for variable or vector element definition", + exprtk_error_location)); + + if (variable0_generated) + { + free_node(node_allocator_,variable0); + } + + return error_node(); + } + else if (peek_token_is(token_t::e_lsqrbracket)) + { + if (0 == (variable1 = parse_vector())) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR191 - Second parameter to swap is an invalid vector element: '" + var1_name + "'", + exprtk_error_location)); + + if (variable0_generated) + { + free_node(node_allocator_,variable0); + } + + return error_node(); + } + + variable1_generated = true; + } + else + { + if (symtab_store_.is_variable(var1_name)) + { + variable1 = symtab_store_.get_variable(var1_name); + } + + const scope_element& se = sem_.get_element(var1_name); + + if ( + (se.active) && + (se.name == var1_name) && + (scope_element::e_variable == se.type) + ) + { + variable1 = se.var_node; + } + + lodge_symbol(var1_name, e_st_variable); + + if (0 == variable1) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR192 - Second parameter to swap is an invalid variable: '" + var1_name + "'", + exprtk_error_location)); + + if (variable0_generated) + { + free_node(node_allocator_,variable0); + } + + return error_node(); + } + else + next_token(); + } + + if (!token_is(token_t::e_rbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR193 - Expected ')' at end of swap statement", + exprtk_error_location)); + + if (variable0_generated) + { + free_node(node_allocator_,variable0); + } + + if (variable1_generated) + { + free_node(node_allocator_,variable1); + } + + return error_node(); + } + + typedef details::variable_node* variable_node_ptr; + + variable_node_ptr v0 = variable_node_ptr(0); + variable_node_ptr v1 = variable_node_ptr(0); + + expression_node_ptr result = error_node(); + + if ( + (0 != (v0 = dynamic_cast(variable0))) && + (0 != (v1 = dynamic_cast(variable1))) + ) + { + result = node_allocator_.allocate >(v0, v1); + + if (variable0_generated) + { + free_node(node_allocator_,variable0); + } + + if (variable1_generated) + { + free_node(node_allocator_,variable1); + } + } + else + result = node_allocator_.allocate > + (variable0, variable1); + + state_.activate_side_effect("parse_swap_statement()"); + + return result; + } + + #ifndef exprtk_disable_return_statement + inline expression_node_ptr parse_return_statement() + { + if (state_.parsing_return_stmt) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR194 - Return call within a return call is not allowed", + exprtk_error_location)); + + return error_node(); + } + + scoped_bool_negator sbn(state_.parsing_return_stmt); + + std::vector arg_list; + + scoped_vec_delete sdd((*this),arg_list); + + if (!details::imatch(current_token().value,"return")) + { + return error_node(); + } + else + next_token(); + + if (!token_is(token_t::e_lsqrbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR195 - Expected '[' at start of return statement", + exprtk_error_location)); + + return error_node(); + } + else if (!token_is(token_t::e_rsqrbracket)) + { + for ( ; ; ) + { + expression_node_ptr arg = parse_expression(); + + if (0 == arg) + return error_node(); + + arg_list.push_back(arg); + + if (token_is(token_t::e_rsqrbracket)) + break; + else if (!token_is(token_t::e_comma)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR196 - Expected ',' between values during call to return", + exprtk_error_location)); + + return error_node(); + } + } + } + else if (settings_.zero_return_disabled()) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR197 - Zero parameter return statement not allowed", + exprtk_error_location)); + + return error_node(); + } + + const lexer::token prev_token = current_token(); + + if (token_is(token_t::e_rsqrbracket)) + { + if (!arg_list.empty()) + { + set_error(make_error( + parser_error::e_syntax, + prev_token, + "ERR198 - Invalid ']' found during return call", + exprtk_error_location)); + + return error_node(); + } + } + + std::string ret_param_type_list; + + for (std::size_t i = 0; i < arg_list.size(); ++i) + { + if (0 == arg_list[i]) + return error_node(); + else if (is_ivector_node(arg_list[i])) + ret_param_type_list += 'V'; + else if (is_generally_string_node(arg_list[i])) + ret_param_type_list += 'S'; + else + ret_param_type_list += 'T'; + } + + dec_.retparam_list_.push_back(ret_param_type_list); + + expression_node_ptr result = expression_generator_.return_call(arg_list); + + sdd.delete_ptr = (0 == result); + + state_.return_stmt_present = true; + + state_.activate_side_effect("parse_return_statement()"); + + return result; + } + #else + inline expression_node_ptr parse_return_statement() + { + return error_node(); + } + #endif + + inline bool post_variable_process(const std::string& symbol) + { + if ( + peek_token_is(token_t::e_lbracket ) || + peek_token_is(token_t::e_lcrlbracket) || + peek_token_is(token_t::e_lsqrbracket) + ) + { + if (!settings_.commutative_check_enabled()) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR199 - Invalid sequence of variable '" + symbol + "' and bracket", + exprtk_error_location)); + + return false; + } + + lexer().insert_front(token_t::e_mul); + } + + return true; + } + + inline bool post_bracket_process(const typename token_t::token_type& token, expression_node_ptr& branch) + { + bool implied_mul = false; + + if (details::is_generally_string_node(branch)) + return true; + + const lexer::parser_helper::token_advance_mode hold = prsrhlpr_t::e_hold; + + switch (token) + { + case token_t::e_lcrlbracket : implied_mul = token_is(token_t::e_lbracket ,hold) || + token_is(token_t::e_lcrlbracket,hold) || + token_is(token_t::e_lsqrbracket,hold) ; + break; + + case token_t::e_lbracket : implied_mul = token_is(token_t::e_lbracket ,hold) || + token_is(token_t::e_lcrlbracket,hold) || + token_is(token_t::e_lsqrbracket,hold) ; + break; + + case token_t::e_lsqrbracket : implied_mul = token_is(token_t::e_lbracket ,hold) || + token_is(token_t::e_lcrlbracket,hold) || + token_is(token_t::e_lsqrbracket,hold) ; + break; + + default : return true; + } + + if (implied_mul) + { + if (!settings_.commutative_check_enabled()) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR200 - Invalid sequence of brackets", + exprtk_error_location)); + + return false; + } + else if (token_t::e_eof != current_token().type) + { + lexer().insert_front(current_token().type); + lexer().insert_front(token_t::e_mul); + next_token(); + } + } + + return true; + } + + typedef typename interval_container_t::interval_t interval_t; + typedef interval_container_t immutable_memory_map_t; + typedef std::map immutable_symtok_map_t; + + inline interval_t make_memory_range(const T& t) + { + const T* begin = reinterpret_cast(&t); + const T* end = begin + 1; + return interval_t(begin, end); + } + + inline interval_t make_memory_range(const T* begin, const std::size_t size) + { + return interval_t(begin, begin + size); + } + + inline interval_t make_memory_range(details::char_cptr begin, const std::size_t size) + { + return interval_t(begin, begin + size); + } + + void lodge_immutable_symbol(const lexer::token& token, const interval_t interval) + { + immutable_memory_map_.add_interval(interval); + immutable_symtok_map_[interval] = token; + } + + inline expression_node_ptr parse_symtab_symbol() + { + const std::string symbol = current_token().value; + + // Are we dealing with a variable or a special constant? + typedef typename symtab_store::variable_context var_ctxt_t; + var_ctxt_t var_ctx = symtab_store_.get_variable_context(symbol); + + if (var_ctx.variable) + { + assert(var_ctx.symbol_table); + + expression_node_ptr result_variable = var_ctx.variable; + + if (symtab_store_.is_constant_node(symbol)) + { + result_variable = expression_generator_(var_ctx.variable->value()); + } + else if (symbol_table_t::e_immutable == var_ctx.symbol_table->mutability()) + { + lodge_immutable_symbol(current_token(), make_memory_range(var_ctx.variable->ref())); + result_variable = var_ctx.variable; + } + + if (!post_variable_process(symbol)) + return error_node(); + + lodge_symbol(symbol, e_st_variable); + + next_token(); + + return result_variable; + } + + // Are we dealing with a locally defined variable, vector or string? + if (!sem_.empty()) + { + scope_element& se = sem_.get_active_element(symbol); + + if (se.active && details::imatch(se.name, symbol)) + { + if (scope_element::e_variable == se.type) + { + se.active = true; + lodge_symbol(symbol, e_st_local_variable); + + if (!post_variable_process(symbol)) + return error_node(); + + next_token(); + + return se.var_node; + } + else if (scope_element::e_vector == se.type) + { + return parse_vector(); + } + #ifndef exprtk_disable_string_capabilities + else if (scope_element::e_string == se.type) + { + return parse_string(); + } + #endif + } + } + + #ifndef exprtk_disable_string_capabilities + // Are we dealing with a string variable? + if (symtab_store_.is_stringvar(symbol)) + { + return parse_string(); + } + #endif + + { + // Are we dealing with a function? + ifunction* function = symtab_store_.get_function(symbol); + + if (function) + { + lodge_symbol(symbol, e_st_function); + + expression_node_ptr func_node = + parse_function_invocation(function,symbol); + + if (func_node) + return func_node; + else + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR201 - Failed to generate node for function: '" + symbol + "'", + exprtk_error_location)); + + return error_node(); + } + } + } + + { + // Are we dealing with a vararg function? + ivararg_function* vararg_function = symtab_store_.get_vararg_function(symbol); + + if (vararg_function) + { + lodge_symbol(symbol, e_st_function); + + expression_node_ptr vararg_func_node = + parse_vararg_function_call(vararg_function, symbol); + + if (vararg_func_node) + return vararg_func_node; + else + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR202 - Failed to generate node for vararg function: '" + symbol + "'", + exprtk_error_location)); + + return error_node(); + } + } + } + + { + // Are we dealing with a vararg generic function? + igeneric_function* generic_function = symtab_store_.get_generic_function(symbol); + + if (generic_function) + { + lodge_symbol(symbol, e_st_function); + + expression_node_ptr genericfunc_node = + parse_generic_function_call(generic_function, symbol); + + if (genericfunc_node) + return genericfunc_node; + else + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR203 - Failed to generate node for generic function: '" + symbol + "'", + exprtk_error_location)); + + return error_node(); + } + } + } + + #ifndef exprtk_disable_string_capabilities + { + // Are we dealing with a vararg string returning function? + igeneric_function* string_function = symtab_store_.get_string_function(symbol); + + if (string_function) + { + lodge_symbol(symbol, e_st_function); + + expression_node_ptr stringfunc_node = + parse_string_function_call(string_function, symbol); + + if (stringfunc_node) + return stringfunc_node; + else + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR204 - Failed to generate node for string function: '" + symbol + "'", + exprtk_error_location)); + + return error_node(); + } + } + } + + { + // Are we dealing with a vararg overloaded scalar/string returning function? + igeneric_function* overload_function = symtab_store_.get_overload_function(symbol); + + if (overload_function) + { + lodge_symbol(symbol, e_st_function); + + expression_node_ptr overloadfunc_node = + parse_overload_function_call(overload_function, symbol); + + if (overloadfunc_node) + return overloadfunc_node; + else + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR205 - Failed to generate node for overload function: '" + symbol + "'", + exprtk_error_location)); + + return error_node(); + } + } + } + #endif + + // Are we dealing with a vector? + if (symtab_store_.is_vector(symbol)) + { + lodge_symbol(symbol, e_st_vector); + return parse_vector(); + } + + if (details::is_reserved_symbol(symbol)) + { + if ( + settings_.function_enabled(symbol) || + !details::is_base_function(symbol) + ) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR206 - Invalid use of reserved symbol '" + symbol + "'", + exprtk_error_location)); + + return error_node(); + } + } + + // Should we handle unknown symbols? + if (resolve_unknown_symbol_ && unknown_symbol_resolver_) + { + if (!(settings_.rsrvd_sym_usr_disabled() && details::is_reserved_symbol(symbol))) + { + symbol_table_t& symtab = symtab_store_.get_symbol_table(); + + std::string error_message; + + if (unknown_symbol_resolver::e_usrmode_default == unknown_symbol_resolver_->mode) + { + T default_value = T(0); + + typename unknown_symbol_resolver::usr_symbol_type usr_symbol_type = unknown_symbol_resolver::e_usr_unknown_type; + + if (unknown_symbol_resolver_->process(symbol, usr_symbol_type, default_value, error_message)) + { + bool create_result = false; + + switch (usr_symbol_type) + { + case unknown_symbol_resolver::e_usr_variable_type : + create_result = symtab.create_variable(symbol, default_value); + break; + + case unknown_symbol_resolver::e_usr_constant_type : + create_result = symtab.add_constant(symbol, default_value); + break; + + default : create_result = false; + } + + if (create_result) + { + expression_node_ptr var = symtab_store_.get_variable(symbol); + + if (var) + { + if (symtab_store_.is_constant_node(symbol)) + { + var = expression_generator_(var->value()); + } + + lodge_symbol(symbol, e_st_variable); + + if (!post_variable_process(symbol)) + return error_node(); + + next_token(); + + return var; + } + } + } + + set_error(make_error( + parser_error::e_symtab, + current_token(), + "ERR207 - Failed to create variable: '" + symbol + "'" + + (error_message.empty() ? "" : " - " + error_message), + exprtk_error_location)); + + } + else if (unknown_symbol_resolver::e_usrmode_extended == unknown_symbol_resolver_->mode) + { + if (unknown_symbol_resolver_->process(symbol, symtab, error_message)) + { + expression_node_ptr result = parse_symtab_symbol(); + + if (result) + { + return result; + } + } + + set_error(make_error( + parser_error::e_symtab, + current_token(), + "ERR208 - Failed to resolve symbol: '" + symbol + "'" + + (error_message.empty() ? "" : " - " + error_message), + exprtk_error_location)); + } + + return error_node(); + } + } + + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR209 - Undefined symbol: '" + symbol + "'", + exprtk_error_location)); + + return error_node(); + } + + inline expression_node_ptr parse_symbol() + { + static const std::string symbol_if = "if" ; + static const std::string symbol_while = "while" ; + static const std::string symbol_repeat = "repeat" ; + static const std::string symbol_for = "for" ; + static const std::string symbol_switch = "switch" ; + static const std::string symbol_null = "null" ; + static const std::string symbol_break = "break" ; + static const std::string symbol_continue = "continue"; + static const std::string symbol_var = "var" ; + static const std::string symbol_swap = "swap" ; + static const std::string symbol_return = "return" ; + static const std::string symbol_not = "not" ; + + const std::string symbol = current_token().value; + + if (valid_vararg_operation(symbol)) + { + return parse_vararg_function(); + } + else if (details::imatch(symbol, symbol_not)) + { + return parse_not_statement(); + } + else if (valid_base_operation(symbol)) + { + return parse_base_operation(); + } + else if ( + details::imatch(symbol, symbol_if) && + settings_.control_struct_enabled(symbol) + ) + { + return parse_conditional_statement(); + } + else if ( + details::imatch(symbol, symbol_while) && + settings_.control_struct_enabled(symbol) + ) + { + return parse_while_loop(); + } + else if ( + details::imatch(symbol, symbol_repeat) && + settings_.control_struct_enabled(symbol) + ) + { + return parse_repeat_until_loop(); + } + else if ( + details::imatch(symbol, symbol_for) && + settings_.control_struct_enabled(symbol) + ) + { + return parse_for_loop(); + } + else if ( + details::imatch(symbol, symbol_switch) && + settings_.control_struct_enabled(symbol) + ) + { + return parse_switch_statement(); + } + else if (details::is_valid_sf_symbol(symbol)) + { + return parse_special_function(); + } + else if (details::imatch(symbol, symbol_null)) + { + return parse_null_statement(); + } + #ifndef exprtk_disable_break_continue + else if (details::imatch(symbol, symbol_break)) + { + return parse_break_statement(); + } + else if (details::imatch(symbol, symbol_continue)) + { + return parse_continue_statement(); + } + #endif + else if (details::imatch(symbol, symbol_var)) + { + return parse_define_var_statement(); + } + else if (details::imatch(symbol, symbol_swap)) + { + return parse_swap_statement(); + } + #ifndef exprtk_disable_return_statement + else if ( + details::imatch(symbol, symbol_return) && + settings_.control_struct_enabled(symbol) + ) + { + return parse_return_statement(); + } + #endif + else if (symtab_store_.valid() || !sem_.empty()) + { + return parse_symtab_symbol(); + } + else + { + set_error(make_error( + parser_error::e_symtab, + current_token(), + "ERR210 - Unknown variable or function encountered. Symbol table(s) " + "is either invalid or does not contain symbol: '" + symbol + "'", + exprtk_error_location)); + + return error_node(); + } + } + + inline expression_node_ptr parse_branch(precedence_level precedence = e_level00) + { + stack_limit_handler slh(*this); + + if (!slh) + { + return error_node(); + } + + expression_node_ptr branch = error_node(); + + if (token_t::e_number == current_token().type) + { + T numeric_value = T(0); + + if (details::string_to_real(current_token().value, numeric_value)) + { + expression_node_ptr literal_exp = expression_generator_(numeric_value); + + if (0 == literal_exp) + { + set_error(make_error( + parser_error::e_numeric, + current_token(), + "ERR211 - Failed generate node for scalar: '" + current_token().value + "'", + exprtk_error_location)); + + return error_node(); + } + + next_token(); + branch = literal_exp; + } + else + { + set_error(make_error( + parser_error::e_numeric, + current_token(), + "ERR212 - Failed to convert '" + current_token().value + "' to a number", + exprtk_error_location)); + + return error_node(); + } + } + else if (token_t::e_symbol == current_token().type) + { + branch = parse_symbol(); + } + #ifndef exprtk_disable_string_capabilities + else if (token_t::e_string == current_token().type) + { + branch = parse_const_string(); + } + #endif + else if (token_t::e_lbracket == current_token().type) + { + next_token(); + + if (0 == (branch = parse_expression())) + return error_node(); + else if (token_is(token_t::e_eof)) + {} + else if (!token_is(token_t::e_rbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR213 - Expected ')' instead of: '" + current_token().value + "'", + exprtk_error_location)); + + details::free_node(node_allocator_,branch); + + return error_node(); + } + else if (!post_bracket_process(token_t::e_lbracket,branch)) + { + details::free_node(node_allocator_,branch); + + return error_node(); + } + + parse_pending_vector_index_operator(branch); + } + else if (token_t::e_lsqrbracket == current_token().type) + { + next_token(); + + if (0 == (branch = parse_expression())) + return error_node(); + else if (!token_is(token_t::e_rsqrbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR214 - Expected ']' instead of: '" + current_token().value + "'", + exprtk_error_location)); + + details::free_node(node_allocator_,branch); + + return error_node(); + } + else if (!post_bracket_process(token_t::e_lsqrbracket,branch)) + { + details::free_node(node_allocator_,branch); + + return error_node(); + } + } + else if (token_t::e_lcrlbracket == current_token().type) + { + next_token(); + + if (0 == (branch = parse_expression())) + return error_node(); + else if (!token_is(token_t::e_rcrlbracket)) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR215 - Expected '}' instead of: '" + current_token().value + "'", + exprtk_error_location)); + + details::free_node(node_allocator_,branch); + + return error_node(); + } + else if (!post_bracket_process(token_t::e_lcrlbracket,branch)) + { + details::free_node(node_allocator_,branch); + + return error_node(); + } + } + else if (token_t::e_sub == current_token().type) + { + next_token(); + branch = parse_expression(e_level11); + + if ( + branch && + !( + details::is_neg_unary_node (branch) && + simplify_unary_negation_branch(branch) + ) + ) + { + expression_node_ptr result = expression_generator_(details::e_neg,branch); + + if (0 == result) + { + details::free_node(node_allocator_,branch); + + return error_node(); + } + else + branch = result; + } + } + else if (token_t::e_add == current_token().type) + { + next_token(); + branch = parse_expression(e_level13); + } + else if (token_t::e_eof == current_token().type) + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR216 - Premature end of expression[1]", + exprtk_error_location)); + + return error_node(); + } + else + { + set_error(make_error( + parser_error::e_syntax, + current_token(), + "ERR217 - Premature end of expression[2]", + exprtk_error_location)); + + return error_node(); + } + + if ( + branch && + (e_level00 == precedence) && + token_is(token_t::e_ternary,prsrhlpr_t::e_hold) + ) + { + branch = parse_ternary_conditional_statement(branch); + } + + parse_pending_string_rangesize(branch); + + return branch; + } + + template + class expression_generator + { + public: + + typedef details::expression_node* expression_node_ptr; + typedef expression_node_ptr (*synthesize_functor_t)(expression_generator&, const details::operator_type& operation, expression_node_ptr (&branch)[2]); + typedef std::map synthesize_map_t; + typedef typename exprtk::parser parser_t; + typedef const Type& vtype; + typedef const Type ctype; + + inline void init_synthesize_map() + { + #ifndef exprtk_disable_enhanced_features + synthesize_map_["(v)o(v)"] = synthesize_vov_expression::process; + synthesize_map_["(c)o(v)"] = synthesize_cov_expression::process; + synthesize_map_["(v)o(c)"] = synthesize_voc_expression::process; + + #define register_synthezier(S) \ + synthesize_map_[S ::node_type::id()] = S ::process; \ + + register_synthezier(synthesize_vovov_expression0) + register_synthezier(synthesize_vovov_expression1) + register_synthezier(synthesize_vovoc_expression0) + register_synthezier(synthesize_vovoc_expression1) + register_synthezier(synthesize_vocov_expression0) + register_synthezier(synthesize_vocov_expression1) + register_synthezier(synthesize_covov_expression0) + register_synthezier(synthesize_covov_expression1) + register_synthezier(synthesize_covoc_expression0) + register_synthezier(synthesize_covoc_expression1) + register_synthezier(synthesize_cocov_expression1) + register_synthezier(synthesize_vococ_expression0) + + register_synthezier(synthesize_vovovov_expression0) + register_synthezier(synthesize_vovovoc_expression0) + register_synthezier(synthesize_vovocov_expression0) + register_synthezier(synthesize_vocovov_expression0) + register_synthezier(synthesize_covovov_expression0) + register_synthezier(synthesize_covocov_expression0) + register_synthezier(synthesize_vocovoc_expression0) + register_synthezier(synthesize_covovoc_expression0) + register_synthezier(synthesize_vococov_expression0) + + register_synthezier(synthesize_vovovov_expression1) + register_synthezier(synthesize_vovovoc_expression1) + register_synthezier(synthesize_vovocov_expression1) + register_synthezier(synthesize_vocovov_expression1) + register_synthezier(synthesize_covovov_expression1) + register_synthezier(synthesize_covocov_expression1) + register_synthezier(synthesize_vocovoc_expression1) + register_synthezier(synthesize_covovoc_expression1) + register_synthezier(synthesize_vococov_expression1) + + register_synthezier(synthesize_vovovov_expression2) + register_synthezier(synthesize_vovovoc_expression2) + register_synthezier(synthesize_vovocov_expression2) + register_synthezier(synthesize_vocovov_expression2) + register_synthezier(synthesize_covovov_expression2) + register_synthezier(synthesize_covocov_expression2) + register_synthezier(synthesize_vocovoc_expression2) + register_synthezier(synthesize_covovoc_expression2) + + register_synthezier(synthesize_vovovov_expression3) + register_synthezier(synthesize_vovovoc_expression3) + register_synthezier(synthesize_vovocov_expression3) + register_synthezier(synthesize_vocovov_expression3) + register_synthezier(synthesize_covovov_expression3) + register_synthezier(synthesize_covocov_expression3) + register_synthezier(synthesize_vocovoc_expression3) + register_synthezier(synthesize_covovoc_expression3) + register_synthezier(synthesize_vococov_expression3) + + register_synthezier(synthesize_vovovov_expression4) + register_synthezier(synthesize_vovovoc_expression4) + register_synthezier(synthesize_vovocov_expression4) + register_synthezier(synthesize_vocovov_expression4) + register_synthezier(synthesize_covovov_expression4) + register_synthezier(synthesize_covocov_expression4) + register_synthezier(synthesize_vocovoc_expression4) + register_synthezier(synthesize_covovoc_expression4) + + #undef register_synthezier + #endif + } + + inline void set_parser(parser_t& p) + { + parser_ = &p; + } + + inline void set_uom(unary_op_map_t& unary_op_map) + { + unary_op_map_ = &unary_op_map; + } + + inline void set_bom(binary_op_map_t& binary_op_map) + { + binary_op_map_ = &binary_op_map; + } + + inline void set_ibom(inv_binary_op_map_t& inv_binary_op_map) + { + inv_binary_op_map_ = &inv_binary_op_map; + } + + inline void set_sf3m(sf3_map_t& sf3_map) + { + sf3_map_ = &sf3_map; + } + + inline void set_sf4m(sf4_map_t& sf4_map) + { + sf4_map_ = &sf4_map; + } + + inline void set_allocator(details::node_allocator& na) + { + node_allocator_ = &na; + } + + inline void set_strength_reduction_state(const bool enabled) + { + strength_reduction_enabled_ = enabled; + } + + inline bool strength_reduction_enabled() const + { + return strength_reduction_enabled_; + } + + inline bool valid_operator(const details::operator_type& operation, binary_functor_t& bop) + { + typename binary_op_map_t::iterator bop_itr = binary_op_map_->find(operation); + + if (binary_op_map_->end() == bop_itr) + return false; + + bop = bop_itr->second; + + return true; + } + + inline bool valid_operator(const details::operator_type& operation, unary_functor_t& uop) + { + typename unary_op_map_t::iterator uop_itr = unary_op_map_->find(operation); + + if ((*unary_op_map_).end() == uop_itr) + return false; + + uop = uop_itr->second; + + return true; + } + + inline details::operator_type get_operator(const binary_functor_t& bop) const + { + return (*inv_binary_op_map_).find(bop)->second; + } + + inline expression_node_ptr operator() (const Type& v) const + { + return node_allocator_->allocate(v); + } + + #ifndef exprtk_disable_string_capabilities + inline expression_node_ptr operator() (const std::string& s) const + { + return node_allocator_->allocate(s); + } + + inline expression_node_ptr operator() (std::string& s, range_t& rp) const + { + return node_allocator_->allocate_rr(s,rp); + } + + inline expression_node_ptr operator() (const std::string& s, range_t& rp) const + { + return node_allocator_->allocate_tt(s,rp); + } + + inline expression_node_ptr operator() (expression_node_ptr branch, range_t& rp) const + { + if (is_generally_string_node(branch)) + return node_allocator_->allocate_tt(branch,rp); + else + return error_node(); + } + #endif + + inline bool unary_optimisable(const details::operator_type& operation) const + { + return (details::e_abs == operation) || (details::e_acos == operation) || + (details::e_acosh == operation) || (details::e_asin == operation) || + (details::e_asinh == operation) || (details::e_atan == operation) || + (details::e_atanh == operation) || (details::e_ceil == operation) || + (details::e_cos == operation) || (details::e_cosh == operation) || + (details::e_exp == operation) || (details::e_expm1 == operation) || + (details::e_floor == operation) || (details::e_log == operation) || + (details::e_log10 == operation) || (details::e_log2 == operation) || + (details::e_log1p == operation) || (details::e_neg == operation) || + (details::e_pos == operation) || (details::e_round == operation) || + (details::e_sin == operation) || (details::e_sinc == operation) || + (details::e_sinh == operation) || (details::e_sqrt == operation) || + (details::e_tan == operation) || (details::e_tanh == operation) || + (details::e_cot == operation) || (details::e_sec == operation) || + (details::e_csc == operation) || (details::e_r2d == operation) || + (details::e_d2r == operation) || (details::e_d2g == operation) || + (details::e_g2d == operation) || (details::e_notl == operation) || + (details::e_sgn == operation) || (details::e_erf == operation) || + (details::e_erfc == operation) || (details::e_ncdf == operation) || + (details::e_frac == operation) || (details::e_trunc == operation) ; + } + + inline bool sf3_optimisable(const std::string& sf3id, trinary_functor_t& tfunc) const + { + typename sf3_map_t::const_iterator itr = sf3_map_->find(sf3id); + + if (sf3_map_->end() == itr) + return false; + else + tfunc = itr->second.first; + + return true; + } + + inline bool sf4_optimisable(const std::string& sf4id, quaternary_functor_t& qfunc) const + { + typename sf4_map_t::const_iterator itr = sf4_map_->find(sf4id); + + if (sf4_map_->end() == itr) + return false; + else + qfunc = itr->second.first; + + return true; + } + + inline bool sf3_optimisable(const std::string& sf3id, details::operator_type& operation) const + { + typename sf3_map_t::const_iterator itr = sf3_map_->find(sf3id); + + if (sf3_map_->end() == itr) + return false; + else + operation = itr->second.second; + + return true; + } + + inline bool sf4_optimisable(const std::string& sf4id, details::operator_type& operation) const + { + typename sf4_map_t::const_iterator itr = sf4_map_->find(sf4id); + + if (sf4_map_->end() == itr) + return false; + else + operation = itr->second.second; + + return true; + } + + inline expression_node_ptr operator() (const details::operator_type& operation, expression_node_ptr (&branch)[1]) + { + if (0 == branch[0]) + { + return error_node(); + } + else if (details::is_null_node(branch[0])) + { + return branch[0]; + } + else if (details::is_break_node(branch[0])) + { + return error_node(); + } + else if (details::is_continue_node(branch[0])) + { + return error_node(); + } + else if (details::is_constant_node(branch[0])) + { + return synthesize_expression(operation,branch); + } + else if (unary_optimisable(operation) && details::is_variable_node(branch[0])) + { + return synthesize_uv_expression(operation,branch); + } + else if (unary_optimisable(operation) && details::is_ivector_node(branch[0])) + { + return synthesize_uvec_expression(operation,branch); + } + else + return synthesize_unary_expression(operation,branch); + } + + inline bool is_assignment_operation(const details::operator_type& operation) const + { + return ( + (details::e_addass == operation) || + (details::e_subass == operation) || + (details::e_mulass == operation) || + (details::e_divass == operation) || + (details::e_modass == operation) + ) && + parser_->settings_.assignment_enabled(operation); + } + + #ifndef exprtk_disable_string_capabilities + inline bool valid_string_operation(const details::operator_type& operation) const + { + return (details::e_add == operation) || + (details::e_lt == operation) || + (details::e_lte == operation) || + (details::e_gt == operation) || + (details::e_gte == operation) || + (details::e_eq == operation) || + (details::e_ne == operation) || + (details::e_in == operation) || + (details::e_like == operation) || + (details::e_ilike == operation) || + (details::e_assign == operation) || + (details::e_addass == operation) || + (details::e_swap == operation) ; + } + #else + inline bool valid_string_operation(const details::operator_type&) const + { + return false; + } + #endif + + inline std::string to_str(const details::operator_type& operation) const + { + switch (operation) + { + case details::e_add : return "+" ; + case details::e_sub : return "-" ; + case details::e_mul : return "*" ; + case details::e_div : return "/" ; + case details::e_mod : return "%" ; + case details::e_pow : return "^" ; + case details::e_lt : return "<" ; + case details::e_lte : return "<=" ; + case details::e_gt : return ">" ; + case details::e_gte : return ">=" ; + case details::e_eq : return "==" ; + case details::e_ne : return "!=" ; + case details::e_and : return "and" ; + case details::e_nand : return "nand" ; + case details::e_or : return "or" ; + case details::e_nor : return "nor" ; + case details::e_xor : return "xor" ; + case details::e_xnor : return "xnor" ; + default : return "UNKNOWN"; + } + } + + inline bool operation_optimisable(const details::operator_type& operation) const + { + return (details::e_add == operation) || + (details::e_sub == operation) || + (details::e_mul == operation) || + (details::e_div == operation) || + (details::e_mod == operation) || + (details::e_pow == operation) || + (details::e_lt == operation) || + (details::e_lte == operation) || + (details::e_gt == operation) || + (details::e_gte == operation) || + (details::e_eq == operation) || + (details::e_ne == operation) || + (details::e_and == operation) || + (details::e_nand == operation) || + (details::e_or == operation) || + (details::e_nor == operation) || + (details::e_xor == operation) || + (details::e_xnor == operation) ; + } + + inline std::string branch_to_id(expression_node_ptr branch) const + { + static const std::string null_str ("(null)" ); + static const std::string const_str ("(c)" ); + static const std::string var_str ("(v)" ); + static const std::string vov_str ("(vov)" ); + static const std::string cov_str ("(cov)" ); + static const std::string voc_str ("(voc)" ); + static const std::string str_str ("(s)" ); + static const std::string strrng_str ("(rngs)" ); + static const std::string cs_str ("(cs)" ); + static const std::string cstrrng_str("(crngs)"); + + if (details::is_null_node(branch)) + return null_str; + else if (details::is_constant_node(branch)) + return const_str; + else if (details::is_variable_node(branch)) + return var_str; + else if (details::is_vov_node(branch)) + return vov_str; + else if (details::is_cov_node(branch)) + return cov_str; + else if (details::is_voc_node(branch)) + return voc_str; + else if (details::is_string_node(branch)) + return str_str; + else if (details::is_const_string_node(branch)) + return cs_str; + else if (details::is_string_range_node(branch)) + return strrng_str; + else if (details::is_const_string_range_node(branch)) + return cstrrng_str; + else if (details::is_t0ot1ot2_node(branch)) + return "(" + dynamic_cast*>(branch)->type_id() + ")"; + else if (details::is_t0ot1ot2ot3_node(branch)) + return "(" + dynamic_cast*>(branch)->type_id() + ")"; + else + return "ERROR"; + } + + inline std::string branch_to_id(expression_node_ptr (&branch)[2]) const + { + return branch_to_id(branch[0]) + std::string("o") + branch_to_id(branch[1]); + } + + inline bool cov_optimisable(const details::operator_type& operation, expression_node_ptr (&branch)[2]) const + { + if (!operation_optimisable(operation)) + return false; + else + return details::is_constant_node(branch[0]) && + details::is_variable_node(branch[1]) ; + } + + inline bool voc_optimisable(const details::operator_type& operation, expression_node_ptr (&branch)[2]) const + { + if (!operation_optimisable(operation)) + return false; + else + return details::is_variable_node(branch[0]) && + details::is_constant_node(branch[1]) ; + } + + inline bool vov_optimisable(const details::operator_type& operation, expression_node_ptr (&branch)[2]) const + { + if (!operation_optimisable(operation)) + return false; + else + return details::is_variable_node(branch[0]) && + details::is_variable_node(branch[1]) ; + } + + inline bool cob_optimisable(const details::operator_type& operation, expression_node_ptr (&branch)[2]) const + { + if (!operation_optimisable(operation)) + return false; + else + return details::is_constant_node(branch[0]) && + !details::is_constant_node(branch[1]) ; + } + + inline bool boc_optimisable(const details::operator_type& operation, expression_node_ptr (&branch)[2]) const + { + if (!operation_optimisable(operation)) + return false; + else + return !details::is_constant_node(branch[0]) && + details::is_constant_node(branch[1]) ; + } + + inline bool cocob_optimisable(const details::operator_type& operation, expression_node_ptr (&branch)[2]) const + { + if ( + (details::e_add == operation) || + (details::e_sub == operation) || + (details::e_mul == operation) || + (details::e_div == operation) + ) + { + return (details::is_constant_node(branch[0]) && details::is_cob_node(branch[1])) || + (details::is_constant_node(branch[1]) && details::is_cob_node(branch[0])) ; + } + else + return false; + } + + inline bool coboc_optimisable(const details::operator_type& operation, expression_node_ptr (&branch)[2]) const + { + if ( + (details::e_add == operation) || + (details::e_sub == operation) || + (details::e_mul == operation) || + (details::e_div == operation) + ) + { + return (details::is_constant_node(branch[0]) && details::is_boc_node(branch[1])) || + (details::is_constant_node(branch[1]) && details::is_boc_node(branch[0])) ; + } + else + return false; + } + + inline bool uvouv_optimisable(const details::operator_type& operation, expression_node_ptr (&branch)[2]) const + { + if (!operation_optimisable(operation)) + return false; + else + return details::is_uv_node(branch[0]) && + details::is_uv_node(branch[1]) ; + } + + inline bool vob_optimisable(const details::operator_type& operation, expression_node_ptr (&branch)[2]) const + { + if (!operation_optimisable(operation)) + return false; + else + return details::is_variable_node(branch[0]) && + !details::is_variable_node(branch[1]) ; + } + + inline bool bov_optimisable(const details::operator_type& operation, expression_node_ptr (&branch)[2]) const + { + if (!operation_optimisable(operation)) + return false; + else + return !details::is_variable_node(branch[0]) && + details::is_variable_node(branch[1]) ; + } + + inline bool binext_optimisable(const details::operator_type& operation, expression_node_ptr (&branch)[2]) const + { + if (!operation_optimisable(operation)) + return false; + else + return !details::is_constant_node(branch[0]) || + !details::is_constant_node(branch[1]) ; + } + + inline bool is_invalid_assignment_op(const details::operator_type& operation, expression_node_ptr (&branch)[2]) const + { + if (is_assignment_operation(operation)) + { + const bool b1_is_genstring = details::is_generally_string_node(branch[1]); + + if (details::is_string_node(branch[0])) + return !b1_is_genstring; + else + return ( + !details::is_variable_node (branch[0]) && + !details::is_vector_elem_node (branch[0]) && + !details::is_vector_celem_node (branch[0]) && + !details::is_vector_elem_rtc_node (branch[0]) && + !details::is_vector_celem_rtc_node (branch[0]) && + !details::is_rebasevector_elem_node (branch[0]) && + !details::is_rebasevector_celem_node (branch[0]) && + !details::is_rebasevector_elem_rtc_node (branch[0]) && + !details::is_rebasevector_celem_rtc_node(branch[0]) && + !details::is_vector_node (branch[0]) + ) + || b1_is_genstring; + } + else + return false; + } + + inline bool is_constpow_operation(const details::operator_type& operation, expression_node_ptr(&branch)[2]) const + { + if ( + !details::is_constant_node(branch[1]) || + details::is_constant_node(branch[0]) || + details::is_variable_node(branch[0]) || + details::is_vector_node (branch[0]) || + details::is_generally_string_node(branch[0]) + ) + return false; + + const Type c = static_cast*>(branch[1])->value(); + + return cardinal_pow_optimisable(operation, c); + } + + inline bool is_invalid_break_continue_op(expression_node_ptr (&branch)[2]) const + { + return ( + details::is_break_node (branch[0]) || + details::is_break_node (branch[1]) || + details::is_continue_node(branch[0]) || + details::is_continue_node(branch[1]) + ); + } + + inline bool is_invalid_string_op(const details::operator_type& operation, expression_node_ptr (&branch)[2]) const + { + const bool b0_string = is_generally_string_node(branch[0]); + const bool b1_string = is_generally_string_node(branch[1]); + + bool result = false; + + if (b0_string != b1_string) + result = true; + else if (!valid_string_operation(operation) && b0_string && b1_string) + result = true; + + if (result) + { + parser_->set_synthesis_error("Invalid string operation"); + } + + return result; + } + + inline bool is_invalid_string_op(const details::operator_type& operation, expression_node_ptr (&branch)[3]) const + { + const bool b0_string = is_generally_string_node(branch[0]); + const bool b1_string = is_generally_string_node(branch[1]); + const bool b2_string = is_generally_string_node(branch[2]); + + bool result = false; + + if ((b0_string != b1_string) || (b1_string != b2_string)) + result = true; + else if ((details::e_inrange != operation) && b0_string && b1_string && b2_string) + result = true; + + if (result) + { + parser_->set_synthesis_error("Invalid string operation"); + } + + return result; + } + + inline bool is_string_operation(const details::operator_type& operation, expression_node_ptr (&branch)[2]) const + { + const bool b0_string = is_generally_string_node(branch[0]); + const bool b1_string = is_generally_string_node(branch[1]); + + return (b0_string && b1_string && valid_string_operation(operation)); + } + + inline bool is_string_operation(const details::operator_type& operation, expression_node_ptr (&branch)[3]) const + { + const bool b0_string = is_generally_string_node(branch[0]); + const bool b1_string = is_generally_string_node(branch[1]); + const bool b2_string = is_generally_string_node(branch[2]); + + return (b0_string && b1_string && b2_string && (details::e_inrange == operation)); + } + + #ifndef exprtk_disable_sc_andor + inline bool is_shortcircuit_expression(const details::operator_type& operation) const + { + return ( + (details::e_scand == operation) || + (details::e_scor == operation) + ); + } + #else + inline bool is_shortcircuit_expression(const details::operator_type&) const + { + return false; + } + #endif + + inline bool is_null_present(expression_node_ptr (&branch)[2]) const + { + return ( + details::is_null_node(branch[0]) || + details::is_null_node(branch[1]) + ); + } + + inline bool is_vector_eqineq_logic_operation(const details::operator_type& operation, expression_node_ptr (&branch)[2]) const + { + if (!is_ivector_node(branch[0]) && !is_ivector_node(branch[1])) + return false; + else + return ( + (details::e_lt == operation) || + (details::e_lte == operation) || + (details::e_gt == operation) || + (details::e_gte == operation) || + (details::e_eq == operation) || + (details::e_ne == operation) || + (details::e_equal == operation) || + (details::e_and == operation) || + (details::e_nand == operation) || + (details::e_or == operation) || + (details::e_nor == operation) || + (details::e_xor == operation) || + (details::e_xnor == operation) + ); + } + + inline bool is_vector_arithmetic_operation(const details::operator_type& operation, expression_node_ptr (&branch)[2]) const + { + if (!is_ivector_node(branch[0]) && !is_ivector_node(branch[1])) + return false; + else + return ( + (details::e_add == operation) || + (details::e_sub == operation) || + (details::e_mul == operation) || + (details::e_div == operation) || + (details::e_pow == operation) + ); + } + + inline expression_node_ptr operator() (const details::operator_type& operation, expression_node_ptr (&branch)[2]) + { + if ((0 == branch[0]) || (0 == branch[1])) + { + parser_->set_error(parser_error::make_error( + parser_error::e_syntax, + parser_->current_state().token, + "ERR218 - Invalid branches received for operator '" + details::to_str(operation) + "'", + exprtk_error_location)); + + return error_node(); + } + else if (is_invalid_string_op(operation,branch)) + { + parser_->set_error(parser_error::make_error( + parser_error::e_syntax, + parser_->current_state().token, + "ERR219 - Invalid branch pair for string operator '" + details::to_str(operation) + "'", + exprtk_error_location)); + + return error_node(); + } + else if (is_invalid_assignment_op(operation,branch)) + { + parser_->set_error(parser_error::make_error( + parser_error::e_syntax, + parser_->current_state().token, + "ERR220 - Invalid branch pair for assignment operator '" + details::to_str(operation) + "'", + exprtk_error_location)); + + return error_node(); + } + else if (is_invalid_break_continue_op(branch)) + { + parser_->set_error(parser_error::make_error( + parser_error::e_syntax, + parser_->current_state().token, + "ERR221 - Invalid branch pair for break/continue operator '" + details::to_str(operation) + "'", + exprtk_error_location)); + + return error_node(); + } + else if (details::e_assign == operation) + { + return synthesize_assignment_expression(operation, branch); + } + else if (details::e_swap == operation) + { + return synthesize_swap_expression(branch); + } + else if (is_assignment_operation(operation)) + { + return synthesize_assignment_operation_expression(operation, branch); + } + else if (is_vector_eqineq_logic_operation(operation, branch)) + { + return synthesize_veceqineqlogic_operation_expression(operation, branch); + } + else if (is_vector_arithmetic_operation(operation, branch)) + { + return synthesize_vecarithmetic_operation_expression(operation, branch); + } + else if (is_shortcircuit_expression(operation)) + { + return synthesize_shortcircuit_expression(operation, branch); + } + else if (is_string_operation(operation, branch)) + { + return synthesize_string_expression(operation, branch); + } + else if (is_null_present(branch)) + { + return synthesize_null_expression(operation, branch); + } + #ifndef exprtk_disable_cardinal_pow_optimisation + else if (is_constpow_operation(operation, branch)) + { + return cardinal_pow_optimisation(branch); + } + #endif + + expression_node_ptr result = error_node(); + + #ifndef exprtk_disable_enhanced_features + if (synthesize_expression(operation, branch, result)) + { + return result; + } + else + #endif + + { + /* + Possible reductions: + 1. c o cob -> cob + 2. cob o c -> cob + 3. c o boc -> boc + 4. boc o c -> boc + */ + result = error_node(); + + if (cocob_optimisable(operation, branch)) + { + result = synthesize_cocob_expression::process((*this), operation, branch); + } + else if (coboc_optimisable(operation, branch) && (0 == result)) + { + result = synthesize_coboc_expression::process((*this), operation, branch); + } + + if (result) + return result; + } + + if (uvouv_optimisable(operation, branch)) + { + return synthesize_uvouv_expression(operation, branch); + } + else if (vob_optimisable(operation, branch)) + { + return synthesize_vob_expression::process((*this), operation, branch); + } + else if (bov_optimisable(operation, branch)) + { + return synthesize_bov_expression::process((*this), operation, branch); + } + else if (cob_optimisable(operation, branch)) + { + return synthesize_cob_expression::process((*this), operation, branch); + } + else if (boc_optimisable(operation, branch)) + { + return synthesize_boc_expression::process((*this), operation, branch); + } + #ifndef exprtk_disable_enhanced_features + else if (cov_optimisable(operation, branch)) + { + return synthesize_cov_expression::process((*this), operation, branch); + } + #endif + else if (binext_optimisable(operation, branch)) + { + return synthesize_binary_ext_expression::process((*this), operation, branch); + } + else + return synthesize_expression(operation, branch); + } + + inline expression_node_ptr operator() (const details::operator_type& operation, expression_node_ptr (&branch)[3]) + { + if ( + (0 == branch[0]) || + (0 == branch[1]) || + (0 == branch[2]) + ) + { + details::free_all_nodes(*node_allocator_,branch); + + parser_->set_error(parser_error::make_error( + parser_error::e_syntax, + parser_->current_state().token, + "ERR222 - Invalid branches operator '" + details::to_str(operation) + "'", + exprtk_error_location)); + + return error_node(); + } + else if (is_invalid_string_op(operation, branch)) + { + parser_->set_error(parser_error::make_error( + parser_error::e_syntax, + parser_->current_state().token, + "ERR223 - Invalid branches for string operator '" + details::to_str(operation) + "'", + exprtk_error_location)); + + return error_node(); + } + else if (is_string_operation(operation, branch)) + { + return synthesize_string_expression(operation, branch); + } + else + return synthesize_expression(operation, branch); + } + + inline expression_node_ptr operator() (const details::operator_type& operation, expression_node_ptr (&branch)[4]) + { + return synthesize_expression(operation,branch); + } + + inline expression_node_ptr operator() (const details::operator_type& operation, expression_node_ptr b0) + { + expression_node_ptr branch[1] = { b0 }; + return (*this)(operation,branch); + } + + inline expression_node_ptr operator() (const details::operator_type& operation, expression_node_ptr& b0, expression_node_ptr& b1) + { + expression_node_ptr result = error_node(); + + if ((0 != b0) && (0 != b1)) + { + expression_node_ptr branch[2] = { b0, b1 }; + result = expression_generator::operator()(operation, branch); + b0 = branch[0]; + b1 = branch[1]; + } + + return result; + } + + inline expression_node_ptr conditional(expression_node_ptr condition, + expression_node_ptr consequent, + expression_node_ptr alternative) const + { + if ((0 == condition) || (0 == consequent)) + { + details::free_node(*node_allocator_, condition ); + details::free_node(*node_allocator_, consequent ); + details::free_node(*node_allocator_, alternative); + + const std::string invalid_branches = + ((0 == condition ) ? std::string("condition ") : "") + + ((0 == consequent) ? std::string("consequent") : "") ; + + parser_->set_error(parser_error::make_error( + parser_error::e_parser, + parser_->current_state().token, + "ERR224 - Invalid " + invalid_branches + " for conditional statement", + exprtk_error_location)); + + return error_node(); + } + // Can the condition be immediately evaluated? if so optimise. + else if (details::is_constant_node(condition)) + { + // True branch + if (details::is_true(condition)) + { + details::free_node(*node_allocator_, condition ); + details::free_node(*node_allocator_, alternative); + + return consequent; + } + // False branch + else + { + details::free_node(*node_allocator_, condition ); + details::free_node(*node_allocator_, consequent); + + if (alternative) + return alternative; + else + return node_allocator_->allocate >(); + } + } + + expression_node_ptr result = error_node(); + std::string node_name = "Unknown!"; + + if ((0 != consequent) && (0 != alternative)) + { + result = node_allocator_->allocate(condition, consequent, alternative); + node_name = "conditional_node_t"; + } + else + { + result = node_allocator_->allocate(condition, consequent); + node_name = "cons_conditional_node_t"; + } + + if (result && result->valid()) + { + return result; + } + + parser_->set_error(parser_error::make_error( + parser_error::e_parser, + token_t(), + "ERR225 - Failed to synthesize node: " + node_name, + exprtk_error_location)); + + details::free_node(*node_allocator_, result); + return error_node(); + } + + #ifndef exprtk_disable_string_capabilities + inline expression_node_ptr conditional_string(expression_node_ptr condition, + expression_node_ptr consequent, + expression_node_ptr alternative) const + { + if ((0 == condition) || (0 == consequent)) + { + details::free_node(*node_allocator_, condition ); + details::free_node(*node_allocator_, consequent ); + details::free_node(*node_allocator_, alternative); + + const std::string invalid_branches = + ((0 == condition ) ? std::string("condition ") : "") + + ((0 == consequent) ? std::string("consequent") : "") ; + + parser_->set_error(parser_error::make_error( + parser_error::e_parser, + parser_->current_state().token, + "ERR226 - Invalid " + invalid_branches + " for string conditional statement", + exprtk_error_location)); + + return error_node(); + } + // Can the condition be immediately evaluated? if so optimise. + else if (details::is_constant_node(condition)) + { + // True branch + if (details::is_true(condition)) + { + details::free_node(*node_allocator_, condition ); + details::free_node(*node_allocator_, alternative); + + return consequent; + } + // False branch + else + { + details::free_node(*node_allocator_, condition ); + details::free_node(*node_allocator_, consequent); + + if (alternative) + return alternative; + else + return node_allocator_-> + allocate_c >(""); + } + } + else if ((0 != consequent) && (0 != alternative)) + { + expression_node_ptr result = + node_allocator_->allocate(condition, consequent, alternative); + + if (result && result->valid()) + { + return result; + } + + parser_->set_error(parser_error::make_error( + parser_error::e_parser, + token_t(), + "ERR227 - Failed to synthesize node: conditional_string_node_t", + exprtk_error_location)); + + details::free_node(*node_allocator_, result); + } + + return error_node(); + } + #else + inline expression_node_ptr conditional_string(expression_node_ptr, + expression_node_ptr, + expression_node_ptr) const + { + return error_node(); + } + #endif + + inline expression_node_ptr conditional_vector(expression_node_ptr condition, + expression_node_ptr consequent, + expression_node_ptr alternative) const + { + if ((0 == condition) || (0 == consequent)) + { + details::free_node(*node_allocator_, condition ); + details::free_node(*node_allocator_, consequent ); + details::free_node(*node_allocator_, alternative); + + const std::string invalid_branches = + ((0 == condition ) ? std::string("condition ") : "") + + ((0 == consequent) ? std::string("consequent") : "") ; + + parser_->set_error(parser_error::make_error( + parser_error::e_parser, + parser_->current_state().token, + "ERR228 - Invalid " + invalid_branches + " for vector conditional statement", + exprtk_error_location)); + + return error_node(); + } + // Can the condition be immediately evaluated? if so optimise. + else if (details::is_constant_node(condition)) + { + // True branch + if (details::is_true(condition)) + { + details::free_node(*node_allocator_, condition ); + details::free_node(*node_allocator_, alternative); + + return consequent; + } + // False branch + else + { + details::free_node(*node_allocator_, condition ); + details::free_node(*node_allocator_, consequent); + + if (alternative) + return alternative; + else + return node_allocator_->allocate >(); + + } + } + else if ((0 != consequent) && (0 != alternative)) + { + return node_allocator_-> + allocate(condition, consequent, alternative); + } + else + return error_node(); + } + + inline loop_runtime_check_ptr get_loop_runtime_check(const loop_runtime_check::loop_types loop_type) const + { + if ( + parser_->loop_runtime_check_ && + (loop_type == (parser_->loop_runtime_check_->loop_set & loop_type)) + ) + { + return parser_->loop_runtime_check_; + } + + return loop_runtime_check_ptr(0); + } + + inline vector_access_runtime_check_ptr get_vector_access_runtime_check() const + { + return parser_->vector_access_runtime_check_; + } + + inline expression_node_ptr while_loop(expression_node_ptr& condition, + expression_node_ptr& branch, + const bool break_continue_present = false) const + { + if (!break_continue_present && details::is_constant_node(condition)) + { + expression_node_ptr result = error_node(); + if (details::is_true(condition)) + { + // Infinite loops are not allowed. + + parser_->set_error(parser_error::make_error( + parser_error::e_parser, + parser_->current_state().token, + "ERR229 - Infinite loop condition with 'break' not allowed in while-loops", + exprtk_error_location)); + + result = error_node(); + } + else + result = node_allocator_->allocate >(); + + details::free_node(*node_allocator_, condition); + details::free_node(*node_allocator_, branch ); + + return result; + } + else if (details::is_null_node(condition)) + { + details::free_node(*node_allocator_,condition); + + return branch; + } + + loop_runtime_check_ptr rtc = get_loop_runtime_check(loop_runtime_check::e_while_loop); + + if (!break_continue_present) + { + if (rtc) + return node_allocator_->allocate + (condition, branch, rtc); + else + return node_allocator_->allocate + (condition, branch); + } + #ifndef exprtk_disable_break_continue + else + { + if (rtc) + return node_allocator_->allocate + (condition, branch, rtc); + else + return node_allocator_->allocate + (condition, branch); + } + #else + return error_node(); + #endif + } + + inline expression_node_ptr repeat_until_loop(expression_node_ptr& condition, + expression_node_ptr& branch, + const bool break_continue_present = false) const + { + if (!break_continue_present && details::is_constant_node(condition)) + { + if ( + details::is_true(condition) && + details::is_constant_node(branch) + ) + { + free_node(*node_allocator_,condition); + + return branch; + } + + details::free_node(*node_allocator_, condition); + details::free_node(*node_allocator_, branch ); + + return error_node(); + } + else if (details::is_null_node(condition)) + { + details::free_node(*node_allocator_,condition); + + return branch; + } + + loop_runtime_check_ptr rtc = get_loop_runtime_check(loop_runtime_check::e_repeat_until_loop); + + if (!break_continue_present) + { + if (rtc) + return node_allocator_->allocate + (condition, branch, rtc); + else + return node_allocator_->allocate + (condition, branch); + } + #ifndef exprtk_disable_break_continue + else + { + if (rtc) + return node_allocator_->allocate + (condition, branch, rtc); + else + return node_allocator_->allocate + (condition, branch); + } + #else + return error_node(); + #endif + } + + inline expression_node_ptr for_loop(expression_node_ptr& initialiser, + expression_node_ptr& condition, + expression_node_ptr& incrementor, + expression_node_ptr& loop_body, + bool break_continue_present = false) const + { + if (!break_continue_present && details::is_constant_node(condition)) + { + expression_node_ptr result = error_node(); + + if (details::is_true(condition)) + { + // Infinite loops are not allowed. + + parser_->set_error(parser_error::make_error( + parser_error::e_parser, + parser_->current_state().token, + "ERR230 - Infinite loop condition without 'break' not allowed in for-loop", + exprtk_error_location)); + + result = error_node(); + } + else + result = node_allocator_->allocate >(); + + details::free_node(*node_allocator_, initialiser); + details::free_node(*node_allocator_, condition ); + details::free_node(*node_allocator_, incrementor); + details::free_node(*node_allocator_, loop_body ); + + return result; + } + else if (details::is_null_node(condition) || (0 == condition)) + { + details::free_node(*node_allocator_, initialiser); + details::free_node(*node_allocator_, condition ); + details::free_node(*node_allocator_, incrementor); + + return loop_body; + } + + loop_runtime_check_ptr rtc = get_loop_runtime_check(loop_runtime_check::e_for_loop); + + if (!break_continue_present) + { + if (rtc) + return node_allocator_->allocate + ( + initialiser, + condition, + incrementor, + loop_body, + rtc + ); + else + return node_allocator_->allocate + ( + initialiser, + condition, + incrementor, + loop_body + ); + } + #ifndef exprtk_disable_break_continue + else + { + if (rtc) + return node_allocator_->allocate + ( + initialiser, + condition, + incrementor, + loop_body, + rtc + ); + else + return node_allocator_->allocate + ( + initialiser, + condition, + incrementor, + loop_body + ); + } + #else + return error_node(); + #endif + } + + template class Sequence> + inline expression_node_ptr const_optimise_switch(Sequence& arg_list) + { + expression_node_ptr result = error_node(); + + for (std::size_t i = 0; i < (arg_list.size() / 2); ++i) + { + expression_node_ptr condition = arg_list[(2 * i) ]; + expression_node_ptr consequent = arg_list[(2 * i) + 1]; + + if ((0 == result) && details::is_true(condition)) + { + result = consequent; + break; + } + } + + if (0 == result) + { + result = arg_list.back(); + } + + for (std::size_t i = 0; i < arg_list.size(); ++i) + { + expression_node_ptr current_expr = arg_list[i]; + + if (current_expr && (current_expr != result)) + { + free_node(*node_allocator_,current_expr); + } + } + + return result; + } + + template class Sequence> + inline expression_node_ptr const_optimise_mswitch(Sequence& arg_list) + { + expression_node_ptr result = error_node(); + + for (std::size_t i = 0; i < (arg_list.size() / 2); ++i) + { + expression_node_ptr condition = arg_list[(2 * i) ]; + expression_node_ptr consequent = arg_list[(2 * i) + 1]; + + if (details::is_true(condition)) + { + result = consequent; + } + } + + if (0 == result) + { + const T zero = T(0); + result = node_allocator_->allocate(zero); + } + + for (std::size_t i = 0; i < arg_list.size(); ++i) + { + expression_node_ptr& current_expr = arg_list[i]; + + if (current_expr && (current_expr != result)) + { + details::free_node(*node_allocator_,current_expr); + } + } + + return result; + } + + struct switch_nodes + { + typedef std::vector > arg_list_t; + + #define case_stmt(N) \ + if (is_true(arg[(2 * N)].first)) { return arg[(2 * N) + 1].first->value(); } \ + + struct switch_impl_1 + { + static inline T process(const arg_list_t& arg) + { + case_stmt(0) + + assert(arg.size() == ((2 * 1) + 1)); + + return arg.back().first->value(); + } + }; + + struct switch_impl_2 + { + static inline T process(const arg_list_t& arg) + { + case_stmt(0) case_stmt(1) + + assert(arg.size() == ((2 * 2) + 1)); + + return arg.back().first->value(); + } + }; + + struct switch_impl_3 + { + static inline T process(const arg_list_t& arg) + { + case_stmt(0) case_stmt(1) + case_stmt(2) + + assert(arg.size() == ((2 * 3) + 1)); + + return arg.back().first->value(); + } + }; + + struct switch_impl_4 + { + static inline T process(const arg_list_t& arg) + { + case_stmt(0) case_stmt(1) + case_stmt(2) case_stmt(3) + + assert(arg.size() == ((2 * 4) + 1)); + + return arg.back().first->value(); + } + }; + + struct switch_impl_5 + { + static inline T process(const arg_list_t& arg) + { + case_stmt(0) case_stmt(1) + case_stmt(2) case_stmt(3) + case_stmt(4) + + assert(arg.size() == ((2 * 5) + 1)); + + return arg.back().first->value(); + } + }; + + struct switch_impl_6 + { + static inline T process(const arg_list_t& arg) + { + case_stmt(0) case_stmt(1) + case_stmt(2) case_stmt(3) + case_stmt(4) case_stmt(5) + + assert(arg.size() == ((2 * 6) + 1)); + + return arg.back().first->value(); + } + }; + + struct switch_impl_7 + { + static inline T process(const arg_list_t& arg) + { + case_stmt(0) case_stmt(1) + case_stmt(2) case_stmt(3) + case_stmt(4) case_stmt(5) + case_stmt(6) + + assert(arg.size() == ((2 * 7) + 1)); + + return arg.back().first->value(); + } + }; + + #undef case_stmt + }; + + template class Sequence> + inline expression_node_ptr switch_statement(Sequence& arg_list, const bool default_statement_present) + { + if (arg_list.empty()) + return error_node(); + else if ( + !all_nodes_valid(arg_list) || + (!default_statement_present && (arg_list.size() < 2)) + ) + { + details::free_all_nodes(*node_allocator_,arg_list); + + return error_node(); + } + else if (is_constant_foldable(arg_list)) + return const_optimise_switch(arg_list); + + switch ((arg_list.size() - 1) / 2) + { + #define case_stmt(N) \ + case N : \ + return node_allocator_-> \ + allocate >(arg_list); \ + + case_stmt(1) + case_stmt(2) + case_stmt(3) + case_stmt(4) + case_stmt(5) + case_stmt(6) + case_stmt(7) + #undef case_stmt + + default : return node_allocator_->allocate >(arg_list); + } + } + + template class Sequence> + inline expression_node_ptr multi_switch_statement(Sequence& arg_list) + { + if (!all_nodes_valid(arg_list)) + { + details::free_all_nodes(*node_allocator_,arg_list); + + return error_node(); + } + else if (is_constant_foldable(arg_list)) + return const_optimise_mswitch(arg_list); + else + return node_allocator_->allocate >(arg_list); + } + + #define unary_opr_switch_statements \ + case_stmt(details::e_abs , details::abs_op ) \ + case_stmt(details::e_acos , details::acos_op ) \ + case_stmt(details::e_acosh , details::acosh_op) \ + case_stmt(details::e_asin , details::asin_op ) \ + case_stmt(details::e_asinh , details::asinh_op) \ + case_stmt(details::e_atan , details::atan_op ) \ + case_stmt(details::e_atanh , details::atanh_op) \ + case_stmt(details::e_ceil , details::ceil_op ) \ + case_stmt(details::e_cos , details::cos_op ) \ + case_stmt(details::e_cosh , details::cosh_op ) \ + case_stmt(details::e_exp , details::exp_op ) \ + case_stmt(details::e_expm1 , details::expm1_op) \ + case_stmt(details::e_floor , details::floor_op) \ + case_stmt(details::e_log , details::log_op ) \ + case_stmt(details::e_log10 , details::log10_op) \ + case_stmt(details::e_log2 , details::log2_op ) \ + case_stmt(details::e_log1p , details::log1p_op) \ + case_stmt(details::e_neg , details::neg_op ) \ + case_stmt(details::e_pos , details::pos_op ) \ + case_stmt(details::e_round , details::round_op) \ + case_stmt(details::e_sin , details::sin_op ) \ + case_stmt(details::e_sinc , details::sinc_op ) \ + case_stmt(details::e_sinh , details::sinh_op ) \ + case_stmt(details::e_sqrt , details::sqrt_op ) \ + case_stmt(details::e_tan , details::tan_op ) \ + case_stmt(details::e_tanh , details::tanh_op ) \ + case_stmt(details::e_cot , details::cot_op ) \ + case_stmt(details::e_sec , details::sec_op ) \ + case_stmt(details::e_csc , details::csc_op ) \ + case_stmt(details::e_r2d , details::r2d_op ) \ + case_stmt(details::e_d2r , details::d2r_op ) \ + case_stmt(details::e_d2g , details::d2g_op ) \ + case_stmt(details::e_g2d , details::g2d_op ) \ + case_stmt(details::e_notl , details::notl_op ) \ + case_stmt(details::e_sgn , details::sgn_op ) \ + case_stmt(details::e_erf , details::erf_op ) \ + case_stmt(details::e_erfc , details::erfc_op ) \ + case_stmt(details::e_ncdf , details::ncdf_op ) \ + case_stmt(details::e_frac , details::frac_op ) \ + case_stmt(details::e_trunc , details::trunc_op) \ + + inline expression_node_ptr synthesize_uv_expression(const details::operator_type& operation, + expression_node_ptr (&branch)[1]) + { + T& v = static_cast*>(branch[0])->ref(); + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : return node_allocator_-> \ + allocate > >(v); \ + + unary_opr_switch_statements + #undef case_stmt + default : return error_node(); + } + } + + inline expression_node_ptr synthesize_uvec_expression(const details::operator_type& operation, + expression_node_ptr (&branch)[1]) + { + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : return node_allocator_-> \ + allocate > > \ + (operation, branch[0]); \ + + unary_opr_switch_statements + #undef case_stmt + default : return error_node(); + } + } + + inline expression_node_ptr synthesize_unary_expression(const details::operator_type& operation, + expression_node_ptr (&branch)[1]) + { + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : return node_allocator_-> \ + allocate > >(branch[0]); \ + + unary_opr_switch_statements + #undef case_stmt + default : return error_node(); + } + } + + inline expression_node_ptr const_optimise_sf3(const details::operator_type& operation, + expression_node_ptr (&branch)[3]) + { + expression_node_ptr temp_node = error_node(); + + switch (operation) + { + #define case_stmt(op) \ + case details::e_sf##op : temp_node = node_allocator_-> \ + allocate > > \ + (operation, branch); \ + break; \ + + case_stmt(00) case_stmt(01) case_stmt(02) case_stmt(03) + case_stmt(04) case_stmt(05) case_stmt(06) case_stmt(07) + case_stmt(08) case_stmt(09) case_stmt(10) case_stmt(11) + case_stmt(12) case_stmt(13) case_stmt(14) case_stmt(15) + case_stmt(16) case_stmt(17) case_stmt(18) case_stmt(19) + case_stmt(20) case_stmt(21) case_stmt(22) case_stmt(23) + case_stmt(24) case_stmt(25) case_stmt(26) case_stmt(27) + case_stmt(28) case_stmt(29) case_stmt(30) case_stmt(31) + case_stmt(32) case_stmt(33) case_stmt(34) case_stmt(35) + case_stmt(36) case_stmt(37) case_stmt(38) case_stmt(39) + case_stmt(40) case_stmt(41) case_stmt(42) case_stmt(43) + case_stmt(44) case_stmt(45) case_stmt(46) case_stmt(47) + #undef case_stmt + default : return error_node(); + } + + assert(temp_node); + + const T v = temp_node->value(); + + details::free_node(*node_allocator_,temp_node); + + return node_allocator_->allocate(v); + } + + inline expression_node_ptr varnode_optimise_sf3(const details::operator_type& operation, expression_node_ptr (&branch)[3]) + { + typedef details::variable_node* variable_ptr; + + const Type& v0 = static_cast(branch[0])->ref(); + const Type& v1 = static_cast(branch[1])->ref(); + const Type& v2 = static_cast(branch[2])->ref(); + + switch (operation) + { + #define case_stmt(op) \ + case details::e_sf##op : return node_allocator_-> \ + allocate_rrr > > \ + (v0, v1, v2); \ + + case_stmt(00) case_stmt(01) case_stmt(02) case_stmt(03) + case_stmt(04) case_stmt(05) case_stmt(06) case_stmt(07) + case_stmt(08) case_stmt(09) case_stmt(10) case_stmt(11) + case_stmt(12) case_stmt(13) case_stmt(14) case_stmt(15) + case_stmt(16) case_stmt(17) case_stmt(18) case_stmt(19) + case_stmt(20) case_stmt(21) case_stmt(22) case_stmt(23) + case_stmt(24) case_stmt(25) case_stmt(26) case_stmt(27) + case_stmt(28) case_stmt(29) case_stmt(30) case_stmt(31) + case_stmt(32) case_stmt(33) case_stmt(34) case_stmt(35) + case_stmt(36) case_stmt(37) case_stmt(38) case_stmt(39) + case_stmt(40) case_stmt(41) case_stmt(42) case_stmt(43) + case_stmt(44) case_stmt(45) case_stmt(46) case_stmt(47) + #undef case_stmt + default : return error_node(); + } + } + + inline expression_node_ptr special_function(const details::operator_type& operation, expression_node_ptr (&branch)[3]) + { + if (!all_nodes_valid(branch)) + return error_node(); + else if (is_constant_foldable(branch)) + return const_optimise_sf3(operation,branch); + else if (all_nodes_variables(branch)) + return varnode_optimise_sf3(operation,branch); + else + { + switch (operation) + { + #define case_stmt(op) \ + case details::e_sf##op : return node_allocator_-> \ + allocate > > \ + (operation, branch); \ + + case_stmt(00) case_stmt(01) case_stmt(02) case_stmt(03) + case_stmt(04) case_stmt(05) case_stmt(06) case_stmt(07) + case_stmt(08) case_stmt(09) case_stmt(10) case_stmt(11) + case_stmt(12) case_stmt(13) case_stmt(14) case_stmt(15) + case_stmt(16) case_stmt(17) case_stmt(18) case_stmt(19) + case_stmt(20) case_stmt(21) case_stmt(22) case_stmt(23) + case_stmt(24) case_stmt(25) case_stmt(26) case_stmt(27) + case_stmt(28) case_stmt(29) case_stmt(30) case_stmt(31) + case_stmt(32) case_stmt(33) case_stmt(34) case_stmt(35) + case_stmt(36) case_stmt(37) case_stmt(38) case_stmt(39) + case_stmt(40) case_stmt(41) case_stmt(42) case_stmt(43) + case_stmt(44) case_stmt(45) case_stmt(46) case_stmt(47) + #undef case_stmt + default : return error_node(); + } + } + } + + inline expression_node_ptr const_optimise_sf4(const details::operator_type& operation, expression_node_ptr (&branch)[4]) + { + expression_node_ptr temp_node = error_node(); + + switch (operation) + { + #define case_stmt(op) \ + case details::e_sf##op : temp_node = node_allocator_-> \ + allocate > > \ + (operation, branch); \ + break; \ + + case_stmt(48) case_stmt(49) case_stmt(50) case_stmt(51) + case_stmt(52) case_stmt(53) case_stmt(54) case_stmt(55) + case_stmt(56) case_stmt(57) case_stmt(58) case_stmt(59) + case_stmt(60) case_stmt(61) case_stmt(62) case_stmt(63) + case_stmt(64) case_stmt(65) case_stmt(66) case_stmt(67) + case_stmt(68) case_stmt(69) case_stmt(70) case_stmt(71) + case_stmt(72) case_stmt(73) case_stmt(74) case_stmt(75) + case_stmt(76) case_stmt(77) case_stmt(78) case_stmt(79) + case_stmt(80) case_stmt(81) case_stmt(82) case_stmt(83) + case_stmt(84) case_stmt(85) case_stmt(86) case_stmt(87) + case_stmt(88) case_stmt(89) case_stmt(90) case_stmt(91) + case_stmt(92) case_stmt(93) case_stmt(94) case_stmt(95) + case_stmt(96) case_stmt(97) case_stmt(98) case_stmt(99) + #undef case_stmt + default : return error_node(); + } + + assert(temp_node); + + const T v = temp_node->value(); + + details::free_node(*node_allocator_,temp_node); + + return node_allocator_->allocate(v); + } + + inline expression_node_ptr varnode_optimise_sf4(const details::operator_type& operation, expression_node_ptr (&branch)[4]) + { + typedef details::variable_node* variable_ptr; + + const Type& v0 = static_cast(branch[0])->ref(); + const Type& v1 = static_cast(branch[1])->ref(); + const Type& v2 = static_cast(branch[2])->ref(); + const Type& v3 = static_cast(branch[3])->ref(); + + switch (operation) + { + #define case_stmt(op) \ + case details::e_sf##op : return node_allocator_-> \ + allocate_rrrr > > \ + (v0, v1, v2, v3); \ + + case_stmt(48) case_stmt(49) case_stmt(50) case_stmt(51) + case_stmt(52) case_stmt(53) case_stmt(54) case_stmt(55) + case_stmt(56) case_stmt(57) case_stmt(58) case_stmt(59) + case_stmt(60) case_stmt(61) case_stmt(62) case_stmt(63) + case_stmt(64) case_stmt(65) case_stmt(66) case_stmt(67) + case_stmt(68) case_stmt(69) case_stmt(70) case_stmt(71) + case_stmt(72) case_stmt(73) case_stmt(74) case_stmt(75) + case_stmt(76) case_stmt(77) case_stmt(78) case_stmt(79) + case_stmt(80) case_stmt(81) case_stmt(82) case_stmt(83) + case_stmt(84) case_stmt(85) case_stmt(86) case_stmt(87) + case_stmt(88) case_stmt(89) case_stmt(90) case_stmt(91) + case_stmt(92) case_stmt(93) case_stmt(94) case_stmt(95) + case_stmt(96) case_stmt(97) case_stmt(98) case_stmt(99) + #undef case_stmt + default : return error_node(); + } + } + + inline expression_node_ptr special_function(const details::operator_type& operation, expression_node_ptr (&branch)[4]) + { + if (!all_nodes_valid(branch)) + return error_node(); + else if (is_constant_foldable(branch)) + return const_optimise_sf4(operation,branch); + else if (all_nodes_variables(branch)) + return varnode_optimise_sf4(operation,branch); + switch (operation) + { + #define case_stmt(op) \ + case details::e_sf##op : return node_allocator_-> \ + allocate > > \ + (operation, branch); \ + + case_stmt(48) case_stmt(49) case_stmt(50) case_stmt(51) + case_stmt(52) case_stmt(53) case_stmt(54) case_stmt(55) + case_stmt(56) case_stmt(57) case_stmt(58) case_stmt(59) + case_stmt(60) case_stmt(61) case_stmt(62) case_stmt(63) + case_stmt(64) case_stmt(65) case_stmt(66) case_stmt(67) + case_stmt(68) case_stmt(69) case_stmt(70) case_stmt(71) + case_stmt(72) case_stmt(73) case_stmt(74) case_stmt(75) + case_stmt(76) case_stmt(77) case_stmt(78) case_stmt(79) + case_stmt(80) case_stmt(81) case_stmt(82) case_stmt(83) + case_stmt(84) case_stmt(85) case_stmt(86) case_stmt(87) + case_stmt(88) case_stmt(89) case_stmt(90) case_stmt(91) + case_stmt(92) case_stmt(93) case_stmt(94) case_stmt(95) + case_stmt(96) case_stmt(97) case_stmt(98) case_stmt(99) + #undef case_stmt + default : return error_node(); + } + } + + template class Sequence> + inline expression_node_ptr const_optimise_varargfunc(const details::operator_type& operation, Sequence& arg_list) + { + expression_node_ptr temp_node = error_node(); + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : temp_node = node_allocator_-> \ + allocate > > \ + (arg_list); \ + break; \ + + case_stmt(details::e_sum , details::vararg_add_op ) + case_stmt(details::e_prod , details::vararg_mul_op ) + case_stmt(details::e_avg , details::vararg_avg_op ) + case_stmt(details::e_min , details::vararg_min_op ) + case_stmt(details::e_max , details::vararg_max_op ) + case_stmt(details::e_mand , details::vararg_mand_op ) + case_stmt(details::e_mor , details::vararg_mor_op ) + case_stmt(details::e_multi , details::vararg_multi_op) + #undef case_stmt + default : return error_node(); + } + + const T v = temp_node->value(); + + details::free_node(*node_allocator_,temp_node); + + return node_allocator_->allocate(v); + } + + inline bool special_one_parameter_vararg(const details::operator_type& operation) const + { + return ( + (details::e_sum == operation) || + (details::e_prod == operation) || + (details::e_avg == operation) || + (details::e_min == operation) || + (details::e_max == operation) + ); + } + + template class Sequence> + inline expression_node_ptr varnode_optimise_varargfunc(const details::operator_type& operation, Sequence& arg_list) + { + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : return node_allocator_-> \ + allocate > >(arg_list); \ + + case_stmt(details::e_sum , details::vararg_add_op ) + case_stmt(details::e_prod , details::vararg_mul_op ) + case_stmt(details::e_avg , details::vararg_avg_op ) + case_stmt(details::e_min , details::vararg_min_op ) + case_stmt(details::e_max , details::vararg_max_op ) + case_stmt(details::e_mand , details::vararg_mand_op ) + case_stmt(details::e_mor , details::vararg_mor_op ) + case_stmt(details::e_multi , details::vararg_multi_op) + #undef case_stmt + default : return error_node(); + } + } + + template class Sequence> + inline expression_node_ptr vectorize_func(const details::operator_type& operation, Sequence& arg_list) + { + if (1 == arg_list.size()) + { + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : return node_allocator_-> \ + allocate > >(arg_list[0]); \ + + case_stmt(details::e_sum , details::vec_add_op) + case_stmt(details::e_prod , details::vec_mul_op) + case_stmt(details::e_avg , details::vec_avg_op) + case_stmt(details::e_min , details::vec_min_op) + case_stmt(details::e_max , details::vec_max_op) + #undef case_stmt + default : return error_node(); + } + } + else + return error_node(); + } + + template class Sequence> + inline expression_node_ptr vararg_function(const details::operator_type& operation, Sequence& arg_list) + { + if (!all_nodes_valid(arg_list)) + { + details::free_all_nodes(*node_allocator_,arg_list); + + return error_node(); + } + else if (is_constant_foldable(arg_list)) + return const_optimise_varargfunc(operation,arg_list); + else if ((1 == arg_list.size()) && details::is_ivector_node(arg_list[0])) + return vectorize_func(operation,arg_list); + else if ((1 == arg_list.size()) && special_one_parameter_vararg(operation)) + return arg_list[0]; + else if (all_nodes_variables(arg_list)) + return varnode_optimise_varargfunc(operation,arg_list); + + #ifndef exprtk_disable_string_capabilities + if (details::e_smulti == operation) + { + expression_node_ptr result = node_allocator_-> + allocate > >(arg_list); + if (result && result->valid()) + { + return result; + } + + parser_->set_error(parser_error::make_error( + parser_error::e_synthesis, + token_t(), + "ERR231 - Failed to synthesize node: str_vararg_node", + exprtk_error_location)); + + details::free_node(*node_allocator_, result); + } + else + #endif + { + expression_node_ptr result = error_node(); + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : result = node_allocator_-> \ + allocate > >(arg_list); \ + break; \ + + case_stmt(details::e_sum , details::vararg_add_op ) + case_stmt(details::e_prod , details::vararg_mul_op ) + case_stmt(details::e_avg , details::vararg_avg_op ) + case_stmt(details::e_min , details::vararg_min_op ) + case_stmt(details::e_max , details::vararg_max_op ) + case_stmt(details::e_mand , details::vararg_mand_op ) + case_stmt(details::e_mor , details::vararg_mor_op ) + case_stmt(details::e_multi , details::vararg_multi_op) + #undef case_stmt + default : return error_node(); + } + + if (result && result->valid()) + { + return result; + } + + parser_->set_error(parser_error::make_error( + parser_error::e_synthesis, + token_t(), + "ERR232 - Failed to synthesize node: vararg_node", + exprtk_error_location)); + + details::free_node(*node_allocator_, result); + } + + return error_node(); + } + + template + inline expression_node_ptr function(ifunction_t* f, expression_node_ptr (&b)[N]) + { + typedef typename details::function_N_node function_N_node_t; + expression_node_ptr result = synthesize_expression(f,b); + + if (0 == result) + return error_node(); + else + { + // Can the function call be completely optimised? + if (details::is_constant_node(result)) + return result; + else if (!all_nodes_valid(b)) + { + details::free_node(*node_allocator_,result); + std::fill_n(b, N, reinterpret_cast(0)); + + return error_node(); + } + else if (N != f->param_count) + { + details::free_node(*node_allocator_,result); + std::fill_n(b, N, reinterpret_cast(0)); + + return error_node(); + } + + function_N_node_t* func_node_ptr = reinterpret_cast(result); + + if (!func_node_ptr->init_branches(b)) + { + details::free_node(*node_allocator_,result); + std::fill_n(b, N, reinterpret_cast(0)); + + return error_node(); + } + + if (result && result->valid()) + { + return result; + } + + parser_->set_error(parser_error::make_error( + parser_error::e_synthesis, + token_t(), + "ERR233 - Failed to synthesize node: function_N_node_t", + exprtk_error_location)); + + details::free_node(*node_allocator_, result); + return error_node(); + } + } + + inline expression_node_ptr function(ifunction_t* f) + { + typedef typename details::function_N_node function_N_node_t; + return node_allocator_->allocate(f); + } + + inline expression_node_ptr vararg_function_call(ivararg_function_t* vaf, + std::vector& arg_list) + { + if (!all_nodes_valid(arg_list)) + { + details::free_all_nodes(*node_allocator_,arg_list); + + return error_node(); + } + + typedef details::vararg_function_node alloc_type; + + expression_node_ptr result = node_allocator_->allocate(vaf,arg_list); + + if ( + !arg_list.empty() && + !vaf->has_side_effects() && + is_constant_foldable(arg_list) + ) + { + const Type v = result->value(); + details::free_node(*node_allocator_,result); + result = node_allocator_->allocate(v); + } + + parser_->state_.activate_side_effect("vararg_function_call()"); + + if (result && result->valid()) + { + return result; + } + + parser_->set_error(parser_error::make_error( + parser_error::e_synthesis, + token_t(), + "ERR234 - Failed to synthesize node: vararg_function_node", + exprtk_error_location)); + + details::free_node(*node_allocator_, result); + return error_node(); + } + + inline expression_node_ptr generic_function_call(igeneric_function_t* gf, + std::vector& arg_list, + const std::size_t& param_seq_index = std::numeric_limits::max()) + { + if (!all_nodes_valid(arg_list)) + { + details::free_all_nodes(*node_allocator_,arg_list); + return error_node(); + } + + typedef details::generic_function_node alloc_type1; + typedef details::multimode_genfunction_node alloc_type2; + + const std::size_t no_psi = std::numeric_limits::max(); + + expression_node_ptr result = error_node(); + std::string node_name = "Unknown"; + + if (no_psi == param_seq_index) + { + result = node_allocator_->allocate(arg_list,gf); + node_name = "generic_function_node"; + } + else + { + result = node_allocator_->allocate(gf, param_seq_index, arg_list); + node_name = "multimode_genfunction_node"; + } + + alloc_type1* genfunc_node_ptr = static_cast(result); + + assert(genfunc_node_ptr); + + if ( + !arg_list.empty() && + !gf->has_side_effects() && + parser_->state_.type_check_enabled && + is_constant_foldable(arg_list) + ) + { + genfunc_node_ptr->init_branches(); + + const Type v = result->value(); + + details::free_node(*node_allocator_,result); + + return node_allocator_->allocate(v); + } + else if (genfunc_node_ptr->init_branches()) + { + if (result && result->valid()) + { + parser_->state_.activate_side_effect("generic_function_call()"); + return result; + } + + parser_->set_error(parser_error::make_error( + parser_error::e_synthesis, + token_t(), + "ERR235 - Failed to synthesize node: " + node_name, + exprtk_error_location)); + + details::free_node(*node_allocator_, result); + return error_node(); + } + else + { + details::free_node(*node_allocator_, result); + details::free_all_nodes(*node_allocator_, arg_list); + + return error_node(); + } + } + + #ifndef exprtk_disable_string_capabilities + inline expression_node_ptr string_function_call(igeneric_function_t* gf, + std::vector& arg_list, + const std::size_t& param_seq_index = std::numeric_limits::max()) + { + if (!all_nodes_valid(arg_list)) + { + details::free_all_nodes(*node_allocator_,arg_list); + return error_node(); + } + + typedef details::string_function_node alloc_type1; + typedef details::multimode_strfunction_node alloc_type2; + + const std::size_t no_psi = std::numeric_limits::max(); + + expression_node_ptr result = error_node(); + std::string node_name = "Unknown"; + + if (no_psi == param_seq_index) + { + result = node_allocator_->allocate(gf,arg_list); + node_name = "string_function_node"; + } + else + { + result = node_allocator_->allocate(gf, param_seq_index, arg_list); + node_name = "multimode_strfunction_node"; + } + + alloc_type1* strfunc_node_ptr = static_cast(result); + + assert(strfunc_node_ptr); + + if ( + !arg_list.empty() && + !gf->has_side_effects() && + is_constant_foldable(arg_list) + ) + { + strfunc_node_ptr->init_branches(); + + const Type v = result->value(); + + details::free_node(*node_allocator_,result); + + return node_allocator_->allocate(v); + } + else if (strfunc_node_ptr->init_branches()) + { + if (result && result->valid()) + { + parser_->state_.activate_side_effect("string_function_call()"); + return result; + } + + parser_->set_error(parser_error::make_error( + parser_error::e_synthesis, + token_t(), + "ERR236 - Failed to synthesize node: " + node_name, + exprtk_error_location)); + + details::free_node(*node_allocator_, result); + return error_node(); + } + else + { + details::free_node (*node_allocator_,result ); + details::free_all_nodes(*node_allocator_,arg_list); + + return error_node(); + } + } + #endif + + #ifndef exprtk_disable_return_statement + inline expression_node_ptr return_call(std::vector& arg_list) + { + if (!all_nodes_valid(arg_list)) + { + details::free_all_nodes(*node_allocator_,arg_list); + return error_node(); + } + + typedef details::return_node alloc_type; + + expression_node_ptr result = node_allocator_-> + allocate_rr(arg_list,parser_->results_ctx()); + + alloc_type* return_node_ptr = static_cast(result); + + assert(return_node_ptr); + + if (return_node_ptr->init_branches()) + { + if (result && result->valid()) + { + parser_->state_.activate_side_effect("return_call()"); + return result; + } + + parser_->set_error(parser_error::make_error( + parser_error::e_synthesis, + token_t(), + "ERR237 - Failed to synthesize node: return_node", + exprtk_error_location)); + + details::free_node(*node_allocator_, result); + return error_node(); + } + else + { + details::free_node (*node_allocator_, result ); + details::free_all_nodes(*node_allocator_, arg_list); + + return error_node(); + } + } + + inline expression_node_ptr return_envelope(expression_node_ptr body, + results_context_t* rc, + bool*& return_invoked) + { + typedef details::return_envelope_node alloc_type; + + expression_node_ptr result = node_allocator_-> + allocate_cr(body,(*rc)); + + return_invoked = static_cast(result)->retinvk_ptr(); + + return result; + } + #else + inline expression_node_ptr return_call(std::vector&) + { + return error_node(); + } + + inline expression_node_ptr return_envelope(expression_node_ptr, + results_context_t*, + bool*&) + { + return error_node(); + } + #endif + + inline expression_node_ptr vector_element(const std::string& symbol, + vector_holder_ptr vector_base, + expression_node_ptr vec_node, + expression_node_ptr index) + { + expression_node_ptr result = error_node(); + std::string node_name = "Unknown"; + + if (details::is_constant_node(index)) + { + const std::size_t vec_index = static_cast(details::numeric::to_int64(index->value())); + + details::free_node(*node_allocator_,index); + + if (vec_index >= vector_base->size()) + { + parser_->set_error(parser_error::make_error( + parser_error::e_parser, + token_t(), + "ERR238 - Index of " + details::to_str(vec_index) + " out of range for " + "vector '" + symbol + "' of size " + details::to_str(vector_base->size()), + exprtk_error_location)); + + details::free_node(*node_allocator_,vec_node); + + return error_node(); + } + + if (vector_base->rebaseable()) + { + vector_access_runtime_check_ptr rtc = get_vector_access_runtime_check(); + + result = (rtc) ? + node_allocator_->allocate(vec_node, vec_index, vector_base, rtc) : + node_allocator_->allocate(vec_node, vec_index, vector_base ) ; + + node_name = (rtc) ? + "rebasevector_elem_rtc_node_t" : + "rebasevector_elem_node_t" ; + + if (result && result->valid()) + { + return result; + } + + parser_->set_error(parser_error::make_error( + parser_error::e_synthesis, + token_t(), + "ERR239 - Failed to synthesize node: " + node_name + " for vector: " + symbol, + exprtk_error_location)); + + details::free_node(*node_allocator_, result); + return error_node(); + } + else if (details::is_ivector_node(vec_node) && !details::is_vector_node(vec_node)) + { + vector_access_runtime_check_ptr rtc = get_vector_access_runtime_check(); + + result = (rtc) ? + node_allocator_->allocate(vec_node, vec_index, vector_base, rtc) : + node_allocator_->allocate(vec_node, vec_index, vector_base ) ; + + node_name = (rtc) ? + "vector_elem_rtc_node_t" : + "vector_elem_node_t" ; + + if (result && result->valid()) + { + return result; + } + + parser_->set_error(parser_error::make_error( + parser_error::e_synthesis, + token_t(), + "ERR240 - Failed to synthesize node: " + node_name + " for vector: " + symbol, + exprtk_error_location)); + + details::free_node(*node_allocator_, result); + return error_node(); + } + + const scope_element& se = parser_->sem_.get_element(symbol,vec_index); + + if (se.index == vec_index) + { + result = se.var_node; + details::free_node(*node_allocator_,vec_node); + } + else + { + scope_element nse; + nse.name = symbol; + nse.active = true; + nse.ref_count = 1; + nse.type = scope_element::e_vecelem; + nse.index = vec_index; + nse.depth = parser_->state_.scope_depth; + nse.data = 0; + nse.var_node = node_allocator_->allocate((*(*vector_base)[vec_index])); + + if (!parser_->sem_.add_element(nse)) + { + parser_->set_synthesis_error("Failed to add new local vector element to SEM [1]"); + + parser_->sem_.free_element(nse); + + result = error_node(); + } + + details::free_node(*node_allocator_,vec_node); + + exprtk_debug(("vector_element() - INFO - Added new local vector element: %s\n", nse.name.c_str())); + + parser_->state_.activate_side_effect("vector_element()"); + + result = nse.var_node; + node_name = "variable_node_t"; + } + } + else + { + vector_access_runtime_check_ptr rtc = get_vector_access_runtime_check(); + + if (vector_base->rebaseable()) + { + result = (rtc) ? + node_allocator_->allocate(vec_node, index, vector_base, rtc) : + node_allocator_->allocate(vec_node, index, vector_base ) ; + + node_name = (rtc) ? + "rebasevector_elem_rtc_node_t" : + "rebasevector_elem_node_t" ; + } + else + { + result = rtc ? + node_allocator_->allocate(vec_node, index, vector_base, rtc) : + node_allocator_->allocate(vec_node, index, vector_base ) ; + + node_name = (rtc) ? + "vector_elem_rtc_node_t" : + "vector_elem_node_t" ; + } + } + + if (result && result->valid()) + { + return result; + } + + parser_->set_error(parser_error::make_error( + parser_error::e_synthesis, + token_t(), + "ERR241 - Failed to synthesize node: " + node_name, + exprtk_error_location)); + + details::free_node(*node_allocator_, result); + return error_node(); + } + + private: + + template + inline bool is_constant_foldable(NodePtr (&b)[N]) const + { + for (std::size_t i = 0; i < N; ++i) + { + if (0 == b[i]) + return false; + else if (!details::is_constant_node(b[i])) + return false; + } + + return true; + } + + template class Sequence> + inline bool is_constant_foldable(const Sequence& b) const + { + for (std::size_t i = 0; i < b.size(); ++i) + { + if (0 == b[i]) + return false; + else if (!details::is_constant_node(b[i])) + return false; + } + + return true; + } + + void lodge_assignment(symbol_type cst, expression_node_ptr node) + { + parser_->state_.activate_side_effect("lodge_assignment()"); + + if (!parser_->dec_.collect_assignments()) + return; + + std::string symbol_name; + + switch (cst) + { + case e_st_variable : symbol_name = parser_->symtab_store_ + .get_variable_name(node); + break; + + #ifndef exprtk_disable_string_capabilities + case e_st_string : symbol_name = parser_->symtab_store_ + .get_stringvar_name(node); + break; + #endif + + case e_st_vector : { + typedef details::vector_holder vector_holder_t; + + vector_holder_t& vh = static_cast(node)->vec_holder(); + + symbol_name = parser_->symtab_store_.get_vector_name(&vh); + } + break; + + case e_st_vecelem : { + typedef details::vector_holder vector_holder_t; + + vector_holder_t& vh = static_cast(node)->vec_holder(); + + symbol_name = parser_->symtab_store_.get_vector_name(&vh); + + cst = e_st_vector; + } + break; + + default : return; + } + + if (!symbol_name.empty()) + { + parser_->dec_.add_assignment(symbol_name,cst); + } + } + + const void* base_ptr(expression_node_ptr node) + { + if (node) + { + switch(node->type()) + { + case details::expression_node::e_variable: + return reinterpret_cast(&static_cast(node)->ref()); + + case details::expression_node::e_vecelem: + return reinterpret_cast(&static_cast(node)->ref()); + + case details::expression_node::e_veccelem: + return reinterpret_cast(&static_cast(node)->ref()); + + case details::expression_node::e_vecelemrtc: + return reinterpret_cast(&static_cast(node)->ref()); + + case details::expression_node::e_veccelemrtc: + return reinterpret_cast(&static_cast(node)->ref()); + + case details::expression_node::e_rbvecelem: + return reinterpret_cast(&static_cast(node)->ref()); + + case details::expression_node::e_rbvecelemrtc: + return reinterpret_cast(&static_cast(node)->ref()); + + case details::expression_node::e_rbveccelem: + return reinterpret_cast(&static_cast(node)->ref()); + + case details::expression_node::e_rbveccelemrtc: + return reinterpret_cast(&static_cast(node)->ref()); + + case details::expression_node::e_vector: + return reinterpret_cast(static_cast(node)->vec_holder().data()); + + #ifndef exprtk_disable_string_capabilities + case details::expression_node::e_stringvar: + return reinterpret_cast((static_cast(node)->base())); + + case details::expression_node::e_stringvarrng: + return reinterpret_cast((static_cast(node)->base())); + #endif + default : return reinterpret_cast(0); + } + } + + return reinterpret_cast(0); + } + + bool assign_immutable_symbol(expression_node_ptr node) + { + interval_t interval; + const void* baseptr_addr = base_ptr(node); + + exprtk_debug(("assign_immutable_symbol - base ptr addr: %p\n", baseptr_addr)); + + if (parser_->immutable_memory_map_.in_interval(baseptr_addr,interval)) + { + typename immutable_symtok_map_t::iterator itr = parser_->immutable_symtok_map_.find(interval); + + if (parser_->immutable_symtok_map_.end() != itr) + { + token_t& token = itr->second; + parser_->set_error(parser_error::make_error( + parser_error::e_parser, + token, + "ERR242 - Symbol '" + token.value + "' cannot be assigned-to as it is immutable.", + exprtk_error_location)); + } + else + parser_->set_synthesis_error("Unable to assign symbol is immutable."); + + return true; + } + + return false; + } + + inline expression_node_ptr synthesize_assignment_expression(const details::operator_type& operation, expression_node_ptr (&branch)[2]) + { + if (assign_immutable_symbol(branch[0])) + { + return error_node(); + } + else if (details::is_variable_node(branch[0])) + { + lodge_assignment(e_st_variable,branch[0]); + return synthesize_expression(operation,branch); + } + else if (details::is_vector_elem_node(branch[0]) || details::is_vector_celem_node(branch[0])) + { + lodge_assignment(e_st_vecelem,branch[0]); + return synthesize_expression(operation, branch); + } + else if (details::is_vector_elem_rtc_node(branch[0]) || details::is_vector_celem_rtc_node(branch[0])) + { + lodge_assignment(e_st_vecelem,branch[0]); + return synthesize_expression(operation, branch); + } + else if (details::is_rebasevector_elem_node(branch[0])) + { + lodge_assignment(e_st_vecelem,branch[0]); + return synthesize_expression(operation, branch); + } + else if (details::is_rebasevector_elem_rtc_node(branch[0])) + { + lodge_assignment(e_st_vecelem,branch[0]); + return synthesize_expression(operation, branch); + } + else if (details::is_rebasevector_celem_node(branch[0])) + { + lodge_assignment(e_st_vecelem,branch[0]); + return synthesize_expression(operation, branch); + } + #ifndef exprtk_disable_string_capabilities + else if (details::is_string_node(branch[0])) + { + lodge_assignment(e_st_string,branch[0]); + return synthesize_expression(operation, branch); + } + else if (details::is_string_range_node(branch[0])) + { + lodge_assignment(e_st_string,branch[0]); + return synthesize_expression(operation, branch); + } + #endif + else if (details::is_vector_node(branch[0])) + { + lodge_assignment(e_st_vector,branch[0]); + + if (details::is_ivector_node(branch[1])) + return synthesize_expression(operation, branch); + else + return synthesize_expression(operation, branch); + } + else + { + parser_->set_error(parser_error::make_error( + parser_error::e_syntax, + parser_->current_state().token, + "ERR243 - Invalid branches for assignment operator '" + details::to_str(operation) + "'", + exprtk_error_location)); + + return error_node(); + } + } + + inline expression_node_ptr synthesize_assignment_operation_expression(const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + if (assign_immutable_symbol(branch[0])) + { + return error_node(); + } + + expression_node_ptr result = error_node(); + std::string node_name = "Unknown"; + + if (details::is_variable_node(branch[0])) + { + lodge_assignment(e_st_variable,branch[0]); + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : result = node_allocator_-> \ + template allocate_rrr > > \ + (operation, branch[0], branch[1]); \ + node_name = "assignment_op_node"; \ + break; \ + + case_stmt(details::e_addass , details::add_op) + case_stmt(details::e_subass , details::sub_op) + case_stmt(details::e_mulass , details::mul_op) + case_stmt(details::e_divass , details::div_op) + case_stmt(details::e_modass , details::mod_op) + #undef case_stmt + default : return error_node(); + } + } + else if (details::is_vector_elem_node(branch[0])) + { + lodge_assignment(e_st_vecelem,branch[0]); + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : result = node_allocator_-> \ + template allocate_rrr > > \ + (operation, branch[0], branch[1]); \ + node_name = "assignment_vec_elem_op_node"; \ + break; \ + + case_stmt(details::e_addass , details::add_op) + case_stmt(details::e_subass , details::sub_op) + case_stmt(details::e_mulass , details::mul_op) + case_stmt(details::e_divass , details::div_op) + case_stmt(details::e_modass , details::mod_op) + #undef case_stmt + default : return error_node(); + } + } + else if (details::is_vector_elem_rtc_node(branch[0])) + { + lodge_assignment(e_st_vecelem,branch[0]); + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : result = node_allocator_-> \ + template allocate_rrr > > \ + (operation, branch[0], branch[1]); \ + node_name = "assignment_vec_elem_op_rtc_node"; \ + break; \ + + case_stmt(details::e_addass , details::add_op) + case_stmt(details::e_subass , details::sub_op) + case_stmt(details::e_mulass , details::mul_op) + case_stmt(details::e_divass , details::div_op) + case_stmt(details::e_modass , details::mod_op) + #undef case_stmt + default : return error_node(); + } + } + else if (details::is_vector_celem_rtc_node(branch[0])) + { + lodge_assignment(e_st_vecelem,branch[0]); + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : result = node_allocator_-> \ + template allocate_rrr > > \ + (operation, branch[0], branch[1]); \ + node_name = "assignment_vec_celem_op_rtc_node"; \ + break; \ + + case_stmt(details::e_addass , details::add_op) + case_stmt(details::e_subass , details::sub_op) + case_stmt(details::e_mulass , details::mul_op) + case_stmt(details::e_divass , details::div_op) + case_stmt(details::e_modass , details::mod_op) + #undef case_stmt + default : return error_node(); + } + } + else if (details::is_rebasevector_elem_node(branch[0])) + { + lodge_assignment(e_st_vecelem,branch[0]); + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : result = node_allocator_-> \ + template allocate_rrr > > \ + (operation, branch[0], branch[1]); \ + node_name = "assignment_rebasevec_elem_op_node"; \ + break; \ + + case_stmt(details::e_addass , details::add_op) + case_stmt(details::e_subass , details::sub_op) + case_stmt(details::e_mulass , details::mul_op) + case_stmt(details::e_divass , details::div_op) + case_stmt(details::e_modass , details::mod_op) + #undef case_stmt + default : return error_node(); + } + } + else if (details::is_rebasevector_celem_node(branch[0])) + { + lodge_assignment(e_st_vecelem,branch[0]); + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : result = node_allocator_-> \ + template allocate_rrr > > \ + (operation, branch[0], branch[1]); \ + node_name = "assignment_rebasevec_celem_op_node"; \ + break; \ + + case_stmt(details::e_addass , details::add_op) + case_stmt(details::e_subass , details::sub_op) + case_stmt(details::e_mulass , details::mul_op) + case_stmt(details::e_divass , details::div_op) + case_stmt(details::e_modass , details::mod_op) + #undef case_stmt + default : return error_node(); + } + } + else if (details::is_rebasevector_elem_rtc_node(branch[0])) + { + lodge_assignment(e_st_vecelem,branch[0]); + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : result = node_allocator_-> \ + template allocate_rrr > > \ + (operation, branch[0], branch[1]); \ + node_name = "assignment_rebasevec_elem_op_rtc_node"; \ + break; \ + + case_stmt(details::e_addass , details::add_op) + case_stmt(details::e_subass , details::sub_op) + case_stmt(details::e_mulass , details::mul_op) + case_stmt(details::e_divass , details::div_op) + case_stmt(details::e_modass , details::mod_op) + #undef case_stmt + default : return error_node(); + } + } + else if (details::is_rebasevector_celem_rtc_node(branch[0])) + { + lodge_assignment(e_st_vecelem,branch[0]); + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : result = node_allocator_-> \ + template allocate_rrr > > \ + (operation, branch[0], branch[1]); \ + node_name = "assignment_rebasevec_celem_op_rtc_node"; \ + break; \ + + case_stmt(details::e_addass , details::add_op) + case_stmt(details::e_subass , details::sub_op) + case_stmt(details::e_mulass , details::mul_op) + case_stmt(details::e_divass , details::div_op) + case_stmt(details::e_modass , details::mod_op) + #undef case_stmt + default : return error_node(); + } + } + else if (details::is_vector_node(branch[0])) + { + lodge_assignment(e_st_vector,branch[0]); + + if (details::is_ivector_node(branch[1])) + { + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : result = node_allocator_-> \ + template allocate_rrr > > \ + (operation, branch[0], branch[1]); \ + node_name = "assignment_rebasevec_celem_op_node"; \ + break; \ + + case_stmt(details::e_addass , details::add_op) + case_stmt(details::e_subass , details::sub_op) + case_stmt(details::e_mulass , details::mul_op) + case_stmt(details::e_divass , details::div_op) + case_stmt(details::e_modass , details::mod_op) + #undef case_stmt + default : return error_node(); + } + } + else + { + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : result = node_allocator_-> \ + template allocate_rrr > > \ + (operation, branch[0], branch[1]); \ + node_name = "assignment_vec_op_node"; \ + break; \ + + case_stmt(details::e_addass , details::add_op) + case_stmt(details::e_subass , details::sub_op) + case_stmt(details::e_mulass , details::mul_op) + case_stmt(details::e_divass , details::div_op) + case_stmt(details::e_modass , details::mod_op) + #undef case_stmt + default : return error_node(); + } + } + } + #ifndef exprtk_disable_string_capabilities + else if ( + (details::e_addass == operation) && + details::is_string_node(branch[0]) + ) + { + typedef details::assignment_string_node addass_t; + + lodge_assignment(e_st_string,branch[0]); + + result = synthesize_expression(operation,branch); + node_name = "assignment_string_node"; + } + #endif + else + { + parser_->set_error(parser_error::make_error( + parser_error::e_syntax, + parser_->current_state().token, + "ERR244 - Invalid branches for assignment operator '" + details::to_str(operation) + "'", + exprtk_error_location)); + + return error_node(); + } + + if (result && result->valid()) + { + return result; + } + + parser_->set_error(parser_error::make_error( + parser_error::e_synthesis, + token_t(), + "ERR245 - Failed to synthesize node: " + node_name, + exprtk_error_location)); + + details::free_node(*node_allocator_, result); + return error_node(); + } + + inline expression_node_ptr synthesize_veceqineqlogic_operation_expression(const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + const bool is_b0_ivec = details::is_ivector_node(branch[0]); + const bool is_b1_ivec = details::is_ivector_node(branch[1]); + + #define batch_eqineq_logic_case \ + case_stmt(details::e_lt , details::lt_op ) \ + case_stmt(details::e_lte , details::lte_op ) \ + case_stmt(details::e_gt , details::gt_op ) \ + case_stmt(details::e_gte , details::gte_op ) \ + case_stmt(details::e_eq , details::eq_op ) \ + case_stmt(details::e_ne , details::ne_op ) \ + case_stmt(details::e_equal , details::equal_op) \ + case_stmt(details::e_and , details::and_op ) \ + case_stmt(details::e_nand , details::nand_op ) \ + case_stmt(details::e_or , details::or_op ) \ + case_stmt(details::e_nor , details::nor_op ) \ + case_stmt(details::e_xor , details::xor_op ) \ + case_stmt(details::e_xnor , details::xnor_op ) \ + + expression_node_ptr result = error_node(); + std::string node_name = "Unknown"; + + if (is_b0_ivec && is_b1_ivec) + { + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : result = node_allocator_-> \ + template allocate_rrr > > \ + (operation, branch[0], branch[1]); \ + node_name = "vec_binop_vecvec_node"; \ + break; \ + + batch_eqineq_logic_case + #undef case_stmt + default : return error_node(); + } + } + else if (is_b0_ivec && !is_b1_ivec) + { + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : result = node_allocator_-> \ + template allocate_rrr > > \ + (operation, branch[0], branch[1]); \ + node_name = "vec_binop_vecval_node"; \ + break; \ + + batch_eqineq_logic_case + #undef case_stmt + default : return error_node(); + } + } + else if (!is_b0_ivec && is_b1_ivec) + { + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : result = node_allocator_-> \ + template allocate_rrr > > \ + (operation, branch[0], branch[1]); \ + node_name = "vec_binop_valvec_node"; \ + break; \ + + batch_eqineq_logic_case + #undef case_stmt + default : return error_node(); + } + } + else + return error_node(); + + if (result && result->valid()) + { + return result; + } + + parser_->set_error(parser_error::make_error( + parser_error::e_synthesis, + token_t(), + "ERR246 - Failed to synthesize node: " + node_name, + exprtk_error_location)); + + details::free_node(*node_allocator_, result); + return error_node(); + + #undef batch_eqineq_logic_case + } + + inline expression_node_ptr synthesize_vecarithmetic_operation_expression(const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + const bool is_b0_ivec = details::is_ivector_node(branch[0]); + const bool is_b1_ivec = details::is_ivector_node(branch[1]); + + #define vector_ops \ + case_stmt(details::e_add , details::add_op) \ + case_stmt(details::e_sub , details::sub_op) \ + case_stmt(details::e_mul , details::mul_op) \ + case_stmt(details::e_div , details::div_op) \ + case_stmt(details::e_mod , details::mod_op) \ + + expression_node_ptr result = error_node(); + std::string node_name = "Unknown"; + + if (is_b0_ivec && is_b1_ivec) + { + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : result = node_allocator_-> \ + template allocate_rrr > > \ + (operation, branch[0], branch[1]); \ + node_name = "vec_binop_vecvec_node"; \ + break; \ + + vector_ops + case_stmt(details::e_pow,details:: pow_op) + #undef case_stmt + default : return error_node(); + } + } + else if (is_b0_ivec && !is_b1_ivec) + { + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : result = node_allocator_-> \ + template allocate_rrr > > \ + (operation, branch[0], branch[1]); \ + node_name = "vec_binop_vecval_node(b0ivec,!b1ivec)"; \ + break; \ + + vector_ops + case_stmt(details::e_pow,details:: pow_op) + #undef case_stmt + default : return error_node(); + } + } + else if (!is_b0_ivec && is_b1_ivec) + { + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : result = node_allocator_-> \ + template allocate_rrr > > \ + (operation, branch[0], branch[1]); \ + node_name = "vec_binop_vecval_node(!b0ivec,b1ivec)"; \ + break; \ + + vector_ops + #undef case_stmt + default : return error_node(); + } + } + else + return error_node(); + + if (result && result->valid()) + { + return result; + } + + parser_->set_error(parser_error::make_error( + parser_error::e_synthesis, + token_t(), + "ERR247 - Failed to synthesize node: " + node_name, + exprtk_error_location)); + + details::free_node(*node_allocator_, result); + return error_node(); + + #undef vector_ops + } + + inline expression_node_ptr synthesize_swap_expression(expression_node_ptr (&branch)[2]) + { + const bool v0_is_ivar = details::is_ivariable_node(branch[0]); + const bool v1_is_ivar = details::is_ivariable_node(branch[1]); + + const bool v0_is_ivec = details::is_ivector_node (branch[0]); + const bool v1_is_ivec = details::is_ivector_node (branch[1]); + + #ifndef exprtk_disable_string_capabilities + const bool v0_is_str = details::is_generally_string_node(branch[0]); + const bool v1_is_str = details::is_generally_string_node(branch[1]); + #endif + + expression_node_ptr result = error_node(); + std::string node_name = "Unknown"; + + if (v0_is_ivar && v1_is_ivar) + { + typedef details::variable_node* variable_node_ptr; + + variable_node_ptr v0 = variable_node_ptr(0); + variable_node_ptr v1 = variable_node_ptr(0); + + if ( + (0 != (v0 = dynamic_cast(branch[0]))) && + (0 != (v1 = dynamic_cast(branch[1]))) + ) + { + result = node_allocator_->allocate >(v0,v1); + node_name = "swap_node"; + } + else + { + result = node_allocator_->allocate >(branch[0],branch[1]); + node_name = "swap_generic_node"; + } + } + else if (v0_is_ivec && v1_is_ivec) + { + result = node_allocator_->allocate >(branch[0],branch[1]); + node_name = "swap_vecvec_node"; + } + #ifndef exprtk_disable_string_capabilities + else if (v0_is_str && v1_is_str) + { + if (is_string_node(branch[0]) && is_string_node(branch[1])) + { + result = node_allocator_->allocate > + (branch[0], branch[1]); + node_name = "swap_string_node"; + } + else + { + result = node_allocator_->allocate > + (branch[0], branch[1]); + node_name = "swap_genstrings_node"; + } + } + #endif + else + { + parser_->set_synthesis_error("Only variables, strings, vectors or vector elements can be swapped"); + return error_node(); + } + + if (result && result->valid()) + { + parser_->state_.activate_side_effect("synthesize_swap_expression()"); + return result; + } + + parser_->set_error(parser_error::make_error( + parser_error::e_synthesis, + token_t(), + "ERR248 - Failed to synthesize node: " + node_name, + exprtk_error_location)); + + details::free_node(*node_allocator_, result); + return error_node(); + } + + #ifndef exprtk_disable_sc_andor + inline expression_node_ptr synthesize_shortcircuit_expression(const details::operator_type& operation, expression_node_ptr (&branch)[2]) + { + expression_node_ptr result = error_node(); + + if (details::is_constant_node(branch[0])) + { + if ( + (details::e_scand == operation) && + std::equal_to()(T(0),branch[0]->value()) + ) + result = node_allocator_->allocate_c(T(0)); + else if ( + (details::e_scor == operation) && + std::not_equal_to()(T(0),branch[0]->value()) + ) + result = node_allocator_->allocate_c(T(1)); + } + + if (details::is_constant_node(branch[1]) && (0 == result)) + { + if ( + (details::e_scand == operation) && + std::equal_to()(T(0),branch[1]->value()) + ) + result = node_allocator_->allocate_c(T(0)); + else if ( + (details::e_scor == operation) && + std::not_equal_to()(T(0),branch[1]->value()) + ) + result = node_allocator_->allocate_c(T(1)); + } + + if (result) + { + details::free_node(*node_allocator_, branch[0]); + details::free_node(*node_allocator_, branch[1]); + + return result; + } + else if (details::e_scand == operation) + { + return synthesize_expression(operation, branch); + } + else if (details::e_scor == operation) + { + return synthesize_expression(operation, branch); + } + else + return error_node(); + } + #else + inline expression_node_ptr synthesize_shortcircuit_expression(const details::operator_type&, expression_node_ptr (&)[2]) + { + return error_node(); + } + #endif + + #define basic_opr_switch_statements \ + case_stmt(details::e_add , details::add_op) \ + case_stmt(details::e_sub , details::sub_op) \ + case_stmt(details::e_mul , details::mul_op) \ + case_stmt(details::e_div , details::div_op) \ + case_stmt(details::e_mod , details::mod_op) \ + case_stmt(details::e_pow , details::pow_op) \ + + #define extended_opr_switch_statements \ + case_stmt(details::e_lt , details::lt_op ) \ + case_stmt(details::e_lte , details::lte_op ) \ + case_stmt(details::e_gt , details::gt_op ) \ + case_stmt(details::e_gte , details::gte_op ) \ + case_stmt(details::e_eq , details::eq_op ) \ + case_stmt(details::e_ne , details::ne_op ) \ + case_stmt(details::e_and , details::and_op ) \ + case_stmt(details::e_nand , details::nand_op) \ + case_stmt(details::e_or , details::or_op ) \ + case_stmt(details::e_nor , details::nor_op ) \ + case_stmt(details::e_xor , details::xor_op ) \ + case_stmt(details::e_xnor , details::xnor_op) \ + + #ifndef exprtk_disable_cardinal_pow_optimisation + template class IPowNode> + inline expression_node_ptr cardinal_pow_optimisation_impl(const TType& v, const unsigned int& p) + { + switch (p) + { + #define case_stmt(cp) \ + case cp : return node_allocator_-> \ + allocate > >(v); \ + + case_stmt( 1) case_stmt( 2) case_stmt( 3) case_stmt( 4) + case_stmt( 5) case_stmt( 6) case_stmt( 7) case_stmt( 8) + case_stmt( 9) case_stmt(10) case_stmt(11) case_stmt(12) + case_stmt(13) case_stmt(14) case_stmt(15) case_stmt(16) + case_stmt(17) case_stmt(18) case_stmt(19) case_stmt(20) + case_stmt(21) case_stmt(22) case_stmt(23) case_stmt(24) + case_stmt(25) case_stmt(26) case_stmt(27) case_stmt(28) + case_stmt(29) case_stmt(30) case_stmt(31) case_stmt(32) + case_stmt(33) case_stmt(34) case_stmt(35) case_stmt(36) + case_stmt(37) case_stmt(38) case_stmt(39) case_stmt(40) + case_stmt(41) case_stmt(42) case_stmt(43) case_stmt(44) + case_stmt(45) case_stmt(46) case_stmt(47) case_stmt(48) + case_stmt(49) case_stmt(50) case_stmt(51) case_stmt(52) + case_stmt(53) case_stmt(54) case_stmt(55) case_stmt(56) + case_stmt(57) case_stmt(58) case_stmt(59) case_stmt(60) + #undef case_stmt + default : return error_node(); + } + } + + inline expression_node_ptr cardinal_pow_optimisation(const T& v, const T& c) + { + const bool not_recipricol = (c >= T(0)); + const unsigned int p = static_cast(details::numeric::to_int32(details::numeric::abs(c))); + + if (0 == p) + return node_allocator_->allocate_c(T(1)); + else if (std::equal_to()(T(2),c)) + { + return node_allocator_-> + template allocate_rr > >(v,v); + } + else + { + if (not_recipricol) + return cardinal_pow_optimisation_impl(v,p); + else + return cardinal_pow_optimisation_impl(v,p); + } + } + + inline bool cardinal_pow_optimisable(const details::operator_type& operation, const T& c) const + { + return (details::e_pow == operation) && (details::numeric::abs(c) <= T(60)) && details::numeric::is_integer(c); + } + + inline expression_node_ptr cardinal_pow_optimisation(expression_node_ptr (&branch)[2]) + { + const Type c = static_cast*>(branch[1])->value(); + const bool not_recipricol = (c >= T(0)); + const unsigned int p = static_cast(details::numeric::to_int32(details::numeric::abs(c))); + + node_allocator_->free(branch[1]); + + if (0 == p) + { + details::free_all_nodes(*node_allocator_, branch); + + return node_allocator_->allocate_c(T(1)); + } + else if (not_recipricol) + return cardinal_pow_optimisation_impl(branch[0],p); + else + return cardinal_pow_optimisation_impl(branch[0],p); + } + #else + inline expression_node_ptr cardinal_pow_optimisation(T&, const T&) + { + return error_node(); + } + + inline bool cardinal_pow_optimisable(const details::operator_type&, const T&) + { + return false; + } + + inline expression_node_ptr cardinal_pow_optimisation(expression_node_ptr(&)[2]) + { + return error_node(); + } + #endif + + struct synthesize_binary_ext_expression + { + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + const bool left_neg = is_neg_unary_node(branch[0]); + const bool right_neg = is_neg_unary_node(branch[1]); + + if (left_neg && right_neg) + { + if ( + (details::e_add == operation) || + (details::e_sub == operation) || + (details::e_mul == operation) || + (details::e_div == operation) + ) + { + if ( + !expr_gen.parser_->simplify_unary_negation_branch(branch[0]) || + !expr_gen.parser_->simplify_unary_negation_branch(branch[1]) + ) + { + details::free_all_nodes(*expr_gen.node_allocator_,branch); + + return error_node(); + } + } + + switch (operation) + { + // -f(x + 1) + -g(y + 1) --> -(f(x + 1) + g(y + 1)) + case details::e_add : return expr_gen(details::e_neg, + expr_gen.node_allocator_-> + template allocate > > + (branch[0],branch[1])); + + // -f(x + 1) - -g(y + 1) --> g(y + 1) - f(x + 1) + case details::e_sub : return expr_gen.node_allocator_-> + template allocate > > + (branch[1],branch[0]); + + default : break; + } + } + else if (left_neg && !right_neg) + { + if ( + (details::e_add == operation) || + (details::e_sub == operation) || + (details::e_mul == operation) || + (details::e_div == operation) + ) + { + if (!expr_gen.parser_->simplify_unary_negation_branch(branch[0])) + { + details::free_all_nodes(*expr_gen.node_allocator_,branch); + + return error_node(); + } + + switch (operation) + { + // -f(x + 1) + g(y + 1) --> g(y + 1) - f(x + 1) + case details::e_add : return expr_gen.node_allocator_-> + template allocate > > + (branch[1], branch[0]); + + // -f(x + 1) - g(y + 1) --> -(f(x + 1) + g(y + 1)) + case details::e_sub : return expr_gen(details::e_neg, + expr_gen.node_allocator_-> + template allocate > > + (branch[0], branch[1])); + + // -f(x + 1) * g(y + 1) --> -(f(x + 1) * g(y + 1)) + case details::e_mul : return expr_gen(details::e_neg, + expr_gen.node_allocator_-> + template allocate > > + (branch[0], branch[1])); + + // -f(x + 1) / g(y + 1) --> -(f(x + 1) / g(y + 1)) + case details::e_div : return expr_gen(details::e_neg, + expr_gen.node_allocator_-> + template allocate > > + (branch[0], branch[1])); + + default : return error_node(); + } + } + } + else if (!left_neg && right_neg) + { + if ( + (details::e_add == operation) || + (details::e_sub == operation) || + (details::e_mul == operation) || + (details::e_div == operation) + ) + { + if (!expr_gen.parser_->simplify_unary_negation_branch(branch[1])) + { + details::free_all_nodes(*expr_gen.node_allocator_,branch); + + return error_node(); + } + + switch (operation) + { + // f(x + 1) + -g(y + 1) --> f(x + 1) - g(y + 1) + case details::e_add : return expr_gen.node_allocator_-> + template allocate > > + (branch[0], branch[1]); + + // f(x + 1) - - g(y + 1) --> f(x + 1) + g(y + 1) + case details::e_sub : return expr_gen.node_allocator_-> + template allocate > > + (branch[0], branch[1]); + + // f(x + 1) * -g(y + 1) --> -(f(x + 1) * g(y + 1)) + case details::e_mul : return expr_gen(details::e_neg, + expr_gen.node_allocator_-> + template allocate > > + (branch[0], branch[1])); + + // f(x + 1) / -g(y + 1) --> -(f(x + 1) / g(y + 1)) + case details::e_div : return expr_gen(details::e_neg, + expr_gen.node_allocator_-> + template allocate > > + (branch[0], branch[1])); + + default : return error_node(); + } + } + } + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : return expr_gen.node_allocator_-> \ + template allocate > > \ + (branch[0], branch[1]); \ + + basic_opr_switch_statements + extended_opr_switch_statements + #undef case_stmt + default : return error_node(); + } + } + }; + + struct synthesize_vob_expression + { + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + const Type& v = static_cast*>(branch[0])->ref(); + + #ifndef exprtk_disable_enhanced_features + if (details::is_sf3ext_node(branch[1])) + { + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile_right + (expr_gen, v, operation, branch[1], result); + + if (synthesis_result) + { + details::free_node(*expr_gen.node_allocator_,branch[1]); + return result; + } + } + #endif + + if ( + (details::e_mul == operation) || + (details::e_div == operation) + ) + { + if (details::is_uv_node(branch[1])) + { + typedef details::uv_base_node* uvbn_ptr_t; + + details::operator_type o = static_cast(branch[1])->operation(); + + if (details::e_neg == o) + { + const Type& v1 = static_cast(branch[1])->v(); + + details::free_node(*expr_gen.node_allocator_,branch[1]); + + switch (operation) + { + case details::e_mul : return expr_gen(details::e_neg, + expr_gen.node_allocator_-> + template allocate_rr > >(v,v1)); + + case details::e_div : return expr_gen(details::e_neg, + expr_gen.node_allocator_-> + template allocate_rr > >(v,v1)); + + default : break; + } + } + } + } + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : return expr_gen.node_allocator_-> \ + template allocate_rc > > \ + (v, branch[1]); \ + + basic_opr_switch_statements + extended_opr_switch_statements + #undef case_stmt + default : return error_node(); + } + } + }; + + struct synthesize_bov_expression + { + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + const Type& v = static_cast*>(branch[1])->ref(); + + #ifndef exprtk_disable_enhanced_features + if (details::is_sf3ext_node(branch[0])) + { + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile_left + (expr_gen, v, operation, branch[0], result); + + if (synthesis_result) + { + details::free_node(*expr_gen.node_allocator_, branch[0]); + + return result; + } + } + #endif + + if ( + (details::e_add == operation) || + (details::e_sub == operation) || + (details::e_mul == operation) || + (details::e_div == operation) + ) + { + if (details::is_uv_node(branch[0])) + { + typedef details::uv_base_node* uvbn_ptr_t; + + details::operator_type o = static_cast(branch[0])->operation(); + + if (details::e_neg == o) + { + const Type& v0 = static_cast(branch[0])->v(); + + details::free_node(*expr_gen.node_allocator_,branch[0]); + + switch (operation) + { + case details::e_add : return expr_gen.node_allocator_-> + template allocate_rr > >(v,v0); + + case details::e_sub : return expr_gen(details::e_neg, + expr_gen.node_allocator_-> + template allocate_rr > >(v0,v)); + + case details::e_mul : return expr_gen(details::e_neg, + expr_gen.node_allocator_-> + template allocate_rr > >(v0,v)); + + case details::e_div : return expr_gen(details::e_neg, + expr_gen.node_allocator_-> + template allocate_rr > >(v0,v)); + default : break; + } + } + } + } + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : return expr_gen.node_allocator_-> \ + template allocate_cr > > \ + (branch[0], v); \ + + basic_opr_switch_statements + extended_opr_switch_statements + #undef case_stmt + default : return error_node(); + } + } + }; + + struct synthesize_cob_expression + { + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + const Type c = static_cast*>(branch[0])->value(); + + details::free_node(*expr_gen.node_allocator_,branch[0]); + + if (std::equal_to()(T(0),c) && (details::e_mul == operation)) + { + details::free_node(*expr_gen.node_allocator_,branch[1]); + + return expr_gen(T(0)); + } + else if (std::equal_to()(T(0),c) && (details::e_div == operation)) + { + details::free_node(*expr_gen.node_allocator_, branch[1]); + + return expr_gen(T(0)); + } + else if (std::equal_to()(T(0),c) && (details::e_add == operation)) + return branch[1]; + else if (std::equal_to()(T(1),c) && (details::e_mul == operation)) + return branch[1]; + + if (details::is_cob_node(branch[1])) + { + // Simplify expressions of the form: + // 1. (1 * (2 * (3 * (4 * (5 * (6 * (7 * (8 * (9 + x))))))))) --> 40320 * (9 + x) + // 2. (1 + (2 + (3 + (4 + (5 + (6 + (7 + (8 + (9 + x))))))))) --> 45 + x + if ( + (details::e_mul == operation) || + (details::e_add == operation) + ) + { + details::cob_base_node* cobnode = static_cast*>(branch[1]); + + if (operation == cobnode->operation()) + { + switch (operation) + { + case details::e_add : cobnode->set_c(c + cobnode->c()); break; + case details::e_mul : cobnode->set_c(c * cobnode->c()); break; + default : return error_node(); + } + + return cobnode; + } + } + + if (operation == details::e_mul) + { + details::cob_base_node* cobnode = static_cast*>(branch[1]); + details::operator_type cob_opr = cobnode->operation(); + + if ( + (details::e_div == cob_opr) || + (details::e_mul == cob_opr) + ) + { + switch (cob_opr) + { + case details::e_div : cobnode->set_c(c * cobnode->c()); break; + case details::e_mul : cobnode->set_c(cobnode->c() / c); break; + default : return error_node(); + } + + return cobnode; + } + } + else if (operation == details::e_div) + { + details::cob_base_node* cobnode = static_cast*>(branch[1]); + details::operator_type cob_opr = cobnode->operation(); + + if ( + (details::e_div == cob_opr) || + (details::e_mul == cob_opr) + ) + { + details::expression_node* new_cobnode = error_node(); + + switch (cob_opr) + { + case details::e_div : new_cobnode = expr_gen.node_allocator_-> + template allocate_tt > > + (c / cobnode->c(), cobnode->move_branch(0)); + break; + + case details::e_mul : new_cobnode = expr_gen.node_allocator_-> + template allocate_tt > > + (c / cobnode->c(), cobnode->move_branch(0)); + break; + + default : return error_node(); + } + + details::free_node(*expr_gen.node_allocator_,branch[1]); + + return new_cobnode; + } + } + } + #ifndef exprtk_disable_enhanced_features + else if (details::is_sf3ext_node(branch[1])) + { + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile_right + (expr_gen, c, operation, branch[1], result); + + if (synthesis_result) + { + details::free_node(*expr_gen.node_allocator_,branch[1]); + + return result; + } + } + #endif + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : return expr_gen.node_allocator_-> \ + template allocate_tt > > \ + (c, branch[1]); \ + + basic_opr_switch_statements + extended_opr_switch_statements + #undef case_stmt + default : return error_node(); + } + } + }; + + struct synthesize_boc_expression + { + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + const Type c = static_cast*>(branch[1])->value(); + + details::free_node(*(expr_gen.node_allocator_), branch[1]); + + if (std::equal_to()(T(0),c) && (details::e_mul == operation)) + { + details::free_node(*expr_gen.node_allocator_, branch[0]); + + return expr_gen(T(0)); + } + else if (std::equal_to()(T(0),c) && (details::e_div == operation)) + { + details::free_node(*expr_gen.node_allocator_, branch[0]); + + return expr_gen(std::numeric_limits::quiet_NaN()); + } + else if (std::equal_to()(T(0),c) && (details::e_add == operation)) + return branch[0]; + else if (std::equal_to()(T(1),c) && (details::e_mul == operation)) + return branch[0]; + + if (details::is_boc_node(branch[0])) + { + // Simplify expressions of the form: + // 1. (((((((((x + 9) * 8) * 7) * 6) * 5) * 4) * 3) * 2) * 1) --> (x + 9) * 40320 + // 2. (((((((((x + 9) + 8) + 7) + 6) + 5) + 4) + 3) + 2) + 1) --> x + 45 + if ( + (details::e_mul == operation) || + (details::e_add == operation) + ) + { + details::boc_base_node* bocnode = static_cast*>(branch[0]); + + if (operation == bocnode->operation()) + { + switch (operation) + { + case details::e_add : bocnode->set_c(c + bocnode->c()); break; + case details::e_mul : bocnode->set_c(c * bocnode->c()); break; + default : return error_node(); + } + + return bocnode; + } + } + else if (operation == details::e_div) + { + details::boc_base_node* bocnode = static_cast*>(branch[0]); + details::operator_type boc_opr = bocnode->operation(); + + if ( + (details::e_div == boc_opr) || + (details::e_mul == boc_opr) + ) + { + switch (boc_opr) + { + case details::e_div : bocnode->set_c(c * bocnode->c()); break; + case details::e_mul : bocnode->set_c(bocnode->c() / c); break; + default : return error_node(); + } + + return bocnode; + } + } + else if (operation == details::e_pow) + { + // (v ^ c0) ^ c1 --> v ^(c0 * c1) + details::boc_base_node* bocnode = static_cast*>(branch[0]); + details::operator_type boc_opr = bocnode->operation(); + + if (details::e_pow == boc_opr) + { + bocnode->set_c(bocnode->c() * c); + + return bocnode; + } + } + } + + #ifndef exprtk_disable_enhanced_features + if (details::is_sf3ext_node(branch[0])) + { + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile_left + (expr_gen, c, operation, branch[0], result); + + if (synthesis_result) + { + free_node(*expr_gen.node_allocator_, branch[0]); + + return result; + } + } + #endif + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : return expr_gen.node_allocator_-> \ + template allocate_cr > > \ + (branch[0], c); \ + + basic_opr_switch_statements + extended_opr_switch_statements + #undef case_stmt + default : return error_node(); + } + } + }; + + struct synthesize_cocob_expression + { + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + expression_node_ptr result = error_node(); + + // (cob) o c --> cob + if (details::is_cob_node(branch[0])) + { + details::cob_base_node* cobnode = static_cast*>(branch[0]); + + const Type c = static_cast*>(branch[1])->value(); + + if (std::equal_to()(T(0),c) && (details::e_mul == operation)) + { + details::free_node(*expr_gen.node_allocator_, branch[0]); + details::free_node(*expr_gen.node_allocator_, branch[1]); + + return expr_gen(T(0)); + } + else if (std::equal_to()(T(0),c) && (details::e_div == operation)) + { + details::free_node(*expr_gen.node_allocator_, branch[0]); + details::free_node(*expr_gen.node_allocator_, branch[1]); + + return expr_gen(T(std::numeric_limits::quiet_NaN())); + } + else if (std::equal_to()(T(0),c) && (details::e_add == operation)) + { + details::free_node(*expr_gen.node_allocator_, branch[1]); + + return branch[0]; + } + else if (std::equal_to()(T(1),c) && (details::e_mul == operation)) + { + details::free_node(*expr_gen.node_allocator_, branch[1]); + + return branch[0]; + } + else if (std::equal_to()(T(1),c) && (details::e_div == operation)) + { + details::free_node(*expr_gen.node_allocator_, branch[1]); + + return branch[0]; + } + + const bool op_addsub = (details::e_add == cobnode->operation()) || + (details::e_sub == cobnode->operation()) ; + + if (op_addsub) + { + switch (operation) + { + case details::e_add : cobnode->set_c(cobnode->c() + c); break; + case details::e_sub : cobnode->set_c(cobnode->c() - c); break; + default : return error_node(); + } + + result = cobnode; + } + else if (details::e_mul == cobnode->operation()) + { + switch (operation) + { + case details::e_mul : cobnode->set_c(cobnode->c() * c); break; + case details::e_div : cobnode->set_c(cobnode->c() / c); break; + default : return error_node(); + } + + result = cobnode; + } + else if (details::e_div == cobnode->operation()) + { + if (details::e_mul == operation) + { + cobnode->set_c(cobnode->c() * c); + result = cobnode; + } + else if (details::e_div == operation) + { + result = expr_gen.node_allocator_-> + template allocate_tt > > + (cobnode->c() / c, cobnode->move_branch(0)); + + details::free_node(*expr_gen.node_allocator_, branch[0]); + } + } + + if (result) + { + details::free_node(*expr_gen.node_allocator_,branch[1]); + } + } + + // c o (cob) --> cob + else if (details::is_cob_node(branch[1])) + { + details::cob_base_node* cobnode = static_cast*>(branch[1]); + + const Type c = static_cast*>(branch[0])->value(); + + if (std::equal_to()(T(0),c) && (details::e_mul == operation)) + { + details::free_node(*expr_gen.node_allocator_, branch[0]); + details::free_node(*expr_gen.node_allocator_, branch[1]); + + return expr_gen(T(0)); + } + else if (std::equal_to()(T(0),c) && (details::e_div == operation)) + { + details::free_node(*expr_gen.node_allocator_, branch[0]); + details::free_node(*expr_gen.node_allocator_, branch[1]); + + return expr_gen(T(0)); + } + else if (std::equal_to()(T(0),c) && (details::e_add == operation)) + { + details::free_node(*expr_gen.node_allocator_, branch[0]); + + return branch[1]; + } + else if (std::equal_to()(T(1),c) && (details::e_mul == operation)) + { + details::free_node(*expr_gen.node_allocator_, branch[0]); + + return branch[1]; + } + + if (details::e_add == cobnode->operation()) + { + if (details::e_add == operation) + { + cobnode->set_c(c + cobnode->c()); + result = cobnode; + } + else if (details::e_sub == operation) + { + result = expr_gen.node_allocator_-> + template allocate_tt > > + (c - cobnode->c(), cobnode->move_branch(0)); + + details::free_node(*expr_gen.node_allocator_,branch[1]); + } + } + else if (details::e_sub == cobnode->operation()) + { + if (details::e_add == operation) + { + cobnode->set_c(c + cobnode->c()); + result = cobnode; + } + else if (details::e_sub == operation) + { + result = expr_gen.node_allocator_-> + template allocate_tt > > + (c - cobnode->c(), cobnode->move_branch(0)); + + details::free_node(*expr_gen.node_allocator_,branch[1]); + } + } + else if (details::e_mul == cobnode->operation()) + { + if (details::e_mul == operation) + { + cobnode->set_c(c * cobnode->c()); + result = cobnode; + } + else if (details::e_div == operation) + { + result = expr_gen.node_allocator_-> + template allocate_tt > > + (c / cobnode->c(), cobnode->move_branch(0)); + + details::free_node(*expr_gen.node_allocator_,branch[1]); + } + } + else if (details::e_div == cobnode->operation()) + { + if (details::e_mul == operation) + { + cobnode->set_c(c * cobnode->c()); + result = cobnode; + } + else if (details::e_div == operation) + { + result = expr_gen.node_allocator_-> + template allocate_tt > > + (c / cobnode->c(), cobnode->move_branch(0)); + + details::free_node(*expr_gen.node_allocator_,branch[1]); + } + } + + if (result) + { + details::free_node(*expr_gen.node_allocator_,branch[0]); + } + } + + return result; + } + }; + + struct synthesize_coboc_expression + { + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + expression_node_ptr result = error_node(); + + // (boc) o c --> boc + if (details::is_boc_node(branch[0])) + { + details::boc_base_node* bocnode = static_cast*>(branch[0]); + + const Type c = static_cast*>(branch[1])->value(); + + if (details::e_add == bocnode->operation()) + { + switch (operation) + { + case details::e_add : bocnode->set_c(bocnode->c() + c); break; + case details::e_sub : bocnode->set_c(bocnode->c() - c); break; + default : return error_node(); + } + + result = bocnode; + } + else if (details::e_mul == bocnode->operation()) + { + switch (operation) + { + case details::e_mul : bocnode->set_c(bocnode->c() * c); break; + case details::e_div : bocnode->set_c(bocnode->c() / c); break; + default : return error_node(); + } + + result = bocnode; + } + else if (details::e_sub == bocnode->operation()) + { + if (details::e_add == operation) + { + result = expr_gen.node_allocator_-> + template allocate_tt > > + (bocnode->move_branch(0), c - bocnode->c()); + + details::free_node(*expr_gen.node_allocator_,branch[0]); + } + else if (details::e_sub == operation) + { + bocnode->set_c(bocnode->c() + c); + result = bocnode; + } + } + else if (details::e_div == bocnode->operation()) + { + switch (operation) + { + case details::e_div : bocnode->set_c(bocnode->c() * c); break; + case details::e_mul : bocnode->set_c(bocnode->c() / c); break; + default : return error_node(); + } + + result = bocnode; + } + + if (result) + { + details::free_node(*expr_gen.node_allocator_, branch[1]); + } + } + + // c o (boc) --> boc + else if (details::is_boc_node(branch[1])) + { + details::boc_base_node* bocnode = static_cast*>(branch[1]); + + const Type c = static_cast*>(branch[0])->value(); + + if (details::e_add == bocnode->operation()) + { + if (details::e_add == operation) + { + bocnode->set_c(c + bocnode->c()); + result = bocnode; + } + else if (details::e_sub == operation) + { + result = expr_gen.node_allocator_-> + template allocate_tt > > + (c - bocnode->c(), bocnode->move_branch(0)); + + details::free_node(*expr_gen.node_allocator_,branch[1]); + } + } + else if (details::e_sub == bocnode->operation()) + { + if (details::e_add == operation) + { + result = expr_gen.node_allocator_-> + template allocate_tt > > + (bocnode->move_branch(0), c - bocnode->c()); + + details::free_node(*expr_gen.node_allocator_,branch[1]); + } + else if (details::e_sub == operation) + { + result = expr_gen.node_allocator_-> + template allocate_tt > > + (c + bocnode->c(), bocnode->move_branch(0)); + + details::free_node(*expr_gen.node_allocator_,branch[1]); + } + } + else if (details::e_mul == bocnode->operation()) + { + if (details::e_mul == operation) + { + bocnode->set_c(c * bocnode->c()); + result = bocnode; + } + else if (details::e_div == operation) + { + result = expr_gen.node_allocator_-> + template allocate_tt > > + (c / bocnode->c(), bocnode->move_branch(0)); + + details::free_node(*expr_gen.node_allocator_,branch[1]); + } + } + else if (details::e_div == bocnode->operation()) + { + if (details::e_mul == operation) + { + bocnode->set_c(bocnode->c() / c); + result = bocnode; + } + else if (details::e_div == operation) + { + result = expr_gen.node_allocator_-> + template allocate_tt > > + (c * bocnode->c(), bocnode->move_branch(0)); + + details::free_node(*expr_gen.node_allocator_,branch[1]); + } + } + + if (result) + { + details::free_node(*expr_gen.node_allocator_,branch[0]); + } + } + + return result; + } + }; + + #ifndef exprtk_disable_enhanced_features + inline bool synthesize_expression(const details::operator_type& operation, + expression_node_ptr (&branch)[2], + expression_node_ptr& result) + { + result = error_node(); + + if (!operation_optimisable(operation)) + return false; + + const std::string node_id = branch_to_id(branch); + + const typename synthesize_map_t::iterator itr = synthesize_map_.find(node_id); + + if (synthesize_map_.end() != itr) + { + result = itr->second((*this), operation, branch); + + return true; + } + else + return false; + } + + struct synthesize_vov_expression + { + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + const Type& v1 = static_cast*>(branch[0])->ref(); + const Type& v2 = static_cast*>(branch[1])->ref(); + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : return expr_gen.node_allocator_-> \ + template allocate_rr > > \ + (v1, v2); \ + + basic_opr_switch_statements + extended_opr_switch_statements + #undef case_stmt + default : return error_node(); + } + } + }; + + struct synthesize_cov_expression + { + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + const Type c = static_cast*> (branch[0])->value(); + const Type& v = static_cast*>(branch[1])->ref (); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + + if (std::equal_to()(T(0),c) && (details::e_mul == operation)) + return expr_gen(T(0)); + else if (std::equal_to()(T(0),c) && (details::e_div == operation)) + return expr_gen(T(0)); + else if (std::equal_to()(T(0),c) && (details::e_add == operation)) + return static_cast*>(branch[1]); + else if (std::equal_to()(T(1),c) && (details::e_mul == operation)) + return static_cast*>(branch[1]); + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : return expr_gen.node_allocator_-> \ + template allocate_cr > > \ + (c, v); \ + + basic_opr_switch_statements + extended_opr_switch_statements + #undef case_stmt + default : return error_node(); + } + } + }; + + struct synthesize_voc_expression + { + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + const Type& v = static_cast*>(branch[0])->ref (); + const Type c = static_cast*> (branch[1])->value(); + + details::free_node(*(expr_gen.node_allocator_), branch[1]); + + if (expr_gen.cardinal_pow_optimisable(operation,c)) + { + if (std::equal_to()(T(1),c)) + return branch[0]; + else + return expr_gen.cardinal_pow_optimisation(v,c); + } + else if (std::equal_to()(T(0),c) && (details::e_mul == operation)) + return expr_gen(T(0)); + else if (std::equal_to()(T(0),c) && (details::e_div == operation)) + return expr_gen(std::numeric_limits::quiet_NaN()); + else if (std::equal_to()(T(0),c) && (details::e_add == operation)) + return static_cast*>(branch[0]); + else if (std::equal_to()(T(1),c) && (details::e_mul == operation)) + return static_cast*>(branch[0]); + else if (std::equal_to()(T(1),c) && (details::e_div == operation)) + return static_cast*>(branch[0]); + + switch (operation) + { + #define case_stmt(op0, op1) \ + case op0 : return expr_gen.node_allocator_-> \ + template allocate_rc > > \ + (v, c); \ + + basic_opr_switch_statements + extended_opr_switch_statements + #undef case_stmt + default : return error_node(); + } + } + }; + + struct synthesize_sf3ext_expression + { + template + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& sf3opr, + T0 t0, T1 t1, T2 t2) + { + switch (sf3opr) + { + #define case_stmt(op) \ + case details::e_sf##op : return details::T0oT1oT2_sf3ext >:: \ + allocate(*(expr_gen.node_allocator_), t0, t1, t2); \ + + case_stmt(00) case_stmt(01) case_stmt(02) case_stmt(03) + case_stmt(04) case_stmt(05) case_stmt(06) case_stmt(07) + case_stmt(08) case_stmt(09) case_stmt(10) case_stmt(11) + case_stmt(12) case_stmt(13) case_stmt(14) case_stmt(15) + case_stmt(16) case_stmt(17) case_stmt(18) case_stmt(19) + case_stmt(20) case_stmt(21) case_stmt(22) case_stmt(23) + case_stmt(24) case_stmt(25) case_stmt(26) case_stmt(27) + case_stmt(28) case_stmt(29) case_stmt(30) + #undef case_stmt + default : return error_node(); + } + } + + template + static inline bool compile(expression_generator& expr_gen, const std::string& id, + T0 t0, T1 t1, T2 t2, + expression_node_ptr& result) + { + details::operator_type sf3opr; + + if (!expr_gen.sf3_optimisable(id,sf3opr)) + return false; + else + result = synthesize_sf3ext_expression::template process + (expr_gen, sf3opr, t0, t1, t2); + + return true; + } + }; + + struct synthesize_sf4ext_expression + { + template + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& sf4opr, + T0 t0, T1 t1, T2 t2, T3 t3) + { + switch (sf4opr) + { + #define case_stmt0(op) \ + case details::e_sf##op : return details::T0oT1oT2oT3_sf4ext >:: \ + allocate(*(expr_gen.node_allocator_), t0, t1, t2, t3); \ + + #define case_stmt1(op) \ + case details::e_sf4ext##op : return details::T0oT1oT2oT3_sf4ext >:: \ + allocate(*(expr_gen.node_allocator_), t0, t1, t2, t3); \ + + case_stmt0(48) case_stmt0(49) case_stmt0(50) case_stmt0(51) + case_stmt0(52) case_stmt0(53) case_stmt0(54) case_stmt0(55) + case_stmt0(56) case_stmt0(57) case_stmt0(58) case_stmt0(59) + case_stmt0(60) case_stmt0(61) case_stmt0(62) case_stmt0(63) + case_stmt0(64) case_stmt0(65) case_stmt0(66) case_stmt0(67) + case_stmt0(68) case_stmt0(69) case_stmt0(70) case_stmt0(71) + case_stmt0(72) case_stmt0(73) case_stmt0(74) case_stmt0(75) + case_stmt0(76) case_stmt0(77) case_stmt0(78) case_stmt0(79) + case_stmt0(80) case_stmt0(81) case_stmt0(82) case_stmt0(83) + + case_stmt1(00) case_stmt1(01) case_stmt1(02) case_stmt1(03) + case_stmt1(04) case_stmt1(05) case_stmt1(06) case_stmt1(07) + case_stmt1(08) case_stmt1(09) case_stmt1(10) case_stmt1(11) + case_stmt1(12) case_stmt1(13) case_stmt1(14) case_stmt1(15) + case_stmt1(16) case_stmt1(17) case_stmt1(18) case_stmt1(19) + case_stmt1(20) case_stmt1(21) case_stmt1(22) case_stmt1(23) + case_stmt1(24) case_stmt1(25) case_stmt1(26) case_stmt1(27) + case_stmt1(28) case_stmt1(29) case_stmt1(30) case_stmt1(31) + case_stmt1(32) case_stmt1(33) case_stmt1(34) case_stmt1(35) + case_stmt1(36) case_stmt1(37) case_stmt1(38) case_stmt1(39) + case_stmt1(40) case_stmt1(41) case_stmt1(42) case_stmt1(43) + case_stmt1(44) case_stmt1(45) case_stmt1(46) case_stmt1(47) + case_stmt1(48) case_stmt1(49) case_stmt1(50) case_stmt1(51) + case_stmt1(52) case_stmt1(53) case_stmt1(54) case_stmt1(55) + case_stmt1(56) case_stmt1(57) case_stmt1(58) case_stmt1(59) + case_stmt1(60) case_stmt1(61) + + #undef case_stmt0 + #undef case_stmt1 + default : return error_node(); + } + } + + template + static inline bool compile(expression_generator& expr_gen, const std::string& id, + T0 t0, T1 t1, T2 t2, T3 t3, + expression_node_ptr& result) + { + details::operator_type sf4opr; + + if (!expr_gen.sf4_optimisable(id,sf4opr)) + return false; + else + result = synthesize_sf4ext_expression::template process + (expr_gen, sf4opr, t0, t1, t2, t3); + + return true; + } + + // T o (sf3ext) + template + static inline bool compile_right(expression_generator& expr_gen, + ExternalType t, + const details::operator_type& operation, + expression_node_ptr& sf3node, + expression_node_ptr& result) + { + if (!details::is_sf3ext_node(sf3node)) + return false; + + typedef details::T0oT1oT2_base_node* sf3ext_base_ptr; + + sf3ext_base_ptr n = static_cast(sf3node); + const std::string id = "t" + expr_gen.to_str(operation) + "(" + n->type_id() + ")"; + + switch (n->type()) + { + case details::expression_node::e_covoc : return compile_right_impl + + (expr_gen, id, t, sf3node, result); + + case details::expression_node::e_covov : return compile_right_impl + + (expr_gen, id, t, sf3node, result); + + case details::expression_node::e_vocov : return compile_right_impl + + (expr_gen, id, t, sf3node, result); + + case details::expression_node::e_vovoc : return compile_right_impl + + (expr_gen, id, t, sf3node, result); + + case details::expression_node::e_vovov : return compile_right_impl + + (expr_gen, id, t, sf3node, result); + + default : return false; + } + } + + // (sf3ext) o T + template + static inline bool compile_left(expression_generator& expr_gen, + ExternalType t, + const details::operator_type& operation, + expression_node_ptr& sf3node, + expression_node_ptr& result) + { + if (!details::is_sf3ext_node(sf3node)) + return false; + + typedef details::T0oT1oT2_base_node* sf3ext_base_ptr; + + sf3ext_base_ptr n = static_cast(sf3node); + + const std::string id = "(" + n->type_id() + ")" + expr_gen.to_str(operation) + "t"; + + switch (n->type()) + { + case details::expression_node::e_covoc : return compile_left_impl + + (expr_gen, id, t, sf3node, result); + + case details::expression_node::e_covov : return compile_left_impl + + (expr_gen, id, t, sf3node, result); + + case details::expression_node::e_vocov : return compile_left_impl + + (expr_gen, id, t, sf3node, result); + + case details::expression_node::e_vovoc : return compile_left_impl + + (expr_gen, id, t, sf3node, result); + + case details::expression_node::e_vovov : return compile_left_impl + + (expr_gen, id, t, sf3node, result); + + default : return false; + } + } + + template + static inline bool compile_right_impl(expression_generator& expr_gen, + const std::string& id, + ExternalType t, + expression_node_ptr& node, + expression_node_ptr& result) + { + SF3TypeNode* n = dynamic_cast(node); + + if (n) + { + T0 t0 = n->t0(); + T1 t1 = n->t1(); + T2 t2 = n->t2(); + + return synthesize_sf4ext_expression::template compile + (expr_gen, id, t, t0, t1, t2, result); + } + else + return false; + } + + template + static inline bool compile_left_impl(expression_generator& expr_gen, + const std::string& id, + ExternalType t, + expression_node_ptr& node, + expression_node_ptr& result) + { + SF3TypeNode* n = dynamic_cast(node); + + if (n) + { + T0 t0 = n->t0(); + T1 t1 = n->t1(); + T2 t2 = n->t2(); + + return synthesize_sf4ext_expression::template compile + (expr_gen, id, t0, t1, t2, t, result); + } + else + return false; + } + }; + + struct synthesize_vovov_expression0 + { + typedef typename vovov_t::type0 node_type; + typedef typename vovov_t::sf3_type sf3_type; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (v0 o0 v1) o1 (v2) + const details::vov_base_node* vov = static_cast*>(branch[0]); + const Type& v0 = vov->v0(); + const Type& v1 = vov->v1(); + const Type& v2 = static_cast*>(branch[1])->ref(); + const details::operator_type o0 = vov->operation(); + const details::operator_type o1 = operation; + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // (v0 / v1) / v2 --> (vovov) v0 / (v1 * v2) + if ((details::e_div == o0) && (details::e_div == o1)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "t/(t*t)", v0, v1, v2, result); + + exprtk_debug(("(v0 / v1) / v2 --> (vovov) v0 / (v1 * v2)\n")); + + return (synthesis_result) ? result : error_node(); + } + } + + const bool synthesis_result = + synthesize_sf3ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1), v0, v1, v2, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, v2, f0, f1); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "t"; + } + }; + + struct synthesize_vovov_expression1 + { + typedef typename vovov_t::type1 node_type; + typedef typename vovov_t::sf3_type sf3_type; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (v0) o0 (v1 o1 v2) + const details::vov_base_node* vov = static_cast*>(branch[1]); + const Type& v0 = static_cast*>(branch[0])->ref(); + const Type& v1 = vov->v0(); + const Type& v2 = vov->v1(); + const details::operator_type o0 = operation; + const details::operator_type o1 = vov->operation(); + + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // v0 / (v1 / v2) --> (vovov) (v0 * v2) / v1 + if ((details::e_div == o0) && (details::e_div == o1)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)/t", v0, v2, v1, result); + + exprtk_debug(("v0 / (v1 / v2) --> (vovov) (v0 * v2) / v1\n")); + + return (synthesis_result) ? result : error_node(); + } + } + + const bool synthesis_result = + synthesize_sf3ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1), v0, v1, v2, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, v2, f0, f1); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "t)"; + } + }; + + struct synthesize_vovoc_expression0 + { + typedef typename vovoc_t::type0 node_type; + typedef typename vovoc_t::sf3_type sf3_type; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (v0 o0 v1) o1 (c) + const details::vov_base_node* vov = static_cast*>(branch[0]); + const Type& v0 = vov->v0(); + const Type& v1 = vov->v1(); + const Type c = static_cast*>(branch[1])->value(); + const details::operator_type o0 = vov->operation(); + const details::operator_type o1 = operation; + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // (v0 / v1) / c --> (vovoc) v0 / (v1 * c) + if ((details::e_div == o0) && (details::e_div == o1)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "t/(t*t)", v0, v1, c, result); + + exprtk_debug(("(v0 / v1) / c --> (vovoc) v0 / (v1 * c)\n")); + + return (synthesis_result) ? result : error_node(); + } + } + + const bool synthesis_result = + synthesize_sf3ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1), v0, v1, c, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, c, f0, f1); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "t"; + } + }; + + struct synthesize_vovoc_expression1 + { + typedef typename vovoc_t::type1 node_type; + typedef typename vovoc_t::sf3_type sf3_type; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (v0) o0 (v1 o1 c) + const details::voc_base_node* voc = static_cast*>(branch[1]); + const Type& v0 = static_cast*>(branch[0])->ref(); + const Type& v1 = voc->v(); + const Type c = voc->c(); + const details::operator_type o0 = operation; + const details::operator_type o1 = voc->operation(); + + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // v0 / (v1 / c) --> (vocov) (v0 * c) / v1 + if ((details::e_div == o0) && (details::e_div == o1)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)/t", v0, c, v1, result); + + exprtk_debug(("v0 / (v1 / c) --> (vocov) (v0 * c) / v1\n")); + + return (synthesis_result) ? result : error_node(); + } + } + + const bool synthesis_result = + synthesize_sf3ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1), v0, v1, c, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, c, f0, f1); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "t)"; + } + }; + + struct synthesize_vocov_expression0 + { + typedef typename vocov_t::type0 node_type; + typedef typename vocov_t::sf3_type sf3_type; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (v0 o0 c) o1 (v1) + const details::voc_base_node* voc = static_cast*>(branch[0]); + const Type& v0 = voc->v(); + const Type c = voc->c(); + const Type& v1 = static_cast*>(branch[1])->ref(); + const details::operator_type o0 = voc->operation(); + const details::operator_type o1 = operation; + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // (v0 / c) / v1 --> (vovoc) v0 / (v1 * c) + if ((details::e_div == o0) && (details::e_div == o1)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "t/(t*t)", v0, v1, c, result); + + exprtk_debug(("(v0 / c) / v1 --> (vovoc) v0 / (v1 * c)\n")); + + return (synthesis_result) ? result : error_node(); + } + } + + const bool synthesis_result = + synthesize_sf3ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1), v0, c, v1, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), v0, c, v1, f0, f1); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "t"; + } + }; + + struct synthesize_vocov_expression1 + { + typedef typename vocov_t::type1 node_type; + typedef typename vocov_t::sf3_type sf3_type; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (v0) o0 (c o1 v1) + const details::cov_base_node* cov = static_cast*>(branch[1]); + const Type& v0 = static_cast*>(branch[0])->ref(); + const Type c = cov->c(); + const Type& v1 = cov->v(); + const details::operator_type o0 = operation; + const details::operator_type o1 = cov->operation(); + + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // v0 / (c / v1) --> (vovoc) (v0 * v1) / c + if ((details::e_div == o0) && (details::e_div == o1)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)/t", v0, v1, c, result); + + exprtk_debug(("v0 / (c / v1) --> (vovoc) (v0 * v1) / c\n")); + + return (synthesis_result) ? result : error_node(); + } + } + + const bool synthesis_result = + synthesize_sf3ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1), v0, c, v1, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), v0, c, v1, f0, f1); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "t)"; + } + }; + + struct synthesize_covov_expression0 + { + typedef typename covov_t::type0 node_type; + typedef typename covov_t::sf3_type sf3_type; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (c o0 v0) o1 (v1) + const details::cov_base_node* cov = static_cast*>(branch[0]); + const Type c = cov->c(); + const Type& v0 = cov->v(); + const Type& v1 = static_cast*>(branch[1])->ref(); + const details::operator_type o0 = cov->operation(); + const details::operator_type o1 = operation; + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // (c / v0) / v1 --> (covov) c / (v0 * v1) + if ((details::e_div == o0) && (details::e_div == o1)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "t/(t*t)", c, v0, v1, result); + + exprtk_debug(("(c / v0) / v1 --> (covov) c / (v0 * v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + } + + const bool synthesis_result = + synthesize_sf3ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1), c, v0, v1, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), c, v0, v1, f0, f1); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "t"; + } + }; + + struct synthesize_covov_expression1 + { + typedef typename covov_t::type1 node_type; + typedef typename covov_t::sf3_type sf3_type; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (c) o0 (v0 o1 v1) + const details::vov_base_node* vov = static_cast*>(branch[1]); + const Type c = static_cast*>(branch[0])->value(); + const Type& v0 = vov->v0(); + const Type& v1 = vov->v1(); + const details::operator_type o0 = operation; + const details::operator_type o1 = vov->operation(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // c / (v0 / v1) --> (covov) (c * v1) / v0 + if ((details::e_div == o0) && (details::e_div == o1)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)/t", c, v1, v0, result); + + exprtk_debug(("c / (v0 / v1) --> (covov) (c * v1) / v0\n")); + + return (synthesis_result) ? result : error_node(); + } + } + + const bool synthesis_result = + synthesize_sf3ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1), c, v0, v1, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), c, v0, v1, f0, f1); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "t)"; + } + }; + + struct synthesize_covoc_expression0 + { + typedef typename covoc_t::type0 node_type; + typedef typename covoc_t::sf3_type sf3_type; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (c0 o0 v) o1 (c1) + const details::cov_base_node* cov = static_cast*>(branch[0]); + const Type c0 = cov->c(); + const Type& v = cov->v(); + const Type c1 = static_cast*>(branch[1])->value(); + const details::operator_type o0 = cov->operation(); + const details::operator_type o1 = operation; + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // (c0 + v) + c1 --> (cov) (c0 + c1) + v + if ((details::e_add == o0) && (details::e_add == o1)) + { + exprtk_debug(("(c0 + v) + c1 --> (cov) (c0 + c1) + v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 + c1, v); + } + // (c0 + v) - c1 --> (cov) (c0 - c1) + v + else if ((details::e_add == o0) && (details::e_sub == o1)) + { + exprtk_debug(("(c0 + v) - c1 --> (cov) (c0 - c1) + v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 - c1, v); + } + // (c0 - v) + c1 --> (cov) (c0 + c1) - v + else if ((details::e_sub == o0) && (details::e_add == o1)) + { + exprtk_debug(("(c0 - v) + c1 --> (cov) (c0 + c1) - v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 + c1, v); + } + // (c0 - v) - c1 --> (cov) (c0 - c1) - v + else if ((details::e_sub == o0) && (details::e_sub == o1)) + { + exprtk_debug(("(c0 - v) - c1 --> (cov) (c0 - c1) - v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 - c1, v); + } + // (c0 * v) * c1 --> (cov) (c0 * c1) * v + else if ((details::e_mul == o0) && (details::e_mul == o1)) + { + exprtk_debug(("(c0 * v) * c1 --> (cov) (c0 * c1) * v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 * c1, v); + } + // (c0 * v) / c1 --> (cov) (c0 / c1) * v + else if ((details::e_mul == o0) && (details::e_div == o1)) + { + exprtk_debug(("(c0 * v) / c1 --> (cov) (c0 / c1) * v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 / c1, v); + } + // (c0 / v) * c1 --> (cov) (c0 * c1) / v + else if ((details::e_div == o0) && (details::e_mul == o1)) + { + exprtk_debug(("(c0 / v) * c1 --> (cov) (c0 * c1) / v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 * c1, v); + } + // (c0 / v) / c1 --> (cov) (c0 / c1) / v + else if ((details::e_div == o0) && (details::e_div == o1)) + { + exprtk_debug(("(c0 / v) / c1 --> (cov) (c0 / c1) / v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 / c1, v); + } + } + + const bool synthesis_result = + synthesize_sf3ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1), c0, v, c1, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), c0, v, c1, f0, f1); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "t"; + } + }; + + struct synthesize_covoc_expression1 + { + typedef typename covoc_t::type1 node_type; + typedef typename covoc_t::sf3_type sf3_type; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (c0) o0 (v o1 c1) + const details::voc_base_node* voc = static_cast*>(branch[1]); + const Type c0 = static_cast*>(branch[0])->value(); + const Type& v = voc->v(); + const Type c1 = voc->c(); + const details::operator_type o0 = operation; + const details::operator_type o1 = voc->operation(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // (c0) + (v + c1) --> (cov) (c0 + c1) + v + if ((details::e_add == o0) && (details::e_add == o1)) + { + exprtk_debug(("(c0) + (v + c1) --> (cov) (c0 + c1) + v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 + c1, v); + } + // (c0) + (v - c1) --> (cov) (c0 - c1) + v + else if ((details::e_add == o0) && (details::e_sub == o1)) + { + exprtk_debug(("(c0) + (v - c1) --> (cov) (c0 - c1) + v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 - c1, v); + } + // (c0) - (v + c1) --> (cov) (c0 - c1) - v + else if ((details::e_sub == o0) && (details::e_add == o1)) + { + exprtk_debug(("(c0) - (v + c1) --> (cov) (c0 - c1) - v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 - c1, v); + } + // (c0) - (v - c1) --> (cov) (c0 + c1) - v + else if ((details::e_sub == o0) && (details::e_sub == o1)) + { + exprtk_debug(("(c0) - (v - c1) --> (cov) (c0 + c1) - v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 + c1, v); + } + // (c0) * (v * c1) --> (voc) v * (c0 * c1) + else if ((details::e_mul == o0) && (details::e_mul == o1)) + { + exprtk_debug(("(c0) * (v * c1) --> (voc) v * (c0 * c1)\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 * c1, v); + } + // (c0) * (v / c1) --> (cov) (c0 / c1) * v + else if ((details::e_mul == o0) && (details::e_div == o1)) + { + exprtk_debug(("(c0) * (v / c1) --> (cov) (c0 / c1) * v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 / c1, v); + } + // (c0) / (v * c1) --> (cov) (c0 / c1) / v + else if ((details::e_div == o0) && (details::e_mul == o1)) + { + exprtk_debug(("(c0) / (v * c1) --> (cov) (c0 / c1) / v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 / c1, v); + } + // (c0) / (v / c1) --> (cov) (c0 * c1) / v + else if ((details::e_div == o0) && (details::e_div == o1)) + { + exprtk_debug(("(c0) / (v / c1) --> (cov) (c0 * c1) / v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 * c1, v); + } + } + + const bool synthesis_result = + synthesize_sf3ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1), c0, v, c1, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), c0, v, c1, f0, f1); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "t)"; + } + }; + + struct synthesize_cocov_expression0 + { + typedef typename cocov_t::type0 node_type; + static inline expression_node_ptr process(expression_generator&, + const details::operator_type&, + expression_node_ptr (&)[2]) + { + // (c0 o0 c1) o1 (v) - Not possible. + return error_node(); + } + }; + + struct synthesize_cocov_expression1 + { + typedef typename cocov_t::type1 node_type; + typedef typename cocov_t::sf3_type sf3_type; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (c0) o0 (c1 o1 v) + const details::cov_base_node* cov = static_cast*>(branch[1]); + const Type c0 = static_cast*>(branch[0])->value(); + const Type c1 = cov->c(); + const Type& v = cov->v(); + const details::operator_type o0 = operation; + const details::operator_type o1 = cov->operation(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // (c0) + (c1 + v) --> (cov) (c0 + c1) + v + if ((details::e_add == o0) && (details::e_add == o1)) + { + exprtk_debug(("(c0) + (c1 + v) --> (cov) (c0 + c1) + v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 + c1, v); + } + // (c0) + (c1 - v) --> (cov) (c0 + c1) - v + else if ((details::e_add == o0) && (details::e_sub == o1)) + { + exprtk_debug(("(c0) + (c1 - v) --> (cov) (c0 + c1) - v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 + c1, v); + } + // (c0) - (c1 + v) --> (cov) (c0 - c1) - v + else if ((details::e_sub == o0) && (details::e_add == o1)) + { + exprtk_debug(("(c0) - (c1 + v) --> (cov) (c0 - c1) - v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 - c1, v); + } + // (c0) - (c1 - v) --> (cov) (c0 - c1) + v + else if ((details::e_sub == o0) && (details::e_sub == o1)) + { + exprtk_debug(("(c0) - (c1 - v) --> (cov) (c0 - c1) + v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 - c1, v); + } + // (c0) * (c1 * v) --> (cov) (c0 * c1) * v + else if ((details::e_mul == o0) && (details::e_mul == o1)) + { + exprtk_debug(("(c0) * (c1 * v) --> (cov) (c0 * c1) * v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 * c1, v); + } + // (c0) * (c1 / v) --> (cov) (c0 * c1) / v + else if ((details::e_mul == o0) && (details::e_div == o1)) + { + exprtk_debug(("(c0) * (c1 / v) --> (cov) (c0 * c1) / v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 * c1, v); + } + // (c0) / (c1 * v) --> (cov) (c0 / c1) / v + else if ((details::e_div == o0) && (details::e_mul == o1)) + { + exprtk_debug(("(c0) / (c1 * v) --> (cov) (c0 / c1) / v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 / c1, v); + } + // (c0) / (c1 / v) --> (cov) (c0 / c1) * v + else if ((details::e_div == o0) && (details::e_div == o1)) + { + exprtk_debug(("(c0) / (c1 / v) --> (cov) (c0 / c1) * v\n")); + + return expr_gen.node_allocator_-> + template allocate_cr > >(c0 / c1, v); + } + } + + const bool synthesis_result = + synthesize_sf3ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1), c0, c1, v, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), c0, c1, v, f0, f1); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "t)"; + } + }; + + struct synthesize_vococ_expression0 + { + typedef typename vococ_t::type0 node_type; + typedef typename vococ_t::sf3_type sf3_type; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (v o0 c0) o1 (c1) + const details::voc_base_node* voc = static_cast*>(branch[0]); + const Type& v = voc->v(); + const Type& c0 = voc->c(); + const Type& c1 = static_cast*>(branch[1])->value(); + const details::operator_type o0 = voc->operation(); + const details::operator_type o1 = operation; + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // (v + c0) + c1 --> (voc) v + (c0 + c1) + if ((details::e_add == o0) && (details::e_add == o1)) + { + exprtk_debug(("(v + c0) + c1 --> (voc) v + (c0 + c1)\n")); + + return expr_gen.node_allocator_-> + template allocate_rc > >(v, c0 + c1); + } + // (v + c0) - c1 --> (voc) v + (c0 - c1) + else if ((details::e_add == o0) && (details::e_sub == o1)) + { + exprtk_debug(("(v + c0) - c1 --> (voc) v + (c0 - c1)\n")); + + return expr_gen.node_allocator_-> + template allocate_rc > >(v, c0 - c1); + } + // (v - c0) + c1 --> (voc) v - (c0 + c1) + else if ((details::e_sub == o0) && (details::e_add == o1)) + { + exprtk_debug(("(v - c0) + c1 --> (voc) v - (c0 + c1)\n")); + + return expr_gen.node_allocator_-> + template allocate_rc > >(v, c1 - c0); + } + // (v - c0) - c1 --> (voc) v - (c0 + c1) + else if ((details::e_sub == o0) && (details::e_sub == o1)) + { + exprtk_debug(("(v - c0) - c1 --> (voc) v - (c0 + c1)\n")); + + return expr_gen.node_allocator_-> + template allocate_rc > >(v, c0 + c1); + } + // (v * c0) * c1 --> (voc) v * (c0 * c1) + else if ((details::e_mul == o0) && (details::e_mul == o1)) + { + exprtk_debug(("(v * c0) * c1 --> (voc) v * (c0 * c1)\n")); + + return expr_gen.node_allocator_-> + template allocate_rc > >(v, c0 * c1); + } + // (v * c0) / c1 --> (voc) v * (c0 / c1) + else if ((details::e_mul == o0) && (details::e_div == o1)) + { + exprtk_debug(("(v * c0) / c1 --> (voc) v * (c0 / c1)\n")); + + return expr_gen.node_allocator_-> + template allocate_rc > >(v, c0 / c1); + } + // (v / c0) * c1 --> (voc) v * (c1 / c0) + else if ((details::e_div == o0) && (details::e_mul == o1)) + { + exprtk_debug(("(v / c0) * c1 --> (voc) v * (c1 / c0)\n")); + + return expr_gen.node_allocator_-> + template allocate_rc > >(v, c1 / c0); + } + // (v / c0) / c1 --> (voc) v / (c0 * c1) + else if ((details::e_div == o0) && (details::e_div == o1)) + { + exprtk_debug(("(v / c0) / c1 --> (voc) v / (c0 * c1)\n")); + + return expr_gen.node_allocator_-> + template allocate_rc > >(v, c0 * c1); + } + // (v ^ c0) ^ c1 --> (voc) v ^ (c0 * c1) + else if ((details::e_pow == o0) && (details::e_pow == o1)) + { + exprtk_debug(("(v ^ c0) ^ c1 --> (voc) v ^ (c0 * c1)\n")); + + return expr_gen.node_allocator_-> + template allocate_rc > >(v, c0 * c1); + } + } + + const bool synthesis_result = + synthesize_sf3ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1), v, c0, c1, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), v, c0, c1, f0, f1); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "t"; + } + }; + + struct synthesize_vococ_expression1 + { + typedef typename vococ_t::type0 node_type; + + static inline expression_node_ptr process(expression_generator&, + const details::operator_type&, + expression_node_ptr (&)[2]) + { + // (v) o0 (c0 o1 c1) - Not possible. + exprtk_debug(("(v) o0 (c0 o1 c1) - Not possible.\n")); + return error_node(); + } + }; + + struct synthesize_vovovov_expression0 + { + typedef typename vovovov_t::type0 node_type; + typedef typename vovovov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (v0 o0 v1) o1 (v2 o2 v3) + const details::vov_base_node* vov0 = static_cast*>(branch[0]); + const details::vov_base_node* vov1 = static_cast*>(branch[1]); + const Type& v0 = vov0->v0(); + const Type& v1 = vov0->v1(); + const Type& v2 = vov1->v0(); + const Type& v3 = vov1->v1(); + const details::operator_type o0 = vov0->operation(); + const details::operator_type o1 = operation; + const details::operator_type o2 = vov1->operation(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // (v0 / v1) * (v2 / v3) --> (vovovov) (v0 * v2) / (v1 * v3) + if ((details::e_div == o0) && (details::e_mul == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf4ext_expression:: + template compile(expr_gen, "(t*t)/(t*t)", v0, v2, v1, v3, result); + + exprtk_debug(("(v0 / v1) * (v2 / v3) --> (vovovov) (v0 * v2) / (v1 * v3)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 / v1) / (v2 / v3) --> (vovovov) (v0 * v3) / (v1 * v2) + else if ((details::e_div == o0) && (details::e_div == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf4ext_expression:: + template compile(expr_gen, "(t*t)/(t*t)", v0, v3, v1, v2, result); + + exprtk_debug(("(v0 / v1) / (v2 / v3) --> (vovovov) (v0 * v3) / (v1 * v2)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 + v1) / (v2 / v3) --> (vovovov) (v0 + v1) * (v3 / v2) + else if ((details::e_add == o0) && (details::e_div == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf4ext_expression:: + template compile(expr_gen, "(t+t)*(t/t)", v0, v1, v3, v2, result); + + exprtk_debug(("(v0 + v1) / (v2 / v3) --> (vovovov) (v0 + v1) * (v3 / v2)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 - v1) / (v2 / v3) --> (vovovov) (v0 + v1) * (v3 / v2) + else if ((details::e_sub == o0) && (details::e_div == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf4ext_expression:: + template compile(expr_gen, "(t-t)*(t/t)", v0, v1, v3, v2, result); + + exprtk_debug(("(v0 - v1) / (v2 / v3) --> (vovovov) (v0 - v1) * (v3 / v2)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 * v1) / (v2 / v3) --> (vovovov) ((v0 * v1) * v3) / v2 + else if ((details::e_mul == o0) && (details::e_div == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf4ext_expression:: + template compile(expr_gen, "((t*t)*t)/t", v0, v1, v3, v2, result); + + exprtk_debug(("(v0 * v1) / (v2 / v3) --> (vovovov) ((v0 * v1) * v3) / v2\n")); + + return (synthesis_result) ? result : error_node(); + } + } + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, v1, v2, v3, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + binary_functor_t f2 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, v2, v3, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t)"; + } + }; + + struct synthesize_vovovoc_expression0 + { + typedef typename vovovoc_t::type0 node_type; + typedef typename vovovoc_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (v0 o0 v1) o1 (v2 o2 c) + const details::vov_base_node* vov = static_cast*>(branch[0]); + const details::voc_base_node* voc = static_cast*>(branch[1]); + const Type& v0 = vov->v0(); + const Type& v1 = vov->v1(); + const Type& v2 = voc->v (); + const Type c = voc->c (); + const details::operator_type o0 = vov->operation(); + const details::operator_type o1 = operation; + const details::operator_type o2 = voc->operation(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // (v0 / v1) * (v2 / c) --> (vovovoc) (v0 * v2) / (v1 * c) + if ((details::e_div == o0) && (details::e_mul == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf4ext_expression:: + template compile(expr_gen, "(t*t)/(t*t)", v0, v2, v1, c, result); + + exprtk_debug(("(v0 / v1) * (v2 / c) --> (vovovoc) (v0 * v2) / (v1 * c)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 / v1) / (v2 / c) --> (vocovov) (v0 * c) / (v1 * v2) + if ((details::e_div == o0) && (details::e_div == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf4ext_expression:: + template compile(expr_gen, "(t*t)/(t*t)", v0, c, v1, v2, result); + + exprtk_debug(("(v0 / v1) / (v2 / c) --> (vocovov) (v0 * c) / (v1 * v2)\n")); + + return (synthesis_result) ? result : error_node(); + } + } + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, v1, v2, c, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + binary_functor_t f2 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, v2, c, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t)"; + } + }; + + struct synthesize_vovocov_expression0 + { + typedef typename vovocov_t::type0 node_type; + typedef typename vovocov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (v0 o0 v1) o1 (c o2 v2) + const details::vov_base_node* vov = static_cast*>(branch[0]); + const details::cov_base_node* cov = static_cast*>(branch[1]); + const Type& v0 = vov->v0(); + const Type& v1 = vov->v1(); + const Type& v2 = cov->v (); + const Type c = cov->c (); + const details::operator_type o0 = vov->operation(); + const details::operator_type o1 = operation; + const details::operator_type o2 = cov->operation(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // (v0 / v1) * (c / v2) --> (vocovov) (v0 * c) / (v1 * v2) + if ((details::e_div == o0) && (details::e_mul == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf4ext_expression:: + template compile(expr_gen, "(t*t)/(t*t)", v0, c, v1, v2, result); + + exprtk_debug(("(v0 / v1) * (c / v2) --> (vocovov) (v0 * c) / (v1 * v2)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 / v1) / (c / v2) --> (vovovoc) (v0 * v2) / (v1 * c) + if ((details::e_div == o0) && (details::e_div == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf4ext_expression:: + template compile(expr_gen, "(t*t)/(t*t)", v0, v2, v1, c, result); + + exprtk_debug(("(v0 / v1) / (c / v2) --> (vovovoc) (v0 * v2) / (v1 * c)\n")); + + return (synthesis_result) ? result : error_node(); + } + } + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, v1, c, v2, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + binary_functor_t f2 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, c, v2, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t)"; + } + }; + + struct synthesize_vocovov_expression0 + { + typedef typename vocovov_t::type0 node_type; + typedef typename vocovov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (v0 o0 c) o1 (v1 o2 v2) + const details::voc_base_node* voc = static_cast*>(branch[0]); + const details::vov_base_node* vov = static_cast*>(branch[1]); + const Type c = voc->c (); + const Type& v0 = voc->v (); + const Type& v1 = vov->v0(); + const Type& v2 = vov->v1(); + const details::operator_type o0 = voc->operation(); + const details::operator_type o1 = operation; + const details::operator_type o2 = vov->operation(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // (v0 / c) * (v1 / v2) --> (vovocov) (v0 * v1) / (c * v2) + if ((details::e_div == o0) && (details::e_mul == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf4ext_expression:: + template compile(expr_gen, "(t*t)/(t*t)", v0, v1, c, v2, result); + + exprtk_debug(("(v0 / c) * (v1 / v2) --> (vovocov) (v0 * v1) / (c * v2)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 / c) / (v1 / v2) --> (vovocov) (v0 * v2) / (c * v1) + if ((details::e_div == o0) && (details::e_div == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf4ext_expression:: + template compile(expr_gen, "(t*t)/(t*t)", v0, v2, c, v1, result); + + exprtk_debug(("(v0 / c) / (v1 / v2) --> (vovocov) (v0 * v2) / (c * v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + } + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, c, v1, v2, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + binary_functor_t f2 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), v0, c, v1, v2, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t)"; + } + }; + + struct synthesize_covovov_expression0 + { + typedef typename covovov_t::type0 node_type; + typedef typename covovov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (c o0 v0) o1 (v1 o2 v2) + const details::cov_base_node* cov = static_cast*>(branch[0]); + const details::vov_base_node* vov = static_cast*>(branch[1]); + const Type c = cov->c (); + const Type& v0 = cov->v (); + const Type& v1 = vov->v0(); + const Type& v2 = vov->v1(); + const details::operator_type o0 = cov->operation(); + const details::operator_type o1 = operation; + const details::operator_type o2 = vov->operation(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // (c / v0) * (v1 / v2) --> (covovov) (c * v1) / (v0 * v2) + if ((details::e_div == o0) && (details::e_mul == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf4ext_expression:: + template compile(expr_gen, "(t*t)/(t*t)", c, v1, v0, v2, result); + + exprtk_debug(("(c / v0) * (v1 / v2) --> (covovov) (c * v1) / (v0 * v2)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c / v0) / (v1 / v2) --> (covovov) (c * v2) / (v0 * v1) + if ((details::e_div == o0) && (details::e_div == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf4ext_expression:: + template compile(expr_gen, "(t*t)/(t*t)", c, v2, v0, v1, result); + + exprtk_debug(("(c / v0) / (v1 / v2) --> (covovov) (c * v2) / (v0 * v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + } + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), c, v0, v1, v2, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + binary_functor_t f2 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), c, v0, v1, v2, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t)"; + } + }; + + struct synthesize_covocov_expression0 + { + typedef typename covocov_t::type0 node_type; + typedef typename covocov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (c0 o0 v0) o1 (c1 o2 v1) + const details::cov_base_node* cov0 = static_cast*>(branch[0]); + const details::cov_base_node* cov1 = static_cast*>(branch[1]); + const Type c0 = cov0->c(); + const Type& v0 = cov0->v(); + const Type c1 = cov1->c(); + const Type& v1 = cov1->v(); + const details::operator_type o0 = cov0->operation(); + const details::operator_type o1 = operation; + const details::operator_type o2 = cov1->operation(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // (c0 + v0) + (c1 + v1) --> (covov) (c0 + c1) + v0 + v1 + if ((details::e_add == o0) && (details::e_add == o1) && (details::e_add == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t+t)+t", (c0 + c1), v0, v1, result); + + exprtk_debug(("(c0 + v0) + (c1 + v1) --> (covov) (c0 + c1) + v0 + v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c0 + v0) - (c1 + v1) --> (covov) (c0 - c1) + v0 - v1 + else if ((details::e_add == o0) && (details::e_sub == o1) && (details::e_add == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t+t)-t", (c0 - c1), v0, v1, result); + + exprtk_debug(("(c0 + v0) - (c1 + v1) --> (covov) (c0 - c1) + v0 - v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c0 - v0) - (c1 - v1) --> (covov) (c0 - c1) - v0 + v1 + else if ((details::e_sub == o0) && (details::e_sub == o1) && (details::e_sub == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t-t)+t", (c0 - c1), v0, v1, result); + + exprtk_debug(("(c0 - v0) - (c1 - v1) --> (covov) (c0 - c1) - v0 + v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c0 * v0) * (c1 * v1) --> (covov) (c0 * c1) * v0 * v1 + else if ((details::e_mul == o0) && (details::e_mul == o1) && (details::e_mul == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)*t", (c0 * c1), v0, v1, result); + + exprtk_debug(("(c0 * v0) * (c1 * v1) --> (covov) (c0 * c1) * v0 * v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c0 * v0) / (c1 * v1) --> (covov) (c0 / c1) * (v0 / v1) + else if ((details::e_mul == o0) && (details::e_div == o1) && (details::e_mul == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)/t", (c0 / c1), v0, v1, result); + + exprtk_debug(("(c0 * v0) / (c1 * v1) --> (covov) (c0 / c1) * (v0 / v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c0 / v0) * (c1 / v1) --> (covov) (c0 * c1) / (v0 * v1) + else if ((details::e_div == o0) && (details::e_mul == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "t/(t*t)", (c0 * c1), v0, v1, result); + + exprtk_debug(("(c0 / v0) * (c1 / v1) --> (covov) (c0 * c1) / (v0 * v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c0 / v0) / (c1 / v1) --> (covov) ((c0 / c1) * v1) / v0 + else if ((details::e_div == o0) && (details::e_div == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)/t", (c0 / c1), v1, v0, result); + + exprtk_debug(("(c0 / v0) / (c1 / v1) --> (covov) ((c0 / c1) * v1) / v0\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c0 * v0) / (c1 / v1) --> (covov) (c0 / c1) * (v0 * v1) + else if ((details::e_mul == o0) && (details::e_div == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "t*(t*t)", (c0 / c1), v0, v1, result); + + exprtk_debug(("(c0 * v0) / (c1 / v1) --> (covov) (c0 / c1) * (v0 * v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c0 / v0) / (c1 * v1) --> (covov) (c0 / c1) / (v0 * v1) + else if ((details::e_div == o0) && (details::e_div == o1) && (details::e_mul == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "t/(t*t)", (c0 / c1), v0, v1, result); + + exprtk_debug(("(c0 / v0) / (c1 * v1) --> (covov) (c0 / c1) / (v0 * v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c * v0) +/- (c * v1) --> (covov) c * (v0 +/- v1) + else if ( + (std::equal_to()(c0,c1)) && + (details::e_mul == o0) && + (details::e_mul == o2) && + ( + (details::e_add == o1) || + (details::e_sub == o1) + ) + ) + { + std::string specfunc; + + switch (o1) + { + case details::e_add : specfunc = "t*(t+t)"; break; + case details::e_sub : specfunc = "t*(t-t)"; break; + default : return error_node(); + } + + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, specfunc, c0, v0, v1, result); + + exprtk_debug(("(c * v0) +/- (c * v1) --> (covov) c * (v0 +/- v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + } + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), c0, v0, c1, v1, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + binary_functor_t f2 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), c0, v0, c1, v1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t)"; + } + }; + + struct synthesize_vocovoc_expression0 + { + typedef typename vocovoc_t::type0 node_type; + typedef typename vocovoc_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (v0 o0 c0) o1 (v1 o2 c1) + const details::voc_base_node* voc0 = static_cast*>(branch[0]); + const details::voc_base_node* voc1 = static_cast*>(branch[1]); + const Type c0 = voc0->c(); + const Type& v0 = voc0->v(); + const Type c1 = voc1->c(); + const Type& v1 = voc1->v(); + const details::operator_type o0 = voc0->operation(); + const details::operator_type o1 = operation; + const details::operator_type o2 = voc1->operation(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // (v0 + c0) + (v1 + c1) --> (covov) (c0 + c1) + v0 + v1 + if ((details::e_add == o0) && (details::e_add == o1) && (details::e_add == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t+t)+t", (c0 + c1), v0, v1, result); + + exprtk_debug(("(v0 + c0) + (v1 + c1) --> (covov) (c0 + c1) + v0 + v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 + c0) - (v1 + c1) --> (covov) (c0 - c1) + v0 - v1 + else if ((details::e_add == o0) && (details::e_sub == o1) && (details::e_add == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t+t)-t", (c0 - c1), v0, v1, result); + + exprtk_debug(("(v0 + c0) - (v1 + c1) --> (covov) (c0 - c1) + v0 - v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 - c0) - (v1 - c1) --> (covov) (c1 - c0) + v0 - v1 + else if ((details::e_sub == o0) && (details::e_sub == o1) && (details::e_sub == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t+t)-t", (c1 - c0), v0, v1, result); + + exprtk_debug(("(v0 - c0) - (v1 - c1) --> (covov) (c1 - c0) + v0 - v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 * c0) * (v1 * c1) --> (covov) (c0 * c1) * v0 * v1 + else if ((details::e_mul == o0) && (details::e_mul == o1) && (details::e_mul == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)*t", (c0 * c1), v0, v1, result); + + exprtk_debug(("(v0 * c0) * (v1 * c1) --> (covov) (c0 * c1) * v0 * v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 * c0) / (v1 * c1) --> (covov) (c0 / c1) * (v0 / v1) + else if ((details::e_mul == o0) && (details::e_div == o1) && (details::e_mul == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)/t", (c0 / c1), v0, v1, result); + + exprtk_debug(("(v0 * c0) / (v1 * c1) --> (covov) (c0 / c1) * (v0 / v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 / c0) * (v1 / c1) --> (covov) (1 / (c0 * c1)) * v0 * v1 + else if ((details::e_div == o0) && (details::e_mul == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)*t", Type(1) / (c0 * c1), v0, v1, result); + + exprtk_debug(("(v0 / c0) * (v1 / c1) --> (covov) (1 / (c0 * c1)) * v0 * v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 / c0) / (v1 / c1) --> (covov) ((c1 / c0) * v0) / v1 + else if ((details::e_div == o0) && (details::e_div == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)/t", (c1 / c0), v0, v1, result); + + exprtk_debug(("(v0 / c0) / (v1 / c1) --> (covov) ((c1 / c0) * v0) / v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 * c0) / (v1 / c1) --> (covov) (c0 * c1) * (v0 / v1) + else if ((details::e_mul == o0) && (details::e_div == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "t*(t/t)", (c0 * c1), v0, v1, result); + + exprtk_debug(("(v0 * c0) / (v1 / c1) --> (covov) (c0 * c1) * (v0 / v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 / c0) / (v1 * c1) --> (covov) (1 / (c0 * c1)) * v0 / v1 + else if ((details::e_div == o0) && (details::e_div == o1) && (details::e_mul == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "t*(t/t)", Type(1) / (c0 * c1), v0, v1, result); + + exprtk_debug(("(v0 / c0) / (v1 * c1) --> (covov) (1 / (c0 * c1)) * v0 / v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 / c0) * (v1 + c1) --> (vocovoc) (v0 * (1 / c0)) * (v1 + c1) + else if ((details::e_div == o0) && (details::e_mul == o1) && (details::e_add == o2)) + { + const bool synthesis_result = + synthesize_sf4ext_expression:: + template compile(expr_gen, "(t*t)*(t+t)", v0, T(1) / c0, v1, c1, result); + + exprtk_debug(("(v0 / c0) * (v1 + c1) --> (vocovoc) (v0 * (1 / c0)) * (v1 + c1)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 / c0) * (v1 - c1) --> (vocovoc) (v0 * (1 / c0)) * (v1 - c1) + else if ((details::e_div == o0) && (details::e_mul == o1) && (details::e_sub == o2)) + { + const bool synthesis_result = + synthesize_sf4ext_expression:: + template compile(expr_gen, "(t*t)*(t-t)", v0, T(1) / c0, v1, c1, result); + + exprtk_debug(("(v0 / c0) * (v1 - c1) --> (vocovoc) (v0 * (1 / c0)) * (v1 - c1)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 * c) +/- (v1 * c) --> (covov) c * (v0 +/- v1) + else if ( + (std::equal_to()(c0,c1)) && + (details::e_mul == o0) && + (details::e_mul == o2) && + ( + (details::e_add == o1) || + (details::e_sub == o1) + ) + ) + { + std::string specfunc; + + switch (o1) + { + case details::e_add : specfunc = "t*(t+t)"; break; + case details::e_sub : specfunc = "t*(t-t)"; break; + default : return error_node(); + } + + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, specfunc, c0, v0, v1, result); + + exprtk_debug(("(v0 * c) +/- (v1 * c) --> (covov) c * (v0 +/- v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 / c) +/- (v1 / c) --> (vovoc) (v0 +/- v1) / c + else if ( + (std::equal_to()(c0,c1)) && + (details::e_div == o0) && + (details::e_div == o2) && + ( + (details::e_add == o1) || + (details::e_sub == o1) + ) + ) + { + std::string specfunc; + + switch (o1) + { + case details::e_add : specfunc = "(t+t)/t"; break; + case details::e_sub : specfunc = "(t-t)/t"; break; + default : return error_node(); + } + + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, specfunc, v0, v1, c0, result); + + exprtk_debug(("(v0 / c) +/- (v1 / c) --> (vovoc) (v0 +/- v1) / c\n")); + + return (synthesis_result) ? result : error_node(); + } + } + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, c0, v1, c1, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + binary_functor_t f2 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), v0, c0, v1, c1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t)"; + } + }; + + struct synthesize_covovoc_expression0 + { + typedef typename covovoc_t::type0 node_type; + typedef typename covovoc_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (c0 o0 v0) o1 (v1 o2 c1) + const details::cov_base_node* cov = static_cast*>(branch[0]); + const details::voc_base_node* voc = static_cast*>(branch[1]); + const Type c0 = cov->c(); + const Type& v0 = cov->v(); + const Type c1 = voc->c(); + const Type& v1 = voc->v(); + const details::operator_type o0 = cov->operation(); + const details::operator_type o1 = operation; + const details::operator_type o2 = voc->operation(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // (c0 + v0) + (v1 + c1) --> (covov) (c0 + c1) + v0 + v1 + if ((details::e_add == o0) && (details::e_add == o1) && (details::e_add == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t+t)+t", (c0 + c1), v0, v1, result); + + exprtk_debug(("(c0 + v0) + (v1 + c1) --> (covov) (c0 + c1) + v0 + v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c0 + v0) - (v1 + c1) --> (covov) (c0 - c1) + v0 - v1 + else if ((details::e_add == o0) && (details::e_sub == o1) && (details::e_add == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t+t)-t", (c0 - c1), v0, v1, result); + + exprtk_debug(("(c0 + v0) - (v1 + c1) --> (covov) (c0 - c1) + v0 - v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c0 - v0) - (v1 - c1) --> (covov) (c0 + c1) - v0 - v1 + else if ((details::e_sub == o0) && (details::e_sub == o1) && (details::e_sub == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "t-(t+t)", (c0 + c1), v0, v1, result); + + exprtk_debug(("(c0 - v0) - (v1 - c1) --> (covov) (c0 + c1) - v0 - v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c0 * v0) * (v1 * c1) --> (covov) (c0 * c1) * v0 * v1 + else if ((details::e_mul == o0) && (details::e_mul == o1) && (details::e_mul == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)*t", (c0 * c1), v0, v1, result); + + exprtk_debug(("(c0 * v0) * (v1 * c1) --> (covov) (c0 * c1) * v0 * v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c0 * v0) / (v1 * c1) --> (covov) (c0 / c1) * (v0 / v1) + else if ((details::e_mul == o0) && (details::e_div == o1) && (details::e_mul == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)/t", (c0 / c1), v0, v1, result); + + exprtk_debug(("(c0 * v0) / (v1 * c1) --> (covov) (c0 / c1) * (v0 / v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c0 / v0) * (v1 / c1) --> (covov) (c0 / c1) * (v1 / v0) + else if ((details::e_div == o0) && (details::e_mul == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "t*(t/t)", (c0 / c1), v1, v0, result); + + exprtk_debug(("(c0 / v0) * (v1 / c1) --> (covov) (c0 / c1) * (v1 / v0)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c0 / v0) / (v1 / c1) --> (covov) (c0 * c1) / (v0 * v1) + else if ((details::e_div == o0) && (details::e_div == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "t/(t*t)", (c0 * c1), v0, v1, result); + + exprtk_debug(("(c0 / v0) / (v1 / c1) --> (covov) (c0 * c1) / (v0 * v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c0 * v0) / (v1 / c1) --> (covov) (c0 * c1) * (v0 / v1) + else if ((details::e_mul == o0) && (details::e_div == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)/t", (c0 * c1), v0, v1, result); + + exprtk_debug(("(c0 * v0) / (v1 / c1) --> (covov) (c0 * c1) * (v0 / v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c0 / v0) / (v1 * c1) --> (covov) (c0 / c1) / (v0 * v1) + else if ((details::e_div == o0) && (details::e_div == o1) && (details::e_mul == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "t/(t*t)", (c0 / c1), v0, v1, result); + + exprtk_debug(("(c0 / v0) / (v1 * c1) --> (covov) (c0 / c1) / (v0 * v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (c * v0) +/- (v1 * c) --> (covov) c * (v0 +/- v1) + else if ( + (std::equal_to()(c0,c1)) && + (details::e_mul == o0) && + (details::e_mul == o2) && + ( + (details::e_add == o1) || + (details::e_sub == o1) + ) + ) + { + std::string specfunc; + + switch (o1) + { + case details::e_add : specfunc = "t*(t+t)"; break; + case details::e_sub : specfunc = "t*(t-t)"; break; + default : return error_node(); + } + + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, specfunc, c0, v0, v1, result); + + exprtk_debug(("(c * v0) +/- (v1 * c) --> (covov) c * (v0 +/- v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + } + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), c0, v0, v1, c1, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + binary_functor_t f2 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), c0, v0, v1, c1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t)"; + } + }; + + struct synthesize_vococov_expression0 + { + typedef typename vococov_t::type0 node_type; + typedef typename vococov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (v0 o0 c0) o1 (c1 o2 v1) + const details::voc_base_node* voc = static_cast*>(branch[0]); + const details::cov_base_node* cov = static_cast*>(branch[1]); + const Type c0 = voc->c(); + const Type& v0 = voc->v(); + const Type c1 = cov->c(); + const Type& v1 = cov->v(); + const details::operator_type o0 = voc->operation(); + const details::operator_type o1 = operation; + const details::operator_type o2 = cov->operation(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + if (expr_gen.parser_->settings_.strength_reduction_enabled()) + { + // (v0 + c0) + (c1 + v1) --> (covov) (c0 + c1) + v0 + v1 + if ((details::e_add == o0) && (details::e_add == o1) && (details::e_add == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t+t)+t", (c0 + c1), v0, v1, result); + + exprtk_debug(("(v0 + c0) + (c1 + v1) --> (covov) (c0 + c1) + v0 + v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 + c0) - (c1 + v1) --> (covov) (c0 - c1) + v0 - v1 + else if ((details::e_add == o0) && (details::e_sub == o1) && (details::e_add == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t+t)-t", (c0 - c1), v0, v1, result); + + exprtk_debug(("(v0 + c0) - (c1 + v1) --> (covov) (c0 - c1) + v0 - v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 - c0) - (c1 - v1) --> (vovoc) v0 + v1 - (c1 + c0) + else if ((details::e_sub == o0) && (details::e_sub == o1) && (details::e_sub == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t+t)-t", v0, v1, (c1 + c0), result); + + exprtk_debug(("(v0 - c0) - (c1 - v1) --> (vovoc) v0 + v1 - (c1 + c0)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 * c0) * (c1 * v1) --> (covov) (c0 * c1) * v0 * v1 + else if ((details::e_mul == o0) && (details::e_mul == o1) && (details::e_mul == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)*t", (c0 * c1), v0, v1, result); + + exprtk_debug(("(v0 * c0) * (c1 * v1) --> (covov) (c0 * c1) * v0 * v1\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 * c0) / (c1 * v1) --> (covov) (c0 / c1) * (v0 * v1) + else if ((details::e_mul == o0) && (details::e_div == o1) && (details::e_mul == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)/t", (c0 / c1), v0, v1, result); + + exprtk_debug(("(v0 * c0) / (c1 * v1) --> (covov) (c0 / c1) * (v0 * v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 / c0) * (c1 / v1) --> (covov) (c1 / c0) * (v0 / v1) + else if ((details::e_div == o0) && (details::e_mul == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)/t", (c1 / c0), v0, v1, result); + + exprtk_debug(("(v0 / c0) * (c1 / v1) --> (covov) (c1 / c0) * (v0 / v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 * c0) / (c1 / v1) --> (covov) (c0 / c1) * (v0 * v1) + else if ((details::e_mul == o0) && (details::e_div == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)*t", (c0 / c1), v0, v1, result); + + exprtk_debug(("(v0 * c0) / (c1 / v1) --> (covov) (c0 / c1) * (v0 * v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 / c0) / (c1 * v1) --> (covov) (1 / (c0 * c1)) * (v0 / v1) + else if ((details::e_div == o0) && (details::e_div == o1) && (details::e_mul == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)/t", Type(1) / (c0 * c1), v0, v1, result); + + exprtk_debug(("(v0 / c0) / (c1 * v1) --> (covov) (1 / (c0 * c1)) * (v0 / v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 / c0) / (c1 / v1) --> (vovoc) (v0 * v1) * (1 / (c0 * c1)) + else if ((details::e_div == o0) && (details::e_div == o1) && (details::e_div == o2)) + { + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, "(t*t)*t", v0, v1, Type(1) / (c0 * c1), result); + + exprtk_debug(("(v0 / c0) / (c1 / v1) --> (vovoc) (v0 * v1) * (1 / (c0 * c1))\n")); + + return (synthesis_result) ? result : error_node(); + } + // (v0 * c) +/- (c * v1) --> (covov) c * (v0 +/- v1) + else if ( + (std::equal_to()(c0,c1)) && + (details::e_mul == o0) && + (details::e_mul == o2) && + ( + (details::e_add == o1) || (details::e_sub == o1) + ) + ) + { + std::string specfunc; + + switch (o1) + { + case details::e_add : specfunc = "t*(t+t)"; break; + case details::e_sub : specfunc = "t*(t-t)"; break; + default : return error_node(); + } + + const bool synthesis_result = + synthesize_sf3ext_expression:: + template compile(expr_gen, specfunc, c0, v0, v1, result); + + exprtk_debug(("(v0 * c) +/- (c * v1) --> (covov) c * (v0 +/- v1)\n")); + + return (synthesis_result) ? result : error_node(); + } + } + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, c0, c1, v1, result); + + if (synthesis_result) + return result; + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = reinterpret_cast(0); + binary_functor_t f2 = reinterpret_cast(0); + + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + else if (!expr_gen.valid_operator(o1,f1)) + return error_node(); + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + else + return node_type::allocate(*(expr_gen.node_allocator_), v0, c0, c1, v1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t)"; + } + }; + + struct synthesize_vovovov_expression1 + { + typedef typename vovovov_t::type1 node_type; + typedef typename vovovov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // v0 o0 (v1 o1 (v2 o2 v3)) + typedef typename synthesize_vovov_expression1::node_type lcl_vovov_t; + + const lcl_vovov_t* vovov = static_cast(branch[1]); + const Type& v0 = static_cast*>(branch[0])->ref(); + const Type& v1 = vovov->t0(); + const Type& v2 = vovov->t1(); + const Type& v3 = vovov->t2(); + const details::operator_type o0 = operation; + const details::operator_type o1 = expr_gen.get_operator(vovov->f0()); + const details::operator_type o2 = expr_gen.get_operator(vovov->f1()); + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = vovov->f0(); + binary_functor_t f2 = vovov->f1(); + + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen,id(expr_gen, o0, o1, o2), v0, v1, v2, v3, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + + exprtk_debug(("v0 o0 (v1 o1 (v2 o2 v3))\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, v2, v3, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t))"; + } + }; + + struct synthesize_vovovoc_expression1 + { + typedef typename vovovoc_t::type1 node_type; + typedef typename vovovoc_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // v0 o0 (v1 o1 (v2 o2 c)) + typedef typename synthesize_vovoc_expression1::node_type lcl_vovoc_t; + + const lcl_vovoc_t* vovoc = static_cast(branch[1]); + const Type& v0 = static_cast*>(branch[0])->ref(); + const Type& v1 = vovoc->t0(); + const Type& v2 = vovoc->t1(); + const Type c = vovoc->t2(); + const details::operator_type o0 = operation; + const details::operator_type o1 = expr_gen.get_operator(vovoc->f0()); + const details::operator_type o2 = expr_gen.get_operator(vovoc->f1()); + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = vovoc->f0(); + binary_functor_t f2 = vovoc->f1(); + + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, v1, v2, c, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + + exprtk_debug(("v0 o0 (v1 o1 (v2 o2 c))\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, v2, c, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t))"; + } + }; + + struct synthesize_vovocov_expression1 + { + typedef typename vovocov_t::type1 node_type; + typedef typename vovocov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // v0 o0 (v1 o1 (c o2 v2)) + typedef typename synthesize_vocov_expression1::node_type lcl_vocov_t; + + const lcl_vocov_t* vocov = static_cast(branch[1]); + const Type& v0 = static_cast*>(branch[0])->ref(); + const Type& v1 = vocov->t0(); + const Type c = vocov->t1(); + const Type& v2 = vocov->t2(); + const details::operator_type o0 = operation; + const details::operator_type o1 = expr_gen.get_operator(vocov->f0()); + const details::operator_type o2 = expr_gen.get_operator(vocov->f1()); + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = vocov->f0(); + binary_functor_t f2 = vocov->f1(); + + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, v1, c, v2, result); + + if (synthesis_result) + return result; + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + + exprtk_debug(("v0 o0 (v1 o1 (c o2 v2))\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, c, v2, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t))"; + } + }; + + struct synthesize_vocovov_expression1 + { + typedef typename vocovov_t::type1 node_type; + typedef typename vocovov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // v0 o0 (c o1 (v1 o2 v2)) + typedef typename synthesize_covov_expression1::node_type lcl_covov_t; + + const lcl_covov_t* covov = static_cast(branch[1]); + const Type& v0 = static_cast*>(branch[0])->ref(); + const Type c = covov->t0(); + const Type& v1 = covov->t1(); + const Type& v2 = covov->t2(); + const details::operator_type o0 = operation; + const details::operator_type o1 = expr_gen.get_operator(covov->f0()); + const details::operator_type o2 = expr_gen.get_operator(covov->f1()); + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = covov->f0(); + binary_functor_t f2 = covov->f1(); + + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, c, v1, v2, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + + exprtk_debug(("v0 o0 (c o1 (v1 o2 v2))\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, c, v1, v2, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t))"; + } + }; + + struct synthesize_covovov_expression1 + { + typedef typename covovov_t::type1 node_type; + typedef typename covovov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // c o0 (v0 o1 (v1 o2 v2)) + typedef typename synthesize_vovov_expression1::node_type lcl_vovov_t; + + const lcl_vovov_t* vovov = static_cast(branch[1]); + const Type c = static_cast*>(branch[0])->value(); + const Type& v0 = vovov->t0(); + const Type& v1 = vovov->t1(); + const Type& v2 = vovov->t2(); + const details::operator_type o0 = operation; + const details::operator_type o1 = expr_gen.get_operator(vovov->f0()); + const details::operator_type o2 = expr_gen.get_operator(vovov->f1()); + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = vovov->f0(); + binary_functor_t f2 = vovov->f1(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), c, v0, v1, v2, result); + + if (synthesis_result) + return result; + if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + + exprtk_debug(("c o0 (v0 o1 (v1 o2 v2))\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), c, v0, v1, v2, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t))"; + } + }; + + struct synthesize_covocov_expression1 + { + typedef typename covocov_t::type1 node_type; + typedef typename covocov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // c0 o0 (v0 o1 (c1 o2 v1)) + typedef typename synthesize_vocov_expression1::node_type lcl_vocov_t; + + const lcl_vocov_t* vocov = static_cast(branch[1]); + const Type c0 = static_cast*>(branch[0])->value(); + const Type& v0 = vocov->t0(); + const Type c1 = vocov->t1(); + const Type& v1 = vocov->t2(); + const details::operator_type o0 = operation; + const details::operator_type o1 = expr_gen.get_operator(vocov->f0()); + const details::operator_type o2 = expr_gen.get_operator(vocov->f1()); + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = vocov->f0(); + binary_functor_t f2 = vocov->f1(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), c0, v0, c1, v1, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + + exprtk_debug(("c0 o0 (v0 o1 (c1 o2 v1))\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), c0, v0, c1, v1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t))"; + } + }; + + struct synthesize_vocovoc_expression1 + { + typedef typename vocovoc_t::type1 node_type; + typedef typename vocovoc_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // v0 o0 (c0 o1 (v1 o2 c2)) + typedef typename synthesize_covoc_expression1::node_type lcl_covoc_t; + + const lcl_covoc_t* covoc = static_cast(branch[1]); + const Type& v0 = static_cast*>(branch[0])->ref(); + const Type c0 = covoc->t0(); + const Type& v1 = covoc->t1(); + const Type c1 = covoc->t2(); + const details::operator_type o0 = operation; + const details::operator_type o1 = expr_gen.get_operator(covoc->f0()); + const details::operator_type o2 = expr_gen.get_operator(covoc->f1()); + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = covoc->f0(); + binary_functor_t f2 = covoc->f1(); + + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, c0, v1, c1, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + + exprtk_debug(("v0 o0 (c0 o1 (v1 o2 c2))\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, c0, v1, c1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t))"; + } + }; + + struct synthesize_covovoc_expression1 + { + typedef typename covovoc_t::type1 node_type; + typedef typename covovoc_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // c0 o0 (v0 o1 (v1 o2 c1)) + typedef typename synthesize_vovoc_expression1::node_type lcl_vovoc_t; + + const lcl_vovoc_t* vovoc = static_cast(branch[1]); + const Type c0 = static_cast*>(branch[0])->value(); + const Type& v0 = vovoc->t0(); + const Type& v1 = vovoc->t1(); + const Type c1 = vovoc->t2(); + const details::operator_type o0 = operation; + const details::operator_type o1 = expr_gen.get_operator(vovoc->f0()); + const details::operator_type o2 = expr_gen.get_operator(vovoc->f1()); + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = vovoc->f0(); + binary_functor_t f2 = vovoc->f1(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), c0, v0, v1, c1, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + + exprtk_debug(("c0 o0 (v0 o1 (v1 o2 c1))\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), c0, v0, v1, c1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t))"; + } + }; + + struct synthesize_vococov_expression1 + { + typedef typename vococov_t::type1 node_type; + typedef typename vococov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // v0 o0 (c0 o1 (c1 o2 v1)) + typedef typename synthesize_cocov_expression1::node_type lcl_cocov_t; + + const lcl_cocov_t* cocov = static_cast(branch[1]); + const Type& v0 = static_cast*>(branch[0])->ref(); + const Type c0 = cocov->t0(); + const Type c1 = cocov->t1(); + const Type& v1 = cocov->t2(); + const details::operator_type o0 = operation; + const details::operator_type o1 = expr_gen.get_operator(cocov->f0()); + const details::operator_type o2 = expr_gen.get_operator(cocov->f1()); + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = cocov->f0(); + binary_functor_t f2 = cocov->f1(); + + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, c0, c1, v1, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + + exprtk_debug(("v0 o0 (c0 o1 (c1 o2 v1))\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, c0, c1, v1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "(t" << expr_gen.to_str(o2) + << "t))"; + } + }; + + struct synthesize_vovovov_expression2 + { + typedef typename vovovov_t::type2 node_type; + typedef typename vovovov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // v0 o0 ((v1 o1 v2) o2 v3) + typedef typename synthesize_vovov_expression0::node_type lcl_vovov_t; + + const lcl_vovov_t* vovov = static_cast(branch[1]); + const Type& v0 = static_cast*>(branch[0])->ref(); + const Type& v1 = vovov->t0(); + const Type& v2 = vovov->t1(); + const Type& v3 = vovov->t2(); + const details::operator_type o0 = operation; + const details::operator_type o1 = expr_gen.get_operator(vovov->f0()); + const details::operator_type o2 = expr_gen.get_operator(vovov->f1()); + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = vovov->f0(); + binary_functor_t f2 = vovov->f1(); + + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, v1, v2, v3, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + + exprtk_debug(("v0 o0 ((v1 o1 v2) o2 v3)\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, v2, v3, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "((t" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t)"; + } + }; + + struct synthesize_vovovoc_expression2 + { + typedef typename vovovoc_t::type2 node_type; + typedef typename vovovoc_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // v0 o0 ((v1 o1 v2) o2 c) + typedef typename synthesize_vovoc_expression0::node_type lcl_vovoc_t; + + const lcl_vovoc_t* vovoc = static_cast(branch[1]); + const Type& v0 = static_cast*>(branch[0])->ref(); + const Type& v1 = vovoc->t0(); + const Type& v2 = vovoc->t1(); + const Type c = vovoc->t2(); + const details::operator_type o0 = operation; + const details::operator_type o1 = expr_gen.get_operator(vovoc->f0()); + const details::operator_type o2 = expr_gen.get_operator(vovoc->f1()); + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = vovoc->f0(); + binary_functor_t f2 = vovoc->f1(); + + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, v1, v2, c, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + + exprtk_debug(("v0 o0 ((v1 o1 v2) o2 c)\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, v2, c, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "((t" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t)"; + } + }; + + struct synthesize_vovocov_expression2 + { + typedef typename vovocov_t::type2 node_type; + typedef typename vovocov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // v0 o0 ((v1 o1 c) o2 v2) + typedef typename synthesize_vocov_expression0::node_type lcl_vocov_t; + + const lcl_vocov_t* vocov = static_cast(branch[1]); + const Type& v0 = static_cast*>(branch[0])->ref(); + const Type& v1 = vocov->t0(); + const Type c = vocov->t1(); + const Type& v2 = vocov->t2(); + const details::operator_type o0 = operation; + const details::operator_type o1 = expr_gen.get_operator(vocov->f0()); + const details::operator_type o2 = expr_gen.get_operator(vocov->f1()); + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = vocov->f0(); + binary_functor_t f2 = vocov->f1(); + + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, v1, c, v2, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + + exprtk_debug(("v0 o0 ((v1 o1 c) o2 v2)\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, c, v2, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "((t" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t)"; + } + }; + + struct synthesize_vocovov_expression2 + { + typedef typename vocovov_t::type2 node_type; + typedef typename vocovov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // v0 o0 ((c o1 v1) o2 v2) + typedef typename synthesize_covov_expression0::node_type lcl_covov_t; + + const lcl_covov_t* covov = static_cast(branch[1]); + const Type& v0 = static_cast*>(branch[0])->ref(); + const Type c = covov->t0(); + const Type& v1 = covov->t1(); + const Type& v2 = covov->t2(); + const details::operator_type o0 = operation; + const details::operator_type o1 = expr_gen.get_operator(covov->f0()); + const details::operator_type o2 = expr_gen.get_operator(covov->f1()); + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = covov->f0(); + binary_functor_t f2 = covov->f1(); + + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, c, v1, v2, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + + exprtk_debug(("v0 o0 ((c o1 v1) o2 v2)\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, c, v1, v2, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "((t" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t)"; + } + }; + + struct synthesize_covovov_expression2 + { + typedef typename covovov_t::type2 node_type; + typedef typename covovov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // c o0 ((v1 o1 v2) o2 v3) + typedef typename synthesize_vovov_expression0::node_type lcl_vovov_t; + + const lcl_vovov_t* vovov = static_cast(branch[1]); + const Type c = static_cast*>(branch[0])->value(); + const Type& v0 = vovov->t0(); + const Type& v1 = vovov->t1(); + const Type& v2 = vovov->t2(); + const details::operator_type o0 = operation; + const details::operator_type o1 = expr_gen.get_operator(vovov->f0()); + const details::operator_type o2 = expr_gen.get_operator(vovov->f1()); + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = vovov->f0(); + binary_functor_t f2 = vovov->f1(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), c, v0, v1, v2, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + + exprtk_debug(("c o0 ((v1 o1 v2) o2 v3)\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), c, v0, v1, v2, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "((t" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t)"; + } + }; + + struct synthesize_covocov_expression2 + { + typedef typename covocov_t::type2 node_type; + typedef typename covocov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // c0 o0 ((v0 o1 c1) o2 v1) + typedef typename synthesize_vocov_expression0::node_type lcl_vocov_t; + + const lcl_vocov_t* vocov = static_cast(branch[1]); + const Type c0 = static_cast*>(branch[0])->value(); + const Type& v0 = vocov->t0(); + const Type c1 = vocov->t1(); + const Type& v1 = vocov->t2(); + const details::operator_type o0 = operation; + const details::operator_type o1 = expr_gen.get_operator(vocov->f0()); + const details::operator_type o2 = expr_gen.get_operator(vocov->f1()); + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = vocov->f0(); + binary_functor_t f2 = vocov->f1(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), c0, v0, c1, v1, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + + exprtk_debug(("c0 o0 ((v0 o1 c1) o2 v1)\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), c0, v0, c1, v1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "((t" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t)"; + } + }; + + struct synthesize_vocovoc_expression2 + { + typedef typename vocovoc_t::type2 node_type; + typedef typename vocovoc_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // v0 o0 ((c0 o1 v1) o2 c1) + typedef typename synthesize_covoc_expression0::node_type lcl_covoc_t; + + const lcl_covoc_t* covoc = static_cast(branch[1]); + const Type& v0 = static_cast*>(branch[0])->ref(); + const Type c0 = covoc->t0(); + const Type& v1 = covoc->t1(); + const Type c1 = covoc->t2(); + const details::operator_type o0 = operation; + const details::operator_type o1 = expr_gen.get_operator(covoc->f0()); + const details::operator_type o2 = expr_gen.get_operator(covoc->f1()); + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = covoc->f0(); + binary_functor_t f2 = covoc->f1(); + + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, c0, v1, c1, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + + exprtk_debug(("v0 o0 ((c0 o1 v1) o2 c1)\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, c0, v1, c1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "((t" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t)"; + } + }; + + struct synthesize_covovoc_expression2 + { + typedef typename covovoc_t::type2 node_type; + typedef typename covovoc_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // c0 o0 ((v0 o1 v1) o2 c1) + typedef typename synthesize_vovoc_expression0::node_type lcl_vovoc_t; + + const lcl_vovoc_t* vovoc = static_cast(branch[1]); + const Type c0 = static_cast*>(branch[0])->value(); + const Type& v0 = vovoc->t0(); + const Type& v1 = vovoc->t1(); + const Type c1 = vovoc->t2(); + const details::operator_type o0 = operation; + const details::operator_type o1 = expr_gen.get_operator(vovoc->f0()); + const details::operator_type o2 = expr_gen.get_operator(vovoc->f1()); + + binary_functor_t f0 = reinterpret_cast(0); + binary_functor_t f1 = vovoc->f0(); + binary_functor_t f2 = vovoc->f1(); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), c0, v0, v1, c1, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o0,f0)) + return error_node(); + + exprtk_debug(("c0 o0 ((v0 o1 v1) o2 c1)\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), c0, v0, v1, c1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "t" << expr_gen.to_str(o0) + << "((t" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t)"; + } + }; + + struct synthesize_vococov_expression2 + { + typedef typename vococov_t::type2 node_type; + static inline expression_node_ptr process(expression_generator&, + const details::operator_type&, + expression_node_ptr (&)[2]) + { + // v0 o0 ((c0 o1 c1) o2 v1) - Not possible + exprtk_debug(("v0 o0 ((c0 o1 c1) o2 v1) - Not possible\n")); + return error_node(); + } + + static inline std::string id(expression_generator&, + const details::operator_type, + const details::operator_type, + const details::operator_type) + { + return "INVALID"; + } + }; + + struct synthesize_vovovov_expression3 + { + typedef typename vovovov_t::type3 node_type; + typedef typename vovovov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // ((v0 o0 v1) o1 v2) o2 v3 + typedef typename synthesize_vovov_expression0::node_type lcl_vovov_t; + + const lcl_vovov_t* vovov = static_cast(branch[0]); + const Type& v0 = vovov->t0(); + const Type& v1 = vovov->t1(); + const Type& v2 = vovov->t2(); + const Type& v3 = static_cast*>(branch[1])->ref(); + const details::operator_type o0 = expr_gen.get_operator(vovov->f0()); + const details::operator_type o1 = expr_gen.get_operator(vovov->f1()); + const details::operator_type o2 = operation; + + binary_functor_t f0 = vovov->f0(); + binary_functor_t f1 = vovov->f1(); + binary_functor_t f2 = reinterpret_cast(0); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, v1, v2, v3, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + + exprtk_debug(("((v0 o0 v1) o1 v2) o2 v3\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, v2, v3, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "((t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t"; + } + }; + + struct synthesize_vovovoc_expression3 + { + typedef typename vovovoc_t::type3 node_type; + typedef typename vovovoc_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // ((v0 o0 v1) o1 v2) o2 c + typedef typename synthesize_vovov_expression0::node_type lcl_vovov_t; + + const lcl_vovov_t* vovov = static_cast(branch[0]); + const Type& v0 = vovov->t0(); + const Type& v1 = vovov->t1(); + const Type& v2 = vovov->t2(); + const Type c = static_cast*>(branch[1])->value(); + const details::operator_type o0 = expr_gen.get_operator(vovov->f0()); + const details::operator_type o1 = expr_gen.get_operator(vovov->f1()); + const details::operator_type o2 = operation; + + binary_functor_t f0 = vovov->f0(); + binary_functor_t f1 = vovov->f1(); + binary_functor_t f2 = reinterpret_cast(0); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, v1, v2, c, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + + exprtk_debug(("((v0 o0 v1) o1 v2) o2 c\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, v2, c, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "((t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t"; + } + }; + + struct synthesize_vovocov_expression3 + { + typedef typename vovocov_t::type3 node_type; + typedef typename vovocov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // ((v0 o0 v1) o1 c) o2 v2 + typedef typename synthesize_vovoc_expression0::node_type lcl_vovoc_t; + + const lcl_vovoc_t* vovoc = static_cast(branch[0]); + const Type& v0 = vovoc->t0(); + const Type& v1 = vovoc->t1(); + const Type c = vovoc->t2(); + const Type& v2 = static_cast*>(branch[1])->ref(); + const details::operator_type o0 = expr_gen.get_operator(vovoc->f0()); + const details::operator_type o1 = expr_gen.get_operator(vovoc->f1()); + const details::operator_type o2 = operation; + + binary_functor_t f0 = vovoc->f0(); + binary_functor_t f1 = vovoc->f1(); + binary_functor_t f2 = reinterpret_cast(0); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, v1, c, v2, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + + exprtk_debug(("((v0 o0 v1) o1 c) o2 v2\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, c, v2, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "((t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t"; + } + }; + + struct synthesize_vocovov_expression3 + { + typedef typename vocovov_t::type3 node_type; + typedef typename vocovov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // ((v0 o0 c) o1 v1) o2 v2 + typedef typename synthesize_vocov_expression0::node_type lcl_vocov_t; + + const lcl_vocov_t* vocov = static_cast(branch[0]); + const Type& v0 = vocov->t0(); + const Type c = vocov->t1(); + const Type& v1 = vocov->t2(); + const Type& v2 = static_cast*>(branch[1])->ref(); + const details::operator_type o0 = expr_gen.get_operator(vocov->f0()); + const details::operator_type o1 = expr_gen.get_operator(vocov->f1()); + const details::operator_type o2 = operation; + + binary_functor_t f0 = vocov->f0(); + binary_functor_t f1 = vocov->f1(); + binary_functor_t f2 = reinterpret_cast(0); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, c, v1, v2, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + + exprtk_debug(("((v0 o0 c) o1 v1) o2 v2\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, c, v1, v2, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "((t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t"; + } + }; + + struct synthesize_covovov_expression3 + { + typedef typename covovov_t::type3 node_type; + typedef typename covovov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // ((c o0 v0) o1 v1) o2 v2 + typedef typename synthesize_covov_expression0::node_type lcl_covov_t; + + const lcl_covov_t* covov = static_cast(branch[0]); + const Type c = covov->t0(); + const Type& v0 = covov->t1(); + const Type& v1 = covov->t2(); + const Type& v2 = static_cast*>(branch[1])->ref(); + const details::operator_type o0 = expr_gen.get_operator(covov->f0()); + const details::operator_type o1 = expr_gen.get_operator(covov->f1()); + const details::operator_type o2 = operation; + + binary_functor_t f0 = covov->f0(); + binary_functor_t f1 = covov->f1(); + binary_functor_t f2 = reinterpret_cast(0); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), c, v0, v1, v2, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + + exprtk_debug(("((c o0 v0) o1 v1) o2 v2\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), c, v0, v1, v2, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "((t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t"; + } + }; + + struct synthesize_covocov_expression3 + { + typedef typename covocov_t::type3 node_type; + typedef typename covocov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // ((c0 o0 v0) o1 c1) o2 v1 + typedef typename synthesize_covoc_expression0::node_type lcl_covoc_t; + + const lcl_covoc_t* covoc = static_cast(branch[0]); + const Type c0 = covoc->t0(); + const Type& v0 = covoc->t1(); + const Type c1 = covoc->t2(); + const Type& v1 = static_cast*>(branch[1])->ref(); + const details::operator_type o0 = expr_gen.get_operator(covoc->f0()); + const details::operator_type o1 = expr_gen.get_operator(covoc->f1()); + const details::operator_type o2 = operation; + + binary_functor_t f0 = covoc->f0(); + binary_functor_t f1 = covoc->f1(); + binary_functor_t f2 = reinterpret_cast(0); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), c0, v0, c1, v1, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + + exprtk_debug(("((c0 o0 v0) o1 c1) o2 v1\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), c0, v0, c1, v1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "((t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t"; + } + }; + + struct synthesize_vocovoc_expression3 + { + typedef typename vocovoc_t::type3 node_type; + typedef typename vocovoc_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // ((v0 o0 c0) o1 v1) o2 c1 + typedef typename synthesize_vocov_expression0::node_type lcl_vocov_t; + + const lcl_vocov_t* vocov = static_cast(branch[0]); + const Type& v0 = vocov->t0(); + const Type c0 = vocov->t1(); + const Type& v1 = vocov->t2(); + const Type c1 = static_cast*>(branch[1])->value(); + const details::operator_type o0 = expr_gen.get_operator(vocov->f0()); + const details::operator_type o1 = expr_gen.get_operator(vocov->f1()); + const details::operator_type o2 = operation; + + binary_functor_t f0 = vocov->f0(); + binary_functor_t f1 = vocov->f1(); + binary_functor_t f2 = reinterpret_cast(0); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, c0, v1, c1, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + + exprtk_debug(("((v0 o0 c0) o1 v1) o2 c1\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, c0, v1, c1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "((t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t"; + } + }; + + struct synthesize_covovoc_expression3 + { + typedef typename covovoc_t::type3 node_type; + typedef typename covovoc_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // ((c0 o0 v0) o1 v1) o2 c1 + typedef typename synthesize_covov_expression0::node_type lcl_covov_t; + + const lcl_covov_t* covov = static_cast(branch[0]); + const Type c0 = covov->t0(); + const Type& v0 = covov->t1(); + const Type& v1 = covov->t2(); + const Type c1 = static_cast*>(branch[1])->value(); + const details::operator_type o0 = expr_gen.get_operator(covov->f0()); + const details::operator_type o1 = expr_gen.get_operator(covov->f1()); + const details::operator_type o2 = operation; + + binary_functor_t f0 = covov->f0(); + binary_functor_t f1 = covov->f1(); + binary_functor_t f2 = reinterpret_cast(0); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), c0, v0, v1, c1, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + + exprtk_debug(("((c0 o0 v0) o1 v1) o2 c1\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), c0, v0, v1, c1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "((t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t"; + } + }; + + struct synthesize_vococov_expression3 + { + typedef typename vococov_t::type3 node_type; + typedef typename vococov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // ((v0 o0 c0) o1 c1) o2 v1 + typedef typename synthesize_vococ_expression0::node_type lcl_vococ_t; + + const lcl_vococ_t* vococ = static_cast(branch[0]); + const Type& v0 = vococ->t0(); + const Type c0 = vococ->t1(); + const Type c1 = vococ->t2(); + const Type& v1 = static_cast*>(branch[1])->ref(); + const details::operator_type o0 = expr_gen.get_operator(vococ->f0()); + const details::operator_type o1 = expr_gen.get_operator(vococ->f1()); + const details::operator_type o2 = operation; + + binary_functor_t f0 = vococ->f0(); + binary_functor_t f1 = vococ->f1(); + binary_functor_t f2 = reinterpret_cast(0); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, c0, c1, v1, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + + exprtk_debug(("((v0 o0 c0) o1 c1) o2 v1\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, c0, c1, v1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "((t" << expr_gen.to_str(o0) + << "t)" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t"; + } + }; + + struct synthesize_vovovov_expression4 + { + typedef typename vovovov_t::type4 node_type; + typedef typename vovovov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // (v0 o0 (v1 o1 v2)) o2 v3 + typedef typename synthesize_vovov_expression1::node_type lcl_vovov_t; + + const lcl_vovov_t* vovov = static_cast(branch[0]); + const Type& v0 = vovov->t0(); + const Type& v1 = vovov->t1(); + const Type& v2 = vovov->t2(); + const Type& v3 = static_cast*>(branch[1])->ref(); + const details::operator_type o0 = expr_gen.get_operator(vovov->f0()); + const details::operator_type o1 = expr_gen.get_operator(vovov->f1()); + const details::operator_type o2 = operation; + + binary_functor_t f0 = vovov->f0(); + binary_functor_t f1 = vovov->f1(); + binary_functor_t f2 = reinterpret_cast(0); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, v1, v2, v3, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + + exprtk_debug(("(v0 o0 (v1 o1 v2)) o2 v3\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, v2, v3, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t"; + } + }; + + struct synthesize_vovovoc_expression4 + { + typedef typename vovovoc_t::type4 node_type; + typedef typename vovovoc_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // ((v0 o0 (v1 o1 v2)) o2 c) + typedef typename synthesize_vovov_expression1::node_type lcl_vovov_t; + + const lcl_vovov_t* vovov = static_cast(branch[0]); + const Type& v0 = vovov->t0(); + const Type& v1 = vovov->t1(); + const Type& v2 = vovov->t2(); + const Type c = static_cast*>(branch[1])->value(); + const details::operator_type o0 = expr_gen.get_operator(vovov->f0()); + const details::operator_type o1 = expr_gen.get_operator(vovov->f1()); + const details::operator_type o2 = operation; + + binary_functor_t f0 = vovov->f0(); + binary_functor_t f1 = vovov->f1(); + binary_functor_t f2 = reinterpret_cast(0); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, v1, v2, c, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + + exprtk_debug(("((v0 o0 (v1 o1 v2)) o2 c)\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, v2, c, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t"; + } + }; + + struct synthesize_vovocov_expression4 + { + typedef typename vovocov_t::type4 node_type; + typedef typename vovocov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // ((v0 o0 (v1 o1 c)) o2 v1) + typedef typename synthesize_vovoc_expression1::node_type lcl_vovoc_t; + + const lcl_vovoc_t* vovoc = static_cast(branch[0]); + const Type& v0 = vovoc->t0(); + const Type& v1 = vovoc->t1(); + const Type c = vovoc->t2(); + const Type& v2 = static_cast*>(branch[1])->ref(); + const details::operator_type o0 = expr_gen.get_operator(vovoc->f0()); + const details::operator_type o1 = expr_gen.get_operator(vovoc->f1()); + const details::operator_type o2 = operation; + + binary_functor_t f0 = vovoc->f0(); + binary_functor_t f1 = vovoc->f1(); + binary_functor_t f2 = reinterpret_cast(0); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, v1, c, v2, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + + exprtk_debug(("((v0 o0 (v1 o1 c)) o2 v1)\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, v1, c, v2, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t"; + } + }; + + struct synthesize_vocovov_expression4 + { + typedef typename vocovov_t::type4 node_type; + typedef typename vocovov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // ((v0 o0 (c o1 v1)) o2 v2) + typedef typename synthesize_vocov_expression1::node_type lcl_vocov_t; + + const lcl_vocov_t* vocov = static_cast(branch[0]); + const Type& v0 = vocov->t0(); + const Type c = vocov->t1(); + const Type& v1 = vocov->t2(); + const Type& v2 = static_cast*>(branch[1])->ref(); + const details::operator_type o0 = expr_gen.get_operator(vocov->f0()); + const details::operator_type o1 = expr_gen.get_operator(vocov->f1()); + const details::operator_type o2 = operation; + + binary_functor_t f0 = vocov->f0(); + binary_functor_t f1 = vocov->f1(); + binary_functor_t f2 = reinterpret_cast(0); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, c, v1, v2, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + + exprtk_debug(("((v0 o0 (c o1 v1)) o2 v2)\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, c, v1, v2, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t"; + } + }; + + struct synthesize_covovov_expression4 + { + typedef typename covovov_t::type4 node_type; + typedef typename covovov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // ((c o0 (v0 o1 v1)) o2 v2) + typedef typename synthesize_covov_expression1::node_type lcl_covov_t; + + const lcl_covov_t* covov = static_cast(branch[0]); + const Type c = covov->t0(); + const Type& v0 = covov->t1(); + const Type& v1 = covov->t2(); + const Type& v2 = static_cast*>(branch[1])->ref(); + const details::operator_type o0 = expr_gen.get_operator(covov->f0()); + const details::operator_type o1 = expr_gen.get_operator(covov->f1()); + const details::operator_type o2 = operation; + + binary_functor_t f0 = covov->f0(); + binary_functor_t f1 = covov->f1(); + binary_functor_t f2 = reinterpret_cast(0); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), c, v0, v1, v2, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + + exprtk_debug(("((c o0 (v0 o1 v1)) o2 v2)\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), c, v0, v1, v2, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t"; + } + }; + + struct synthesize_covocov_expression4 + { + typedef typename covocov_t::type4 node_type; + typedef typename covocov_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // ((c0 o0 (v0 o1 c1)) o2 v1) + typedef typename synthesize_covoc_expression1::node_type lcl_covoc_t; + + const lcl_covoc_t* covoc = static_cast(branch[0]); + const Type c0 = covoc->t0(); + const Type& v0 = covoc->t1(); + const Type c1 = covoc->t2(); + const Type& v1 = static_cast*>(branch[1])->ref(); + const details::operator_type o0 = expr_gen.get_operator(covoc->f0()); + const details::operator_type o1 = expr_gen.get_operator(covoc->f1()); + const details::operator_type o2 = operation; + + binary_functor_t f0 = covoc->f0(); + binary_functor_t f1 = covoc->f1(); + binary_functor_t f2 = reinterpret_cast(0); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), c0, v0, c1, v1, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + + exprtk_debug(("((c0 o0 (v0 o1 c1)) o2 v1)\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), c0, v0, c1, v1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t"; + } + }; + + struct synthesize_vocovoc_expression4 + { + typedef typename vocovoc_t::type4 node_type; + typedef typename vocovoc_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // ((v0 o0 (c0 o1 v1)) o2 c1) + typedef typename synthesize_vocov_expression1::node_type lcl_vocov_t; + + const lcl_vocov_t* vocov = static_cast(branch[0]); + const Type& v0 = vocov->t0(); + const Type c0 = vocov->t1(); + const Type& v1 = vocov->t2(); + const Type c1 = static_cast*>(branch[1])->value(); + const details::operator_type o0 = expr_gen.get_operator(vocov->f0()); + const details::operator_type o1 = expr_gen.get_operator(vocov->f1()); + const details::operator_type o2 = operation; + + binary_functor_t f0 = vocov->f0(); + binary_functor_t f1 = vocov->f1(); + binary_functor_t f2 = reinterpret_cast(0); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), v0, c0, v1, c1, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + + exprtk_debug(("((v0 o0 (c0 o1 v1)) o2 c1)\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), v0, c0, v1, c1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t"; + } + }; + + struct synthesize_covovoc_expression4 + { + typedef typename covovoc_t::type4 node_type; + typedef typename covovoc_t::sf4_type sf4_type; + typedef typename node_type::T0 T0; + typedef typename node_type::T1 T1; + typedef typename node_type::T2 T2; + typedef typename node_type::T3 T3; + + static inline expression_node_ptr process(expression_generator& expr_gen, + const details::operator_type& operation, + expression_node_ptr (&branch)[2]) + { + // ((c0 o0 (v0 o1 v1)) o2 c1) + typedef typename synthesize_covov_expression1::node_type lcl_covov_t; + + const lcl_covov_t* covov = static_cast(branch[0]); + const Type c0 = covov->t0(); + const Type& v0 = covov->t1(); + const Type& v1 = covov->t2(); + const Type c1 = static_cast*>(branch[1])->value(); + const details::operator_type o0 = expr_gen.get_operator(covov->f0()); + const details::operator_type o1 = expr_gen.get_operator(covov->f1()); + const details::operator_type o2 = operation; + + binary_functor_t f0 = covov->f0(); + binary_functor_t f1 = covov->f1(); + binary_functor_t f2 = reinterpret_cast(0); + + details::free_node(*(expr_gen.node_allocator_),branch[0]); + details::free_node(*(expr_gen.node_allocator_),branch[1]); + + expression_node_ptr result = error_node(); + + const bool synthesis_result = + synthesize_sf4ext_expression::template compile + (expr_gen, id(expr_gen, o0, o1, o2), c0, v0, v1, c1, result); + + if (synthesis_result) + return result; + else if (!expr_gen.valid_operator(o2,f2)) + return error_node(); + + exprtk_debug(("((c0 o0 (v0 o1 v1)) o2 c1)\n")); + + return node_type::allocate(*(expr_gen.node_allocator_), c0, v0, v1, c1, f0, f1, f2); + } + + static inline std::string id(expression_generator& expr_gen, + const details::operator_type o0, + const details::operator_type o1, + const details::operator_type o2) + { + return details::build_string() + << "(t" << expr_gen.to_str(o0) + << "(t" << expr_gen.to_str(o1) + << "t)" << expr_gen.to_str(o2) + << "t"; + } + }; + + struct synthesize_vococov_expression4 + { + typedef typename vococov_t::type4 node_type; + static inline expression_node_ptr process(expression_generator&, + const details::operator_type&, + expression_node_ptr (&)[2]) + { + // ((v0 o0 (c0 o1 c1)) o2 v1) - Not possible + exprtk_debug(("((v0 o0 (c0 o1 c1)) o2 v1) - Not possible\n")); + return error_node(); + } + + static inline std::string id(expression_generator&, + const details::operator_type, + const details::operator_type, + const details::operator_type) + { + return "INVALID"; + } + }; + #endif + + inline expression_node_ptr synthesize_uvouv_expression(const details::operator_type& operation, expression_node_ptr (&branch)[2]) + { + // Definition: uv o uv + details::operator_type o0 = static_cast*>(branch[0])->operation(); + details::operator_type o1 = static_cast*>(branch[1])->operation(); + const Type& v0 = static_cast*>(branch[0])->v(); + const Type& v1 = static_cast*>(branch[1])->v(); + unary_functor_t u0 = reinterpret_cast (0); + unary_functor_t u1 = reinterpret_cast (0); + binary_functor_t f = reinterpret_cast(0); + + if (!valid_operator(o0,u0)) + return error_node(); + else if (!valid_operator(o1,u1)) + return error_node(); + else if (!valid_operator(operation,f)) + return error_node(); + + expression_node_ptr result = error_node(); + + if ( + (details::e_neg == o0) && + (details::e_neg == o1) + ) + { + switch (operation) + { + // (-v0 + -v1) --> -(v0 + v1) + case details::e_add : result = (*this)(details::e_neg, + node_allocator_-> + allocate_rr > >(v0, v1)); + exprtk_debug(("(-v0 + -v1) --> -(v0 + v1)\n")); + break; + + // (-v0 - -v1) --> (v1 - v0) + case details::e_sub : result = node_allocator_-> + allocate_rr > >(v1, v0); + exprtk_debug(("(-v0 - -v1) --> (v1 - v0)\n")); + break; + + // (-v0 * -v1) --> (v0 * v1) + case details::e_mul : result = node_allocator_-> + allocate_rr > >(v0, v1); + exprtk_debug(("(-v0 * -v1) --> (v0 * v1)\n")); + break; + + // (-v0 / -v1) --> (v0 / v1) + case details::e_div : result = node_allocator_-> + allocate_rr > >(v0, v1); + exprtk_debug(("(-v0 / -v1) --> (v0 / v1)\n")); + break; + + default : break; + } + } + + if (0 == result) + { + result = node_allocator_-> + allocate_rrrrr >(v0, v1, u0, u1, f); + } + + details::free_all_nodes(*node_allocator_,branch); + return result; + } + + #undef basic_opr_switch_statements + #undef extended_opr_switch_statements + #undef unary_opr_switch_statements + + #ifndef exprtk_disable_string_capabilities + + #define string_opr_switch_statements \ + case_stmt(details::e_lt , details::lt_op ) \ + case_stmt(details::e_lte , details::lte_op ) \ + case_stmt(details::e_gt , details::gt_op ) \ + case_stmt(details::e_gte , details::gte_op ) \ + case_stmt(details::e_eq , details::eq_op ) \ + case_stmt(details::e_ne , details::ne_op ) \ + case_stmt(details::e_in , details::in_op ) \ + case_stmt(details::e_like , details::like_op ) \ + case_stmt(details::e_ilike , details::ilike_op) \ + + template + inline expression_node_ptr synthesize_str_xrox_expression_impl(const details::operator_type& opr, + T0 s0, T1 s1, + range_t rp0) + { + switch (opr) + { + #define case_stmt(op0, op1) \ + case op0 : return node_allocator_-> \ + allocate_ttt >,T0,T1> \ + (s0, s1, rp0); \ + + string_opr_switch_statements + #undef case_stmt + default : return error_node(); + } + } + + template + inline expression_node_ptr synthesize_str_xoxr_expression_impl(const details::operator_type& opr, + T0 s0, T1 s1, + range_t rp1) + { + switch (opr) + { + #define case_stmt(op0, op1) \ + case op0 : return node_allocator_-> \ + allocate_ttt >,T0,T1> \ + (s0, s1, rp1); \ + + string_opr_switch_statements + #undef case_stmt + default : return error_node(); + } + } + + template + inline expression_node_ptr synthesize_str_xroxr_expression_impl(const details::operator_type& opr, + T0 s0, T1 s1, + range_t rp0, range_t rp1) + { + switch (opr) + { + #define case_stmt(op0, op1) \ + case op0 : return node_allocator_-> \ + allocate_tttt >,T0,T1> \ + (s0, s1, rp0, rp1); \ + + string_opr_switch_statements + #undef case_stmt + default : return error_node(); + } + } + + template + inline expression_node_ptr synthesize_sos_expression_impl(const details::operator_type& opr, T0 s0, T1 s1) + { + switch (opr) + { + #define case_stmt(op0, op1) \ + case op0 : return node_allocator_-> \ + allocate_tt >,T0,T1>(s0, s1); \ + + string_opr_switch_statements + #undef case_stmt + default : return error_node(); + } + } + + inline expression_node_ptr synthesize_sos_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + std::string& s0 = static_cast*>(branch[0])->ref(); + std::string& s1 = static_cast*>(branch[1])->ref(); + + return synthesize_sos_expression_impl(opr, s0, s1); + } + + inline expression_node_ptr synthesize_sros_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + std::string& s0 = static_cast*>(branch[0])->ref (); + std::string& s1 = static_cast*> (branch[1])->ref (); + range_t rp0 = static_cast*>(branch[0])->range(); + + static_cast*>(branch[0])->range_ref().clear(); + + details::free_node(*node_allocator_,branch[0]); + + return synthesize_str_xrox_expression_impl(opr, s0, s1, rp0); + } + + inline expression_node_ptr synthesize_sosr_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + std::string& s0 = static_cast*> (branch[0])->ref (); + std::string& s1 = static_cast*>(branch[1])->ref (); + range_t rp1 = static_cast*>(branch[1])->range(); + + static_cast*>(branch[1])->range_ref().clear(); + + details::free_node(*node_allocator_,branch[1]); + + return synthesize_str_xoxr_expression_impl(opr, s0, s1, rp1); + } + + inline expression_node_ptr synthesize_socsr_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + std::string& s0 = static_cast*> (branch[0])->ref (); + std::string s1 = static_cast*>(branch[1])->str (); + range_t rp1 = static_cast*>(branch[1])->range(); + + static_cast*>(branch[1])->range_ref().clear(); + + details::free_node(*node_allocator_,branch[1]); + + return synthesize_str_xoxr_expression_impl(opr, s0, s1, rp1); + } + + inline expression_node_ptr synthesize_srosr_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + std::string& s0 = static_cast*>(branch[0])->ref (); + std::string& s1 = static_cast*>(branch[1])->ref (); + range_t rp0 = static_cast*>(branch[0])->range(); + range_t rp1 = static_cast*>(branch[1])->range(); + + static_cast*>(branch[0])->range_ref().clear(); + static_cast*>(branch[1])->range_ref().clear(); + + details::free_node(*node_allocator_,branch[0]); + details::free_node(*node_allocator_,branch[1]); + + return synthesize_str_xroxr_expression_impl(opr, s0, s1, rp0, rp1); + } + + inline expression_node_ptr synthesize_socs_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + std::string& s0 = static_cast< details::stringvar_node*>(branch[0])->ref(); + std::string s1 = static_cast*>(branch[1])->str(); + + details::free_node(*node_allocator_,branch[1]); + + return synthesize_sos_expression_impl(opr, s0, s1); + } + + inline expression_node_ptr synthesize_csos_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + std::string s0 = static_cast*>(branch[0])->str(); + std::string& s1 = static_cast* >(branch[1])->ref(); + + details::free_node(*node_allocator_,branch[0]); + + return synthesize_sos_expression_impl(opr, s0, s1); + } + + inline expression_node_ptr synthesize_csosr_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + std::string s0 = static_cast*>(branch[0])->str (); + std::string& s1 = static_cast* >(branch[1])->ref (); + range_t rp1 = static_cast* >(branch[1])->range(); + + static_cast*>(branch[1])->range_ref().clear(); + + details::free_node(*node_allocator_,branch[0]); + details::free_node(*node_allocator_,branch[1]); + + return synthesize_str_xoxr_expression_impl(opr, s0, s1, rp1); + } + + inline expression_node_ptr synthesize_srocs_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + std::string& s0 = static_cast* >(branch[0])->ref (); + std::string s1 = static_cast*>(branch[1])->str (); + range_t rp0 = static_cast* >(branch[0])->range(); + + static_cast*>(branch[0])->range_ref().clear(); + + details::free_node(*node_allocator_,branch[0]); + details::free_node(*node_allocator_,branch[1]); + + return synthesize_str_xrox_expression_impl(opr, s0, s1, rp0); + } + + inline expression_node_ptr synthesize_srocsr_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + std::string& s0 = static_cast* >(branch[0])->ref (); + std::string s1 = static_cast*>(branch[1])->str (); + range_t rp0 = static_cast* >(branch[0])->range(); + range_t rp1 = static_cast*>(branch[1])->range(); + + static_cast*> (branch[0])->range_ref().clear(); + static_cast*>(branch[1])->range_ref().clear(); + + details::free_node(*node_allocator_,branch[0]); + details::free_node(*node_allocator_,branch[1]); + + return synthesize_str_xroxr_expression_impl(opr, s0, s1, rp0, rp1); + } + + inline expression_node_ptr synthesize_csocs_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + const std::string s0 = static_cast*>(branch[0])->str(); + const std::string s1 = static_cast*>(branch[1])->str(); + + expression_node_ptr result = error_node(); + + if (details::e_add == opr) + result = node_allocator_->allocate_c >(s0 + s1); + else if (details::e_in == opr) + result = node_allocator_->allocate_c >(details::in_op ::process(s0,s1)); + else if (details::e_like == opr) + result = node_allocator_->allocate_c >(details::like_op ::process(s0,s1)); + else if (details::e_ilike == opr) + result = node_allocator_->allocate_c >(details::ilike_op::process(s0,s1)); + else + { + expression_node_ptr temp = synthesize_sos_expression_impl(opr, s0, s1); + + const Type v = temp->value(); + + details::free_node(*node_allocator_,temp); + + result = node_allocator_->allocate(v); + } + + details::free_all_nodes(*node_allocator_,branch); + + return result; + } + + inline expression_node_ptr synthesize_csocsr_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + const std::string s0 = static_cast* >(branch[0])->str (); + std::string s1 = static_cast*>(branch[1])->str (); + range_t rp1 = static_cast*>(branch[1])->range(); + + static_cast*>(branch[1])->range_ref().clear(); + + details::free_node(*node_allocator_,branch[0]); + details::free_node(*node_allocator_,branch[1]); + + return synthesize_str_xoxr_expression_impl(opr, s0, s1, rp1); + } + + inline expression_node_ptr synthesize_csros_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + std::string s0 = static_cast*>(branch[0])->str (); + std::string& s1 = static_cast* >(branch[1])->ref (); + range_t rp0 = static_cast*>(branch[0])->range(); + + static_cast*>(branch[0])->range_ref().clear(); + + details::free_node(*node_allocator_,branch[0]); + + return synthesize_str_xrox_expression_impl(opr, s0, s1, rp0); + } + + inline expression_node_ptr synthesize_csrosr_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + const std::string s0 = static_cast*>(branch[0])->str (); + std::string& s1 = static_cast* >(branch[1])->ref (); + const range_t rp0 = static_cast*>(branch[0])->range(); + const range_t rp1 = static_cast* >(branch[1])->range(); + + static_cast*>(branch[0])->range_ref().clear(); + static_cast*> (branch[1])->range_ref().clear(); + + details::free_node(*node_allocator_,branch[0]); + details::free_node(*node_allocator_,branch[1]); + + return synthesize_str_xroxr_expression_impl(opr, s0, s1, rp0, rp1); + } + + inline expression_node_ptr synthesize_csrocs_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + const std::string s0 = static_cast*>(branch[0])->str (); + const std::string s1 = static_cast* >(branch[1])->str (); + const range_t rp0 = static_cast*>(branch[0])->range(); + + static_cast*>(branch[0])->range_ref().clear(); + + details::free_all_nodes(*node_allocator_,branch); + + return synthesize_str_xrox_expression_impl(opr, s0, s1, rp0); + } + + inline expression_node_ptr synthesize_csrocsr_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + const std::string s0 = static_cast*>(branch[0])->str (); + const std::string s1 = static_cast*>(branch[1])->str (); + const range_t rp0 = static_cast*>(branch[0])->range(); + const range_t rp1 = static_cast*>(branch[1])->range(); + + static_cast*>(branch[0])->range_ref().clear(); + static_cast*>(branch[1])->range_ref().clear(); + + details::free_all_nodes(*node_allocator_,branch); + + return synthesize_str_xroxr_expression_impl(opr, s0, s1, rp0, rp1); + } + + inline expression_node_ptr synthesize_strogen_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + switch (opr) + { + #define case_stmt(op0, op1) \ + case op0 : return node_allocator_-> \ + allocate_ttt > > \ + (opr, branch[0], branch[1]); \ + + string_opr_switch_statements + #undef case_stmt + default : return error_node(); + } + } + + #undef string_opr_switch_statements + #endif + + #ifndef exprtk_disable_string_capabilities + inline expression_node_ptr synthesize_string_expression(const details::operator_type& opr, expression_node_ptr (&branch)[2]) + { + if ((0 == branch[0]) || (0 == branch[1])) + { + details::free_all_nodes(*node_allocator_,branch); + + return error_node(); + } + + const bool b0_is_s = details::is_string_node (branch[0]); + const bool b0_is_cs = details::is_const_string_node (branch[0]); + const bool b0_is_sr = details::is_string_range_node (branch[0]); + const bool b0_is_csr = details::is_const_string_range_node(branch[0]); + + const bool b1_is_s = details::is_string_node (branch[1]); + const bool b1_is_cs = details::is_const_string_node (branch[1]); + const bool b1_is_sr = details::is_string_range_node (branch[1]); + const bool b1_is_csr = details::is_const_string_range_node(branch[1]); + + const bool b0_is_gen = details::is_string_assignment_node (branch[0]) || + details::is_genricstring_range_node(branch[0]) || + details::is_string_concat_node (branch[0]) || + details::is_string_function_node (branch[0]) || + details::is_string_condition_node (branch[0]) || + details::is_string_ccondition_node (branch[0]) || + details::is_string_vararg_node (branch[0]) ; + + const bool b1_is_gen = details::is_string_assignment_node (branch[1]) || + details::is_genricstring_range_node(branch[1]) || + details::is_string_concat_node (branch[1]) || + details::is_string_function_node (branch[1]) || + details::is_string_condition_node (branch[1]) || + details::is_string_ccondition_node (branch[1]) || + details::is_string_vararg_node (branch[1]) ; + + if (details::e_add == opr) + { + if (!b0_is_cs || !b1_is_cs) + { + return synthesize_expression(opr,branch); + } + } + + if (b0_is_gen || b1_is_gen) + { + return synthesize_strogen_expression(opr,branch); + } + else if (b0_is_s) + { + if (b1_is_s ) return synthesize_sos_expression (opr,branch); + else if (b1_is_cs ) return synthesize_socs_expression (opr,branch); + else if (b1_is_sr ) return synthesize_sosr_expression (opr,branch); + else if (b1_is_csr) return synthesize_socsr_expression (opr,branch); + } + else if (b0_is_cs) + { + if (b1_is_s ) return synthesize_csos_expression (opr,branch); + else if (b1_is_cs ) return synthesize_csocs_expression (opr,branch); + else if (b1_is_sr ) return synthesize_csosr_expression (opr,branch); + else if (b1_is_csr) return synthesize_csocsr_expression(opr,branch); + } + else if (b0_is_sr) + { + if (b1_is_s ) return synthesize_sros_expression (opr,branch); + else if (b1_is_sr ) return synthesize_srosr_expression (opr,branch); + else if (b1_is_cs ) return synthesize_srocs_expression (opr,branch); + else if (b1_is_csr) return synthesize_srocsr_expression(opr,branch); + } + else if (b0_is_csr) + { + if (b1_is_s ) return synthesize_csros_expression (opr,branch); + else if (b1_is_sr ) return synthesize_csrosr_expression (opr,branch); + else if (b1_is_cs ) return synthesize_csrocs_expression (opr,branch); + else if (b1_is_csr) return synthesize_csrocsr_expression(opr,branch); + } + + return error_node(); + } + #else + inline expression_node_ptr synthesize_string_expression(const details::operator_type&, expression_node_ptr (&branch)[2]) + { + details::free_all_nodes(*node_allocator_,branch); + return error_node(); + } + #endif + + #ifndef exprtk_disable_string_capabilities + inline expression_node_ptr synthesize_string_expression(const details::operator_type& opr, expression_node_ptr (&branch)[3]) + { + if (details::e_inrange != opr) + return error_node(); + else if ((0 == branch[0]) || (0 == branch[1]) || (0 == branch[2])) + { + details::free_all_nodes(*node_allocator_,branch); + + return error_node(); + } + else if ( + details::is_const_string_node(branch[0]) && + details::is_const_string_node(branch[1]) && + details::is_const_string_node(branch[2]) + ) + { + const std::string s0 = static_cast*>(branch[0])->str(); + const std::string s1 = static_cast*>(branch[1])->str(); + const std::string s2 = static_cast*>(branch[2])->str(); + + const Type v = (((s0 <= s1) && (s1 <= s2)) ? Type(1) : Type(0)); + + details::free_all_nodes(*node_allocator_,branch); + + return node_allocator_->allocate_c >(v); + } + else if ( + details::is_string_node(branch[0]) && + details::is_string_node(branch[1]) && + details::is_string_node(branch[2]) + ) + { + std::string& s0 = static_cast*>(branch[0])->ref(); + std::string& s1 = static_cast*>(branch[1])->ref(); + std::string& s2 = static_cast*>(branch[2])->ref(); + + typedef typename details::sosos_node > inrange_t; + + return node_allocator_->allocate_type(s0, s1, s2); + } + else if ( + details::is_const_string_node(branch[0]) && + details::is_string_node(branch[1]) && + details::is_const_string_node(branch[2]) + ) + { + std::string s0 = static_cast*>(branch[0])->str(); + std::string& s1 = static_cast* >(branch[1])->ref(); + std::string s2 = static_cast*>(branch[2])->str(); + + typedef typename details::sosos_node > inrange_t; + + details::free_node(*node_allocator_,branch[0]); + details::free_node(*node_allocator_,branch[2]); + + return node_allocator_->allocate_type(s0, s1, s2); + } + else if ( + details::is_string_node(branch[0]) && + details::is_const_string_node(branch[1]) && + details::is_string_node(branch[2]) + ) + { + std::string& s0 = static_cast* >(branch[0])->ref(); + std::string s1 = static_cast*>(branch[1])->str(); + std::string& s2 = static_cast* >(branch[2])->ref(); + + typedef typename details::sosos_node > inrange_t; + + details::free_node(*node_allocator_,branch[1]); + + return node_allocator_->allocate_type(s0, s1, s2); + } + else if ( + details::is_string_node(branch[0]) && + details::is_string_node(branch[1]) && + details::is_const_string_node(branch[2]) + ) + { + std::string& s0 = static_cast* >(branch[0])->ref(); + std::string& s1 = static_cast* >(branch[1])->ref(); + std::string s2 = static_cast*>(branch[2])->str(); + + typedef typename details::sosos_node > inrange_t; + + details::free_node(*node_allocator_,branch[2]); + + return node_allocator_->allocate_type(s0, s1, s2); + } + else if ( + details::is_const_string_node(branch[0]) && + details:: is_string_node(branch[1]) && + details:: is_string_node(branch[2]) + ) + { + std::string s0 = static_cast*>(branch[0])->str(); + std::string& s1 = static_cast* >(branch[1])->ref(); + std::string& s2 = static_cast* >(branch[2])->ref(); + + typedef typename details::sosos_node > inrange_t; + + details::free_node(*node_allocator_,branch[0]); + + return node_allocator_->allocate_type(s0, s1, s2); + } + else + return error_node(); + } + #else + inline expression_node_ptr synthesize_string_expression(const details::operator_type&, expression_node_ptr (&branch)[3]) + { + details::free_all_nodes(*node_allocator_,branch); + return error_node(); + } + #endif + + inline expression_node_ptr synthesize_null_expression(const details::operator_type& operation, expression_node_ptr (&branch)[2]) + { + /* + Note: The following are the type promotion rules + that relate to operations that include 'null': + 0. null ==/!= null --> true false + 1. null operation null --> null + 2. x ==/!= null --> true/false + 3. null ==/!= x --> true/false + 4. x operation null --> x + 5. null operation x --> x + */ + + typedef typename details::null_eq_node nulleq_node_t; + + const bool b0_null = details::is_null_node(branch[0]); + const bool b1_null = details::is_null_node(branch[1]); + + if (b0_null && b1_null) + { + expression_node_ptr result = error_node(); + + if (details::e_eq == operation) + result = node_allocator_->allocate_c(T(1)); + else if (details::e_ne == operation) + result = node_allocator_->allocate_c(T(0)); + + if (result) + { + details::free_node(*node_allocator_,branch[0]); + details::free_node(*node_allocator_,branch[1]); + + return result; + } + + details::free_node(*node_allocator_,branch[1]); + + return branch[0]; + } + else if (details::e_eq == operation) + { + expression_node_ptr result = node_allocator_-> + allocate_rc(branch[b0_null ? 0 : 1],true); + + details::free_node(*node_allocator_,branch[b0_null ? 1 : 0]); + + return result; + } + else if (details::e_ne == operation) + { + expression_node_ptr result = node_allocator_-> + allocate_rc(branch[b0_null ? 0 : 1],false); + + details::free_node(*node_allocator_,branch[b0_null ? 1 : 0]); + + return result; + } + else if (b0_null) + { + details::free_node(*node_allocator_,branch[0]); + branch[0] = branch[1]; + branch[1] = error_node(); + } + else if (b1_null) + { + details::free_node(*node_allocator_,branch[1]); + branch[1] = error_node(); + } + + if ( + (details::e_add == operation) || (details::e_sub == operation) || + (details::e_mul == operation) || (details::e_div == operation) || + (details::e_mod == operation) || (details::e_pow == operation) + ) + { + return branch[0]; + } + + details::free_node(*node_allocator_, branch[0]); + + if ( + (details::e_lt == operation) || (details::e_lte == operation) || + (details::e_gt == operation) || (details::e_gte == operation) || + (details::e_and == operation) || (details::e_nand == operation) || + (details::e_or == operation) || (details::e_nor == operation) || + (details::e_xor == operation) || (details::e_xnor == operation) || + (details::e_in == operation) || (details::e_like == operation) || + (details::e_ilike == operation) + ) + { + return node_allocator_->allocate_c(T(0)); + } + + return node_allocator_->allocate >(); + } + + template + inline expression_node_ptr synthesize_expression(const details::operator_type& operation, expression_node_ptr (&branch)[N]) + { + if ( + (details::e_in == operation) || + (details::e_like == operation) || + (details::e_ilike == operation) + ) + { + free_all_nodes(*node_allocator_,branch); + + return error_node(); + } + else if (!details::all_nodes_valid(branch)) + { + free_all_nodes(*node_allocator_,branch); + + return error_node(); + } + else if ((details::e_default != operation)) + { + // Attempt simple constant folding optimisation. + expression_node_ptr expression_point = node_allocator_->allocate(operation,branch); + + if (is_constant_foldable(branch)) + { + const Type v = expression_point->value(); + details::free_node(*node_allocator_,expression_point); + + return node_allocator_->allocate(v); + } + + if (expression_point && expression_point->valid()) + { + return expression_point; + } + + parser_->set_error(parser_error::make_error( + parser_error::e_parser, + token_t(), + "ERR249 - Failed to synthesize node: NodeType", + exprtk_error_location)); + + details::free_node(*node_allocator_, expression_point); + } + + return error_node(); + } + + template + inline expression_node_ptr synthesize_expression(F* f, expression_node_ptr (&branch)[N]) + { + if (!details::all_nodes_valid(branch)) + { + free_all_nodes(*node_allocator_,branch); + + return error_node(); + } + + typedef typename details::function_N_node function_N_node_t; + + // Attempt simple constant folding optimisation. + + expression_node_ptr expression_point = node_allocator_->allocate(f); + function_N_node_t* func_node_ptr = dynamic_cast(expression_point); + + if (0 == func_node_ptr) + { + free_all_nodes(*node_allocator_,branch); + + return error_node(); + } + else + func_node_ptr->init_branches(branch); + + if (is_constant_foldable(branch) && !f->has_side_effects()) + { + Type v = expression_point->value(); + details::free_node(*node_allocator_,expression_point); + + return node_allocator_->allocate(v); + } + + parser_->state_.activate_side_effect("synthesize_expression(function)"); + + return expression_point; + } + + bool strength_reduction_enabled_; + details::node_allocator* node_allocator_; + synthesize_map_t synthesize_map_; + unary_op_map_t* unary_op_map_; + binary_op_map_t* binary_op_map_; + inv_binary_op_map_t* inv_binary_op_map_; + sf3_map_t* sf3_map_; + sf4_map_t* sf4_map_; + parser_t* parser_; + }; // class expression_generator + + inline void set_error(const parser_error::type& error_type) + { + error_list_.push_back(error_type); + } + + inline void remove_last_error() + { + if (!error_list_.empty()) + { + error_list_.pop_back(); + } + } + + inline void set_synthesis_error(const std::string& synthesis_error_message) + { + if (synthesis_error_.empty()) + { + synthesis_error_ = synthesis_error_message; + } + } + + inline void register_local_vars(expression& e) + { + for (std::size_t i = 0; i < sem_.size(); ++i) + { + scope_element& se = sem_.get_element(i); + + if ( + (scope_element::e_variable == se.type) || + (scope_element::e_vecelem == se.type) + ) + { + if (se.var_node) + { + e.register_local_var(se.var_node); + } + + if (se.data) + { + e.register_local_data(se.data, 1, 0); + } + } + else if (scope_element::e_vector == se.type) + { + if (se.vec_node) + { + e.register_local_var(se.vec_node); + } + + if (se.data) + { + e.register_local_data(se.data, se.size, 1); + } + } + #ifndef exprtk_disable_string_capabilities + else if (scope_element::e_string == se.type) + { + if (se.str_node) + { + e.register_local_var(se.str_node); + } + + if (se.data) + { + e.register_local_data(se.data, se.size, 2); + } + } + #endif + + se.var_node = 0; + se.vec_node = 0; + #ifndef exprtk_disable_string_capabilities + se.str_node = 0; + #endif + se.data = 0; + se.ref_count = 0; + se.active = false; + } + } + + inline void register_return_results(expression& e) + { + e.register_return_results(results_context_); + results_context_ = 0; + } + + inline void load_unary_operations_map(unary_op_map_t& m) + { + #define register_unary_op(Op, UnaryFunctor) \ + m.insert(std::make_pair(Op,UnaryFunctor::process)); \ + + register_unary_op(details::e_abs , details::abs_op ) + register_unary_op(details::e_acos , details::acos_op ) + register_unary_op(details::e_acosh , details::acosh_op) + register_unary_op(details::e_asin , details::asin_op ) + register_unary_op(details::e_asinh , details::asinh_op) + register_unary_op(details::e_atanh , details::atanh_op) + register_unary_op(details::e_ceil , details::ceil_op ) + register_unary_op(details::e_cos , details::cos_op ) + register_unary_op(details::e_cosh , details::cosh_op ) + register_unary_op(details::e_exp , details::exp_op ) + register_unary_op(details::e_expm1 , details::expm1_op) + register_unary_op(details::e_floor , details::floor_op) + register_unary_op(details::e_log , details::log_op ) + register_unary_op(details::e_log10 , details::log10_op) + register_unary_op(details::e_log2 , details::log2_op ) + register_unary_op(details::e_log1p , details::log1p_op) + register_unary_op(details::e_neg , details::neg_op ) + register_unary_op(details::e_pos , details::pos_op ) + register_unary_op(details::e_round , details::round_op) + register_unary_op(details::e_sin , details::sin_op ) + register_unary_op(details::e_sinc , details::sinc_op ) + register_unary_op(details::e_sinh , details::sinh_op ) + register_unary_op(details::e_sqrt , details::sqrt_op ) + register_unary_op(details::e_tan , details::tan_op ) + register_unary_op(details::e_tanh , details::tanh_op ) + register_unary_op(details::e_cot , details::cot_op ) + register_unary_op(details::e_sec , details::sec_op ) + register_unary_op(details::e_csc , details::csc_op ) + register_unary_op(details::e_r2d , details::r2d_op ) + register_unary_op(details::e_d2r , details::d2r_op ) + register_unary_op(details::e_d2g , details::d2g_op ) + register_unary_op(details::e_g2d , details::g2d_op ) + register_unary_op(details::e_notl , details::notl_op ) + register_unary_op(details::e_sgn , details::sgn_op ) + register_unary_op(details::e_erf , details::erf_op ) + register_unary_op(details::e_erfc , details::erfc_op ) + register_unary_op(details::e_ncdf , details::ncdf_op ) + register_unary_op(details::e_frac , details::frac_op ) + register_unary_op(details::e_trunc , details::trunc_op) + #undef register_unary_op + } + + inline void load_binary_operations_map(binary_op_map_t& m) + { + typedef typename binary_op_map_t::value_type value_type; + + #define register_binary_op(Op, BinaryFunctor) \ + m.insert(value_type(Op,BinaryFunctor::process)); \ + + register_binary_op(details::e_add , details::add_op ) + register_binary_op(details::e_sub , details::sub_op ) + register_binary_op(details::e_mul , details::mul_op ) + register_binary_op(details::e_div , details::div_op ) + register_binary_op(details::e_mod , details::mod_op ) + register_binary_op(details::e_pow , details::pow_op ) + register_binary_op(details::e_lt , details::lt_op ) + register_binary_op(details::e_lte , details::lte_op ) + register_binary_op(details::e_gt , details::gt_op ) + register_binary_op(details::e_gte , details::gte_op ) + register_binary_op(details::e_eq , details::eq_op ) + register_binary_op(details::e_ne , details::ne_op ) + register_binary_op(details::e_and , details::and_op ) + register_binary_op(details::e_nand , details::nand_op) + register_binary_op(details::e_or , details::or_op ) + register_binary_op(details::e_nor , details::nor_op ) + register_binary_op(details::e_xor , details::xor_op ) + register_binary_op(details::e_xnor , details::xnor_op) + #undef register_binary_op + } + + inline void load_inv_binary_operations_map(inv_binary_op_map_t& m) + { + typedef typename inv_binary_op_map_t::value_type value_type; + + #define register_binary_op(Op, BinaryFunctor) \ + m.insert(value_type(BinaryFunctor::process,Op)); \ + + register_binary_op(details::e_add , details::add_op ) + register_binary_op(details::e_sub , details::sub_op ) + register_binary_op(details::e_mul , details::mul_op ) + register_binary_op(details::e_div , details::div_op ) + register_binary_op(details::e_mod , details::mod_op ) + register_binary_op(details::e_pow , details::pow_op ) + register_binary_op(details::e_lt , details::lt_op ) + register_binary_op(details::e_lte , details::lte_op ) + register_binary_op(details::e_gt , details::gt_op ) + register_binary_op(details::e_gte , details::gte_op ) + register_binary_op(details::e_eq , details::eq_op ) + register_binary_op(details::e_ne , details::ne_op ) + register_binary_op(details::e_and , details::and_op ) + register_binary_op(details::e_nand , details::nand_op) + register_binary_op(details::e_or , details::or_op ) + register_binary_op(details::e_nor , details::nor_op ) + register_binary_op(details::e_xor , details::xor_op ) + register_binary_op(details::e_xnor , details::xnor_op) + #undef register_binary_op + } + + inline void load_sf3_map(sf3_map_t& sf3_map) + { + typedef std::pair pair_t; + + #define register_sf3(Op) \ + sf3_map[details::sf##Op##_op::id()] = pair_t(details::sf##Op##_op::process,details::e_sf##Op); \ + + register_sf3(00) register_sf3(01) register_sf3(02) register_sf3(03) + register_sf3(04) register_sf3(05) register_sf3(06) register_sf3(07) + register_sf3(08) register_sf3(09) register_sf3(10) register_sf3(11) + register_sf3(12) register_sf3(13) register_sf3(14) register_sf3(15) + register_sf3(16) register_sf3(17) register_sf3(18) register_sf3(19) + register_sf3(20) register_sf3(21) register_sf3(22) register_sf3(23) + register_sf3(24) register_sf3(25) register_sf3(26) register_sf3(27) + register_sf3(28) register_sf3(29) register_sf3(30) + #undef register_sf3 + + #define register_sf3_extid(Id, Op) \ + sf3_map[Id] = pair_t(details::sf##Op##_op::process,details::e_sf##Op); \ + + register_sf3_extid("(t-t)-t",23) // (t-t)-t --> t-(t+t) + #undef register_sf3_extid + } + + inline void load_sf4_map(sf4_map_t& sf4_map) + { + typedef std::pair pair_t; + + #define register_sf4(Op) \ + sf4_map[details::sf##Op##_op::id()] = pair_t(details::sf##Op##_op::process,details::e_sf##Op); \ + + register_sf4(48) register_sf4(49) register_sf4(50) register_sf4(51) + register_sf4(52) register_sf4(53) register_sf4(54) register_sf4(55) + register_sf4(56) register_sf4(57) register_sf4(58) register_sf4(59) + register_sf4(60) register_sf4(61) register_sf4(62) register_sf4(63) + register_sf4(64) register_sf4(65) register_sf4(66) register_sf4(67) + register_sf4(68) register_sf4(69) register_sf4(70) register_sf4(71) + register_sf4(72) register_sf4(73) register_sf4(74) register_sf4(75) + register_sf4(76) register_sf4(77) register_sf4(78) register_sf4(79) + register_sf4(80) register_sf4(81) register_sf4(82) register_sf4(83) + #undef register_sf4 + + #define register_sf4ext(Op) \ + sf4_map[details::sfext##Op##_op::id()] = pair_t(details::sfext##Op##_op::process,details::e_sf4ext##Op); \ + + register_sf4ext(00) register_sf4ext(01) register_sf4ext(02) register_sf4ext(03) + register_sf4ext(04) register_sf4ext(05) register_sf4ext(06) register_sf4ext(07) + register_sf4ext(08) register_sf4ext(09) register_sf4ext(10) register_sf4ext(11) + register_sf4ext(12) register_sf4ext(13) register_sf4ext(14) register_sf4ext(15) + register_sf4ext(16) register_sf4ext(17) register_sf4ext(18) register_sf4ext(19) + register_sf4ext(20) register_sf4ext(21) register_sf4ext(22) register_sf4ext(23) + register_sf4ext(24) register_sf4ext(25) register_sf4ext(26) register_sf4ext(27) + register_sf4ext(28) register_sf4ext(29) register_sf4ext(30) register_sf4ext(31) + register_sf4ext(32) register_sf4ext(33) register_sf4ext(34) register_sf4ext(35) + register_sf4ext(36) register_sf4ext(36) register_sf4ext(38) register_sf4ext(39) + register_sf4ext(40) register_sf4ext(41) register_sf4ext(42) register_sf4ext(43) + register_sf4ext(44) register_sf4ext(45) register_sf4ext(46) register_sf4ext(47) + register_sf4ext(48) register_sf4ext(49) register_sf4ext(50) register_sf4ext(51) + register_sf4ext(52) register_sf4ext(53) register_sf4ext(54) register_sf4ext(55) + register_sf4ext(56) register_sf4ext(57) register_sf4ext(58) register_sf4ext(59) + register_sf4ext(60) register_sf4ext(61) + #undef register_sf4ext + } + + inline results_context_t& results_ctx() + { + if (0 == results_context_) + { + results_context_ = new results_context_t(); + } + + return (*results_context_); + } + + inline void return_cleanup() + { + #ifndef exprtk_disable_return_statement + if (results_context_) + { + delete results_context_; + results_context_ = 0; + } + + state_.return_stmt_present = false; + #endif + } + + private: + + parser(const parser&) exprtk_delete; + parser& operator=(const parser&) exprtk_delete; + + settings_store settings_; + expression_generator expression_generator_; + details::node_allocator node_allocator_; + symtab_store symtab_store_; + dependent_entity_collector dec_; + std::deque error_list_; + std::deque brkcnt_list_; + parser_state state_; + bool resolve_unknown_symbol_; + results_context_t* results_context_; + unknown_symbol_resolver* unknown_symbol_resolver_; + unknown_symbol_resolver default_usr_; + base_ops_map_t base_ops_map_; + unary_op_map_t unary_op_map_; + binary_op_map_t binary_op_map_; + inv_binary_op_map_t inv_binary_op_map_; + sf3_map_t sf3_map_; + sf4_map_t sf4_map_; + std::string synthesis_error_; + scope_element_manager sem_; + std::vector current_state_stack_; + + immutable_memory_map_t immutable_memory_map_; + immutable_symtok_map_t immutable_symtok_map_; + + lexer::helper::helper_assembly helper_assembly_; + + lexer::helper::commutative_inserter commutative_inserter_; + lexer::helper::operator_joiner operator_joiner_2_; + lexer::helper::operator_joiner operator_joiner_3_; + lexer::helper::symbol_replacer symbol_replacer_; + lexer::helper::bracket_checker bracket_checker_; + lexer::helper::numeric_checker numeric_checker_; + lexer::helper::sequence_validator sequence_validator_; + lexer::helper::sequence_validator_3tokens sequence_validator_3tkns_; + + loop_runtime_check_ptr loop_runtime_check_; + vector_access_runtime_check_ptr vector_access_runtime_check_; + compilation_check_ptr compilation_check_ptr_; + + template + friend void details::disable_type_checking(ParserType& p); + }; // class parser + + namespace details + { + template + struct collector_helper + { + typedef exprtk::symbol_table symbol_table_t; + typedef exprtk::expression expression_t; + typedef exprtk::parser parser_t; + typedef typename parser_t::dependent_entity_collector::symbol_t symbol_t; + typedef typename parser_t::unknown_symbol_resolver usr_t; + + struct resolve_as_vector : public parser_t::unknown_symbol_resolver + { + typedef exprtk::parser parser_t; + + resolve_as_vector() + : usr_t(usr_t::e_usrmode_extended) + {} + + virtual bool process(const std::string& unknown_symbol, + symbol_table_t& symbol_table, + std::string&) exprtk_override + { + static T v[1]; + symbol_table.add_vector(unknown_symbol,v); + return true; + } + }; + + static inline bool collection_pass(const std::string& expression_string, + std::set& symbol_set, + const bool collect_variables, + const bool collect_functions, + const bool vector_pass, + symbol_table_t& ext_symbol_table) + { + symbol_table_t symbol_table; + expression_t expression; + parser_t parser; + + resolve_as_vector vect_resolver; + + expression.register_symbol_table(symbol_table ); + expression.register_symbol_table(ext_symbol_table); + + if (vector_pass) + parser.enable_unknown_symbol_resolver(&vect_resolver); + else + parser.enable_unknown_symbol_resolver(); + + if (collect_variables) + parser.dec().collect_variables() = true; + + if (collect_functions) + parser.dec().collect_functions() = true; + + bool pass_result = false; + + details::disable_type_checking(parser); + + if (parser.compile(expression_string, expression)) + { + pass_result = true; + + std::deque symb_list; + parser.dec().symbols(symb_list); + + for (std::size_t i = 0; i < symb_list.size(); ++i) + { + symbol_set.insert(symb_list[i].first); + } + } + + return pass_result; + } + }; + } + + template class Sequence> + inline bool collect_variables(const std::string& expression, + Sequence& symbol_list) + { + typedef double T; + typedef details::collector_helper collect_t; + + collect_t::symbol_table_t null_symbol_table; + + std::set symbol_set; + + const bool variable_pass = collect_t::collection_pass + (expression, symbol_set, true, false, false, null_symbol_table); + const bool vector_pass = collect_t::collection_pass + (expression, symbol_set, true, false, true, null_symbol_table); + + if (!variable_pass && !vector_pass) + return false; + + std::set::iterator itr = symbol_set.begin(); + + while (symbol_set.end() != itr) + { + symbol_list.push_back(*itr); + ++itr; + } + + return true; + } + + template class Sequence> + inline bool collect_variables(const std::string& expression, + exprtk::symbol_table& extrnl_symbol_table, + Sequence& symbol_list) + { + typedef details::collector_helper collect_t; + + std::set symbol_set; + + const bool variable_pass = collect_t::collection_pass + (expression, symbol_set, true, false, false, extrnl_symbol_table); + const bool vector_pass = collect_t::collection_pass + (expression, symbol_set, true, false, true, extrnl_symbol_table); + + if (!variable_pass && !vector_pass) + return false; + + std::set::iterator itr = symbol_set.begin(); + + while (symbol_set.end() != itr) + { + symbol_list.push_back(*itr); + ++itr; + } + + return true; + } + + template class Sequence> + inline bool collect_functions(const std::string& expression, + Sequence& symbol_list) + { + typedef double T; + typedef details::collector_helper collect_t; + + collect_t::symbol_table_t null_symbol_table; + + std::set symbol_set; + + const bool variable_pass = collect_t::collection_pass + (expression, symbol_set, false, true, false, null_symbol_table); + const bool vector_pass = collect_t::collection_pass + (expression, symbol_set, false, true, true, null_symbol_table); + + if (!variable_pass && !vector_pass) + return false; + + std::set::iterator itr = symbol_set.begin(); + + while (symbol_set.end() != itr) + { + symbol_list.push_back(*itr); + ++itr; + } + + return true; + } + + template class Sequence> + inline bool collect_functions(const std::string& expression, + exprtk::symbol_table& extrnl_symbol_table, + Sequence& symbol_list) + { + typedef details::collector_helper collect_t; + + std::set symbol_set; + + const bool variable_pass = collect_t::collection_pass + (expression, symbol_set, false, true, false, extrnl_symbol_table); + const bool vector_pass = collect_t::collection_pass + (expression, symbol_set, false, true, true, extrnl_symbol_table); + + if (!variable_pass && !vector_pass) + return false; + + std::set::iterator itr = symbol_set.begin(); + + while (symbol_set.end() != itr) + { + symbol_list.push_back(*itr); + ++itr; + } + + return true; + } + + template + inline T integrate(const expression& e, + T& x, + const T& r0, const T& r1, + const std::size_t number_of_intervals = 1000000) + { + if (r0 > r1) + return T(0); + + const T h = (r1 - r0) / (T(2) * number_of_intervals); + T total_area = T(0); + + for (std::size_t i = 0; i < number_of_intervals; ++i) + { + x = r0 + T(2) * i * h; + const T y0 = e.value(); x += h; + const T y1 = e.value(); x += h; + const T y2 = e.value(); x += h; + total_area += h * (y0 + T(4) * y1 + y2) / T(3); + } + + return total_area; + } + + template + inline T integrate(const expression& e, + const std::string& variable_name, + const T& r0, const T& r1, + const std::size_t number_of_intervals = 1000000) + { + const symbol_table& sym_table = e.get_symbol_table(); + + if (!sym_table.valid()) + { + return std::numeric_limits::quiet_NaN(); + } + + details::variable_node* var = sym_table.get_variable(variable_name); + + if (var) + { + T& x = var->ref(); + const T x_original = x; + const T result = integrate(e, x, r0, r1, number_of_intervals); + x = x_original; + + return result; + } + + return std::numeric_limits::quiet_NaN(); + } + + template + inline T derivative(const expression& e, + T& x, + const T& h = T(0.00000001)) + { + const T x_init = x; + const T _2h = T(2) * h; + + x = x_init + _2h; + const T y0 = e.value(); + x = x_init + h; + const T y1 = e.value(); + x = x_init - h; + const T y2 = e.value(); + x = x_init - _2h; + const T y3 = e.value(); + x = x_init; + + return (-y0 + T(8) * (y1 - y2) + y3) / (T(12) * h); + } + + template + inline T second_derivative(const expression& e, + T& x, + const T& h = T(0.00001)) + { + const T x_init = x; + const T _2h = T(2) * h; + + const T y = e.value(); + x = x_init + _2h; + const T y0 = e.value(); + x = x_init + h; + const T y1 = e.value(); + x = x_init - h; + const T y2 = e.value(); + x = x_init - _2h; + const T y3 = e.value(); + x = x_init; + + return (-y0 + T(16) * (y1 + y2) - T(30) * y - y3) / (T(12) * h * h); + } + + template + inline T third_derivative(const expression& e, + T& x, + const T& h = T(0.0001)) + { + const T x_init = x; + const T _2h = T(2) * h; + + x = x_init + _2h; + const T y0 = e.value(); + x = x_init + h; + const T y1 = e.value(); + x = x_init - h; + const T y2 = e.value(); + x = x_init - _2h; + const T y3 = e.value(); + x = x_init; + + return (y0 + T(2) * (y2 - y1) - y3) / (T(2) * h * h * h); + } + + template + inline T derivative(const expression& e, + const std::string& variable_name, + const T& h = T(0.00000001)) + { + const symbol_table& sym_table = e.get_symbol_table(); + + if (!sym_table.valid()) + { + return std::numeric_limits::quiet_NaN(); + } + + details::variable_node* var = sym_table.get_variable(variable_name); + + if (var) + { + T& x = var->ref(); + const T x_original = x; + const T result = derivative(e, x, h); + x = x_original; + + return result; + } + + return std::numeric_limits::quiet_NaN(); + } + + template + inline T second_derivative(const expression& e, + const std::string& variable_name, + const T& h = T(0.00001)) + { + const symbol_table& sym_table = e.get_symbol_table(); + + if (!sym_table.valid()) + { + return std::numeric_limits::quiet_NaN(); + } + + details::variable_node* var = sym_table.get_variable(variable_name); + + if (var) + { + T& x = var->ref(); + const T x_original = x; + const T result = second_derivative(e, x, h); + x = x_original; + + return result; + } + + return std::numeric_limits::quiet_NaN(); + } + + template + inline T third_derivative(const expression& e, + const std::string& variable_name, + const T& h = T(0.0001)) + { + const symbol_table& sym_table = e.get_symbol_table(); + + if (!sym_table.valid()) + { + return std::numeric_limits::quiet_NaN(); + } + + details::variable_node* var = sym_table.get_variable(variable_name); + + if (var) + { + T& x = var->ref(); + const T x_original = x; + const T result = third_derivative(e, x, h); + x = x_original; + + return result; + } + + return std::numeric_limits::quiet_NaN(); + } + + /* + Note: The following 'compute' routines are simple helpers, + for quickly setting up the required pieces of code in order + to evaluate an expression. By virtue of how they operate + there will be an overhead with regards to their setup and + teardown and hence should not be used in time critical + sections of code. + Furthermore they only assume a small sub set of variables, + no string variables or user defined functions. + */ + template + inline bool compute(const std::string& expression_string, T& result) + { + // No variables + symbol_table symbol_table; + symbol_table.add_constants(); + + expression expression; + expression.register_symbol_table(symbol_table); + + parser parser; + + if (parser.compile(expression_string,expression)) + { + result = expression.value(); + + return true; + } + else + return false; + } + + template + inline bool compute(const std::string& expression_string, + const T& x, + T& result) + { + // Only 'x' + static const std::string x_var("x"); + + symbol_table symbol_table; + symbol_table.add_constants(); + symbol_table.add_constant(x_var,x); + + expression expression; + expression.register_symbol_table(symbol_table); + + parser parser; + + if (parser.compile(expression_string,expression)) + { + result = expression.value(); + + return true; + } + else + return false; + } + + template + inline bool compute(const std::string& expression_string, + const T&x, const T& y, + T& result) + { + // Only 'x' and 'y' + static const std::string x_var("x"); + static const std::string y_var("y"); + + symbol_table symbol_table; + symbol_table.add_constants(); + symbol_table.add_constant(x_var,x); + symbol_table.add_constant(y_var,y); + + expression expression; + expression.register_symbol_table(symbol_table); + + parser parser; + + if (parser.compile(expression_string,expression)) + { + result = expression.value(); + + return true; + } + else + return false; + } + + template + inline bool compute(const std::string& expression_string, + const T& x, const T& y, const T& z, + T& result) + { + // Only 'x', 'y' or 'z' + static const std::string x_var("x"); + static const std::string y_var("y"); + static const std::string z_var("z"); + + symbol_table symbol_table; + symbol_table.add_constants(); + symbol_table.add_constant(x_var,x); + symbol_table.add_constant(y_var,y); + symbol_table.add_constant(z_var,z); + + expression expression; + expression.register_symbol_table(symbol_table); + + parser parser; + + if (parser.compile(expression_string,expression)) + { + result = expression.value(); + + return true; + } + else + return false; + } + + template + class polynomial : public ifunction + { + private: + + template + struct poly_impl { }; + + template + struct poly_impl + { + static inline T evaluate(const Type x, + const Type c12, const Type c11, const Type c10, const Type c9, const Type c8, + const Type c7, const Type c6, const Type c5, const Type c4, const Type c3, + const Type c2, const Type c1, const Type c0) + { + // p(x) = c_12x^12 + c_11x^11 + c_10x^10 + c_9x^9 + c_8x^8 + c_7x^7 + c_6x^6 + c_5x^5 + c_4x^4 + c_3x^3 + c_2x^2 + c_1x^1 + c_0x^0 + return ((((((((((((c12 * x + c11) * x + c10) * x + c9) * x + c8) * x + c7) * x + c6) * x + c5) * x + c4) * x + c3) * x + c2) * x + c1) * x + c0); + } + }; + + template + struct poly_impl + { + static inline T evaluate(const Type x, + const Type c11, const Type c10, const Type c9, const Type c8, const Type c7, + const Type c6, const Type c5, const Type c4, const Type c3, const Type c2, + const Type c1, const Type c0) + { + // p(x) = c_11x^11 + c_10x^10 + c_9x^9 + c_8x^8 + c_7x^7 + c_6x^6 + c_5x^5 + c_4x^4 + c_3x^3 + c_2x^2 + c_1x^1 + c_0x^0 + return (((((((((((c11 * x + c10) * x + c9) * x + c8) * x + c7) * x + c6) * x + c5) * x + c4) * x + c3) * x + c2) * x + c1) * x + c0); + } + }; + + template + struct poly_impl + { + static inline T evaluate(const Type x, + const Type c10, const Type c9, const Type c8, const Type c7, const Type c6, + const Type c5, const Type c4, const Type c3, const Type c2, const Type c1, + const Type c0) + { + // p(x) = c_10x^10 + c_9x^9 + c_8x^8 + c_7x^7 + c_6x^6 + c_5x^5 + c_4x^4 + c_3x^3 + c_2x^2 + c_1x^1 + c_0x^0 + return ((((((((((c10 * x + c9) * x + c8) * x + c7) * x + c6) * x + c5) * x + c4) * x + c3) * x + c2) * x + c1) * x + c0); + } + }; + + template + struct poly_impl + { + static inline T evaluate(const Type x, + const Type c9, const Type c8, const Type c7, const Type c6, const Type c5, + const Type c4, const Type c3, const Type c2, const Type c1, const Type c0) + { + // p(x) = c_9x^9 + c_8x^8 + c_7x^7 + c_6x^6 + c_5x^5 + c_4x^4 + c_3x^3 + c_2x^2 + c_1x^1 + c_0x^0 + return (((((((((c9 * x + c8) * x + c7) * x + c6) * x + c5) * x + c4) * x + c3) * x + c2) * x + c1) * x + c0); + } + }; + + template + struct poly_impl + { + static inline T evaluate(const Type x, + const Type c8, const Type c7, const Type c6, const Type c5, const Type c4, + const Type c3, const Type c2, const Type c1, const Type c0) + { + // p(x) = c_8x^8 + c_7x^7 + c_6x^6 + c_5x^5 + c_4x^4 + c_3x^3 + c_2x^2 + c_1x^1 + c_0x^0 + return ((((((((c8 * x + c7) * x + c6) * x + c5) * x + c4) * x + c3) * x + c2) * x + c1) * x + c0); + } + }; + + template + struct poly_impl + { + static inline T evaluate(const Type x, + const Type c7, const Type c6, const Type c5, const Type c4, const Type c3, + const Type c2, const Type c1, const Type c0) + { + // p(x) = c_7x^7 + c_6x^6 + c_5x^5 + c_4x^4 + c_3x^3 + c_2x^2 + c_1x^1 + c_0x^0 + return (((((((c7 * x + c6) * x + c5) * x + c4) * x + c3) * x + c2) * x + c1) * x + c0); + } + }; + + template + struct poly_impl + { + static inline T evaluate(const Type x, + const Type c6, const Type c5, const Type c4, const Type c3, const Type c2, + const Type c1, const Type c0) + { + // p(x) = c_6x^6 + c_5x^5 + c_4x^4 + c_3x^3 + c_2x^2 + c_1x^1 + c_0x^0 + return ((((((c6 * x + c5) * x + c4) * x + c3) * x + c2) * x + c1) * x + c0); + } + }; + + template + struct poly_impl + { + static inline T evaluate(const Type x, + const Type c5, const Type c4, const Type c3, const Type c2, + const Type c1, const Type c0) + { + // p(x) = c_5x^5 + c_4x^4 + c_3x^3 + c_2x^2 + c_1x^1 + c_0x^0 + return (((((c5 * x + c4) * x + c3) * x + c2) * x + c1) * x + c0); + } + }; + + template + struct poly_impl + { + static inline T evaluate(const Type x, const Type c4, const Type c3, const Type c2, const Type c1, const Type c0) + { + // p(x) = c_4x^4 + c_3x^3 + c_2x^2 + c_1x^1 + c_0x^0 + return ((((c4 * x + c3) * x + c2) * x + c1) * x + c0); + } + }; + + template + struct poly_impl + { + static inline T evaluate(const Type x, const Type c3, const Type c2, const Type c1, const Type c0) + { + // p(x) = c_3x^3 + c_2x^2 + c_1x^1 + c_0x^0 + return (((c3 * x + c2) * x + c1) * x + c0); + } + }; + + template + struct poly_impl + { + static inline T evaluate(const Type x, const Type c2, const Type c1, const Type c0) + { + // p(x) = c_2x^2 + c_1x^1 + c_0x^0 + return ((c2 * x + c1) * x + c0); + } + }; + + template + struct poly_impl + { + static inline T evaluate(const Type x, const Type c1, const Type c0) + { + // p(x) = c_1x^1 + c_0x^0 + return (c1 * x + c0); + } + }; + + public: + + using ifunction::operator(); + + polynomial() + : ifunction((N+2 <= 20) ? (N + 2) : std::numeric_limits::max()) + { + disable_has_side_effects(*this); + } + + virtual ~polynomial() + {} + + #define poly_rtrn(NN) \ + return (NN != N) ? std::numeric_limits::quiet_NaN() : + + inline virtual T operator() (const T& x, const T& c1, const T& c0) exprtk_override + { + poly_rtrn(1) (poly_impl::evaluate(x, c1, c0)); + } + + inline virtual T operator() (const T& x, const T& c2, const T& c1, const T& c0) exprtk_override + { + poly_rtrn(2) (poly_impl::evaluate(x, c2, c1, c0)); + } + + inline virtual T operator() (const T& x, const T& c3, const T& c2, const T& c1, const T& c0) exprtk_override + { + poly_rtrn(3) (poly_impl::evaluate(x, c3, c2, c1, c0)); + } + + inline virtual T operator() (const T& x, const T& c4, const T& c3, const T& c2, const T& c1, + const T& c0) exprtk_override + { + poly_rtrn(4) (poly_impl::evaluate(x, c4, c3, c2, c1, c0)); + } + + inline virtual T operator() (const T& x, const T& c5, const T& c4, const T& c3, const T& c2, + const T& c1, const T& c0) exprtk_override + { + poly_rtrn(5) (poly_impl::evaluate(x, c5, c4, c3, c2, c1, c0)); + } + + inline virtual T operator() (const T& x, const T& c6, const T& c5, const T& c4, const T& c3, + const T& c2, const T& c1, const T& c0) exprtk_override + { + poly_rtrn(6) (poly_impl::evaluate(x, c6, c5, c4, c3, c2, c1, c0)); + } + + inline virtual T operator() (const T& x, const T& c7, const T& c6, const T& c5, const T& c4, + const T& c3, const T& c2, const T& c1, const T& c0) exprtk_override + { + poly_rtrn(7) (poly_impl::evaluate(x, c7, c6, c5, c4, c3, c2, c1, c0)); + } + + inline virtual T operator() (const T& x, const T& c8, const T& c7, const T& c6, const T& c5, + const T& c4, const T& c3, const T& c2, const T& c1, const T& c0) exprtk_override + { + poly_rtrn(8) (poly_impl::evaluate(x, c8, c7, c6, c5, c4, c3, c2, c1, c0)); + } + + inline virtual T operator() (const T& x, const T& c9, const T& c8, const T& c7, const T& c6, + const T& c5, const T& c4, const T& c3, const T& c2, const T& c1, + const T& c0) exprtk_override + { + poly_rtrn(9) (poly_impl::evaluate(x, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0)); + } + + inline virtual T operator() (const T& x, const T& c10, const T& c9, const T& c8, const T& c7, + const T& c6, const T& c5, const T& c4, const T& c3, const T& c2, + const T& c1, const T& c0) exprtk_override + { + poly_rtrn(10) (poly_impl::evaluate(x, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0)); + } + + inline virtual T operator() (const T& x, const T& c11, const T& c10, const T& c9, const T& c8, + const T& c7, const T& c6, const T& c5, const T& c4, const T& c3, + const T& c2, const T& c1, const T& c0) exprtk_override + { + poly_rtrn(11) (poly_impl::evaluate(x, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0)); + } + + inline virtual T operator() (const T& x, const T& c12, const T& c11, const T& c10, const T& c9, + const T& c8, const T& c7, const T& c6, const T& c5, const T& c4, + const T& c3, const T& c2, const T& c1, const T& c0) exprtk_override + { + poly_rtrn(12) (poly_impl::evaluate(x, c12, c11, c10, c9, c8, c7, c6, c5, c4, c3, c2, c1, c0)); + } + + #undef poly_rtrn + + inline virtual T operator() () exprtk_override + { + return std::numeric_limits::quiet_NaN(); + } + + inline virtual T operator() (const T&) exprtk_override + { + return std::numeric_limits::quiet_NaN(); + } + + inline virtual T operator() (const T&, const T&) exprtk_override + { + return std::numeric_limits::quiet_NaN(); + } + }; + + template + class function_compositor + { + public: + + typedef exprtk::expression expression_t; + typedef exprtk::symbol_table symbol_table_t; + typedef exprtk::parser parser_t; + typedef typename parser_t::settings_store settings_t; + + struct function + { + function() + {} + + function(const std::string& n) + : name_(n) + {} + + function(const std::string& name, + const std::string& expression) + : name_(name) + , expression_(expression) + {} + + function(const std::string& name, + const std::string& expression, + const std::string& v0) + : name_(name) + , expression_(expression) + { + v_.push_back(v0); + } + + function(const std::string& name, + const std::string& expression, + const std::string& v0, const std::string& v1) + : name_(name) + , expression_(expression) + { + v_.push_back(v0); v_.push_back(v1); + } + + function(const std::string& name, + const std::string& expression, + const std::string& v0, const std::string& v1, + const std::string& v2) + : name_(name) + , expression_(expression) + { + v_.push_back(v0); v_.push_back(v1); + v_.push_back(v2); + } + + function(const std::string& name, + const std::string& expression, + const std::string& v0, const std::string& v1, + const std::string& v2, const std::string& v3) + : name_(name) + , expression_(expression) + { + v_.push_back(v0); v_.push_back(v1); + v_.push_back(v2); v_.push_back(v3); + } + + function(const std::string& name, + const std::string& expression, + const std::string& v0, const std::string& v1, + const std::string& v2, const std::string& v3, + const std::string& v4) + : name_(name) + , expression_(expression) + { + v_.push_back(v0); v_.push_back(v1); + v_.push_back(v2); v_.push_back(v3); + v_.push_back(v4); + } + + inline function& name(const std::string& n) + { + name_ = n; + return (*this); + } + + inline function& expression(const std::string& e) + { + expression_ = e; + return (*this); + } + + inline function& var(const std::string& v) + { + v_.push_back(v); + return (*this); + } + + inline function& vars(const std::string& v0, + const std::string& v1) + { + v_.push_back(v0); + v_.push_back(v1); + return (*this); + } + + inline function& vars(const std::string& v0, + const std::string& v1, + const std::string& v2) + { + v_.push_back(v0); + v_.push_back(v1); + v_.push_back(v2); + return (*this); + } + + inline function& vars(const std::string& v0, + const std::string& v1, + const std::string& v2, + const std::string& v3) + { + v_.push_back(v0); + v_.push_back(v1); + v_.push_back(v2); + v_.push_back(v3); + return (*this); + } + + inline function& vars(const std::string& v0, + const std::string& v1, + const std::string& v2, + const std::string& v3, + const std::string& v4) + { + v_.push_back(v0); + v_.push_back(v1); + v_.push_back(v2); + v_.push_back(v3); + v_.push_back(v4); + return (*this); + } + + std::string name_; + std::string expression_; + std::deque v_; + }; + + private: + + struct base_func : public exprtk::ifunction + { + typedef const T& type; + typedef exprtk::ifunction function_t; + typedef std::vector varref_t; + typedef std::vector var_t; + typedef std::pair lvarref_t; + typedef std::vector lvr_vec_t; + + using exprtk::ifunction::operator(); + + base_func(const std::size_t& pc = 0) + : exprtk::ifunction(pc) + , local_var_stack_size(0) + , stack_depth(0) + { + v.resize(pc); + } + + virtual ~base_func() + {} + + #define exprtk_assign(Index) \ + (*v[Index]) = v##Index; \ + + inline void update(const T& v0) + { + exprtk_assign(0) + } + + inline void update(const T& v0, const T& v1) + { + exprtk_assign(0) exprtk_assign(1) + } + + inline void update(const T& v0, const T& v1, const T& v2) + { + exprtk_assign(0) exprtk_assign(1) + exprtk_assign(2) + } + + inline void update(const T& v0, const T& v1, const T& v2, const T& v3) + { + exprtk_assign(0) exprtk_assign(1) + exprtk_assign(2) exprtk_assign(3) + } + + inline void update(const T& v0, const T& v1, const T& v2, const T& v3, const T& v4) + { + exprtk_assign(0) exprtk_assign(1) + exprtk_assign(2) exprtk_assign(3) + exprtk_assign(4) + } + + inline void update(const T& v0, const T& v1, const T& v2, const T& v3, const T& v4, const T& v5) + { + exprtk_assign(0) exprtk_assign(1) + exprtk_assign(2) exprtk_assign(3) + exprtk_assign(4) exprtk_assign(5) + } + + #ifdef exprtk_assign + #undef exprtk_assign + #endif + + inline function_t& setup(expression_t& expr) + { + expression = expr; + + typedef typename expression_t::control_block::local_data_list_t ldl_t; + + const ldl_t ldl = expr.local_data_list(); + + std::vector index_list; + + for (std::size_t i = 0; i < ldl.size(); ++i) + { + if (ldl[i].size) + { + index_list.push_back(i); + } + } + + std::size_t input_param_count = 0; + + for (std::size_t i = 0; i < index_list.size(); ++i) + { + const std::size_t index = index_list[i]; + + if (i < (index_list.size() - v.size())) + { + lv.push_back( + std::make_pair( + reinterpret_cast(ldl[index].pointer), + ldl[index].size)); + + local_var_stack_size += ldl[index].size; + } + else + v[input_param_count++] = reinterpret_cast(ldl[index].pointer); + } + + clear_stack(); + + return (*this); + } + + inline void pre() + { + if (stack_depth++) + { + if (!v.empty()) + { + var_t var_stack(v.size(),T(0)); + copy(v,var_stack); + param_stack.push_back(var_stack); + } + + if (!lv.empty()) + { + var_t local_var_stack(local_var_stack_size,T(0)); + copy(lv,local_var_stack); + local_stack.push_back(local_var_stack); + } + } + } + + inline void post() + { + if (--stack_depth) + { + if (!v.empty()) + { + copy(param_stack.back(),v); + param_stack.pop_back(); + } + + if (!lv.empty()) + { + copy(local_stack.back(),lv); + local_stack.pop_back(); + } + } + } + + void copy(const varref_t& src_v, var_t& dest_v) + { + for (std::size_t i = 0; i < src_v.size(); ++i) + { + dest_v[i] = (*src_v[i]); + } + } + + void copy(const var_t& src_v, varref_t& dest_v) + { + for (std::size_t i = 0; i < src_v.size(); ++i) + { + (*dest_v[i]) = src_v[i]; + } + } + + void copy(const lvr_vec_t& src_v, var_t& dest_v) + { + typename var_t::iterator itr = dest_v.begin(); + typedef typename std::iterator_traits::difference_type diff_t; + + for (std::size_t i = 0; i < src_v.size(); ++i) + { + lvarref_t vr = src_v[i]; + + if (1 == vr.second) + *itr++ = (*vr.first); + else + { + std::copy(vr.first, vr.first + vr.second, itr); + itr += static_cast(vr.second); + } + } + } + + void copy(const var_t& src_v, lvr_vec_t& dest_v) + { + typename var_t::const_iterator itr = src_v.begin(); + typedef typename std::iterator_traits::difference_type diff_t; + + for (std::size_t i = 0; i < src_v.size(); ++i) + { + lvarref_t vr = dest_v[i]; + + if (1 == vr.second) + (*vr.first) = *itr++; + else + { + std::copy(itr, itr + static_cast(vr.second), vr.first); + itr += static_cast(vr.second); + } + } + } + + inline void clear_stack() + { + for (std::size_t i = 0; i < v.size(); ++i) + { + (*v[i]) = 0; + } + } + + inline virtual T value(expression_t& e) + { + return e.value(); + } + + expression_t expression; + varref_t v; + lvr_vec_t lv; + std::size_t local_var_stack_size; + std::size_t stack_depth; + std::deque param_stack; + std::deque local_stack; + }; + + typedef std::map funcparam_t; + + struct func_0param : public base_func + { + using exprtk::ifunction::operator(); + + func_0param() : base_func(0) {} + + inline T operator() () exprtk_override + { + return this->value(base_func::expression); + } + }; + + typedef const T& type; + + template + struct scoped_bft + { + explicit scoped_bft(BaseFuncType& bft) + : bft_(bft) + { + bft_.pre (); + } + + ~scoped_bft() + { + bft_.post(); + } + + BaseFuncType& bft_; + + private: + + scoped_bft(const scoped_bft&) exprtk_delete; + scoped_bft& operator=(const scoped_bft&) exprtk_delete; + }; + + struct func_1param : public base_func + { + using exprtk::ifunction::operator(); + + func_1param() : base_func(1) {} + + inline T operator() (type v0) exprtk_override + { + scoped_bft sb(*this); + base_func::update(v0); + return this->value(base_func::expression); + } + }; + + struct func_2param : public base_func + { + using exprtk::ifunction::operator(); + + func_2param() : base_func(2) {} + + inline T operator() (type v0, type v1) exprtk_override + { + scoped_bft sb(*this); + base_func::update(v0, v1); + return this->value(base_func::expression); + } + }; + + struct func_3param : public base_func + { + using exprtk::ifunction::operator(); + + func_3param() : base_func(3) {} + + inline T operator() (type v0, type v1, type v2) exprtk_override + { + scoped_bft sb(*this); + base_func::update(v0, v1, v2); + return this->value(base_func::expression); + } + }; + + struct func_4param : public base_func + { + using exprtk::ifunction::operator(); + + func_4param() : base_func(4) {} + + inline T operator() (type v0, type v1, type v2, type v3) exprtk_override + { + scoped_bft sb(*this); + base_func::update(v0, v1, v2, v3); + return this->value(base_func::expression); + } + }; + + struct func_5param : public base_func + { + using exprtk::ifunction::operator(); + + func_5param() : base_func(5) {} + + inline T operator() (type v0, type v1, type v2, type v3, type v4) exprtk_override + { + scoped_bft sb(*this); + base_func::update(v0, v1, v2, v3, v4); + return this->value(base_func::expression); + } + }; + + struct func_6param : public base_func + { + using exprtk::ifunction::operator(); + + func_6param() : base_func(6) {} + + inline T operator() (type v0, type v1, type v2, type v3, type v4, type v5) exprtk_override + { + scoped_bft sb(*this); + base_func::update(v0, v1, v2, v3, v4, v5); + return this->value(base_func::expression); + } + }; + + static T return_value(expression_t& e) + { + typedef exprtk::results_context results_context_t; + typedef typename results_context_t::type_store_t type_t; + typedef typename type_t::scalar_view scalar_t; + + const T result = e.value(); + + if (e.return_invoked()) + { + // Due to the post compilation checks, it can be safely + // assumed that there will be at least one parameter + // and that the first parameter will always be scalar. + return scalar_t(e.results()[0])(); + } + + return result; + } + + #define def_fp_retval(N) \ + struct func_##N##param_retval exprtk_final : public func_##N##param \ + { \ + inline T value(expression_t& e) exprtk_override \ + { \ + return return_value(e); \ + } \ + }; \ + + def_fp_retval(0) + def_fp_retval(1) + def_fp_retval(2) + def_fp_retval(3) + def_fp_retval(4) + def_fp_retval(5) + def_fp_retval(6) + + #undef def_fp_retval + + template class Sequence> + inline bool add(const std::string& name, + const std::string& expression, + const Sequence& var_list, + const bool override = false) + { + const typename std::map::iterator itr = expr_map_.find(name); + + if (expr_map_.end() != itr) + { + if (!override) + { + exprtk_debug(("Compositor error(add): function '%s' already defined\n", + name.c_str())); + + return false; + } + + remove(name, var_list.size()); + } + + if (compile_expression(name, expression, var_list)) + { + const std::size_t n = var_list.size(); + + fp_map_[n][name]->setup(expr_map_[name]); + + return true; + } + else + { + exprtk_debug(("Compositor error(add): Failed to compile function '%s'\n", + name.c_str())); + + return false; + } + } + + public: + + function_compositor() + : parser_(settings_t::default_compile_all_opts + + settings_t::e_disable_zero_return) + , fp_map_(7) + , load_variables_(false) + , load_vectors_(false) + {} + + explicit function_compositor(const symbol_table_t& st) + : symbol_table_(st) + , parser_(settings_t::default_compile_all_opts + + settings_t::e_disable_zero_return) + , fp_map_(7) + , load_variables_(false) + , load_vectors_(false) + {} + + ~function_compositor() + { + clear(); + } + + inline symbol_table_t& symbol_table() + { + return symbol_table_; + } + + inline const symbol_table_t& symbol_table() const + { + return symbol_table_; + } + + inline void add_auxiliary_symtab(symbol_table_t& symtab) + { + auxiliary_symtab_list_.push_back(&symtab); + } + + void load_variables(const bool load = true) + { + load_variables_ = load; + } + + void load_vectors(const bool load = true) + { + load_vectors_ = load; + } + + void clear() + { + symbol_table_.clear(); + expr_map_ .clear(); + + for (std::size_t i = 0; i < fp_map_.size(); ++i) + { + typename funcparam_t::iterator itr = fp_map_[i].begin(); + typename funcparam_t::iterator end = fp_map_[i].end (); + + while (itr != end) + { + delete itr->second; + ++itr; + } + + fp_map_[i].clear(); + } + } + + inline bool add(const function& f, const bool override = false) + { + return add(f.name_, f.expression_, f.v_,override); + } + + inline std::string error() const + { + if (!error_list_.empty()) + { + return error_list_[0].diagnostic; + } + else + return std::string("No Error"); + } + + inline std::size_t error_count() const + { + return error_list_.size(); + } + + inline parser_error::type get_error(const std::size_t& index) const + { + if (index < error_list_.size()) + return error_list_[index]; + else + throw std::invalid_argument("compositor::get_error() - Invalid error index specified"); + } + + private: + + template class Sequence> + bool compile_expression(const std::string& name, + const std::string& expression, + const Sequence& input_var_list, + bool return_present = false) + { + expression_t compiled_expression; + symbol_table_t local_symbol_table; + + local_symbol_table.load_from(symbol_table_); + local_symbol_table.add_constants(); + + if (load_variables_) + { + local_symbol_table.load_variables_from(symbol_table_); + } + + if (load_vectors_) + { + local_symbol_table.load_vectors_from(symbol_table_); + } + + error_list_.clear(); + + if (!valid(name,input_var_list.size())) + { + parser_error::type error = + parser_error::make_error( + parser_error::e_parser, + lexer::token(), + "ERR250 - Function '" + name + "' is an invalid overload", + exprtk_error_location); + + error_list_.push_back(error); + return false; + } + + if (!forward(name, + input_var_list.size(), + local_symbol_table, + return_present)) + return false; + + compiled_expression.register_symbol_table(local_symbol_table); + + for (std::size_t i = 0; i < auxiliary_symtab_list_.size(); ++i) + { + compiled_expression.register_symbol_table((*auxiliary_symtab_list_[i])); + } + + std::string mod_expression; + + for (std::size_t i = 0; i < input_var_list.size(); ++i) + { + mod_expression += " var " + input_var_list[i] + "{};\n"; + } + + if ( + ('{' == details::front(expression)) && + ('}' == details::back (expression)) + ) + mod_expression += "~" + expression + ";"; + else + mod_expression += "~{" + expression + "};"; + + if (!parser_.compile(mod_expression,compiled_expression)) + { + exprtk_debug(("Compositor Error: %s\n", parser_.error().c_str())); + exprtk_debug(("Compositor modified expression: \n%s\n", mod_expression.c_str())); + + remove(name,input_var_list.size()); + + for (std::size_t err_index = 0; err_index < parser_.error_count(); ++err_index) + { + error_list_.push_back(parser_.get_error(err_index)); + } + + return false; + } + + if (!return_present && parser_.dec().return_present()) + { + remove(name,input_var_list.size()); + return compile_expression(name, expression, input_var_list, true); + } + + // Make sure every return point has a scalar as its first parameter + if (parser_.dec().return_present()) + { + typedef std::vector str_list_t; + + str_list_t ret_param_list = parser_.dec().return_param_type_list(); + + for (std::size_t i = 0; i < ret_param_list.size(); ++i) + { + const std::string& params = ret_param_list[i]; + + if (params.empty() || ('T' != params[0])) + { + exprtk_debug(("Compositor Error: Return statement in function '%s' is invalid\n", + name.c_str())); + + remove(name,input_var_list.size()); + + return false; + } + } + } + + expr_map_[name] = compiled_expression; + + exprtk::ifunction& ifunc = (*(fp_map_[input_var_list.size()])[name]); + + if (symbol_table_.add_function(name,ifunc)) + return true; + else + { + exprtk_debug(("Compositor Error: Failed to add function '%s' to symbol table\n", + name.c_str())); + return false; + } + } + + inline bool symbol_used(const std::string& symbol) const + { + return ( + symbol_table_.is_variable (symbol) || + symbol_table_.is_stringvar (symbol) || + symbol_table_.is_function (symbol) || + symbol_table_.is_vector (symbol) || + symbol_table_.is_vararg_function(symbol) + ); + } + + inline bool valid(const std::string& name, + const std::size_t& arg_count) const + { + if (arg_count > 6) + return false; + else if (symbol_used(name)) + return false; + else if (fp_map_[arg_count].end() != fp_map_[arg_count].find(name)) + return false; + else + return true; + } + + inline bool forward(const std::string& name, + const std::size_t& arg_count, + symbol_table_t& sym_table, + const bool ret_present = false) + { + switch (arg_count) + { + #define case_stmt(N) \ + case N : (fp_map_[arg_count])[name] = \ + (!ret_present) ? static_cast \ + (new func_##N##param) : \ + static_cast \ + (new func_##N##param_retval) ; \ + break; \ + + case_stmt(0) case_stmt(1) case_stmt(2) + case_stmt(3) case_stmt(4) case_stmt(5) + case_stmt(6) + #undef case_stmt + } + + exprtk::ifunction& ifunc = (*(fp_map_[arg_count])[name]); + + return sym_table.add_function(name,ifunc); + } + + inline void remove(const std::string& name, const std::size_t& arg_count) + { + if (arg_count > 6) + return; + + const typename std::map::iterator em_itr = expr_map_.find(name); + + if (expr_map_.end() != em_itr) + { + expr_map_.erase(em_itr); + } + + const typename funcparam_t::iterator fp_itr = fp_map_[arg_count].find(name); + + if (fp_map_[arg_count].end() != fp_itr) + { + delete fp_itr->second; + fp_map_[arg_count].erase(fp_itr); + } + + symbol_table_.remove_function(name); + } + + private: + + symbol_table_t symbol_table_; + parser_t parser_; + std::map expr_map_; + std::vector fp_map_; + std::vector auxiliary_symtab_list_; + std::deque error_list_; + bool load_variables_; + bool load_vectors_; + }; // class function_compositor + +} // namespace exprtk + +#if defined(_MSC_VER) || defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# ifndef NOMINMAX +# define NOMINMAX +# endif +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif +# include +# include +#else +# include +# include +# include +#endif + +namespace exprtk +{ + class timer + { + public: + + #if defined(_MSC_VER) || defined(_WIN32) || defined(__WIN32__) || defined(WIN32) + timer() + : in_use_(false) + , start_time_{ 0 } + , stop_time_ { 0 } + { + QueryPerformanceFrequency(&clock_frequency_); + } + + inline void start() + { + in_use_ = true; + QueryPerformanceCounter(&start_time_); + } + + inline void stop() + { + QueryPerformanceCounter(&stop_time_); + in_use_ = false; + } + + inline double time() const + { + return (1.0 * (stop_time_.QuadPart - start_time_.QuadPart)) / (1.0 * clock_frequency_.QuadPart); + } + + #else + + timer() + : in_use_(false) + { + start_time_.tv_sec = 0; + start_time_.tv_usec = 0; + + stop_time_.tv_sec = 0; + stop_time_.tv_usec = 0; + } + + inline void start() + { + in_use_ = true; + gettimeofday(&start_time_,0); + } + + inline void stop() + { + gettimeofday(&stop_time_, 0); + in_use_ = false; + } + + inline unsigned long long int usec_time() const + { + if (!in_use_) + { + if (stop_time_.tv_sec >= start_time_.tv_sec) + { + return 1000000LLU * static_cast(stop_time_.tv_sec - start_time_.tv_sec ) + + static_cast(stop_time_.tv_usec - start_time_.tv_usec) ; + } + else + return std::numeric_limits::max(); + } + else + return std::numeric_limits::max(); + } + + inline double time() const + { + return usec_time() * 0.000001; + } + + #endif + + inline bool in_use() const + { + return in_use_; + } + + private: + + bool in_use_; + + #if defined(_MSC_VER) || defined(_WIN32) || defined(__WIN32__) || defined(WIN32) + LARGE_INTEGER start_time_; + LARGE_INTEGER stop_time_; + LARGE_INTEGER clock_frequency_; + #else + struct timeval start_time_; + struct timeval stop_time_; + #endif + }; + + template + struct type_defs + { + typedef symbol_table symbol_table_t; + typedef expression expression_t; + typedef parser parser_t; + typedef parser_error::type error_t; + typedef function_compositor compositor_t; + typedef typename compositor_t::function function_t; + }; + +} // namespace exprtk + +#ifndef exprtk_disable_rtl_io +namespace exprtk +{ + namespace rtl { namespace io { namespace details + { + template + inline void print_type(const std::string& fmt, + const T v, + exprtk::details::numeric::details::real_type_tag) + { + #if defined(__clang__) + #pragma clang diagnostic push + #pragma clang diagnostic ignored "-Wformat-nonliteral" + #elif defined(__GNUC__) || defined(__GNUG__) + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wformat-nonliteral" + #elif defined(_MSC_VER) + #endif + + printf(fmt.c_str(), v); + + #if defined(__clang__) + #pragma clang diagnostic pop + #elif defined(__GNUC__) || defined(__GNUG__) + #pragma GCC diagnostic pop + #elif defined(_MSC_VER) + #endif + } + + template + struct print_impl + { + typedef typename igeneric_function::generic_type generic_type; + typedef typename igeneric_function::parameter_list_t parameter_list_t; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + typedef typename generic_type::string_view string_t; + typedef typename exprtk::details::numeric::details::number_type::type num_type; + + static void process(const std::string& scalar_format, parameter_list_t parameters) + { + for (std::size_t i = 0; i < parameters.size(); ++i) + { + generic_type& gt = parameters[i]; + + switch (gt.type) + { + case generic_type::e_scalar : print(scalar_format,scalar_t(gt)); + break; + + case generic_type::e_vector : print(scalar_format,vector_t(gt)); + break; + + case generic_type::e_string : print(string_t(gt)); + break; + + default : continue; + } + } + } + + static inline void print(const std::string& scalar_format, const scalar_t& s) + { + print_type(scalar_format,s(),num_type()); + } + + static inline void print(const std::string& scalar_format, const vector_t& v) + { + for (std::size_t i = 0; i < v.size(); ++i) + { + print_type(scalar_format,v[i],num_type()); + + if ((i + 1) < v.size()) + printf(" "); + } + } + + static inline void print(const string_t& s) + { + printf("%s",to_str(s).c_str()); + } + }; + + } // namespace exprtk::rtl::io::details + + template + struct print exprtk_final : public exprtk::igeneric_function + { + typedef typename igeneric_function::parameter_list_t parameter_list_t; + + using exprtk::igeneric_function::operator(); + + explicit print(const std::string& scalar_format = "%10.5f") + : scalar_format_(scalar_format) + { + exprtk::enable_zero_parameters(*this); + } + + inline T operator() (parameter_list_t parameters) exprtk_override + { + details::print_impl::process(scalar_format_,parameters); + return T(0); + } + + std::string scalar_format_; + }; + + template + struct println exprtk_final : public exprtk::igeneric_function + { + typedef typename igeneric_function::parameter_list_t parameter_list_t; + + using exprtk::igeneric_function::operator(); + + explicit println(const std::string& scalar_format = "%10.5f") + : scalar_format_(scalar_format) + { + exprtk::enable_zero_parameters(*this); + } + + inline T operator() (parameter_list_t parameters) exprtk_override + { + details::print_impl::process(scalar_format_,parameters); + printf("\n"); + return T(0); + } + + std::string scalar_format_; + }; + + template + struct package + { + print p; + println pl; + + bool register_package(exprtk::symbol_table& symtab) + { + #define exprtk_register_function(FunctionName, FunctionType) \ + if (!symtab.add_function(FunctionName,FunctionType)) \ + { \ + exprtk_debug(( \ + "exprtk::rtl::io::register_package - Failed to add function: %s\n", \ + FunctionName)); \ + return false; \ + } \ + + exprtk_register_function("print" , p ) + exprtk_register_function("println", pl) + #undef exprtk_register_function + + return true; + } + }; + + } // namespace exprtk::rtl::io + } // namespace exprtk::rtl +} // namespace exprtk +#endif + +#ifndef exprtk_disable_rtl_io_file +#include +namespace exprtk +{ + namespace rtl { namespace io { namespace file { namespace details + { + using ::exprtk::details::char_ptr; + using ::exprtk::details::char_cptr; + + enum file_mode + { + e_error = 0, + e_read = 1, + e_write = 2, + e_rdwrt = 4 + }; + + struct file_descriptor + { + file_descriptor(const std::string& fname, const std::string& access) + : stream_ptr(0) + , mode(get_file_mode(access)) + , file_name(fname) + {} + + void* stream_ptr; + file_mode mode; + std::string file_name; + + bool open() + { + if (e_read == mode) + { + std::ifstream* stream = new std::ifstream(file_name.c_str(),std::ios::binary); + + if (!(*stream)) + { + file_name.clear(); + delete stream; + + return false; + } + + stream_ptr = stream; + + return true; + } + else if (e_write == mode) + { + std::ofstream* stream = new std::ofstream(file_name.c_str(),std::ios::binary); + + if (!(*stream)) + { + file_name.clear(); + delete stream; + + return false; + } + + stream_ptr = stream; + + return true; + } + else if (e_rdwrt == mode) + { + std::fstream* stream = new std::fstream(file_name.c_str(),std::ios::binary); + + if (!(*stream)) + { + file_name.clear(); + delete stream; + + return false; + } + + stream_ptr = stream; + + return true; + } + + return false; + } + + template + void close(Ptr& p) + { + Stream* stream = reinterpret_cast(p); + stream->close(); + delete stream; + p = reinterpret_cast(0); + } + + bool close() + { + switch (mode) + { + case e_read : close(stream_ptr); + break; + + case e_write : close(stream_ptr); + break; + + case e_rdwrt : close (stream_ptr); + break; + + default : return false; + } + + return true; + } + + template + bool write(const View& view, const std::size_t amount, const std::size_t offset = 0) + { + switch (mode) + { + case e_write : reinterpret_cast(stream_ptr)-> + write(reinterpret_cast(view.begin() + offset), amount * sizeof(typename View::value_t)); + break; + + case e_rdwrt : reinterpret_cast(stream_ptr)-> + write(reinterpret_cast(view.begin() + offset) , amount * sizeof(typename View::value_t)); + break; + + default : return false; + } + + return true; + } + + template + bool read(View& view, const std::size_t amount, const std::size_t offset = 0) + { + switch (mode) + { + case e_read : reinterpret_cast(stream_ptr)-> + read(reinterpret_cast(view.begin() + offset), amount * sizeof(typename View::value_t)); + break; + + case e_rdwrt : reinterpret_cast(stream_ptr)-> + read(reinterpret_cast(view.begin() + offset) , amount * sizeof(typename View::value_t)); + break; + + default : return false; + } + + return true; + } + + bool getline(std::string& s) + { + switch (mode) + { + case e_read : return (!!std::getline(*reinterpret_cast(stream_ptr),s)); + case e_rdwrt : return (!!std::getline(*reinterpret_cast(stream_ptr),s)); + default : return false; + } + } + + bool eof() const + { + switch (mode) + { + case e_read : return reinterpret_cast(stream_ptr)->eof(); + case e_write : return reinterpret_cast(stream_ptr)->eof(); + case e_rdwrt : return reinterpret_cast(stream_ptr)->eof(); + default : return true; + } + } + + file_mode get_file_mode(const std::string& access) const + { + if (access.empty() || access.size() > 2) + return e_error; + + std::size_t w_cnt = 0; + std::size_t r_cnt = 0; + + for (std::size_t i = 0; i < access.size(); ++i) + { + switch (std::tolower(access[i])) + { + case 'r' : r_cnt++; break; + case 'w' : w_cnt++; break; + default : return e_error; + } + } + + if ((0 == r_cnt) && (0 == w_cnt)) + return e_error; + else if ((r_cnt > 1) || (w_cnt > 1)) + return e_error; + else if ((1 == r_cnt) && (1 == w_cnt)) + return e_rdwrt; + else if (1 == r_cnt) + return e_read; + else + return e_write; + } + }; + + template + file_descriptor* make_handle(T v) + { + const std::size_t fd_size = sizeof(details::file_descriptor*); + details::file_descriptor* fd = reinterpret_cast(0); + + std::memcpy(reinterpret_cast(&fd), + reinterpret_cast(&v ), + fd_size); + return fd; + } + + template + void perform_check() + { + #ifdef _MSC_VER + #pragma warning(push) + #pragma warning(disable: 4127) + #endif + if (sizeof(T) < sizeof(void*)) + { + throw std::runtime_error("exprtk::rtl::io::file - Error - pointer size larger than holder."); + } + #ifdef _MSC_VER + #pragma warning(pop) + #endif + assert(sizeof(T) <= sizeof(void*)); + } + + } // namespace exprtk::rtl::io::file::details + + template + class open exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::string_view string_t; + + using igfun_t::operator(); + + open() + : exprtk::igeneric_function("S|SS") + { details::perform_check(); } + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const std::string file_name = to_str(string_t(parameters[0])); + + if (file_name.empty()) + return T(0); + + if ((1 == ps_index) && (0 == string_t(parameters[1]).size())) + { + return T(0); + } + + const std::string access = + (0 == ps_index) ? "r" : to_str(string_t(parameters[1])); + + details::file_descriptor* fd = new details::file_descriptor(file_name,access); + + if (fd->open()) + { + T t = T(0); + + const std::size_t fd_size = sizeof(details::file_descriptor*); + + std::memcpy(reinterpret_cast(&t ), + reinterpret_cast(&fd), + fd_size); + return t; + } + else + { + delete fd; + return T(0); + } + } + }; + + template + struct close exprtk_final : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + close() + : exprtk::ifunction(1) + { details::perform_check(); } + + inline T operator() (const T& v) exprtk_override + { + details::file_descriptor* fd = details::make_handle(v); + + if (!fd->close()) + return T(0); + + delete fd; + + return T(1); + } + }; + + template + class write exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::string_view string_t; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + write() + : igfun_t("TS|TST|TV|TVT") + { details::perform_check(); } + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + details::file_descriptor* fd = details::make_handle(scalar_t(parameters[0])()); + + switch (ps_index) + { + case 0 : { + const string_t buffer(parameters[1]); + const std::size_t amount = buffer.size(); + return T(fd->write(buffer, amount) ? 1 : 0); + } + + case 1 : { + const string_t buffer(parameters[1]); + const std::size_t amount = + std::min(buffer.size(), + static_cast(scalar_t(parameters[2])())); + return T(fd->write(buffer, amount) ? 1 : 0); + } + + case 2 : { + const vector_t vec(parameters[1]); + const std::size_t amount = vec.size(); + return T(fd->write(vec, amount) ? 1 : 0); + } + + case 3 : { + const vector_t vec(parameters[1]); + const std::size_t amount = + std::min(vec.size(), + static_cast(scalar_t(parameters[2])())); + return T(fd->write(vec, amount) ? 1 : 0); + } + } + + return T(0); + } + }; + + template + class read exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::string_view string_t; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + read() + : igfun_t("TS|TST|TV|TVT") + { details::perform_check(); } + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + details::file_descriptor* fd = details::make_handle(scalar_t(parameters[0])()); + + switch (ps_index) + { + case 0 : { + string_t buffer(parameters[1]); + const std::size_t amount = buffer.size(); + return T(fd->read(buffer,amount) ? 1 : 0); + } + + case 1 : { + string_t buffer(parameters[1]); + const std::size_t amount = + std::min(buffer.size(), + static_cast(scalar_t(parameters[2])())); + return T(fd->read(buffer,amount) ? 1 : 0); + } + + case 2 : { + vector_t vec(parameters[1]); + const std::size_t amount = vec.size(); + return T(fd->read(vec,amount) ? 1 : 0); + } + + case 3 : { + vector_t vec(parameters[1]); + const std::size_t amount = + std::min(vec.size(), + static_cast(scalar_t(parameters[2])())); + return T(fd->read(vec,amount) ? 1 : 0); + } + } + + return T(0); + } + }; + + template + class getline exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::string_view string_t; + typedef typename generic_type::scalar_view scalar_t; + + using igfun_t::operator(); + + getline() + : igfun_t("T",igfun_t::e_rtrn_string) + { details::perform_check(); } + + inline T operator() (std::string& result, parameter_list_t parameters) exprtk_override + { + details::file_descriptor* fd = details::make_handle(scalar_t(parameters[0])()); + return T(fd->getline(result) ? 1 : 0); + } + }; + + template + struct eof exprtk_final : public exprtk::ifunction + { + using exprtk::ifunction::operator(); + + eof() + : exprtk::ifunction(1) + { details::perform_check(); } + + inline T operator() (const T& v) exprtk_override + { + details::file_descriptor* fd = details::make_handle(v); + + return (fd->eof() ? T(1) : T(0)); + } + }; + + template + struct package + { + open o; + close c; + write w; + read r; + getline g; + eof e; + + bool register_package(exprtk::symbol_table& symtab) + { + #define exprtk_register_function(FunctionName, FunctionType) \ + if (!symtab.add_function(FunctionName,FunctionType)) \ + { \ + exprtk_debug(( \ + "exprtk::rtl::io::file::register_package - Failed to add function: %s\n", \ + FunctionName)); \ + return false; \ + } \ + + exprtk_register_function("open" , o) + exprtk_register_function("close" , c) + exprtk_register_function("write" , w) + exprtk_register_function("read" , r) + exprtk_register_function("getline" , g) + exprtk_register_function("eof" , e) + #undef exprtk_register_function + + return true; + } + }; + + } // namespace exprtk::rtl::io::file + } // namespace exprtk::rtl::io + } // namespace exprtk::rtl +} // namespace exprtk +#endif + +#ifndef exprtk_disable_rtl_vecops +namespace exprtk +{ + namespace rtl { namespace vecops { + + namespace helper + { + template + inline bool invalid_range(const Vector& v, const std::size_t r0, const std::size_t r1) + { + if (r0 > (v.size() - 1)) + return true; + else if (r1 > (v.size() - 1)) + return true; + else if (r1 < r0) + return true; + else + return false; + } + + template + struct load_vector_range + { + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + static inline bool process(parameter_list_t& parameters, + std::size_t& r0, std::size_t& r1, + const std::size_t& r0_prmidx, + const std::size_t& r1_prmidx, + const std::size_t vec_idx = 0) + { + if (r0_prmidx >= parameters.size()) + return false; + + if (r1_prmidx >= parameters.size()) + return false; + + if (!scalar_t(parameters[r0_prmidx]).to_uint(r0)) + return false; + + if (!scalar_t(parameters[r1_prmidx]).to_uint(r1)) + return false; + + return !invalid_range(vector_t(parameters[vec_idx]), r0, r1); + } + }; + } + + namespace details + { + template + inline void kahan_sum(T& sum, T& error, const T v) + { + const T x = v - error; + const T y = sum + x; + error = (y - sum) - x; + sum = y; + } + + } // namespace exprtk::rtl::details + + template + class all_true exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + all_true() + : exprtk::igeneric_function("V|VTT") + /* + Overloads: + 0. V - vector + 1. VTT - vector, r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const vector_t vec(parameters[0]); + + std::size_t r0 = 0; + std::size_t r1 = vec.size() - 1; + + if ( + (1 == ps_index) && + !helper::load_vector_range::process(parameters, r0, r1, 1, 2, 0) + ) + { + return std::numeric_limits::quiet_NaN(); + } + + for (std::size_t i = r0; i <= r1; ++i) + { + if (vec[i] == T(0)) + { + return T(0); + } + } + + return T(1); + } + }; + + template + class all_false exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + all_false() + : exprtk::igeneric_function("V|VTT") + /* + Overloads: + 0. V - vector + 1. VTT - vector, r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const vector_t vec(parameters[0]); + + std::size_t r0 = 0; + std::size_t r1 = vec.size() - 1; + + if ( + (1 == ps_index) && + !helper::load_vector_range::process(parameters, r0, r1, 1, 2, 0) + ) + { + return std::numeric_limits::quiet_NaN(); + } + + for (std::size_t i = r0; i <= r1; ++i) + { + if (vec[i] != T(0)) + { + return T(0); + } + } + + return T(1); + } + }; + + template + class any_true exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + any_true() + : exprtk::igeneric_function("V|VTT") + /* + Overloads: + 0. V - vector + 1. VTT - vector, r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const vector_t vec(parameters[0]); + + std::size_t r0 = 0; + std::size_t r1 = vec.size() - 1; + + if ( + (1 == ps_index) && + !helper::load_vector_range::process(parameters, r0, r1, 1, 2, 0) + ) + { + return std::numeric_limits::quiet_NaN(); + } + + for (std::size_t i = r0; i <= r1; ++i) + { + if (vec[i] != T(0)) + { + return T(1); + } + } + + return T(0); + } + }; + + template + class any_false exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + any_false() + : exprtk::igeneric_function("V|VTT") + /* + Overloads: + 0. V - vector + 1. VTT - vector, r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const vector_t vec(parameters[0]); + + std::size_t r0 = 0; + std::size_t r1 = vec.size() - 1; + + if ( + (1 == ps_index) && + !helper::load_vector_range::process(parameters, r0, r1, 1, 2, 0) + ) + { + return std::numeric_limits::quiet_NaN(); + } + + for (std::size_t i = r0; i <= r1; ++i) + { + if (vec[i] == T(0)) + { + return T(1); + } + } + + return T(0); + } + }; + + template + class count exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + count() + : exprtk::igeneric_function("V|VTT") + /* + Overloads: + 0. V - vector + 1. VTT - vector, r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const vector_t vec(parameters[0]); + + std::size_t r0 = 0; + std::size_t r1 = vec.size() - 1; + + if ( + (1 == ps_index) && + !helper::load_vector_range::process(parameters, r0, r1, 1, 2, 0) + ) + { + return std::numeric_limits::quiet_NaN(); + } + + std::size_t cnt = 0; + + for (std::size_t i = r0; i <= r1; ++i) + { + if (vec[i] != T(0)) ++cnt; + } + + return T(cnt); + } + }; + + template + class copy exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + copy() + : exprtk::igeneric_function("VV|VTTVTT") + /* + Overloads: + 0. VV - x(vector), y(vector) + 1. VTTVTT - x(vector), xr0, xr1, y(vector), yr0, yr1, + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const vector_t x(parameters[0]); + vector_t y(parameters[(0 == ps_index) ? 1 : 3]); + + std::size_t xr0 = 0; + std::size_t xr1 = x.size() - 1; + + std::size_t yr0 = 0; + std::size_t yr1 = y.size() - 1; + + if (1 == ps_index) + { + if ( + !helper::load_vector_range::process(parameters, xr0, xr1, 1, 2, 0) || + !helper::load_vector_range::process(parameters, yr0, yr1, 4, 5, 3) + ) + return T(0); + } + + const std::size_t n = std::min(xr1 - xr0 + 1, yr1 - yr0 + 1); + + std::copy( + x.begin() + xr0, + x.begin() + xr0 + n, + y.begin() + yr0); + + return T(n); + } + }; + + template + class rol exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + rol() + : exprtk::igeneric_function("VT|VTTT") + /* + Overloads: + 0. VT - vector, N + 1. VTTT - vector, N, r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + vector_t vec(parameters[0]); + + std::size_t n = 0; + std::size_t r0 = 0; + std::size_t r1 = vec.size() - 1; + + if (!scalar_t(parameters[1]).to_uint(n)) + return T(0); + + if ( + (1 == ps_index) && + !helper::load_vector_range::process(parameters, r0, r1, 2, 3, 0) + ) + return T(0); + + const std::size_t dist = r1 - r0 + 1; + const std::size_t shift = n % dist; + + std::rotate( + vec.begin() + r0, + vec.begin() + r0 + shift, + vec.begin() + r1 + 1); + + return T(1); + } + }; + + template + class ror exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + ror() + : exprtk::igeneric_function("VT|VTTT") + /* + Overloads: + 0. VT - vector, N + 1. VTTT - vector, N, r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + vector_t vec(parameters[0]); + + std::size_t n = 0; + std::size_t r0 = 0; + std::size_t r1 = vec.size() - 1; + + if (!scalar_t(parameters[1]).to_uint(n)) + return T(0); + + if ( + (1 == ps_index) && + !helper::load_vector_range::process(parameters, r0, r1, 2, 3, 0) + ) + return T(0); + + const std::size_t dist = r1 - r0 + 1; + const std::size_t shift = (dist - (n % dist)) % dist; + + std::rotate( + vec.begin() + r0, + vec.begin() + r0 + shift, + vec.begin() + r1 + 1); + + return T(1); + } + }; + + template + class shift_left exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + shift_left() + : exprtk::igeneric_function("VT|VTTT") + /* + Overloads: + 0. VT - vector, N + 1. VTTT - vector, N, r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + vector_t vec(parameters[0]); + + std::size_t n = 0; + std::size_t r0 = 0; + std::size_t r1 = vec.size() - 1; + + if (!scalar_t(parameters[1]).to_uint(n)) + return T(0); + + if ( + (1 == ps_index) && + !helper::load_vector_range::process(parameters, r0, r1, 2, 3, 0) + ) + return T(0); + + const std::size_t dist = r1 - r0 + 1; + + if (n > dist) + return T(0); + + std::rotate( + vec.begin() + r0, + vec.begin() + r0 + n, + vec.begin() + r1 + 1); + + for (std::size_t i = r1 - n + 1; i <= r1; ++i) + { + vec[i] = T(0); + } + + return T(1); + } + }; + + template + class shift_right exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + shift_right() + : exprtk::igeneric_function("VT|VTTT") + /* + Overloads: + 0. VT - vector, N + 1. VTTT - vector, N, r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + vector_t vec(parameters[0]); + + std::size_t n = 0; + std::size_t r0 = 0; + std::size_t r1 = vec.size() - 1; + + if (!scalar_t(parameters[1]).to_uint(n)) + return T(0); + + if ( + (1 == ps_index) && + !helper::load_vector_range::process(parameters, r0, r1, 2, 3, 0) + ) + return T(0); + + const std::size_t dist = r1 - r0 + 1; + + if (n > dist) + return T(0); + + const std::size_t shift = (dist - (n % dist)) % dist; + + std::rotate( + vec.begin() + r0, + vec.begin() + r0 + shift, + vec.begin() + r1 + 1); + + for (std::size_t i = r0; i < r0 + n; ++i) + { + vec[i] = T(0); + } + + return T(1); + } + }; + + template + class sort exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::string_view string_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + sort() + : exprtk::igeneric_function("V|VTT|VS|VSTT") + /* + Overloads: + 0. V - vector + 1. VTT - vector, r0, r1 + 2. VS - vector, string + 3. VSTT - vector, string, r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + vector_t vec(parameters[0]); + + std::size_t r0 = 0; + std::size_t r1 = vec.size() - 1; + + if ((1 == ps_index) && !helper::load_vector_range::process(parameters, r0, r1, 1, 2, 0)) + return T(0); + if ((3 == ps_index) && !helper::load_vector_range::process(parameters, r0, r1, 2, 3, 0)) + return T(0); + + bool ascending = true; + + if ((2 == ps_index) || (3 == ps_index)) + { + if (exprtk::details::imatch(to_str(string_t(parameters[1])),"ascending")) + ascending = true; + else if (exprtk::details::imatch(to_str(string_t(parameters[1])),"descending")) + ascending = false; + else + return T(0); + } + + if (ascending) + std::sort( + vec.begin() + r0, + vec.begin() + r1 + 1, + std::less()); + else + std::sort( + vec.begin() + r0, + vec.begin() + r1 + 1, + std::greater()); + + return T(1); + } + }; + + template + class nthelement exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + nthelement() + : exprtk::igeneric_function("VT|VTTT") + /* + Overloads: + 0. VT - vector, nth-element + 1. VTTT - vector, nth-element, r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + vector_t vec(parameters[0]); + + std::size_t n = 0; + std::size_t r0 = 0; + std::size_t r1 = vec.size() - 1; + + if (!scalar_t(parameters[1]).to_uint(n)) + return T(0); + + if ((1 == ps_index) && !helper::load_vector_range::process(parameters, r0, r1, 2, 3, 0)) + { + return std::numeric_limits::quiet_NaN(); + } + + std::nth_element( + vec.begin() + r0, + vec.begin() + r0 + n , + vec.begin() + r1 + 1); + + return T(1); + } + }; + + template + class assign exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + assign() + : exprtk::igeneric_function("VT|VTTT|VTTTT") + /* + Overloads: + 0. VT - vector, V + 1. VTTT - vector, V, r0, r1 + 2. VTTTT - vector, V, r0, r1, SS + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + vector_t vec(parameters[0]); + + const T assign_value = scalar_t(parameters[1]); + + const std::size_t step_size = (2 != ps_index) ? 1 : + static_cast(scalar_t(parameters.back())()); + + std::size_t r0 = 0; + std::size_t r1 = vec.size() - 1; + + if ( + ((ps_index == 1) || (ps_index == 2)) && + !helper::load_vector_range::process(parameters, r0, r1, 2, 3, 0) + ) + { + return T(0); + } + + for (std::size_t i = r0; i <= r1; i += step_size) + { + vec[i] = assign_value; + } + + return T(1); + } + }; + + template + class iota exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + iota() + : exprtk::igeneric_function("VTT|VT|VTTTT|VTTT") + /* + Overloads: + 0. VTT - vector, SV, SS + 1. VT - vector, SV, SS (+1) + 2. VTTT - vector, r0, r1, SV, SS + 3. VTT - vector, r0, r1, SV, SS (+1) + + Where: + 1. SV - Start value + 2. SS - Step size + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + vector_t vec(parameters[0]); + + const T start_value = (ps_index <= 1) ? + scalar_t(parameters[1]) : + scalar_t(parameters[3]) ; + + const T step_size = ((0 == ps_index) || (2 == ps_index)) ? + scalar_t(parameters.back())() : + T(1) ; + + std::size_t r0 = 0; + std::size_t r1 = vec.size() - 1; + + if ( + ((ps_index == 2) || (ps_index == 3)) && + !helper::load_vector_range::process(parameters, r0, r1, 1, 2, 0) + ) + { + return T(0); + } + + for (std::size_t i = r0; i <= r1; ++i) + { + vec[i] = start_value + ((i - r0) * step_size); + } + + return T(1); + } + }; + + template + class sumk exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + sumk() + : exprtk::igeneric_function("V|VTT|VTTT") + /* + Overloads: + 0. V - vector + 1. VTT - vector, r0, r1 + 2. VTTT - vector, r0, r1, stride + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const vector_t vec(parameters[0]); + + const std::size_t stride = (2 != ps_index) ? 1 : + static_cast(scalar_t(parameters[3])()); + + std::size_t r0 = 0; + std::size_t r1 = vec.size() - 1; + + if ( + ((1 == ps_index) || (2 == ps_index)) && + !helper::load_vector_range::process(parameters, r0, r1, 1, 2, 0) + ) + { + return std::numeric_limits::quiet_NaN(); + } + + T result = T(0); + T error = T(0); + + for (std::size_t i = r0; i <= r1; i += stride) + { + details::kahan_sum(result, error, vec[i]); + } + + return result; + } + }; + + template + class axpy exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + axpy() + : exprtk::igeneric_function("TVV|TVVTT") + /* + y <- ax + y + Overloads: + 0. TVV - a, x(vector), y(vector) + 1. TVVTT - a, x(vector), y(vector), r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const vector_t x(parameters[1]); + vector_t y(parameters[2]); + + std::size_t r0 = 0; + std::size_t r1 = std::min(x.size(),y.size()) - 1; + + if ((1 == ps_index) && !helper::load_vector_range::process(parameters, r0, r1, 3, 4, 1)) + return std::numeric_limits::quiet_NaN(); + else if (helper::invalid_range(y, r0, r1)) + return std::numeric_limits::quiet_NaN(); + + const T a = scalar_t(parameters[0])(); + + for (std::size_t i = r0; i <= r1; ++i) + { + y[i] = (a * x[i]) + y[i]; + } + + return T(1); + } + }; + + template + class axpby exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + axpby() + : exprtk::igeneric_function("TVTV|TVTVTT") + /* + y <- ax + by + Overloads: + 0. TVTV - a, x(vector), b, y(vector) + 1. TVTVTT - a, x(vector), b, y(vector), r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const vector_t x(parameters[1]); + vector_t y(parameters[3]); + + std::size_t r0 = 0; + std::size_t r1 = std::min(x.size(),y.size()) - 1; + + if ((1 == ps_index) && !helper::load_vector_range::process(parameters, r0, r1, 4, 5, 1)) + return std::numeric_limits::quiet_NaN(); + else if (helper::invalid_range(y, r0, r1)) + return std::numeric_limits::quiet_NaN(); + + const T a = scalar_t(parameters[0])(); + const T b = scalar_t(parameters[2])(); + + for (std::size_t i = r0; i <= r1; ++i) + { + y[i] = (a * x[i]) + (b * y[i]); + } + + return T(1); + } + }; + + template + class axpyz exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + axpyz() + : exprtk::igeneric_function("TVVV|TVVVTT") + /* + z <- ax + y + Overloads: + 0. TVVV - a, x(vector), y(vector), z(vector) + 1. TVVVTT - a, x(vector), y(vector), z(vector), r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const vector_t x(parameters[1]); + const vector_t y(parameters[2]); + vector_t z(parameters[3]); + + std::size_t r0 = 0; + std::size_t r1 = std::min(x.size(),y.size()) - 1; + + if ((1 == ps_index) && !helper::load_vector_range::process(parameters, r0, r1, 4, 5, 1)) + return std::numeric_limits::quiet_NaN(); + else if (helper::invalid_range(y, r0, r1)) + return std::numeric_limits::quiet_NaN(); + else if (helper::invalid_range(z, r0, r1)) + return std::numeric_limits::quiet_NaN(); + + const T a = scalar_t(parameters[0])(); + + for (std::size_t i = r0; i <= r1; ++i) + { + z[i] = (a * x[i]) + y[i]; + } + + return T(1); + } + }; + + template + class axpbyz exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + axpbyz() + : exprtk::igeneric_function("TVTVV|TVTVVTT") + /* + z <- ax + by + Overloads: + 0. TVTVV - a, x(vector), b, y(vector), z(vector) + 1. TVTVVTT - a, x(vector), b, y(vector), z(vector), r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const vector_t x(parameters[1]); + const vector_t y(parameters[3]); + vector_t z(parameters[4]); + + std::size_t r0 = 0; + std::size_t r1 = std::min(x.size(),y.size()) - 1; + + if ((1 == ps_index) && !helper::load_vector_range::process(parameters, r0, r1, 5, 6, 1)) + return std::numeric_limits::quiet_NaN(); + else if (helper::invalid_range(y, r0, r1)) + return std::numeric_limits::quiet_NaN(); + else if (helper::invalid_range(z, r0, r1)) + return std::numeric_limits::quiet_NaN(); + + const T a = scalar_t(parameters[0])(); + const T b = scalar_t(parameters[2])(); + + for (std::size_t i = r0; i <= r1; ++i) + { + z[i] = (a * x[i]) + (b * y[i]); + } + + return T(1); + } + }; + + template + class axpbsy exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + axpbsy() + : exprtk::igeneric_function("TVTTV|TVTTVTT") + /* + y <- ax + by + Overloads: + 0. TVTVV - a, x(vector), b, shift, y(vector), z(vector) + 1. TVTVVTT - a, x(vector), b, shift, y(vector), z(vector), r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const vector_t x(parameters[1]); + vector_t y(parameters[4]); + + std::size_t r0 = 0; + std::size_t r1 = std::min(x.size(),y.size()) - 1; + + if ((1 == ps_index) && !helper::load_vector_range::process(parameters, r0, r1, 5, 6, 1)) + return std::numeric_limits::quiet_NaN(); + else if (helper::invalid_range(y, r0, r1)) + return std::numeric_limits::quiet_NaN(); + + const T a = scalar_t(parameters[0])(); + const T b = scalar_t(parameters[2])(); + + const std::size_t s = static_cast(scalar_t(parameters[3])()); + + for (std::size_t i = r0; i <= r1; ++i) + { + y[i] = (a * x[i]) + (b * y[i + s]); + } + + return T(1); + } + }; + + template + class axpbsyz exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + axpbsyz() + : exprtk::igeneric_function("TVTTVV|TVTTVVTT") + /* + z <- ax + by + Overloads: + 0. TVTVV - a, x(vector), b, shift, y(vector), z(vector) + 1. TVTVVTT - a, x(vector), b, shift, y(vector), z(vector), r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const vector_t x(parameters[1]); + const vector_t y(parameters[4]); + vector_t z(parameters[5]); + + std::size_t r0 = 0; + std::size_t r1 = std::min(x.size(),y.size()) - 1; + + if ((1 == ps_index) && !helper::load_vector_range::process(parameters, r0, r1, 6, 7, 1)) + return std::numeric_limits::quiet_NaN(); + else if (helper::invalid_range(y, r0, r1)) + return std::numeric_limits::quiet_NaN(); + else if (helper::invalid_range(z, r0, r1)) + return std::numeric_limits::quiet_NaN(); + + const T a = scalar_t(parameters[0])(); + const T b = scalar_t(parameters[2])(); + + const std::size_t s = static_cast(scalar_t(parameters[3])()); + + for (std::size_t i = r0; i <= r1; ++i) + { + z[i] = (a * x[i]) + (b * y[i + s]); + } + + return T(1); + } + }; + + template + class axpbz exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + axpbz() + : exprtk::igeneric_function("TVTV|TVTVTT") + /* + z <- ax + b + Overloads: + 0. TVTV - a, x(vector), b, z(vector) + 1. TVTVTT - a, x(vector), b, z(vector), r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const vector_t x(parameters[1]); + vector_t z(parameters[3]); + + std::size_t r0 = 0; + std::size_t r1 = x.size() - 1; + + if ((1 == ps_index) && !helper::load_vector_range::process(parameters, r0, r1, 4, 5, 1)) + return std::numeric_limits::quiet_NaN(); + else if (helper::invalid_range(z, r0, r1)) + return std::numeric_limits::quiet_NaN(); + + const T a = scalar_t(parameters[0])(); + const T b = scalar_t(parameters[2])(); + + for (std::size_t i = r0; i <= r1; ++i) + { + z[i] = (a * x[i]) + b; + } + + return T(1); + } + }; + + template + class diff exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + diff() + : exprtk::igeneric_function("VV|VVT") + /* + x_(i - stride) - x_i + Overloads: + 0. VV - x(vector), y(vector) + 1. VVT - x(vector), y(vector), stride + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const vector_t x(parameters[0]); + vector_t y(parameters[1]); + + const std::size_t r0 = 0; + const std::size_t r1 = std::min(x.size(),y.size()) - 1; + + const std::size_t stride = (1 != ps_index) ? 1 : + std::min(r1,static_cast(scalar_t(parameters[2])())); + + for (std::size_t i = 0; i < stride; ++i) + { + y[i] = std::numeric_limits::quiet_NaN(); + } + + for (std::size_t i = (r0 + stride); i <= r1; ++i) + { + y[i] = x[i] - x[i - stride]; + } + + return T(1); + } + }; + + template + class dot exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + dot() + : exprtk::igeneric_function("VV|VVTT") + /* + Overloads: + 0. VV - x(vector), y(vector) + 1. VVTT - x(vector), y(vector), r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const vector_t x(parameters[0]); + const vector_t y(parameters[1]); + + std::size_t r0 = 0; + std::size_t r1 = std::min(x.size(),y.size()) - 1; + + if ((1 == ps_index) && !helper::load_vector_range::process(parameters, r0, r1, 2, 3, 0)) + return std::numeric_limits::quiet_NaN(); + else if (helper::invalid_range(y, r0, r1)) + return std::numeric_limits::quiet_NaN(); + + T result = T(0); + + for (std::size_t i = r0; i <= r1; ++i) + { + result += (x[i] * y[i]); + } + + return result; + } + }; + + template + class dotk exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + dotk() + : exprtk::igeneric_function("VV|VVTT") + /* + Overloads: + 0. VV - x(vector), y(vector) + 1. VVTT - x(vector), y(vector), r0, r1 + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + const vector_t x(parameters[0]); + const vector_t y(parameters[1]); + + std::size_t r0 = 0; + std::size_t r1 = std::min(x.size(),y.size()) - 1; + + if ((1 == ps_index) && !helper::load_vector_range::process(parameters, r0, r1, 2, 3, 0)) + return std::numeric_limits::quiet_NaN(); + else if (helper::invalid_range(y, r0, r1)) + return std::numeric_limits::quiet_NaN(); + + T result = T(0); + T error = T(0); + + for (std::size_t i = r0; i <= r1; ++i) + { + details::kahan_sum(result, error, (x[i] * y[i])); + } + + return result; + } + }; + + template + class threshold_below exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + threshold_below() + : exprtk::igeneric_function("VTT|VTTTT") + /* + Overloads: + 0. VTT - vector, TV, SV + 1. VTTTT - vector, r0, r1, TV, SV + + Where: + TV - Threshold value + SV - Snap-to value + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + vector_t vec(parameters[0]); + + const T threshold_value = (0 == ps_index) ? + scalar_t(parameters[1]) : + scalar_t(parameters[3]) ; + + const T snap_value = scalar_t(parameters.back()); + + std::size_t r0 = 0; + std::size_t r1 = vec.size() - 1; + + if ( + (1 == ps_index) && + !helper::load_vector_range::process(parameters, r0, r1, 1, 2, 0) + ) + { + return T(0); + } + + for (std::size_t i = r0; i <= r1; ++i) + { + if (vec[i] < threshold_value) + { + vec[i] = snap_value; + } + } + + return T(1); + } + }; + + template + class threshold_above exprtk_final : public exprtk::igeneric_function + { + public: + + typedef typename exprtk::igeneric_function igfun_t; + typedef typename igfun_t::parameter_list_t parameter_list_t; + typedef typename igfun_t::generic_type generic_type; + typedef typename generic_type::scalar_view scalar_t; + typedef typename generic_type::vector_view vector_t; + + using igfun_t::operator(); + + threshold_above() + : exprtk::igeneric_function("VTT|VTTTT") + /* + Overloads: + 0. VTT - vector, TV, SV + 1. VTTTT - vector, r0, r1, TV, SV + + Where: + TV - Threshold value + SV - Snap-to value + */ + {} + + inline T operator() (const std::size_t& ps_index, parameter_list_t parameters) exprtk_override + { + vector_t vec(parameters[0]); + + const T threshold_value = (0 == ps_index) ? + scalar_t(parameters[1]) : + scalar_t(parameters[3]) ; + + const T snap_value = scalar_t(parameters.back()); + + std::size_t r0 = 0; + std::size_t r1 = vec.size() - 1; + + if ( + (1 == ps_index) && + !helper::load_vector_range::process(parameters, r0, r1, 1, 2, 0) + ) + { + return T(0); + } + + for (std::size_t i = r0; i <= r1; ++i) + { + if (vec[i] > threshold_value) + { + vec[i] = snap_value; + } + } + + return T(1); + } + }; + + template + struct package + { + all_true at; + all_false af; + any_true nt; + any_false nf; + count c; + copy cp; + rol rl; + ror rr; + shift_left sl; + shift_right sr; + sort st; + nthelement ne; + assign an; + iota ia; + sumk sk; + axpy b1_axpy; + axpby b1_axpby; + axpyz b1_axpyz; + axpbyz b1_axpbyz; + axpbsy b1_axpbsy; + axpbsyz b1_axpbsyz; + axpbz b1_axpbz; + diff df; + dot dt; + dotk dtk; + threshold_above ta; + threshold_below tb; + + bool register_package(exprtk::symbol_table& symtab) + { + #define exprtk_register_function(FunctionName, FunctionType) \ + if (!symtab.add_function(FunctionName,FunctionType)) \ + { \ + exprtk_debug(( \ + "exprtk::rtl::vecops::register_package - Failed to add function: %s\n", \ + FunctionName)); \ + return false; \ + } \ + + exprtk_register_function("all_true" , at ) + exprtk_register_function("all_false" , af ) + exprtk_register_function("any_true" , nt ) + exprtk_register_function("any_false" , nf ) + exprtk_register_function("count" , c ) + exprtk_register_function("copy" , cp ) + exprtk_register_function("rotate_left" , rl ) + exprtk_register_function("rol" , rl ) + exprtk_register_function("rotate_right" , rr ) + exprtk_register_function("ror" , rr ) + exprtk_register_function("shftl" , sl ) + exprtk_register_function("shftr" , sr ) + exprtk_register_function("sort" , st ) + exprtk_register_function("nth_element" , ne ) + exprtk_register_function("assign" , an ) + exprtk_register_function("iota" , ia ) + exprtk_register_function("sumk" , sk ) + exprtk_register_function("axpy" , b1_axpy ) + exprtk_register_function("axpby" , b1_axpby ) + exprtk_register_function("axpyz" , b1_axpyz ) + exprtk_register_function("axpbyz" , b1_axpbyz ) + exprtk_register_function("axpbsy" , b1_axpbsy ) + exprtk_register_function("axpbsyz" , b1_axpbsyz) + exprtk_register_function("axpbz" , b1_axpbz ) + exprtk_register_function("diff" , df ) + exprtk_register_function("dot" , dt ) + exprtk_register_function("dotk" , dtk ) + exprtk_register_function("threshold_above" , ta ) + exprtk_register_function("threshold_below" , tb ) + #undef exprtk_register_function + + return true; + } + }; + + } // namespace exprtk::rtl::vecops + } // namespace exprtk::rtl +} // namespace exprtk +#endif + +namespace exprtk +{ + namespace information + { + using ::exprtk::details::char_cptr; + + static char_cptr library = "Mathematical Expression Toolkit"; + static char_cptr version = "2.718281828459045235360287471352662" + "49775724709369995957496696762772407" + "66303535475945713821785251664274274" + "66391932003059921817413596629043572"; + static char_cptr date = "20240101"; + static char_cptr min_cpp = "199711L"; + + static inline std::string data() + { + static const std::string info_str = std::string(library) + + std::string(" v") + std::string(version) + + std::string(" (") + date + std::string(")") + + std::string(" (") + min_cpp + std::string(")"); + return info_str; + } + + } // namespace information + + #ifdef exprtk_debug + #undef exprtk_debug + #endif + + #ifdef exprtk_error_location + #undef exprtk_error_location + #endif + + #ifdef exprtk_fallthrough + #undef exprtk_fallthrough + #endif + + #ifdef exprtk_override + #undef exprtk_override + #endif + + #ifdef exprtk_final + #undef exprtk_final + #endif + + #ifdef exprtk_delete + #undef exprtk_delete + #endif + +} // namespace exprtk + +#endif diff --git a/dep/partow/include/strtk.hpp b/dep/partow/include/strtk.hpp new file mode 100644 index 0000000..d8ba2dd --- /dev/null +++ b/dep/partow/include/strtk.hpp @@ -0,0 +1,24518 @@ +/* + ***************************************************************** + * String Toolkit Library * + * * + * Author: Arash Partow (2002-2019) * + * URL: http://www.partow.net/programming/strtk/index.html * + * * + * Copyright notice: * + * Free use of the String Toolkit Library is permitted under the * + * guidelines and in accordance with the most current version of * + * the MIT License. * + * http://www.opensource.org/licenses/MIT * + * * + ***************************************************************** +*/ + + +#ifndef INCLUDE_STRTK_HPP +#define INCLUDE_STRTK_HPP + + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#ifndef strtk_no_tr1_or_boost + #define strtk_enable_lexical_cast + #define strtk_enable_random + #define strtk_enable_regex +#endif + +#ifdef strtk_enable_lexical_cast + #include +#endif + +#ifdef strtk_enable_random + // Requires definition of a TR1 compatible random library header + //#include + #include +#endif + +#ifdef strtk_enable_regex + // Requires definition of a TR1 compatible regex library header + //#include + #include +#endif + +#if __GNUC__ >= 7 + + #define strtk_disable_fallthrough_begin \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wimplicit-fallthrough\"") \ + + #define strtk_disable_fallthrough_end \ + _Pragma ("GCC diagnostic pop") \ + +#else + #define strtk_disable_fallthrough_begin (void)0; + #define strtk_disable_fallthrough_end (void)0; +#endif + + +namespace strtk +{ + + static const std::size_t one_kilobyte = 1024; + static const std::size_t one_megabyte = 1024 * one_kilobyte; + static const std::size_t one_gigabyte = 1024 * one_megabyte; + static const std::size_t magic_seed = 0xA5A5A5A5; + + template + inline std::size_t for_each_token(const std::string& buffer, + Tokenizer& tokenizer, + Function function) + { + std::size_t token_count = 0; + tokenizer.assign(buffer); + + typename Tokenizer::iterator itr = tokenizer.begin(); + typename Tokenizer::const_iterator end = tokenizer.end(); + + while (end != itr) + { + function(*itr); + ++itr; + ++token_count; + } + + return token_count; + } + + template + inline std::size_t for_each_line(std::istream& stream, + Function function, + const std::size_t& buffer_size = one_kilobyte) + { + std::string buffer; + buffer.reserve(buffer_size); + std::size_t line_count = 0; + + while (std::getline(stream,buffer)) + { + function(buffer); + ++line_count; + } + + return line_count; + } + + template + inline std::size_t for_each_line_n(std::istream& stream, + const std::size_t& n, + Function function, + const std::size_t& buffer_size = one_kilobyte) + { + std::string buffer; + buffer.reserve(buffer_size); + std::size_t line_count = 0; + + while (std::getline(stream,buffer)) + { + function(buffer); + if (n == ++line_count) + break; + } + + return line_count; + } + + template + inline std::size_t for_each_line(const std::string& file_name, + Function function, + const std::size_t& buffer_size = one_kilobyte) + { + std::ifstream stream(file_name.c_str()); + if (stream) + return for_each_line(stream,function,buffer_size); + else + return 0; + } + + template + inline std::size_t for_each_line_n(const std::string& file_name, + const std::size_t& n, + Function function, + const std::size_t& buffer_size = one_kilobyte) + { + std::ifstream stream(file_name.c_str()); + if (stream) + return for_each_line_n(stream,n,function,buffer_size); + else + return 0; + } + + template + inline std::size_t for_each_line_conditional(std::istream& stream, + Function function, + const std::size_t& buffer_size = one_kilobyte) + { + std::string buffer; + buffer.reserve(buffer_size); + std::size_t line_count = 0; + + while (std::getline(stream,buffer)) + { + if (!function(buffer)) + { + return line_count; + } + ++line_count; + } + + return line_count; + } + + template + inline std::size_t for_each_line_n_conditional(std::istream& stream, + const std::size_t& n, + Function function, + const std::size_t& buffer_size = one_kilobyte) + { + std::string buffer; + buffer.reserve(buffer_size); + std::size_t line_count = 0; + while (std::getline(stream,buffer)) + { + if (!function(buffer)) + { + return line_count; + } + if (n == ++line_count) + break; + } + return line_count; + } + + template + inline std::size_t for_each_line_conditional(const std::string& file_name, + Function function, + const std::size_t& buffer_size = one_kilobyte) + { + std::ifstream stream(file_name.c_str()); + if (stream) + return for_each_line_conditional(stream,function,buffer_size); + else + return 0; + } + + template + inline std::size_t for_each_line_n_conditional(const std::string& file_name, + const std::size_t& n, + Function function, + const std::size_t& buffer_size = one_kilobyte) + { + std::ifstream stream(file_name.c_str()); + + if (stream) + return for_each_line_n_conditional(stream,n,function,buffer_size); + else + return 0; + } + + template + inline bool read_line_as_value(std::istream& stream, + T& t, + const std::size_t& buffer_size = one_kilobyte) + { + std::string buffer; + buffer.reserve(buffer_size); + + if (!std::getline(stream,buffer)) + return false; + else + return string_to_type_converter(buffer,t); + } + + namespace details + { + struct not_supported_type_tag {}; + struct unsigned_type_tag {}; + struct signed_type_tag {}; + struct real_type_tag {}; + struct byte_type_tag {}; + struct bool_type_tag {}; + struct hex_number_type_tag {}; + struct hex_string_type_tag {}; + struct base64_type_tag {}; + struct ignore_token_type_tag {}; + struct stdstring_type_tag {}; + struct stdstring_range_type_tag {}; + struct value_type_tag {}; + struct sink_type_tag {}; + struct stl_seq_type_tag {}; + struct attribute_type_tag {}; + struct semantic_action_type_tag {}; + struct expect_type_tag {}; + struct like_type_tag {}; + struct inrange_type_tag {}; + struct trim_type_tag {}; + struct lcase_type_tag {}; + struct ucase_type_tag {}; + struct fillchararray_type_tag {}; + struct truncint_type_tag {}; + struct decsink_type_tag {}; + + template struct real_type {}; + template <> struct real_type { typedef double type; }; + template <> struct real_type { typedef double type; }; + template <> struct real_type { typedef long double type; }; + + template + struct supported_conversion_to_type + { + typedef not_supported_type_tag type; + }; + + template + struct supported_conversion_from_type + { + typedef not_supported_type_tag type; + }; + + template + struct enable_if {}; + + template + struct enable_if { typedef T type; }; + + template + struct supported_iterator_type + { + enum { value = false }; + }; + + template + struct is_valid_iterator + { + typedef typename details::enable_if::value,T>::type type; + }; + + template struct numeric; + template inline std::size_t type_length(const T&); + + struct no_t {}; + struct yes_t {}; + + template + struct is_pod + { + typedef no_t result_t; + enum { result = false }; + }; + + template + struct is_stl_container + { typedef no_t result_t; }; + + #define register_stl_container1(C) \ + template struct is_stl_container >{ typedef yes_t result_t; }; + + #define register_stl_container2(C) \ + template struct is_stl_container >{ typedef yes_t result_t; }; + + register_stl_container1(std::vector) + register_stl_container1(std::deque) + register_stl_container1(std::list) + register_stl_container1(std::queue) + register_stl_container1(std::stack) + register_stl_container2(std::set) + register_stl_container2(std::multiset) + register_stl_container2(std::priority_queue) + + #undef register_stl_container1 + #undef register_stl_container2 + + template + inline void convert_type_assert(){} + + } // namespace details + + inline const std::string::value_type* to_ptr(const std::string& s) + { + return &s[0]; + } + + inline std::string::value_type* to_ptr(std::string& s) + { + return &s[0]; + } + + template + inline bool string_to_type_converter(const Iterator begin, const Iterator end, T& t) + { + typedef typename details::is_valid_iterator::type itr_type; + typename details::supported_conversion_to_type::type type; + details::convert_type_assert(); + Iterator itr = begin; + return string_to_type_converter_impl(itr,end,t,type); + } + + template + inline bool string_to_type_converter(const std::pair& range, T& t) + { + return string_to_type_converter(range.first,range.second,t); + } + + template + inline T string_to_type_converter(const Iterator begin, const Iterator end) + { + typedef typename details::is_valid_iterator::type itr_type; + typename details::supported_conversion_to_type::type type; + details::convert_type_assert(); + T t; + Iterator itr = begin; + if (string_to_type_converter_impl(itr,end,t,type)) + return t; + else + throw std::invalid_argument("string_to_type_converter() - Failed to convert: " + + std::string(begin,end)); + } + + template + inline T string_to_type_converter(const std::pair& range) + { + return string_to_type_converter(range.first,range.second); + } + + template + inline bool string_to_type_converter(const std::string& s, T& t) + { + return string_to_type_converter(to_ptr(s), to_ptr(s) + s.size(), t); + } + + template + inline T string_to_type_converter(const std::string& s) + { + return string_to_type_converter(to_ptr(s), to_ptr(s) + s.size()); + } + + template + inline bool type_to_string(const T& t, std::string& s) + { + typename details::supported_conversion_from_type::type type; + return type_to_string_converter_impl(t,s,type); + } + + template + inline std::string type_to_string(const T& t) + { + std::string s; + if (type_to_string(t,s)) + return s; + else + throw std::invalid_argument("type_to_string() - Failed to convert type to string"); + } + + #define strtk_begin_register_string_to_type \ + namespace strtk { namespace details { \ + + #define strtk_end_register_string_to_type \ + }} \ + + #define strtk_string_to_type_begin(Type) \ + namespace strtk { namespace details { template \ + inline bool string_to_type_converter_impl(const Iterator& begin, const Iterator& end, \ + Type& t, details::not_supported_type_tag&) { \ + + #define strtk_string_to_type_end() \ + }}} \ + + template class Sequence> + inline std::size_t load_from_text_file(std::istream& stream, + Sequence& sequence, + const std::size_t& buffer_size = one_kilobyte) + { + if (!stream) return 0; + + std::string buffer; + buffer.reserve(buffer_size); + std::size_t line_count = 0; + + while (std::getline(stream,buffer)) + { + ++line_count; + sequence.push_back(string_to_type_converter(buffer)); + } + + return line_count; + } + + template + inline std::size_t load_from_text_file(std::istream& stream, + std::set& set, + const std::size_t& buffer_size = one_kilobyte) + { + if (!stream) return 0; + + std::string buffer; + buffer.reserve(buffer_size); + std::size_t line_count = 0; + + while (std::getline(stream,buffer)) + { + ++line_count; + set.insert(string_to_type_converter(buffer)); + } + + return line_count; + } + + template + inline std::size_t load_from_text_file(std::istream& stream, + std::multiset& multiset, + const std::size_t& buffer_size = one_kilobyte) + { + if (!stream) return 0; + + std::string buffer; + buffer.reserve(buffer_size); + std::size_t line_count = 0; + + while (std::getline(stream,buffer)) + { + ++line_count; + multiset.insert(string_to_type_converter(buffer)); + } + + return line_count; + } + + template + inline std::size_t load_from_text_file(std::istream& stream, + std::queue& queue, + const std::size_t& buffer_size = one_kilobyte) + { + if (!stream) return 0; + + std::string buffer; + buffer.reserve(buffer_size); + std::size_t line_count = 0; + + while (std::getline(stream,buffer)) + { + ++line_count; + queue.push(string_to_type_converter(buffer)); + } + + return line_count; + } + + template + inline std::size_t load_from_text_file(std::istream& stream, + std::stack& stack, + const std::size_t& buffer_size = one_kilobyte) + { + if (!stream) return 0; + + std::string buffer; + buffer.reserve(buffer_size); + std::size_t line_count = 0; + + while (std::getline(stream,buffer)) + { + ++line_count; + stack.push(string_to_type_converter(buffer)); + } + + return line_count; + } + + template + inline std::size_t load_from_text_file(std::istream& stream, + std::priority_queue& priority_queue, + const std::size_t& buffer_size = one_kilobyte) + { + if (!stream) return 0; + + std::string buffer; + buffer.reserve(buffer_size); + std::size_t line_count = 0; + + while (std::getline(stream,buffer)) + { + ++line_count; + priority_queue.push(string_to_type_converter(buffer)); + } + + return line_count; + } + + template class Sequence> + inline std::size_t load_from_text_file(const std::string& file_name, + Sequence& sequence, + const std::size_t& buffer_size = one_kilobyte) + { + std::ifstream stream(file_name.c_str()); + if (!stream) + return 0; + else + return load_from_text_file(stream,sequence,buffer_size); + } + + template + inline std::size_t load_from_text_file(const std::string& file_name, + std::set& set, + const std::size_t& buffer_size = one_kilobyte) + { + std::ifstream stream(file_name.c_str()); + if (!stream) + return 0; + else + return load_from_text_file(stream,set,buffer_size); + } + + template + inline std::size_t load_from_text_file(const std::string& file_name, + std::multiset& multiset, + const std::size_t& buffer_size = one_kilobyte) + { + std::ifstream stream(file_name.c_str()); + if (!stream) + return 0; + else + return load_from_text_file(stream,multiset,buffer_size); + } + + template + inline std::size_t load_from_text_file(const std::string& file_name, + std::queue& queue, + const std::size_t& buffer_size = one_kilobyte) + { + std::ifstream stream(file_name.c_str()); + if (!stream) + return 0; + else + return load_from_text_file(stream,queue,buffer_size); + } + + template + inline std::size_t load_from_text_file(const std::string& file_name, + std::stack& stack, + const std::size_t& buffer_size = one_kilobyte) + { + std::ifstream stream(file_name.c_str()); + if (!stream) + return 0; + else + return load_from_text_file(stream,stack,buffer_size); + } + + template + inline std::size_t load_from_text_file(const std::string& file_name, + std::priority_queue& priority_queue, + const std::size_t& buffer_size = one_kilobyte) + { + std::ifstream stream(file_name.c_str()); + if (!stream) + return 0; + else + return load_from_text_file(stream,priority_queue,buffer_size); + } + + template class Sequence> + inline std::size_t write_to_text_file(std::ostream& stream, + const Sequence& sequence, + const std::string& delimiter = "") + { + if (!stream) return 0; + + std::size_t count = 0; + typename Sequence::const_iterator itr = sequence.begin(); + typename Sequence::const_iterator end = sequence.end(); + + if (!delimiter.empty()) + { + while (end != itr) + { + stream << (*itr) << delimiter; + ++itr; + ++count; + } + } + else + { + while (end != itr) + { + stream << (*itr); + ++itr; + ++count; + } + } + + return count; + } + + template + inline std::size_t write_to_text_file(std::ostream& stream, + const std::set& set, + const std::string& delimiter = "") + { + if (!stream) return 0; + + std::size_t count = 0; + typename std::set::const_iterator itr = set.begin(); + typename std::set::const_iterator end = set.end(); + + if (!delimiter.empty()) + { + while (end != itr) + { + stream << (*itr) << delimiter; + ++itr; + ++count; + } + } + else + { + while (end != itr) + { + stream << (*itr); + ++itr; + ++count; + } + } + + return count; + } + + template + inline std::size_t write_to_text_file(std::ostream& stream, + const std::multiset& multiset, + const std::string& delimiter = "") + { + if (!stream) return 0; + + std::size_t count = 0; + typename std::multiset::const_iterator itr = multiset.begin(); + typename std::multiset::const_iterator end = multiset.end(); + + if (!delimiter.empty()) + { + while (end != itr) + { + stream << (*itr) << delimiter; + ++itr; + ++count; + } + } + else + { + while (end != itr) + { + stream << (*itr); + ++itr; + ++count; + } + } + + return count; + } + + template class Sequence> + inline std::size_t write_to_text_file(const std::string& file_name, + const Sequence& sequence, + const std::string& delimiter = "") + { + std::ofstream stream(file_name.c_str()); + if (!stream) + return 0; + else + return write_to_text_file(stream,sequence,delimiter); + } + + template + inline std::size_t write_to_text_file(const std::string& file_name, + const std::set& set, + const std::string& delimiter = "") + { + std::ofstream stream(file_name.c_str()); + if (!stream) + return 0; + else + return write_to_text_file(stream,set,delimiter); + } + + template + inline std::size_t write_to_text_file(const std::string& file_name, + const std::multiset& multiset, + const std::string& delimiter = "") + { + std::ofstream stream(file_name.c_str()); + if (!stream) + return 0; + else + return write_to_text_file(stream,multiset,delimiter); + } + + template + inline void copy_n(InputIterator itr, std::size_t n, OutputIterator out) + { + while (n) + { + (*out) = (*itr); + ++itr; + ++out; + --n; + } + } + + template + inline void copy_if(Predicate predicate, + const InputIterator begin, const InputIterator end, + OutputIterator out) + { + InputIterator itr = begin; + while (end != itr) + { + if (predicate(*itr)) + { + *(out++) = (*itr); + } + ++itr; + } + } + + template + inline InputIterator copy_while(Predicate predicate, + const InputIterator begin, const InputIterator end, + OutputIterator out) + { + InputIterator itr = begin; + while (end != itr) + { + if (!predicate(*itr)) + return itr; + *(out++) = *(itr++); + } + + return end; + } + + template + inline InputIterator copy_until(Predicate predicate, + const InputIterator begin, const InputIterator end, + OutputIterator out) + { + InputIterator itr = begin; + while (end != itr) + { + if (predicate(*itr)) + return itr; + *(out++) = *(itr++); + } + + return end; + } + + template + inline void extract_unique(const InputIterator begin, const InputIterator end, + OutputIterator out) + { + typedef typename std::iterator_traits::value_type T; + std::vector buffer(begin,end); + std::sort(buffer.begin(),buffer.end()); + std::unique_copy(buffer.begin(),buffer.end(),out); + } + + template + inline bool range_only_contains(Predicate predicate, + const InputIterator begin, + const InputIterator end) + { + InputIterator itr = begin; + + while (end != itr) + { + if (!predicate(*itr)) + { + return false; + } + ++itr; + } + + return true; + } + + namespace range + { + template + class adapter + { + public: + + typedef T value_type; + typedef T* iterator; + typedef const iterator const_iterator; + + adapter(T* const begin, T* const end) + : begin_(begin), + end_(end) + {} + + adapter(const std::pair& r) + : begin_(r.first), + end_(r.second) + {} + + adapter(T* const begin, const std::size_t length) + : begin_(begin), + end_(begin_ + length) + {} + + inline iterator begin() const + { + return begin_; + } + + inline iterator end() const + { + return end_; + } + + inline std::size_t size() const + { + return std::distance(begin_,end_); + } + + inline operator std::string() const + { + return stringify(begin_,end_); + } + + inline const T& operator[](const std::size_t& index) const + { + return *(begin_ + index); + } + + inline T& operator[](const std::size_t& index) + { + return *(begin_ + index); + } + + private: + + template + static inline std::string stringify(Type*,Type*) + { + static std::string result = ""; + return result; + } + + static inline std::string stringify(const char* begin, const char* end) + { + return std::string(begin,end); + } + + iterator begin_; + iterator end_; + }; + + typedef adapter string; + typedef adapter ustring; + + template + inline adapter type(const T* begin, const T* end) + { + return adapter(begin,end); + } + + template + inline adapter type(const T (&t)[N]) + { + return adapter(t,N); + } + + static inline adapter type(const std::string& s) + { + return adapter(to_ptr(s), s.size()); + } + + template class Sequence> + inline adapter::iterator> type(const Sequence& seq) + { + return adapter::iterator>(seq.begin(),seq.end()); + } + + inline std::string as_string(const adapter& a) + { + return std::string(a.begin(),a.end()); + } + + inline std::string as_string(const adapter& a) + { + return std::string(a.begin(),a.end()); + } + + } // namespace range + + template + struct single_delimiter_predicate + { + public: + + typedef T value_type; + + single_delimiter_predicate(const T& d) + : delimiter_(d) + {} + + inline bool operator()(const T& d) const + { + return delimiter_ == d; + } + + private: + + single_delimiter_predicate& operator=(const single_delimiter_predicate&); + const T delimiter_; + }; + + template + struct multiple_delimiter_predicate + { + public: + + typedef T value_type; + + multiple_delimiter_predicate(const T* d_begin, const T* d_end) + : length_(std::distance(d_begin,d_end)), + delimiter_((length_ <= sbo_buffer_size) ? sbo_buffer : new T[length_]), + delimiter_end_(delimiter_ + length_) + { + std::copy(d_begin,d_end, delimiter_); + } + + multiple_delimiter_predicate(const T d[], const std::size_t& length) + : length_(length), + delimiter_((length_ <= sbo_buffer_size) ? sbo_buffer : new T[length_]), + delimiter_end_(delimiter_ + length_) + { + std::copy(d,d + length, delimiter_); + } + + template + multiple_delimiter_predicate(const Iterator begin, const Iterator end) + : length_(std::distance(begin,end)), + delimiter_((length_ <= sbo_buffer_size) ? sbo_buffer : new T[length_]), + delimiter_end_(delimiter_ + length_) + { + //static_assert(T == std::iterator_traits::value_type); + std::copy(begin,end, delimiter_); + } + + template + multiple_delimiter_predicate(const range::adapter& r) + : length_(std::distance(r.begin(),r.end())), + delimiter_((length_ <= sbo_buffer_size) ? sbo_buffer : new T[length_]), + delimiter_end_(delimiter_ + length_) + { + //static_assert(T == std::iterator_traits::value_type); + std::copy(r.begin(),r.end(), delimiter_); + } + + ~multiple_delimiter_predicate() + { + if (length_ > sbo_buffer_size) + { + delete[] delimiter_; + } + } + + inline bool operator()(const T& d) const + { + return (std::find(delimiter_,delimiter_end_,d) != delimiter_end_); + } + + private: + + multiple_delimiter_predicate(const multiple_delimiter_predicate& mdp); + multiple_delimiter_predicate& operator=(const multiple_delimiter_predicate& mdp); + + std::size_t length_; + T* delimiter_; + T* delimiter_end_; + enum { sbo_buffer_size = 32 }; + T sbo_buffer[sbo_buffer_size]; + }; + + struct multiple_char_delimiter_predicate + { + public: + + template + multiple_char_delimiter_predicate(const Iterator begin, const Iterator end) + { + setup_delimiter_table(begin,end); + } + + multiple_char_delimiter_predicate(const std::string& s) + { + setup_delimiter_table(to_ptr(s), to_ptr(s) + s.size()); + } + + inline bool operator()(const unsigned char& c) const + { + return (delimiter_table_[c]); + } + + inline bool operator()(const char& c) const + { + return operator()(static_cast(c)); + } + + private: + + static const std::size_t table_size = 256; + + template + inline void setup_delimiter_table(const Iterator begin, const Iterator end) + { + std::fill_n(delimiter_table_,table_size,false); + for (Iterator itr = begin; itr != end; ++itr) + { + delimiter_table_[static_cast(*itr)] = true; + } + } + + bool delimiter_table_[table_size]; + }; + + namespace details + { + template class Sequence> + struct index_remover_impl + { + typedef Sequence sequence_t; + index_remover_impl(const sequence_t& sequence) + : itr_(sequence.begin()), + end_(sequence.end()), + current_index_(0), + check_(true) + {} + + template + inline bool operator()(const T&) + { + if (check_) + { + if (current_index_++ == *itr_) + { + if (end_ == ++itr_) + { + check_ = false; + } + + return true; + } + } + + return false; + } + + typename sequence_t::const_iterator itr_; + typename sequence_t::const_iterator end_; + std::size_t current_index_; + bool check_; + }; + } + + template class Sequence> + inline details::index_remover_impl index_remover(const Sequence& sequence) + { + return details::index_remover_impl(sequence); + } + + template + inline std::size_t remove_inplace(Predicate predicate, + Iterator begin, + Iterator end) + { + Iterator itr1 = begin; + Iterator itr2 = begin; + std::size_t removal_count = 0; + while (end != itr1) + { + if (predicate(*itr1)) + { + ++itr1; + ++removal_count; + } + else + { + if (itr1 != itr2) + { + (*itr2) = (*itr1); + } + ++itr1; + ++itr2; + } + } + + return removal_count; + } + + template + inline std::size_t remove_inplace(Predicate predicate, const range::adapter& r) + { + return remove_inplace(predicate,r.begin(),r.end()); + } + + template class Sequence> + inline std::size_t remove_inplace(Predicate predicate, Sequence& sequence) + { + const std::size_t removal_count = remove_inplace(predicate,sequence.begin(),sequence.end()); + sequence.resize(sequence.size() - removal_count); + return removal_count; + } + + inline void remove_inplace(const std::string::value_type c, std::string& s) + { + const std::size_t removal_count = remove_inplace(single_delimiter_predicate(c), + const_cast(to_ptr(s)), + const_cast(to_ptr(s) + s.size())); + if (removal_count > 0) + { + s.resize(s.size() - removal_count); + } + } + + template + inline void remove_inplace(Predicate predicate, std::string& s) + { + const std::size_t removal_count = remove_inplace(predicate, + const_cast(to_ptr(s)), + const_cast(to_ptr(s) + s.size())); + if (removal_count > 0) + { + s.resize(s.size() - removal_count); + } + } + + template + inline std::size_t remove_consecutives_inplace(Predicate predicate, + Iterator begin, + Iterator end) + { + if (0 == std::distance(begin,end)) return 0; + Iterator itr1 = begin; + Iterator itr2 = begin; + typename std::iterator_traits::value_type prev = *begin; + std::size_t removal_count = 0; + ++itr1; + ++itr2; + while (end != itr1) + { + while ((end != itr1) && (!predicate(*itr1) || !predicate(prev))) + { + if (itr1 != itr2) + { + (*itr2) = (*itr1); + } + prev = (*itr1); + ++itr1; + ++itr2; + } + + while ((end != itr1) && predicate(*itr1)) + { + ++itr1; + ++removal_count; + } + } + + return removal_count; + } + + template + inline std::size_t remove_consecutives_inplace(Predicate predicate, const range::adapter& r) + { + return remove_consecutives_inplace(predicate,r.begin(),r.end()); + } + + inline void remove_consecutives_inplace(const std::string::value_type c, std::string& s) + { + if (s.empty()) return; + const std::size_t removal_count = remove_consecutives_inplace(single_delimiter_predicate(c), + const_cast(to_ptr(s)), + const_cast(to_ptr(s) + s.size())); + if (removal_count > 0) + { + s.resize(s.size() - removal_count); + } + } + + inline void remove_consecutives_inplace(const std::string& rem_chars, std::string& s) + { + if (s.empty()) return; + const std::size_t removal_count = remove_consecutives_inplace(multiple_char_delimiter_predicate(rem_chars), + const_cast(to_ptr(s)), + const_cast(to_ptr(s) + s.size())); + if (removal_count > 0) + { + s.resize(s.size() - removal_count); + } + } + + namespace details + { + #if (defined(__MINGW32_VERSION)) || \ + (defined(__CYGWIN__) || defined(__CYGWIN32__)) || \ + (defined(__APPLE__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1070)) || \ + (defined(_WIN32) && (_MSC_VER < 1400)) + inline std::size_t strnlength(const char* s, const std::size_t& n) + { + const char *end = reinterpret_cast(memchr(s, '\0', n)); + return end ? (size_t) (end - s) : n; + } + #else + inline std::size_t strnlength(const char* s, const std::size_t& n) + { + return strnlen(s,n); + } + #endif + } + + inline void remove_consecutives_inplace(const char* rem_chars, std::string& s) + { + if (s.empty()) return; + const std::size_t removal_count = remove_consecutives_inplace(multiple_char_delimiter_predicate( + rem_chars, + rem_chars + details::strnlength(rem_chars,256)), + const_cast(to_ptr(s)), + const_cast(to_ptr(s) + s.size())); + if (removal_count > 0) + { + s.resize(s.size() - removal_count); + } + } + + template + inline void remove_consecutives_inplace(Predicate predicate, std::string& s) + { + if (s.empty()) return; + const std::size_t removal_count = remove_consecutives_inplace(predicate, + const_cast(to_ptr(s)), + const_cast(to_ptr(s) + s.size())); + if (removal_count > 0) + { + s.resize(s.size() - removal_count); + } + } + + template + inline std::size_t remove_consecutives_inplace(Iterator begin, Iterator end) + { + if (0 == std::distance(begin,end)) return 0; + + Iterator itr1 = begin; ++itr1; + Iterator itr2 = begin; ++itr2; + typename std::iterator_traits::value_type prev = *begin; + std::size_t removal_count = 0; + + while (end != itr1) + { + while ((end != itr1) && (prev != (*itr1))) + { + if (itr1 != itr2) + { + (*itr2) = (*itr1); + } + prev = (*itr1); + ++itr1; + ++itr2; + } + + while ((end != itr1) && (prev == (*itr1))) + { + ++itr1; + ++removal_count; + } + } + + return removal_count; + } + + template + inline std::size_t remove_consecutives_inplace(const range::adapter& r) + { + return remove_consecutives_inplace(r.begin(),r.end()); + } + + template class Sequence> + inline void remove_consecutives_inplace(Sequence& sequence) + { + const std::size_t removal_count = remove_consecutives_inplace(sequence.begin(),sequence.end()); + sequence.resize(sequence.size() - removal_count); + } + + inline void remove_consecutives_inplace(std::string& s) + { + std::size_t removal_count = remove_consecutives_inplace(const_cast(to_ptr(s)), + const_cast(to_ptr(s) + s.size())); + + if (removal_count > 0) + { + s.resize(s.size() - removal_count); + } + } + + inline std::string remove_duplicates(const std::string& str) + { + std::string::value_type table[0xFF]; + std::fill_n(table,0xFF,static_cast(0)); + std::string result; + result.reserve(str.size()); + for (std::size_t i = 0; i < str.size(); ++i) + { + const char c = str[i]; + if (0 == table[static_cast(c)]) + { + table[static_cast(c)] = 0x01; + result += c; + } + } + return result; + } + + inline std::string remove_duplicates_inplace(std::string& str) + { + return remove_duplicates(str); + } + + template + inline std::size_t remove_trailing(Predicate predicate, + Iterator begin, + Iterator end) + { + const std::size_t length = std::distance(begin,end); + if (0 == length) + return 0; + + Iterator itr = begin + (length - 1); + std::size_t removal_count = 0; + + while ((begin != itr) && predicate(*itr)) + { + --itr; + ++removal_count; + } + + return removal_count; + } + + template + inline std::size_t remove_trailing(Predicate predicate, const range::adapter& r) + { + return remove_trailing(predicate,r.begin(),r.end()); + } + + inline void remove_trailing(const std::string::value_type c, std::string& s) + { + if (s.empty()) return; + const std::size_t removal_count = remove_trailing(single_delimiter_predicate(c), + const_cast(to_ptr(s)), + const_cast(to_ptr(s) + s.size())); + if (removal_count > 0) + { + s.resize(s.size() - removal_count); + } + } + + inline void remove_trailing(const std::string& rem_chars, std::string& s) + { + if (s.empty()) return; + const std::size_t removal_count = remove_trailing(multiple_char_delimiter_predicate(rem_chars), + const_cast(to_ptr(s)), + const_cast(to_ptr(s) + s.size())); + if (removal_count > 0) + { + s.resize(s.size() - removal_count); + } + } + + inline void remove_trailing(const char* rem_chars, std::string& s) + { + const std::size_t removal_count = remove_trailing(multiple_char_delimiter_predicate( + rem_chars, + rem_chars + details::strnlength(rem_chars,256)), + const_cast(to_ptr(s)), + const_cast(to_ptr(s) + s.size())); + if (removal_count > 0) + { + s.resize(s.size() - removal_count); + } + } + + template + inline void remove_trailing(Predicate predicate, std::string& s) + { + if (s.empty()) return; + const std::size_t removal_count = remove_trailing(predicate, + const_cast(to_ptr(s)), + const_cast(to_ptr(s) + s.size())); + if (removal_count > 0) + { + s.resize(s.size() - removal_count); + } + } + + template + inline std::size_t remove_leading(Predicate predicate, + Iterator begin, + Iterator end) + { + const std::size_t length = std::distance(begin,end); + if (0 == length) + return 0; + + Iterator itr = begin; + std::size_t removal_count = 0; + + while ((end != itr) && predicate(*itr)) + { + ++itr; + ++removal_count; + } + + std::copy(itr,end,begin); + return removal_count; + } + + template + inline std::size_t remove_leading(Predicate predicate, const range::adapter& r) + { + return remove_leading(predicate,r.begin(),r.end()); + } + + inline void remove_leading(const std::string::value_type c, std::string& s) + { + if (s.empty()) return; + const std::size_t removal_count = remove_leading(single_delimiter_predicate(c), + const_cast(to_ptr(s)), + const_cast(to_ptr(s) + s.size())); + if (removal_count > 0) + { + s.resize(s.size() - removal_count); + } + } + + inline void remove_leading(const std::string& rem_chars, std::string& s) + { + if (s.empty()) return; + const std::size_t removal_count = remove_leading(multiple_char_delimiter_predicate(rem_chars), + const_cast(to_ptr(s)), + const_cast(to_ptr(s) + s.size())); + if (removal_count > 0) + { + s.resize(s.size() - removal_count); + } + } + + inline void remove_leading(const char* rem_chars, std::string& s) + { + if (s.empty()) return; + const std::size_t removal_count = remove_leading(multiple_char_delimiter_predicate( + rem_chars, + rem_chars + details::strnlength(rem_chars,256)), + const_cast(to_ptr(s)), + const_cast(to_ptr(s) + s.size())); + if (removal_count > 0) + { + s.resize(s.size() - removal_count); + } + } + + inline void remove_leading_trailing(const std::string& rem_chars, std::string& s) + { + remove_leading(rem_chars,s); + remove_trailing(rem_chars,s); + } + + template + inline void remove_leading(Predicate predicate, std::string& s) + { + if (s.empty()) return; + const std::size_t removal_count = remove_leading(predicate, + const_cast(to_ptr(s)), + const_cast(to_ptr(s) + s.size())); + if (removal_count > 0) + { + s.resize(s.size() - removal_count); + } + } + + template class Sequence> + void remove_empty_strings(Sequence& seq) + { + struct is_empty { static inline bool check(const std::string& s) { return s.empty(); } }; + seq.erase(std::remove_if(seq.begin(),seq.end(),is_empty::check),seq.end()); + } + + template + void remove_empty_strings(std::list& l) + { + struct is_empty { static inline bool check(const std::string& s) { return s.empty(); } }; + l.remove_if(is_empty::check); + } + + template + void remove_empty_strings(std::set& set) + { + struct is_empty { static inline bool check(const std::string& s) { return s.empty(); } }; + + typename std::set::iterator itr = set.begin(); + + while (set.end() != itr) + { + if ((*itr).empty()) + set.erase(itr++); + else + ++itr; + } + } + + template + void remove_empty_strings(std::multiset& set) + { + struct is_empty { static inline bool check(const std::string& s) { return s.empty(); } }; + + typename std::multiset::iterator itr = set.begin(); + + while (set.end() != itr) + { + if ((*itr).empty()) + set.erase(itr++); + else + ++itr; + } + } + + template + inline void replace(const typename std::iterator_traits::value_type& c1, + const typename std::iterator_traits::value_type& c2, + const Iterator begin, + const Iterator end) + { + for (Iterator itr = begin; end != itr; ++itr) + { + if (c1 == (*itr)) + { + (*itr) = c2; + } + } + } + + inline void replace(const std::string::value_type& c0, + const std::string::value_type& c1, + std::string& s) + { + replace(c0, c1, + const_cast(to_ptr(s)), + const_cast(to_ptr(s) + s.size())); + } + + template + inline void replace(const T& c1, const T& c2, const range::adapter& r) + { + replace(c1, c2, r.begin(), r.end()); + } + + inline void replace_pattern(const std::string& s, // input + const std::string& p, // pattern + const std::string& r, // replacement + std::string& n) + { + if (p.empty() || (p == r)) + { + n.assign(s); + return; + } + + const std::size_t p_size = p.size(); + const std::size_t r_size = r.size(); + + int inc = static_cast(r_size) - static_cast(p_size); + + std::size_t pos = 0; + + std::vector delta_list; + delta_list.reserve(std::min(32,(s.size() / p_size) + 1)); + + while (std::string::npos != (pos = s.find(p,pos))) + { + delta_list.push_back(pos); + pos += p_size; + } + + if (delta_list.empty()) + { + n.assign(s); + return; + } + + n.resize(delta_list.size() * inc + s.size(), 0x00); + + char* n_itr = const_cast(to_ptr(n)); + + const char* s_end = to_ptr(s) + s.size(); + const char* s_itr = to_ptr(s); + const char* r_begin = to_ptr(r); + const char* r_end = to_ptr(r) + r_size; + + const std::size_t delta_list_size = delta_list.size(); + + std::size_t i = 0; + std::size_t delta = delta_list[0]; + + for ( ; ; ) + { + std::copy(s_itr, s_itr + delta, n_itr); + s_itr += p_size + delta; + n_itr += delta; + std::copy(r_begin, r_end, n_itr); + n_itr += r_size; + + if (++i >= delta_list_size) + break; + + delta = delta_list[i] - (delta_list[i - 1] + p_size); + } + + if (s_end != s_itr) + { + std::copy(s_itr, s_end, n_itr); + } + } + + template + inline std::size_t replace_pattern(const InputIterator s_begin, const InputIterator s_end, // Input + const InputIterator p_begin, const InputIterator p_end, // Pattern + const InputIterator r_begin, const InputIterator r_end, // Replacement + OutputIterator out) + { + InputIterator s_itr = s_begin; + InputIterator r_itr = r_begin; + InputIterator p_itr = p_begin; + + const std::size_t p_size = std::distance(p_begin,p_end); + const std::size_t r_size = std::distance(r_begin,r_end); + + if ( + (0 == p_size) || + ( + (p_size == r_size) && + std::equal(p_begin,p_end,r_begin) + ) + ) + { + std::copy(s_begin,s_end,out); + return std::distance(s_begin,s_end); + } + + std::size_t pos = 0; + std::size_t prev_pos = 0; + std::size_t count = 0; + std::size_t new_size = std::distance(s_begin,s_end); + int inc = r_size - p_size; + + InputIterator temp_s_itr = s_itr; + + while (s_end != s_itr) + { + /* + Need to replace the following search code with + Knuth-Pratt-Morris or Boyer-Moore string search + algorithms. + */ + bool found = true; + p_itr = p_begin; + temp_s_itr = s_itr; + + while ((p_end != p_itr) && (s_end != temp_s_itr)) + { + if (*(temp_s_itr++) != *(p_itr++)) + { + found = false; + break; + } + } + + if (found && (p_itr == p_end)) + { + ++count; + new_size += inc; + s_itr = temp_s_itr; + } + else + ++s_itr; + } + + s_itr = s_begin; + p_itr = p_begin; + + pos = 0; + prev_pos = 0; + + temp_s_itr = s_itr; + + while (0 < count) + { + p_itr = p_begin; + bool found = true; + InputIterator pattern_start = temp_s_itr; + + while ((p_end != p_itr) && (s_end != temp_s_itr)) + { + if (*(temp_s_itr++) != *(p_itr++)) + { + found = false; + temp_s_itr = pattern_start; + ++temp_s_itr; + break; + } + } + + if (!found || (p_itr != p_end)) continue; + + pos = std::distance(s_begin,temp_s_itr) - p_size; + int diff = pos - prev_pos; + + std::copy(s_itr,s_itr + diff, out); + s_itr = temp_s_itr; + std::copy(r_itr,r_end, out); + + pos += p_size; + prev_pos = pos; + --count; + } + + std::copy(s_itr,s_end,out); + + return new_size; + } + + inline void remove_pattern(const std::string& s, + const std::string& p, + std::string& n) + { + static const std::string r(""); + replace_pattern(s,p,r,n); + } + + inline void sort(std::string& s) + { + std::sort(s.begin(),s.end()); + } + + namespace details + { + struct cs_match + { + template + static inline bool cmp(const char_t c0, const char_t c1) + { + return (c0 == c1); + } + }; + + struct cis_match + { + template + static inline bool cmp(const char_t c0, const char_t c1) + { + return (std::tolower(c0) == std::tolower(c1)); + } + }; + + template + inline bool match_impl(const Iterator pattern_begin, const Iterator pattern_end, + const Iterator data_begin, const Iterator data_end, + const typename std::iterator_traits::value_type& match_zero_or_more, + const typename std::iterator_traits::value_type& match_zero_or_one) + { + Iterator d_itr = data_begin; + Iterator p_itr = pattern_begin; + + while ((p_itr != pattern_end) && (d_itr != data_end)) + { + if (match_zero_or_more == *p_itr) + { + while ((p_itr != pattern_end) && (*p_itr == match_zero_or_more || *p_itr == match_zero_or_one)) + { + ++p_itr; + } + + if (p_itr == pattern_end) + return true; + + const typename std::iterator_traits::value_type c = *(p_itr++); + + while ((d_itr != data_end) && !Comparator::cmp(c, *d_itr)) + { + ++d_itr; + } + + ++d_itr; + } + else if ((*p_itr == match_zero_or_one) || Comparator::cmp(*p_itr, *d_itr)) + { + ++d_itr; + ++p_itr; + } + else + return false; + } + + if (d_itr != data_end) + return false; + else if (p_itr == pattern_end) + return true; + else if ((match_zero_or_more == *p_itr) || (match_zero_or_one == *p_itr)) + ++p_itr; + + return pattern_end == p_itr; + } + } + + template + inline bool match(const Iterator pattern_begin, const Iterator pattern_end, + const Iterator data_begin, const Iterator data_end, + const typename std::iterator_traits::value_type& match_zero_or_more, + const typename std::iterator_traits::value_type& match_zero_or_one) + { + return details::match_impl(pattern_begin, pattern_end, + data_begin, data_end, + match_zero_or_more, + match_zero_or_one); + } + + inline bool match(const std::string& wild_card, + const std::string& str) + { + /* + * : Match zero or more character + ? : Match zero or one character + */ + return details::match_impl(to_ptr(wild_card), to_ptr(wild_card) + wild_card.size(), + to_ptr(str) , to_ptr(str) + str .size(), + '*', + '?'); + } + + inline bool imatch_char(const char c1, const char c2) + { + return std::toupper(c1) == std::toupper(c2); + } + + template + inline bool imatch(const InputIterator begin1, const InputIterator end1, + const InputIterator begin2, const InputIterator end2) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + if (std::distance(begin1,end1) != std::distance(begin2,end2)) + { + return false; + } + + InputIterator itr1 = begin1; + InputIterator itr2 = begin2; + + while (end1 != itr1) + { + //if (std::toupper(*itr1, std::locale::classic()) != std::toupper(*it2, std::locale::classic())) + if (std::toupper(*itr1) != std::toupper(*itr2)) + { + return false; + } + ++itr1; + ++itr2; + } + + return true; + } + + template + inline bool imatch(const range::adapter& r1, const range::adapter& r2) + { + return imatch(r1.begin(), r1.end(), r2.begin(), r2.end()); + } + + inline bool imatch(const std::string& s1, const std::string& s2) + { + return imatch(to_ptr(s1), to_ptr(s1) + s1.size(), + to_ptr(s2), to_ptr(s2) + s2.size()); + } + + template + inline Iterator imatch(const std::string& s, const Iterator begin, const Iterator end) + { + for (const std::string* itr = begin; end != itr; ++itr) + { + if (imatch(s,*itr)) + { + return itr; + } + } + return end; + } + + template class Sequence> + inline bool imatch(const std::string& s, const Sequence& sequence) + { + return (sequence.end() != imatch(s, sequence.begin(), sequence.end())); + } + + template + inline bool imatch(const std::string& s, const std::set& set) + { + return imatch(s, set.begin(), set.end()); + } + + template + inline bool imatch(const std::string& s, const std::multiset& multiset) + { + return imatch(s, multiset.begin(), multiset.end()); + } + + template + inline std::size_t find_all(const Iterator pattern_begin, + const Iterator pattern_end, + const Iterator begin, + const Iterator end, + OutputIterator out) + { + Iterator itr = begin; + const std::size_t pattern_length = std::distance(pattern_begin,pattern_end); + std::size_t match_count = 0; + while (end != (itr = std::search(itr, end, pattern_begin, pattern_end))) + { + (*out) = std::make_pair(itr,itr + pattern_length); + itr += pattern_length; + ++out; + ++match_count; + } + return match_count; + } + + template class Sequence> + inline std::size_t find_all(const Iterator pattern_begin, + const Iterator pattern_end, + const Iterator begin, + const Iterator end, + Sequence& seq) + { + return find_all(pattern_begin, pattern_end, begin, end, std::back_inserter(seq)); + } + + inline std::size_t ifind(const std::string& pattern, const std::string& data) + { + if (pattern.size() > data.size()) + return std::string::npos; + + const char* result_itr = std::search(to_ptr(data), to_ptr(data) + data .size(), + to_ptr(pattern), to_ptr(pattern) + pattern.size(), + imatch_char); + + if ((to_ptr(data) + data.size()) == result_itr) + return std::string::npos; + else + return std::distance(to_ptr(data),result_itr); + } + + template + inline std::size_t ifind_all(const Iterator pattern_begin, + const Iterator pattern_end, + const Iterator begin, + const Iterator end, + OutputIterator out) + { + Iterator itr = begin; + const std::size_t pattern_length = std::distance(pattern_begin,pattern_end); + std::size_t match_count = 0; + + while (end != (itr = std::search(itr, end, pattern_begin, pattern_end, imatch_char))) + { + (*out) = std::make_pair(itr, itr + pattern_length); + itr += pattern_length; + ++out; + ++match_count; + } + + return match_count; + } + + template + inline std::size_t find_all(const std::string& pattern, + const std::string& data, + OutputIterator out) + { + return find_all(to_ptr(pattern), to_ptr(pattern) + pattern.size(), + to_ptr(data) , to_ptr(data) + data .size(), + out); + } + + template class Sequence> + inline std::size_t find_all(const std::string& pattern, + const std::string& data, + Sequence& seq) + { + return find_all(pattern,data,std::back_inserter(seq)); + } + + template + inline std::size_t ifind_all(const std::string& pattern, + const std::string& data, + OutputIterator out) + { + return ifind_all(to_ptr(pattern), to_ptr(pattern) + pattern.size(), + to_ptr(data) , to_ptr(data) + data .size(), + out); + } + + template class Sequence> + inline std::size_t ifind_all(const std::string& pattern, + const std::string& data, + Sequence& seq) + { + return ifind_all(pattern,data,std::back_inserter(seq)); + } + + template + inline bool begins_with(const InputIterator pattern_begin, + const InputIterator pattern_end, + const InputIterator begin, + const InputIterator end) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + if (std::distance(pattern_begin,pattern_end) <= std::distance(begin,end)) + { + return std::equal(pattern_begin,pattern_end,begin); + } + else + return false; + } + + inline bool begins_with(const std::string& pattern, const std::string& data) + { + if (pattern.size() <= data.size()) + { + return begins_with(to_ptr(pattern), to_ptr(pattern) + pattern.size(), + to_ptr(data) , to_ptr(data) + data .size()); + } + else + return false; + } + + template + inline bool ibegins_with(const InputIterator pattern_begin, + const InputIterator pattern_end, + const InputIterator begin, + const InputIterator end) + { + typedef typename details::is_valid_iterator::type itr_type; + + details::convert_type_assert(); + + if (std::distance(pattern_begin,pattern_end) <= std::distance(begin,end)) + { + return std::equal(pattern_begin, pattern_end, begin, imatch_char); + } + else + return false; + } + + inline bool ibegins_with(const std::string& pattern, const std::string& data) + { + if (pattern.size() <= data.size()) + { + return ibegins_with(to_ptr(pattern), to_ptr(pattern) + pattern.size(), + to_ptr(data), to_ptr(data) + data .size()); + } + else + return false; + } + + template + inline bool ends_with(const InputIterator pattern_begin, + const InputIterator pattern_end, + const InputIterator begin, + const InputIterator end) + { + typedef typename details::is_valid_iterator::type itr_type; + + details::convert_type_assert(); + + const std::size_t pattern_length = std::distance(pattern_begin, pattern_end); + const std::size_t data_length = std::distance(begin, end); + + if (pattern_length <= data_length) + { + return std::equal(pattern_begin, + pattern_end, + begin + (data_length - pattern_length)); + } + else + return false; + } + + inline bool ends_with(const std::string& pattern, const std::string& data) + { + if (pattern.size() <= data.size()) + { + return ends_with(to_ptr(pattern), to_ptr(pattern) + pattern.size(), + to_ptr(data) , to_ptr(data) + data .size()); + } + else + return false; + } + + template + inline bool iends_with(const InputIterator pattern_begin, + const InputIterator pattern_end, + const InputIterator begin, + const InputIterator end) + { + typedef typename details::is_valid_iterator::type itr_type; + + details::convert_type_assert(); + + const std::size_t pattern_length = std::distance(pattern_begin,pattern_end); + const std::size_t data_length = std::distance(begin,end); + + if (pattern_length <= data_length) + { + return std::equal(pattern_begin, + pattern_end, + begin + (data_length - pattern_length), + imatch_char); + } + else + return false; + } + + inline bool iends_with(const std::string& pattern, const std::string& data) + { + if (pattern.size() <= data.size()) + { + return iends_with(to_ptr(pattern), to_ptr(pattern) + pattern.size(), + to_ptr(data) , to_ptr(data) + data .size()); + } + else + return false; + } + + inline std::size_t index_of(const std::string& pattern, const std::string& data) + { + if (pattern.empty()) + return std::string::npos; + else if (data.empty()) + return std::string::npos; + else if (pattern.size() > data.size()) + return std::string::npos; + + const char* itr = std::search(to_ptr(data) , to_ptr(data) + data .size(), + to_ptr(pattern), to_ptr(pattern) + pattern.size()); + + if ((to_ptr(data) + data.size()) == itr) + return std::string::npos; + else + return std::distance(to_ptr(data),itr); + } + + namespace tokenize_options + { + typedef std::size_t type; + enum + { + default_mode = 0, + compress_delimiters = 1, + include_1st_delimiter = 2, + include_all_delimiters = 4 + }; + + static inline bool perform_compress_delimiters(const type& split_opt) + { + return compress_delimiters == (split_opt & compress_delimiters); + } + + static inline bool perform_include_1st_delimiter(const type& split_opt) + { + return include_1st_delimiter == (split_opt & include_1st_delimiter); + } + + static inline bool perform_include_all_delimiters(const type& split_opt) + { + return include_all_delimiters == (split_opt & include_all_delimiters); + } + + } // namespace tokenize_options + + template + class tokenizer + { + private: + + template > + class tokenizer_iterator : public std::iterator + { + protected: + + typedef Iterator iterator; + typedef const iterator const_iterator; + typedef typename std::pair range_type; + + public: + + explicit inline tokenizer_iterator(const iterator begin, + const iterator end, + const Predicate& predicate, + const tokenize_options::type tokenize_option = tokenize_options::default_mode) + : predicate_(predicate), + end_(end), + range_(begin,begin), + current_token_(end,end), + compress_delimiters_(tokenize_options::perform_compress_delimiters(tokenize_option)), + include_1st_delimiter_(tokenize_options::perform_include_1st_delimiter(tokenize_option)), + include_all_delimiters_(tokenize_options::perform_include_all_delimiters(tokenize_option)), + include_delimiters_(include_1st_delimiter_ || include_all_delimiters_), + last_token_done_(false) + { + if (end != begin) + { + this->operator++(); + } + } + + inline tokenizer_iterator& operator++() + { + if (last_token_done_) + { + range_.first = range_.second; + return (*this); + } + else if (end_ != range_.second) + { + range_.first = range_.second; + } + + while (end_ != range_.second) + { + if (predicate_(*(range_.second))) + { + if (include_delimiters_) + { + if (include_1st_delimiter_) + ++range_.second; + else if (include_all_delimiters_) + while ((end_ != range_.second) && predicate_(*(range_.second))) ++range_.second; + current_token_ = range_; + if ((!include_all_delimiters_) && compress_delimiters_) + while ((end_ != range_.second) && predicate_(*(range_.second))) ++range_.second; + } + else + { + current_token_ = range_; + if (compress_delimiters_) + while ((end_ != (++range_.second)) && predicate_(*(range_.second))) ; + else + ++range_.second; + } + + return (*this); + } + else + ++range_.second; + } + + if (range_.first != range_.second) + { + current_token_.second = range_.second; + if (!last_token_done_) + { + if (predicate_(*(range_.second - 1))) + current_token_.first = range_.second; + else + current_token_.first = range_.first; + last_token_done_ = true; + } + else + range_.first = range_.second; + } + + return (*this); + } + + inline tokenizer_iterator operator++(int) + { + tokenizer_iterator tmp = (*this); + this->operator++(); + return tmp; + } + + inline tokenizer_iterator& operator+=(const int inc) + { + if (inc > 0) + { + for (int i = 0; i < inc; ++i, ++(*this)) ; + } + + return (*this); + } + + inline T operator*() const + { + return current_token_; + } + + inline std::string as_string() const + { + return std::string(current_token_.first,current_token_.second); + } + + inline bool operator==(const tokenizer_iterator& itr) const + { + return (range_ == itr.range_) && (end_ == itr.end_); + } + + inline bool operator!=(const tokenizer_iterator& itr) const + { + return (range_ != itr.range_) || (end_ != itr.end_); + } + + inline tokenizer_iterator& operator=(const tokenizer_iterator& itr) + { + if (this != &itr) + { + range_ = itr.range_; + current_token_ = itr.current_token_; + end_ = itr.end_; + compress_delimiters_ = itr.compress_delimiters_; + include_1st_delimiter_ = itr.include_1st_delimiter_; + include_all_delimiters_ = itr.include_all_delimiters_; + include_delimiters_ = itr.include_delimiters_; + last_token_done_ = itr.last_token_done_; + } + + return (*this); + } + + inline std::string remaining() const + { + return std::string(current_token_.first,end_); + } + + protected: + + const Predicate& predicate_; + iterator end_; + range_type range_; + range_type current_token_; + bool compress_delimiters_; + bool include_1st_delimiter_; + bool include_all_delimiters_; + bool include_delimiters_; + bool last_token_done_; + }; + + public: + + typedef typename std::iterator_traits::value_type value_type; + typedef DelimiterPredicate predicate; + typedef tokenizer_iterator iterator; + typedef const iterator const_iterator; + typedef iterator& iterator_ref; + typedef const_iterator& const_iterator_ref; + + inline tokenizer(const Iterator begin, + const Iterator end, + const DelimiterPredicate& predicate, + const tokenize_options::type tokenize_options = tokenize_options::default_mode) + : tokenize_options_(tokenize_options), + predicate_(predicate), + begin_(begin), + end_(end), + begin_itr_(begin_, end_, predicate_, tokenize_options_), + end_itr_(end_, end_, predicate_, tokenize_options_) + {} + + inline tokenizer(const std::string& s, + const DelimiterPredicate& predicate, + const tokenize_options::type tokenize_options = tokenize_options::default_mode) + : tokenize_options_(tokenize_options), + predicate_(predicate), + begin_(to_ptr(s)), + end_(to_ptr(s) + s.size()), + begin_itr_(begin_, end_, predicate_, tokenize_options_), + end_itr_(end_, end_, predicate_, tokenize_options_) + {} + + inline tokenizer& operator=(const tokenizer& t) + { + if (this != &t) + { + begin_ = t.begin_; + end_ = t.end_; + end_itr_ = t.end_itr_; + begin_itr_ = t.begin_itr_; + tokenize_options_ = t.tokenize_options_; + } + + return (*this); + } + + inline void assign(const std::string& s) const + { + assign(to_ptr(s), to_ptr(s) + s.size()); + } + + inline void assign(const std::string& s) + { + assign(to_ptr(s), to_ptr(s) + s.size()); + } + + inline void assign(const Iterator begin, const Iterator end) + { + begin_ = begin; + end_ = end; + begin_itr_ = iterator(begin_,end_,predicate_,tokenize_options_); + end_itr_ = iterator(end_ ,end_,predicate_,tokenize_options_); + } + + inline const_iterator_ref begin() const + { + return begin_itr_; + } + + inline const_iterator_ref end() const + { + return end_itr_; + } + + private: + + tokenize_options::type tokenize_options_; + const DelimiterPredicate& predicate_; + Iterator begin_; + Iterator end_; + iterator begin_itr_; + iterator end_itr_; + }; + + namespace std_string + { + template > + struct tokenizer + { + typedef DelimiterPredicate predicate_type; + typedef const std::string::value_type* string_iterator_type; + typedef strtk::tokenizer type; + typedef strtk::tokenizer md_type; + typedef std::pair iterator_type; + }; + + typedef tokenizer<>::iterator_type iterator_type; + typedef tokenizer<>::iterator_type range_t; + + typedef std::vector token_vector_type; + typedef std::deque token_deque_type; + typedef std::list token_list_type; + + } // namespace std_string + + template + class range_to_type_back_inserter_iterator : public std::iterator + { + public: + + typedef typename Sequence::value_type value_type; + + explicit inline range_to_type_back_inserter_iterator(Sequence& sequence) + : sequence_(sequence) + {} + + range_to_type_back_inserter_iterator(const range_to_type_back_inserter_iterator& itr) + : sequence_(itr.sequence_) + {} + + inline range_to_type_back_inserter_iterator& operator=(const range_to_type_back_inserter_iterator& itr) + { + if (this != &itr) + { + this->sequence_ = itr.sequence_; + } + + return (*this); + } + + template + inline range_to_type_back_inserter_iterator& operator=(const std::pair& r) + { + value_type t; + + if (string_to_type_converter(r.first,r.second,t)) + sequence_.push_back(t); + + return (*this); + } + + inline range_to_type_back_inserter_iterator& operator=(const std::string& s) + { + value_type t; + + if (string_to_type_converter(to_ptr(s), to_ptr(s) + s.size(),t)) + sequence_.push_back(t); + + return (*this); + } + + template + inline void operator()(const std::pair& r) const + { + value_type t; + + if (string_to_type_converter(r.first,r.second,t)) + sequence_.push_back(t); + } + + template + inline void operator()(const Iterator begin, const Iterator end) + { + sequence_.push_back(string_to_type_converter(begin,end)); + } + + inline range_to_type_back_inserter_iterator& operator*() + { + return (*this); + } + + inline range_to_type_back_inserter_iterator& operator++() + { + return (*this); + } + + inline range_to_type_back_inserter_iterator operator++(int) + { + return (*this); + } + + private: + + Sequence& sequence_; + }; + + template + inline range_to_type_back_inserter_iterator range_to_type_back_inserter(Sequence& sequence) + { + return (range_to_type_back_inserter_iterator(sequence)); + } + + template + class range_to_type_inserter_iterator : public std::iterator + { + public: + + typedef typename Set::value_type value_type; + + explicit inline range_to_type_inserter_iterator(Set& set) + : set_(set) + {} + + range_to_type_inserter_iterator(const range_to_type_inserter_iterator& itr) + : set_(itr.set_) + {} + + inline range_to_type_inserter_iterator& operator=(const range_to_type_inserter_iterator& itr) + { + if (this != &itr) + { + this->set_ = itr.set_; + } + + return (*this); + } + + template + inline range_to_type_inserter_iterator& operator=(const std::pair& r) + { + value_type t; + if (string_to_type_converter(r.first,r.second,t)) + set_.insert(t); + + return (*this); + } + + template + inline void operator()(const std::pair& r) + { + value_type t; + if (string_to_type_converter(r.first,r.second,t)) + set_.insert(t); + } + + inline range_to_type_inserter_iterator& operator*() + { + return (*this); + } + + inline range_to_type_inserter_iterator& operator++() + { + return (*this); + } + + inline range_to_type_inserter_iterator operator++(int) + { + return (*this); + } + + private: + + Set& set_; + }; + + template + inline range_to_type_inserter_iterator range_to_type_inserter(Set& set) + { + return (range_to_type_inserter_iterator(set)); + } + + template + class range_to_type_push_inserter_iterator : public std::iterator + { + public: + + typedef typename Container::value_type value_type; + + explicit inline range_to_type_push_inserter_iterator(Container& container) + : container_(container) + {} + + range_to_type_push_inserter_iterator(const range_to_type_push_inserter_iterator& itr) + : container_(itr.container_) + {} + + inline range_to_type_push_inserter_iterator& operator=(const range_to_type_push_inserter_iterator& itr) + { + if (this != &itr) + { + this->container_ = itr.container_; + } + return (*this); + } + + template + inline range_to_type_push_inserter_iterator& operator=(const std::pair& r) + { + value_type t; + + if (string_to_type_converter(r.first,r.second,t)) + container_.push(t); + + return (*this); + } + + template + inline void operator()(const std::pair& r) + { + value_type t; + if (string_to_type_converter(r.first,r.second,t)) + container_.push(t); + } + + inline range_to_type_push_inserter_iterator& operator*() + { + return (*this); + } + + inline range_to_type_push_inserter_iterator& operator++() + { + return (*this); + } + + inline range_to_type_push_inserter_iterator operator++(int) + { + return (*this); + } + + private: + + Container& container_; + }; + + template + inline range_to_type_push_inserter_iterator range_to_type_push_inserter(Container& container) + { + return (range_to_type_push_inserter_iterator(container)); + } + + template + class back_inserter_with_valuetype_iterator : public std::iterator + { + public: + + explicit inline back_inserter_with_valuetype_iterator(Sequence& sequence) + : sequence_(sequence) + {} + + back_inserter_with_valuetype_iterator(const back_inserter_with_valuetype_iterator& itr) + : sequence_(itr.sequence_) + {} + + inline back_inserter_with_valuetype_iterator& operator=(const back_inserter_with_valuetype_iterator& itr) + { + if (this != &itr) + { + this->sequence_ = itr.sequence_; + } + return (*this); + } + + inline back_inserter_with_valuetype_iterator& operator=(const typename Sequence::value_type& v) + { + sequence_.push_back(v); + return (*this); + } + + inline void operator()(const typename Sequence::value_type& v) + { + sequence_.push_back(v); + } + + inline back_inserter_with_valuetype_iterator& operator*() + { + return (*this); + } + + inline back_inserter_with_valuetype_iterator& operator++() + { + return (*this); + } + + inline back_inserter_with_valuetype_iterator operator++(int) + { + return (*this); + } + + private: + + Sequence& sequence_; + }; + + template + inline back_inserter_with_valuetype_iterator back_inserter_with_valuetype(Sequence& sequence_) + { + return (back_inserter_with_valuetype_iterator(sequence_)); + } + + template + class inserter_with_valuetype_iterator : public std::iterator + { + public: + + explicit inline inserter_with_valuetype_iterator(Set& set) + : set_(set) + {} + + inserter_with_valuetype_iterator(const inserter_with_valuetype_iterator& itr) + : set_(itr.set_) + {} + + inline inserter_with_valuetype_iterator& operator=(const inserter_with_valuetype_iterator& itr) + { + if (this != &itr) + { + this->set_ = itr.set_; + } + + return (*this); + } + + inline inserter_with_valuetype_iterator& operator=(const typename Set::value_type& v) + { + set_.insert(v); + return (*this); + } + + inline void operator()(const typename Set::value_type& v) + { + set_.insert(v); + } + + inline inserter_with_valuetype_iterator& operator*() + { + return (*this); + } + + inline inserter_with_valuetype_iterator& operator++() + { + return (*this); + } + + inline inserter_with_valuetype_iterator operator++(int) + { + return (*this); + } + + private: + + Set& set_; + }; + + template + inline inserter_with_valuetype_iterator inserter_with_valuetype(Set& set_) + { + return (inserter_with_valuetype_iterator(set_)); + } + + template + class push_inserter_iterator : public std::iterator + { + public: + + explicit inline push_inserter_iterator(Container& container) + : container_(container) + {} + + inline push_inserter_iterator& operator=(const push_inserter_iterator& itr) + { + if (this != &itr) + { + this->container_ = itr.container_; + } + + return (*this); + } + + inline push_inserter_iterator& operator=(typename Container::const_reference v) + { + container_.push(v); + return (*this); + } + + inline push_inserter_iterator& operator*() + { + return (*this); + } + + inline push_inserter_iterator& operator++() + { + return (*this); + } + + inline push_inserter_iterator operator++(int) + { + return (*this); + } + + private: + + Container& container_; + }; + + template + inline push_inserter_iterator push_inserter(Container& c) + { + return push_inserter_iterator(c); + } + + template + class range_to_ptr_type_iterator : public std::iterator + { + public: + + typedef T value_type; + + explicit inline range_to_ptr_type_iterator(T* pointer, std::size_t& insert_count) + : pointer_(pointer), + insert_count_(insert_count) + {} + + range_to_ptr_type_iterator(const range_to_ptr_type_iterator& itr) + : pointer_(itr.pointer_) + {} + + inline range_to_ptr_type_iterator& operator=(const range_to_ptr_type_iterator& itr) + { + if (this != &itr) + { + this->pointer_ = itr.pointer_; + } + + return (*this); + } + + template + inline range_to_ptr_type_iterator& operator=(const std::pair& r) + { + value_type t = value_type(); + + if (string_to_type_converter(r.first,r.second,t)) + { + (*pointer_) = t; + ++pointer_; + ++insert_count_; + } + + return (*this); + } + + inline range_to_ptr_type_iterator& operator=(const std::string& s) + { + value_type t = value_type(); + + if (string_to_type_converter(to_ptr(s), to_ptr(s) + s.size(),t)) + { + (*pointer_) = t; + ++pointer_; + ++insert_count_; + } + + return (*this); + } + + template + inline void operator()(const std::pair& r) const + { + value_type t; + if (string_to_type_converter(r.first,r.second,t)) + { + (*pointer_) = t; + ++pointer_; + ++insert_count_; + } + } + + template + inline void operator()(const Iterator begin, const Iterator end) + { + (*pointer_) = string_to_type_converter(begin,end); + ++pointer_; + ++insert_count_; + } + + inline range_to_ptr_type_iterator& operator*() + { + return (*this); + } + + inline range_to_ptr_type_iterator& operator++() + { + return (*this); + } + + inline range_to_ptr_type_iterator operator++(int) + { + return (*this); + } + + private: + + T* pointer_; + std::size_t& insert_count_; + }; + + template + inline range_to_ptr_type_iterator range_to_ptr_type(T* pointer, std::size_t& insert_count) + { + return (range_to_ptr_type_iterator(pointer,insert_count)); + } + + template + inline range_to_ptr_type_iterator range_to_ptr_type(T* pointer) + { + static std::size_t insert_count = 0; + return (range_to_ptr_type_iterator(pointer,insert_count)); + } + + template + class counting_back_inserter_iterator : public std::iterator + { + public: + + explicit inline counting_back_inserter_iterator(std::size_t& counter) + : counter_(counter) + {} + + counting_back_inserter_iterator(const counting_back_inserter_iterator& itr) + : counter_(itr.counter_) + {} + + inline counting_back_inserter_iterator& operator=(const counting_back_inserter_iterator& itr) + { + if (this != &itr) + { + this->counter_ = itr.counter_; + } + + return (*this); + } + + inline counting_back_inserter_iterator& operator=(const T&) + { + ++counter_; + return (*this); + } + + inline void operator()(const T&) + { + ++counter_; + } + + inline counting_back_inserter_iterator& operator*() + { + return (*this); + } + + inline counting_back_inserter_iterator& operator++() + { + return (*this); + } + + inline counting_back_inserter_iterator operator++(int) + { + return (*this); + } + + private: + + std::size_t& counter_; + }; + + template + inline counting_back_inserter_iterator counting_back_inserter(std::size_t& counter_) + { + return (counting_back_inserter_iterator(counter_)); + } + + template + class functional_inserter_iterator : public std::iterator + { + public: + + explicit inline functional_inserter_iterator(Function function) + : function_(function) + {} + + functional_inserter_iterator(const functional_inserter_iterator& itr) + : function_(itr.function_) + {} + + inline functional_inserter_iterator& operator=(const functional_inserter_iterator& itr) + { + if (this != &itr) + { + this->function_ = itr.function_; + } + + return (*this); + } + + template + inline functional_inserter_iterator& operator=(const T& t) + { + function_(t); + return (*this); + } + + template + inline void operator()(const T& t) + { + function_(t); + } + + inline functional_inserter_iterator& operator*() + { + return (*this); + } + + inline functional_inserter_iterator& operator++() + { + return (*this); + } + + inline functional_inserter_iterator operator++(int) + { + return (*this); + } + + private: + + Function function_; + }; + + template + inline functional_inserter_iterator functional_inserter(Function function) + { + return (functional_inserter_iterator(function)); + } + + namespace split_options + { + typedef std::size_t type; + enum + { + default_mode = 0, + compress_delimiters = 1, + include_1st_delimiter = 2, + include_all_delimiters = 4 + }; + + static inline bool perform_compress_delimiters(const type& split_opt) + { + return compress_delimiters == (split_opt & compress_delimiters); + } + + static inline bool perform_include_1st_delimiter(const type& split_opt) + { + return include_1st_delimiter == (split_opt & include_1st_delimiter); + } + + static inline bool perform_include_all_delimiters(const type& split_opt) + { + return include_all_delimiters == (split_opt & include_all_delimiters); + } + + } // namespace split_options + + namespace details + { + template + inline std::size_t split_compress_delimiters(const DelimiterPredicate& delimiter, + const Iterator begin, + const Iterator end, + OutputIterator out) + { + std::size_t token_count = 0; + std::pair range(begin,begin); + + while (end != range.second) + { + if (delimiter(*range.second)) + { + (*out) = range; + ++out; + while ((end != ++range.second) && delimiter(*range.second)); + range.first = range.second; + if (end != range.second) + ++range.second; + ++token_count; + } + else + ++range.second; + } + + if ((range.first != range.second) || delimiter(*(range.second - 1))) + { + (*out) = range; + ++out; + ++token_count; + } + + return token_count; + } + } + + template + inline std::size_t split(const DelimiterPredicate& delimiter, + const Iterator begin, + const Iterator end, + OutputIterator out, + const split_options::type split_option = split_options::default_mode) + { + if (begin == end) return 0; + + const bool compress_delimiters = split_options::perform_compress_delimiters(split_option); + const bool include_1st_delimiter = split_options::perform_include_1st_delimiter(split_option); + const bool include_all_delimiters = (!include_1st_delimiter) && split_options::perform_include_all_delimiters(split_option); + const bool include_delimiters = include_1st_delimiter || include_all_delimiters; + + if (compress_delimiters && (!include_delimiters)) + { + return details::split_compress_delimiters(delimiter,begin,end,out); + } + + std::size_t token_count = 0; + std::pair range(begin,begin); + + while (end != range.second) + { + if (delimiter(*range.second)) + { + if (include_delimiters) + { + if (include_1st_delimiter) + ++range.second; + else if (include_all_delimiters) + while ((end != range.second) && delimiter(*range.second)) ++range.second; + (*out) = range; + ++out; + if ((!include_all_delimiters) && compress_delimiters) + while ((end != range.second) && delimiter(*range.second)) ++range.second; + } + else + { + (*out) = range; + ++out; + ++range.second; + } + ++token_count; + range.first = range.second; + } + else + ++range.second; + } + + if ((range.first != range.second) || delimiter(*(range.second - 1))) + { + (*out) = range; + ++out; + ++token_count; + } + + return token_count; + } + + template + inline std::size_t split(const DelimiterPredicate& delimiter, + const std::pair& range, + OutputIterator out, + const split_options::type split_option = split_options::default_mode) + { + return split(delimiter, + range.first,range.second, + out, + split_option); + } + + template + inline std::size_t split(const char* delimiters, + const std::pair& range, + OutputIterator out, + const split_options::type split_option = split_options::default_mode) + { + if (1 == details::strnlength(delimiters,256)) + return split(single_delimiter_predicate(delimiters[0]), + range.first,range.second, + out, + split_option); + else + return split(multiple_char_delimiter_predicate(delimiters), + range.first,range.second, + out, + split_option); + } + + template + inline std::size_t split(const std::string& delimiters, + const std::pair& range, + OutputIterator out, + const split_options::type split_option = split_options::default_mode) + { + if (1 == delimiters.size()) + return split(single_delimiter_predicate(delimiters[0]), + range.first,range.second, + out, + split_option); + else + return split(multiple_char_delimiter_predicate(delimiters), + range.first,range.second, + out, + split_option); + } + + template + inline std::size_t split(const char* delimiters, + const std::string& str, + OutputIterator out, + const split_options::type& split_option = split_options::default_mode) + { + if (1 == details::strnlength(delimiters,256)) + return split(single_delimiter_predicate(delimiters[0]), + to_ptr(str), to_ptr(str) + str.size(), + out, + split_option); + else + return split(multiple_char_delimiter_predicate(delimiters), + to_ptr(str), to_ptr(str) + str.size(), + out, + split_option); + } + + template + inline std::size_t split(const std::string& delimiters, + const std::string& str, + OutputIterator out, + const split_options::type& split_option = split_options::default_mode) + { + if (1 == delimiters.size()) + return split(single_delimiter_predicate(delimiters[0]), + to_ptr(str), to_ptr(str) + str.size(), + out, + split_option); + else + return split(multiple_char_delimiter_predicate(delimiters), + to_ptr(str), to_ptr(str) + str.size(), + out, + split_option); + } + + template + inline std::size_t split(const std::string::value_type delimiter, + const std::string& str, + OutputIterator out, + const split_options::type& split_option = split_options::default_mode) + { + return split(single_delimiter_predicate(delimiter), + to_ptr(str), to_ptr(str) + str.size(), + out, + split_option); + } + + template class Sequence> + inline std::size_t split(const char* delimiters, + const std::string& str, + Sequence,Allocator>& sequence, + const split_options::type& split_option = split_options::default_mode) + { + if (1 == details::strnlength(delimiters,256)) + return split(single_delimiter_predicate(delimiters[0]), + to_ptr(str), to_ptr(str) + str.size(), + std::back_inserter(sequence), + split_option); + else + return split(multiple_char_delimiter_predicate(delimiters), + to_ptr(str), to_ptr(str) + str.size(), + std::back_inserter(sequence), + split_option); + } + + template class Sequence> + inline std::size_t split(const std::string& delimiters, + const std::string& str, + Sequence,Allocator>& sequence, + const split_options::type& split_option = split_options::default_mode) + { + if (1 == delimiters.size()) + return split(single_delimiter_predicate(delimiters[0]), + to_ptr(str), to_ptr(str) + str.size(), + std::back_inserter(sequence), + split_option); + else + return split(multiple_char_delimiter_predicate(delimiters), + to_ptr(str), to_ptr(str) + str.size(), + std::back_inserter(sequence), + split_option); + } + + template + inline std::size_t split(const DelimiterPredicate& delimiter, + const std::string& str, + OutputIterator out, + const split_options::type& split_option = split_options::default_mode) + { + return split(delimiter, + to_ptr(str), to_ptr(str) + str.size(), + out, + split_option); + } + + template + inline std::size_t split_n(const DelimiterPredicate& delimiter, + const Iterator begin, + const Iterator end, + const std::size_t& token_count, + OutputIterator out, + const split_options::type& split_option = split_options::default_mode) + { + if (0 == token_count) return 0; + + if (begin == end) return 0; + + std::size_t match_count = 0; + std::pair range(begin,begin); + + const bool compress_delimiters = split_options::perform_compress_delimiters(split_option); + const bool include_1st_delimiter = split_options::perform_include_1st_delimiter(split_option); + const bool include_all_delimiters = (!include_1st_delimiter) && split_options::perform_include_all_delimiters(split_option); + const bool include_delimiters = include_1st_delimiter || include_all_delimiters; + + while (end != range.second) + { + if (delimiter(*range.second)) + { + if (include_delimiters) + { + ++range.second; + (*out) = range; + ++out; + + if (++match_count >= token_count) + return match_count; + + if (compress_delimiters) + while ((end != range.second) && delimiter(*range.second)) ++range.second; + } + else + { + (*out) = range; + ++out; + + if (++match_count >= token_count) + return match_count; + + if (compress_delimiters) + while ((end != (++range.second)) && delimiter(*range.second)) ; + else + ++range.second; + } + + range.first = range.second; + } + else + ++range.second; + } + + if ((range.first != range.second) || delimiter(*(range.second - 1))) + { + (*out) = range; + ++out; + ++match_count; + } + + return match_count; + } + + template + inline std::size_t split_n(const char* delimiters, + const std::string& str, + const std::size_t& token_count, + OutputIterator out, + const split_options::type& split_option = split_options::default_mode) + { + return split_n(multiple_char_delimiter_predicate(delimiters), + to_ptr(str), to_ptr(str) + str.size(), + token_count, + out, + split_option); + } + + template + inline std::size_t split_n(const std::string& delimiters, + const std::string& str, + const std::size_t& token_count, + OutputIterator out, + const split_options::type& split_option = split_options::default_mode) + { + if (1 == delimiters.size()) + return split_n(single_delimiter_predicate(delimiters[0]), + to_ptr(str), to_ptr(str) + str.size(), + token_count, + out, + split_option); + else + return split_n(multiple_char_delimiter_predicate(delimiters), + to_ptr(str), to_ptr(str) + str.size(), + token_count, + out, + split_option); + } + + template + inline std::size_t split_n(const std::string& delimiters, + const InputIterator begin, + const InputIterator end, + const std::size_t& token_count, + OutputIterator out, + const split_options::type& split_option = split_options::default_mode) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + if (1 == delimiters.size()) + return split_n(single_delimiter_predicate(delimiters[0]), + begin,end, + token_count, + out, + split_option); + else + return split_n(multiple_char_delimiter_predicate(delimiters), + begin,end, + token_count, + out, + split_option); + } + + template + inline std::size_t split_n(const std::string::value_type delimiter, + const std::string& str, + const std::size_t& token_count, + OutputIterator out, + const split_options::type& split_option = split_options::default_mode) + { + return split_n(single_delimiter_predicate(delimiter), + to_ptr(str), to_ptr(str) + str.size(), + token_count, + out, + split_option); + } + + template + inline std::size_t split_n(const DelimiterPredicate& delimiter, + const std::string& str, + const std::size_t& token_count, + OutputIterator out, + const split_options::type& split_option = split_options::default_mode) + { + return split_n(delimiter, + to_ptr(str), to_ptr(str) + str.size(), + token_count, + out, + split_option); + } + + #ifdef strtk_enable_regex + + static const std::string uri_expression ("((https?|ftp)\\://((\\[?(\\d{1,3}\\.){3}\\d{1,3}\\]?)|(([-a-zA-Z0-9]+\\.)+[a-zA-Z]{2,4}))(\\:\\d+)?(/[-a-zA-Z0-9._?,+&%$#=~\\\\]+)*/?)"); + static const std::string email_expression ("([\\w\\-\\.]+)@((\\[([0-9]{1,3}\\.){3}[0-9]{1,3}\\])|(([\\w\\-]+\\.)+)([a-zA-Z]{2,4}))"); + static const std::string ip_expression ("(([0-2]*[0-9]+[0-9]+)\\.([0-2]*[0-9]+[0-9]+)\\.([0-2]*[0-9]+[0-9]+)\\.([0-2]*[0-9]+[0-9]+))"); + static const std::string ieee754_expression ("([-+]?((\\.[0-9]+|[0-9]+\\.[0-9]+)([eE][-+][0-9]+)?|[0-9]+))"); + + namespace regex_match_mode + { + enum type + { + match_all = 0, + match_1 = 1, + match_2 = 2, + match_3 = 3, + match_4 = 4, + match_5 = 5, + match_6 = 6, + match_7 = 7, + match_8 = 8, + match_9 = 9 + }; + } + + template + inline std::size_t split_regex(const boost::regex& delimiter_expression, + const InputIterator begin, + const InputIterator end, + OutputIterator out, + const regex_match_mode::type mode = regex_match_mode::match_all) + { + boost::regex_iterator itr(begin,end,delimiter_expression); + boost::regex_iterator itr_end; + std::pair range(begin,begin); + std::size_t match_count = 0; + + while (itr_end != itr) + { + range.first = (*itr)[mode].first; + range.second = (*itr)[mode].second; + (*out) = range; + ++out; + ++itr; + ++match_count; + } + + return match_count; + } + + template + inline std::size_t split_regex(const std::string& delimiter_expression, + const InputIterator begin, + const InputIterator end, + OutputIterator out, + const regex_match_mode::type mode = regex_match_mode::match_all) + { + const boost::regex regex_expression(delimiter_expression); + return split_regex(regex_expression, + begin,end, + out, + mode); + } + + template + inline std::size_t split_regex(const std::string& delimiter_expression, + const std::string& text, + OutputIterator out, + const regex_match_mode::type mode = regex_match_mode::match_all) + { + return split_regex(delimiter_expression, + text.begin(),text.end(), + out, + mode); + } + + template + inline std::size_t split_regex(const boost::regex& delimiter_expression, + const std::string& text, + OutputIterator out, + const regex_match_mode::type mode = regex_match_mode::match_all) + { + return split_regex(delimiter_expression, + text.begin(),text.end(), + out, + mode); + } + + template + inline std::size_t split_regex_n(const boost::regex& delimiter_expression, + const InputIterator begin, + const InputIterator end, + const std::size_t& token_count, + OutputIterator out, + const regex_match_mode::type mode = regex_match_mode::match_all) + { + boost::sregex_iterator itr(begin,end,delimiter_expression); + const boost::sregex_iterator itr_end; + std::pair range(begin,begin); + std::size_t match_count = 0; + + while (itr_end != itr) + { + range.first = (*itr)[mode].first; + range.second = (*itr)[mode].second; + (*out) = range; + ++out; + ++itr; + + if (++match_count >= token_count) + return match_count; + } + + return match_count; + } + + template + inline std::size_t split_regex_n(const std::string& delimiter_expression, + const InputIterator begin, + const InputIterator end, + const std::size_t& token_count, + OutputIterator out, + const regex_match_mode::type mode = regex_match_mode::match_all) + { + const boost::regex regex_expression(delimiter_expression); + return split_regex_n(regex_expression, + begin,end, + token_count, + out, + mode); + } + + template + inline std::size_t split_regex_n(const std::string& delimiter_expression, + const std::string& text, + const std::size_t& token_count, + OutputIterator out, + const regex_match_mode::type mode = regex_match_mode::match_all) + { + return split_regex_n(delimiter_expression, + text.begin(),text.end(), + token_count, + out, + mode); + } + + template + inline std::size_t split_regex_n(const boost::regex& delimiter_expression, + const std::string& text, + const std::size_t& token_count, + OutputIterator out, + const regex_match_mode::type mode = regex_match_mode::match_all) + { + return split_regex_n(delimiter_expression, + text.begin(),text.end(), + token_count, + out, + mode); + } + + #endif // strtk_enable_regex + + template + class offset_predicate + { + public: + + offset_predicate(const int offset_list[], const bool rotate = false) + : rotate_(rotate), + current_index_(0) + { + std::copy(offset_list, offset_list + offset_list_size, offset_list_); + offset_list_[offset_list_size] = 0; + } + + inline bool operator!() const + { + return (0 == offset_list_size); + } + + inline void reset() const + { + current_index_ = 0; + } + + inline std::size_t size() const + { + return offset_list_size; + } + + inline int next() const + { + int result = offset_list_[current_index_++]; + + if (rotate_ && (current_index_ >= offset_list_size)) + { + current_index_ = 0; + } + + return result; + } + + private: + + bool rotate_; + mutable std::size_t current_index_; + int offset_list_[offset_list_size + 1]; + }; + + inline offset_predicate<12> offsets(const int& v1, const int& v2, const int& v3, + const int& v4, const int& v5, const int& v6, + const int& v7, const int& v8, const int& v9, + const int& v10, const int& v11, const int& v12, + const bool& rotate = false) + { + const int offset_list[12] = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12 }; + return offset_predicate<12>(offset_list,rotate); + } + + inline offset_predicate<11> offsets(const int& v1, const int& v2, const int& v3, + const int& v4, const int& v5, const int& v6, + const int& v7, const int& v8, const int& v9, + const int& v10, const int& v11, + const bool& rotate = false) + { + const int offset_list[11] = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11 }; + return offset_predicate<11>(offset_list,rotate); + } + + inline offset_predicate<10> offsets(const int& v1, const int& v2, const int& v3, + const int& v4, const int& v5, const int& v6, + const int& v7, const int& v8, const int& v9, + const int& v10, const bool& rotate = false) + { + const int offset_list[10] = { v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 }; + return offset_predicate<10>(offset_list,rotate); + } + + inline offset_predicate<9> offsets(const int& v1, const int& v2, const int& v3, + const int& v4, const int& v5, const int& v6, + const int& v7, const int& v8, const int& v9, + const bool& rotate = false) + { + const int offset_list[9] = { v1, v2, v3, v4, v5, v6, v7, v8, v9 }; + return offset_predicate<9>(offset_list,rotate); + } + + inline offset_predicate<8> offsets(const int& v1, const int& v2, const int& v3, + const int& v4, const int& v5, const int& v6, + const int& v7, const int& v8, const bool& rotate = false) + { + const int offset_list[8] = { v1, v2, v3, v4, v5, v6, v7, v8 }; + return offset_predicate<8>(offset_list,rotate); + } + + inline offset_predicate<7> offsets(const int& v1, const int& v2, const int& v3, + const int& v4, const int& v5, const int& v6, + const int& v7, const bool& rotate = false) + { + const int offset_list[7] = { v1, v2, v3, v4, v5, v6, v7 }; + return offset_predicate<7>(offset_list,rotate); + } + + inline offset_predicate<6> offsets(const int& v1, const int& v2, const int& v3, + const int& v4, const int& v5, const int& v6, + const bool& rotate = false) + { + const int offset_list[6] = { v1, v2, v3, v4, v5, v6 }; + return offset_predicate<6>(offset_list,rotate); + } + + inline offset_predicate<5> offsets(const int& v1, const int& v2, const int& v3, + const int& v4, const int& v5, const bool& rotate = false) + { + const int offset_list[5] = { v1, v2, v3, v4, v5 }; + return offset_predicate<5>(offset_list,rotate); + } + + inline offset_predicate<4> offsets(const int& v1, const int& v2, const int& v3, + const int& v4, const bool& rotate = false) + { + const int offset_list[4] = { v1, v2, v3, v4 }; + return offset_predicate<4>(offset_list,rotate); + } + + inline offset_predicate<3> offsets(const int& v1, const int& v2, const int& v3, + const bool& rotate = false) + { + const int offset_list[3] = { v1, v2, v3 }; + return offset_predicate<3>(offset_list,rotate); + } + + inline offset_predicate<2> offsets(const int& v1, const int& v2, const bool& rotate = false) + { + const int offset_list[2] = { v1, v2 }; + return offset_predicate<2>(offset_list,rotate); + } + + inline offset_predicate<1> offsets(const int& v1, + const bool& rotate = false) + { + const int offset_list[1] = { v1 }; + return offset_predicate<1>(offset_list,rotate); + } + + template + inline std::size_t offset_splitter(const InputIterator begin, + const InputIterator end, + const OffsetPredicate& offset, + OutputIterator out) + { + std::size_t length = 0; + + if (0 == (length = std::distance(begin,end))) return 0; + + std::pair range(begin,begin); + std::size_t match_count = 0; + int offset_length = 0; + std::size_t increment_amount = 0; + + while ((end != range.second) && (0 < (offset_length = offset.next()))) + { + increment_amount = std::min(length,offset_length); + range.first = range.second; + range.second += increment_amount; + length -= increment_amount; + (*out) = range; + ++out; + ++match_count; + } + + return match_count; + } + + template + inline std::size_t offset_splitter(const std::string& str, + const OffsetPredicate& offset, + OutputIterator out) + { + return offset_splitter(to_ptr(str), to_ptr(str) + str.size(), offset, out); + } + + template + inline bool split_pair(const InputIterator begin, + const InputIterator end, + const Predicate& delimiter, + OutputPair& v1, + OutputPair& v2) + { + if (0 == std::distance(begin,end)) return false; + + InputIterator itr = begin; + + while (end != itr) + { + if (delimiter(*itr)) + { + v1 = std::make_pair(begin,itr); + ++itr; + if (0 != std::distance(itr,end)) + { + v2 = std::make_pair(itr,end); + return true; + } + else + return false; + } + else + ++itr; + } + + return false; + } + + inline bool split_pair(const std::string::value_type delimiter, + const std::string& str, + std::pair& v1, + std::pair& v2) + { + return split_pair(to_ptr(str), to_ptr(str) + str.size(), + single_delimiter_predicate(delimiter), + v1, + v2); + } + + template + inline bool split_pair(const DelimiterPredicate& delimiter, + const std::string& str, + std::pair& v1, + std::pair& v2) + { + return split_pair(to_ptr(str), to_ptr(str) + str.size(), + delimiter, + v1, + v2); + } + + template + inline std::size_t for_each_token(const std::string& buffer, + const std::string& delimiters, + Function function) + { + return split(delimiters, + buffer, + strtk::functional_inserter(function)); + } + + template + inline std::size_t for_each_token(const std::string& buffer, + const char* delimiters, + Function function) + { + return split(delimiters, + buffer, + strtk::functional_inserter(function)); + } + + template + inline std::size_t count_consecutive_duplicates(const InputIterator begin, const InputIterator end) + { + if (std::distance(begin,end) < 2) return 0; + + InputIterator prev = begin; + InputIterator itr = begin; + std::size_t count = 0; + + while (end != ++itr) + { + if ((*prev) == (*itr)) + ++count; + else + prev = itr; + } + + return count; + } + + template class Sequence> + inline T min_of_cont(const Sequence& sequence) + { + return (*std::min_element(sequence.begin(),sequence.end())); + } + + template + inline T min_of_cont(const std::set& set) + { + return (*set.begin()); + } + + template + inline T min_of_cont(const std::multiset& multiset) + { + return (*multiset.begin()); + } + + template class Sequence> + inline T max_of_cont(const Sequence& sequence) + { + return (*std::max_element(sequence.begin(),sequence.end())); + } + + template + inline T max_of_cont(const std::set& set) + { + return (*set.rbegin()); + } + + template + inline T max_of_cont(const std::multiset& multiset) + { + return (*multiset.rbegin()); + } + + template + inline void min_max_of_range(const InputIterator begin, const InputIterator end, + typename std::iterator_traits::value_type& min_value, + typename std::iterator_traits::value_type& max_value) + { + min_value = *begin; + max_value = *begin; + InputIterator itr = begin; + while (end != ++itr) + { + if (*itr < min_value) + min_value = (*itr); + else if (*itr > max_value) + max_value = (*itr); + } + } + + template class Sequence> + inline void min_max_of_cont(const Sequence& sequence, + T& min_value, + T& max_value) + { + min_max_of_range(sequence.begin(),sequence.end(), + min_value, + max_value); + } + + template + inline void min_max_of_cont(const std::set& set, + T& min_value, + T& max_value) + { + min_value = (*set.begin()); + max_value = (*set.rbegin()); + } + + template + inline void min_max_of_cont(const std::multiset& multiset, + T& min_value, + T& max_value) + { + min_value = (*multiset.begin()); + max_value = (*multiset.rbegin()); + } + + template + inline void lexicographically_canonicalize(Iterator begin, Iterator end) + { + typedef typename std::iterator_traits::value_type type; + typedef typename std::pair iter_type; + typedef typename std::list itr_list_type; + itr_list_type itr_list; + + type smallest = (*std::min_element(begin,end)); + + for (Iterator itr = begin; itr != end; ++itr) + { + if (*itr == smallest) itr_list.push_back(std::make_pair(itr,itr)); + } + + while (itr_list.size() > 1) + { + typename itr_list_type::iterator itr = itr_list.begin(); + while (itr_list.end() != itr) + { + ++(*itr).first; + if (end == (*itr).first) + itr = itr_list.erase(itr); + else + ++itr; + } + + smallest = *(*itr_list.begin()).first; + + for (itr = (++itr_list.begin()); itr != itr_list.end(); ++itr) + { + if (*(*itr).first < smallest) + { + smallest = *(*itr).first; + } + } + + itr = itr_list.begin(); + while (itr_list.end() != itr) + { + if (*(*itr).first != smallest) + itr = itr_list.erase(itr); + else + ++itr; + } + + itr = itr_list.begin(); + while (itr_list.end() != itr) + { + if (end == (*itr).first) + itr = itr_list.erase(itr); + else + ++itr; + } + } + + std::rotate(begin,(*itr_list.begin()).second,end); + } + + inline void lexicographically_canonicalize(std::string& str) + { + lexicographically_canonicalize(const_cast(to_ptr(str)), + const_cast(to_ptr(str) + str.size())); + } + + template class Sequence> + inline void lexicographically_canonicalize(Sequence& sequence) + { + lexicographically_canonicalize(sequence.begin(), sequence.end()); + } + + inline const char* first_non_repeated_char(const char* begin, const char* end) + { + static const std::size_t lut_size = 256; + unsigned long long int lut[lut_size]; + + std::fill_n(lut,lut_size,std::numeric_limits::max()); + + static const unsigned long long int not_yet_encountered = std::numeric_limits::max(); + static const unsigned long long int repeated = not_yet_encountered - 1; + + const char* itr = begin; + unsigned long long int position = 0; + + while (end != itr) + { + unsigned long long int& element = lut[static_cast(*itr)]; + + if (not_yet_encountered == element) + { + element = position; + } + else if (element < repeated) + { + element = repeated; + } + ++itr; + ++position; + } + + position = repeated; + + for (std::size_t i = 0; i < lut_size; ++i) + { + if (lut[i] < position) + position = lut[i]; + } + + return (repeated != position) ? (begin + position) : end; + } + + inline const unsigned char* first_non_repeated_char(const unsigned char* begin, const unsigned char* end) + { + char * b = reinterpret_cast(const_cast(begin)); + char * e = reinterpret_cast(const_cast(end)); + + return const_cast(reinterpret_cast(const_cast(first_non_repeated_char(b,e)))); + } + + inline std::size_t first_non_repeated_char(const std::string& str) + { + if (str.empty()) + return static_cast(std::string::npos); + + const char* itr = first_non_repeated_char(to_ptr(str), to_ptr(str) + str.size()); + + if ((to_ptr(str) + str.size()) != itr) + return static_cast(itr - to_ptr(str)); + else + return static_cast(std::string::npos); + } + + inline void convert_bin_to_hex(const unsigned char* begin, const unsigned char* end, unsigned char* out) + { + static const unsigned short hex_lut[] = + { + 0x3030, 0x3130, 0x3230, 0x3330, 0x3430, 0x3530, 0x3630, 0x3730, + 0x3830, 0x3930, 0x4130, 0x4230, 0x4330, 0x4430, 0x4530, 0x4630, + 0x3031, 0x3131, 0x3231, 0x3331, 0x3431, 0x3531, 0x3631, 0x3731, + 0x3831, 0x3931, 0x4131, 0x4231, 0x4331, 0x4431, 0x4531, 0x4631, + 0x3032, 0x3132, 0x3232, 0x3332, 0x3432, 0x3532, 0x3632, 0x3732, + 0x3832, 0x3932, 0x4132, 0x4232, 0x4332, 0x4432, 0x4532, 0x4632, + 0x3033, 0x3133, 0x3233, 0x3333, 0x3433, 0x3533, 0x3633, 0x3733, + 0x3833, 0x3933, 0x4133, 0x4233, 0x4333, 0x4433, 0x4533, 0x4633, + 0x3034, 0x3134, 0x3234, 0x3334, 0x3434, 0x3534, 0x3634, 0x3734, + 0x3834, 0x3934, 0x4134, 0x4234, 0x4334, 0x4434, 0x4534, 0x4634, + 0x3035, 0x3135, 0x3235, 0x3335, 0x3435, 0x3535, 0x3635, 0x3735, + 0x3835, 0x3935, 0x4135, 0x4235, 0x4335, 0x4435, 0x4535, 0x4635, + 0x3036, 0x3136, 0x3236, 0x3336, 0x3436, 0x3536, 0x3636, 0x3736, + 0x3836, 0x3936, 0x4136, 0x4236, 0x4336, 0x4436, 0x4536, 0x4636, + 0x3037, 0x3137, 0x3237, 0x3337, 0x3437, 0x3537, 0x3637, 0x3737, + 0x3837, 0x3937, 0x4137, 0x4237, 0x4337, 0x4437, 0x4537, 0x4637, + 0x3038, 0x3138, 0x3238, 0x3338, 0x3438, 0x3538, 0x3638, 0x3738, + 0x3838, 0x3938, 0x4138, 0x4238, 0x4338, 0x4438, 0x4538, 0x4638, + 0x3039, 0x3139, 0x3239, 0x3339, 0x3439, 0x3539, 0x3639, 0x3739, + 0x3839, 0x3939, 0x4139, 0x4239, 0x4339, 0x4439, 0x4539, 0x4639, + 0x3041, 0x3141, 0x3241, 0x3341, 0x3441, 0x3541, 0x3641, 0x3741, + 0x3841, 0x3941, 0x4141, 0x4241, 0x4341, 0x4441, 0x4541, 0x4641, + 0x3042, 0x3142, 0x3242, 0x3342, 0x3442, 0x3542, 0x3642, 0x3742, + 0x3842, 0x3942, 0x4142, 0x4242, 0x4342, 0x4442, 0x4542, 0x4642, + 0x3043, 0x3143, 0x3243, 0x3343, 0x3443, 0x3543, 0x3643, 0x3743, + 0x3843, 0x3943, 0x4143, 0x4243, 0x4343, 0x4443, 0x4543, 0x4643, + 0x3044, 0x3144, 0x3244, 0x3344, 0x3444, 0x3544, 0x3644, 0x3744, + 0x3844, 0x3944, 0x4144, 0x4244, 0x4344, 0x4444, 0x4544, 0x4644, + 0x3045, 0x3145, 0x3245, 0x3345, 0x3445, 0x3545, 0x3645, 0x3745, + 0x3845, 0x3945, 0x4145, 0x4245, 0x4345, 0x4445, 0x4545, 0x4645, + 0x3046, 0x3146, 0x3246, 0x3346, 0x3446, 0x3546, 0x3646, 0x3746, + 0x3846, 0x3946, 0x4146, 0x4246, 0x4346, 0x4446, 0x4546, 0x4646 + }; + + for (const unsigned char* itr = begin; end != itr; ++itr) + { + *reinterpret_cast(out) = hex_lut[(*itr)]; + out += sizeof(unsigned short); + } + } + + inline void convert_bin_to_hex(const char* begin, const char* end, char* out) + { + convert_bin_to_hex(reinterpret_cast(begin), + reinterpret_cast(end), + reinterpret_cast(out)); + } + + inline void convert_bin_to_hex(const std::pair& r, unsigned char* out) + { + convert_bin_to_hex(r.first,r.second,out); + } + + inline void convert_bin_to_hex(const std::pair& r, unsigned char* out) + { + convert_bin_to_hex(r.first,r.second,out); + } + + inline void convert_bin_to_hex(const std::pair& r, char* out) + { + convert_bin_to_hex(r.first,r.second,out); + } + + inline void convert_bin_to_hex(const std::string& binary_data, std::string& output) + { + output.resize(binary_data.size() * 2); + + convert_bin_to_hex(to_ptr(binary_data), + to_ptr(binary_data) + binary_data.size(), + const_cast(to_ptr(output))); + } + + inline std::string convert_bin_to_hex(const std::string& binary_data) + { + std::string output; + convert_bin_to_hex(binary_data,output); + return output; + } + + inline bool convert_hex_to_bin(const unsigned char* begin, const unsigned char* end, unsigned char* out) + { + const std::size_t length = std::distance(begin,end); + + if (0 == length) + return false; + else if (1 == (length % 2)) + return false; + + static const unsigned char hex_to_bin[] = + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x00 - 0x07 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x08 - 0x0F + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x10 - 0x17 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x18 - 0x1F + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x20 - 0x27 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x28 - 0x2F + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, // 0x30 - 0x37 + 0x08, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x38 - 0x3F + 0x00, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x00, // 0x40 - 0x47 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x48 - 0x4F + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x50 - 0x57 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x58 - 0x5F + 0x00, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x00, // 0x60 - 0x67 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x68 - 0x6F + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x70 - 0x77 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x78 - 0x7F + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 - 0x87 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x88 - 0x8F + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x90 - 0x97 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x98 - 0x9F + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xA0 - 0xA7 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xA8 - 0xAF + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xB0 - 0xB7 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xB8 - 0xBF + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC0 - 0xC7 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xC8 - 0xCF + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD0 - 0xD7 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xD8 - 0xDF + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xE0 - 0xE7 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xE8 - 0xEF + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xF0 - 0xF7 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 0xF8 - 0xFF + }; + + const unsigned char* itr = begin; + + while (end != itr) + { + *reinterpret_cast(out) = static_cast(hex_to_bin[itr[0]] << 4 | hex_to_bin[itr[1]]); + ++out; + itr += 2; + } + + return true; + } + + inline bool convert_hex_to_bin(const char* begin, const char* end, char* out) + { + return convert_hex_to_bin(reinterpret_cast(begin), + reinterpret_cast(end), + reinterpret_cast(out)); + } + + inline bool convert_hex_to_bin(const std::pair& r, unsigned char* out) + { + return convert_hex_to_bin(r.first,r.second,out); + } + + inline bool convert_hex_to_bin(const std::pair& r, unsigned char* out) + { + return convert_hex_to_bin(r.first,r.second,out); + } + + inline bool convert_hex_to_bin(const std::pair& r, char* out) + { + return convert_hex_to_bin(r.first,r.second,out); + } + + inline bool convert_hex_to_bin(const std::pair& r, char* out) + { + return convert_hex_to_bin(r.first,r.second,out); + } + + inline bool convert_hex_to_bin(const std::string& hex_data, std::string& output) + { + if (hex_data.empty() || (1 == (hex_data.size() % 2))) + return false; + + output.resize(hex_data.size() >> 1); + + return convert_hex_to_bin(to_ptr(hex_data), + to_ptr(hex_data) + hex_data.size(), + const_cast(to_ptr(output))); + } + + inline std::size_t convert_bin_to_base64(const unsigned char* begin, const unsigned char* end, unsigned char* out) + { + static const unsigned char bin_to_base64 [] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + + const std::size_t length = std::distance(begin,end); + + std::size_t rounds = length / 3; + const unsigned char* itr = begin; + + for (std::size_t i = 0; i < rounds; ++i) + { + unsigned int block = *(itr++) << 16; + block |= *(itr++) << 8; + block |= *(itr++) ; + *(out++) = bin_to_base64[( block >> 18 ) & 0x3F]; + *(out++) = bin_to_base64[( block >> 12 ) & 0x3F]; + *(out++) = bin_to_base64[( block >> 6 ) & 0x3F]; + *(out++) = bin_to_base64[( block ) & 0x3F]; + } + + if ((rounds = (length % 3)) > 0) + { + switch (rounds) + { + case 1 : { + unsigned int block = (unsigned char) (*itr) << 16; + *(out++) = bin_to_base64[( block >> 18 ) & 0x3F]; + *(out++) = bin_to_base64[( block >> 12 ) & 0x3F]; + *(out++) = '='; + *(out++) = '='; + } + break; + + case 2 : { + unsigned int block = *(itr++) << 16; + block |= *(itr++) << 8; + *(out++) = bin_to_base64[( block >> 18 ) & 0x3F]; + *(out++) = bin_to_base64[( block >> 12 ) & 0x3F]; + *(out++) = bin_to_base64[( block >> 6 ) & 0x3F]; + *(out++) = '='; + } + break; + } + } + + return static_cast((length / 3) * 4) + ((length % 3) > 0 ? 4 : 0); + } + + inline std::size_t convert_bin_to_base64(const char* begin, const char* end, char* out) + { + return convert_bin_to_base64(reinterpret_cast(begin), + reinterpret_cast(end ), + reinterpret_cast(out )); + } + + inline void convert_bin_to_base64(const std::string& binary_data, std::string& output) + { + output.resize(std::max(4,binary_data.size() << 1)); + + std::size_t resize = convert_bin_to_base64(to_ptr(binary_data), + to_ptr(binary_data) + binary_data.size(), + const_cast(to_ptr(output))); + output.resize(resize); + } + + inline std::size_t convert_base64_to_bin(const unsigned char* begin, const unsigned char* end, unsigned char* out) + { + static const unsigned char base64_to_bin[] = + { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x00 - 0x07 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x08 - 0x0F + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x10 - 0x17 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x18 - 0x1F + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x20 - 0x27 + 0xFF, 0xFF, 0xFF, 0x3E, 0xFF, 0xFF, 0xFF, 0x3F, // 0x28 - 0x2F + 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, // 0x30 - 0x37 + 0x3C, 0x3D, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x38 - 0x3F + 0xFF, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, // 0x40 - 0x47 + 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, // 0x48 - 0x4F + 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, // 0x50 - 0x57 + 0x17, 0x18, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x58 - 0x5F + 0xFF, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, // 0x60 - 0x67 + 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, // 0x68 - 0x6F + 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, // 0x70 - 0x77 + 0x31, 0x32, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x78 - 0x7F + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x80 - 0x87 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x88 - 0x8F + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x90 - 0x97 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x98 - 0x9F + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xA0 - 0xA7 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xA8 - 0xAF + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xB0 - 0xB7 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xB8 - 0xBF + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xC0 - 0xC7 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xC8 - 0xCF + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xD0 - 0xD7 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xD8 - 0xDF + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xE0 - 0xE7 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xE8 - 0xEF + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xF0 - 0xF7 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF // 0xF8 - 0xFF + }; + + const unsigned char* end_itr = end; + + if ('=' == *(end - 2)) + end_itr = end - 2; + else if ('=' == *(end - 1)) + end_itr = end - 1; + + const std::size_t length = std::distance(begin,end_itr); + const std::size_t rounds = length / 4; + const unsigned char* itr = begin; + + for (std::size_t i = 0; i < rounds; ++i) + { + unsigned int block = base64_to_bin[*(itr++)] << 18; + block |= base64_to_bin[*(itr++)] << 12; + block |= base64_to_bin[*(itr++)] << 6; + block |= base64_to_bin[*(itr++)]; + + *(out++) = static_cast(( block >> 16 ) & 0xFF); + *(out++) = static_cast(( block >> 8 ) & 0xFF); + *(out++) = static_cast(( block ) & 0xFF); + } + + const std::size_t remainder = (length % 4); + + if (remainder > 0) + { + switch (remainder) + { + case 2 : { + unsigned int block = base64_to_bin[*(itr++)] << 18; + block |= base64_to_bin[*(itr++)] << 12; + (*out) = static_cast(( block >> 16 ) & 0xFF); + } + break; + + case 3 : { + unsigned int block = base64_to_bin[*(itr++)] << 18; + block |= base64_to_bin[*(itr++)] << 12; + block |= base64_to_bin[*(itr++)] << 6; + *(out++) = static_cast(( block >> 16 ) & 0xFF); + *(out ) = static_cast(( block >> 8 ) & 0xFF); + } + break; + } + } + + return static_cast((3 * length) / 4); + } + + inline std::size_t convert_base64_to_bin(const char* begin, const char* end, char* out) + { + return convert_base64_to_bin(reinterpret_cast(begin), + reinterpret_cast(end), + reinterpret_cast(out)); + } + + inline void convert_base64_to_bin(const std::string& binary_data, std::string& output) + { + output.resize(binary_data.size()); + std::size_t resize = convert_base64_to_bin(to_ptr(binary_data), + to_ptr(binary_data) + binary_data.size(), + const_cast(to_ptr(output))); + output.resize(resize); + } + + inline void convert_to_printable_chars(unsigned char* begin, unsigned char* end) + { + static const unsigned char printable_char_table[] = + { + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0x00 - 0x07 + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0x08 - 0x0F + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0x10 - 0x17 + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0x18 - 0x1F + 0x2E, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, // 0x20 - 0x27 + 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, // 0x28 - 0x2F + 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, // 0x30 - 0x37 + 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, // 0x38 - 0x3F + 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, // 0x40 - 0x47 + 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, // 0x48 - 0x4F + 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, // 0x50 - 0x57 + 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, // 0x58 - 0x5F + 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, // 0x60 - 0x67 + 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, // 0x68 - 0x6F + 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, // 0x70 - 0x77 + 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x2E, // 0x78 - 0x7F + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0x80 - 0x87 + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0x88 - 0x8F + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0x90 - 0x97 + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0x98 - 0x9F + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0xA0 - 0xA7 + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0xA8 - 0xAF + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0xB0 - 0xB7 + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0xB8 - 0xBF + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0xC0 - 0xC7 + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0xC8 - 0xCF + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0xD0 - 0xD7 + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0xD8 - 0xDF + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0xE0 - 0xE7 + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0xE8 - 0xEF + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, // 0xF0 - 0xF7 + 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E, 0x2E // 0xF8 - 0xFF + }; + + unsigned char* itr = begin; + + while (end != itr) + { + (*itr) = printable_char_table[static_cast((*itr))]; + ++itr; + } + } + + inline void convert_to_printable_chars(char* begin, char* end) + { + convert_to_printable_chars(reinterpret_cast(begin), + reinterpret_cast(end)); + } + + inline void convert_to_printable_chars(std::string& str) + { + convert_to_printable_chars(reinterpret_cast(const_cast(to_ptr(str))), + reinterpret_cast(const_cast(to_ptr(str) + str.size()))); + } + + inline void convert_to_uppercase(unsigned char* begin, unsigned char* end) + { + //std::transform(begin,end,begin,::toupper); + unsigned char* itr = begin; + while (end != itr) + { + //(*itr) = std::toupper((*itr), std::locale::classic()); + (*itr) = static_cast(::toupper(static_cast(*itr))); + ++itr; + } + } + + inline void convert_to_uppercase(char* begin, char* end) + { + convert_to_uppercase(reinterpret_cast(begin), + reinterpret_cast(end)); + } + + inline void convert_to_uppercase(std::string& str) + { + convert_to_uppercase(reinterpret_cast(const_cast(to_ptr(str))), + reinterpret_cast(const_cast(to_ptr(str) + str.size()))); + } + + inline void convert_to_lowercase(unsigned char* begin, unsigned char* end) + { + //std::transform(begin,end,begin,::tolower); + unsigned char* itr = begin; + while (end != itr) + { + //(*itr) = std::tolower((*itr), std::locale::classic()); + (*itr) = static_cast(::tolower(static_cast(*itr))); + ++itr; + } + } + + inline void convert_to_lowercase(char* begin, char* end) + { + convert_to_lowercase(reinterpret_cast(begin), + reinterpret_cast(end)); + } + + inline void convert_to_lowercase(const char* begin, const char* end) + { + convert_to_lowercase(const_cast(begin),const_cast(end)); + } + + inline void convert_to_lowercase(std::string& str) + { + convert_to_lowercase(reinterpret_cast(const_cast(to_ptr(str))), + reinterpret_cast(const_cast(to_ptr(str) + str.size()))); + } + + inline std::string as_lowercase(const std::string& str) + { + std::string result = str; + convert_to_lowercase(result); + return result; + } + + inline std::string as_uppercase(const std::string& str) + { + std::string result = str; + convert_to_uppercase(result); + return result; + } + + inline bool twoway_bitwise_interleave(const unsigned char* begin1, const unsigned char* end1, + const unsigned char* begin2, const unsigned char* end2, + unsigned char* out) + { + if (std::distance(begin1,end1) != std::distance(begin2,end2)) + { + return false; + } + + static const std::size_t interleave_table_size = 256; + static const unsigned short interleave_table[interleave_table_size] = + { + 0x0000, 0x0001, 0x0004, 0x0005, 0x0010, 0x0011, 0x0014, 0x0015, // 0x00 - 0x07 + 0x0040, 0x0041, 0x0044, 0x0045, 0x0050, 0x0051, 0x0054, 0x0055, // 0x08 - 0x0F + 0x0100, 0x0101, 0x0104, 0x0105, 0x0110, 0x0111, 0x0114, 0x0115, // 0x10 - 0x17 + 0x0140, 0x0141, 0x0144, 0x0145, 0x0150, 0x0151, 0x0154, 0x0155, // 0x18 - 0x1F + 0x0400, 0x0401, 0x0404, 0x0405, 0x0410, 0x0411, 0x0414, 0x0415, // 0x20 - 0x27 + 0x0440, 0x0441, 0x0444, 0x0445, 0x0450, 0x0451, 0x0454, 0x0455, // 0x28 - 0x2F + 0x0500, 0x0501, 0x0504, 0x0505, 0x0510, 0x0511, 0x0514, 0x0515, // 0x30 - 0x37 + 0x0540, 0x0541, 0x0544, 0x0545, 0x0550, 0x0551, 0x0554, 0x0555, // 0x38 - 0x3F + 0x1000, 0x1001, 0x1004, 0x1005, 0x1010, 0x1011, 0x1014, 0x1015, // 0x40 - 0x47 + 0x1040, 0x1041, 0x1044, 0x1045, 0x1050, 0x1051, 0x1054, 0x1055, // 0x48 - 0x4F + 0x1100, 0x1101, 0x1104, 0x1105, 0x1110, 0x1111, 0x1114, 0x1115, // 0x50 - 0x57 + 0x1140, 0x1141, 0x1144, 0x1145, 0x1150, 0x1151, 0x1154, 0x1155, // 0x58 - 0x5F + 0x1400, 0x1401, 0x1404, 0x1405, 0x1410, 0x1411, 0x1414, 0x1415, // 0x60 - 0x67 + 0x1440, 0x1441, 0x1444, 0x1445, 0x1450, 0x1451, 0x1454, 0x1455, // 0x68 - 0x6F + 0x1500, 0x1501, 0x1504, 0x1505, 0x1510, 0x1511, 0x1514, 0x1515, // 0x70 - 0x77 + 0x1540, 0x1541, 0x1544, 0x1545, 0x1550, 0x1551, 0x1554, 0x1555, // 0x78 - 0x7F + 0x4000, 0x4001, 0x4004, 0x4005, 0x4010, 0x4011, 0x4014, 0x4015, // 0x80 - 0x87 + 0x4040, 0x4041, 0x4044, 0x4045, 0x4050, 0x4051, 0x4054, 0x4055, // 0x88 - 0x8F + 0x4100, 0x4101, 0x4104, 0x4105, 0x4110, 0x4111, 0x4114, 0x4115, // 0x90 - 0x97 + 0x4140, 0x4141, 0x4144, 0x4145, 0x4150, 0x4151, 0x4154, 0x4155, // 0x98 - 0x9F + 0x4400, 0x4401, 0x4404, 0x4405, 0x4410, 0x4411, 0x4414, 0x4415, // 0xA0 - 0xA7 + 0x4440, 0x4441, 0x4444, 0x4445, 0x4450, 0x4451, 0x4454, 0x4455, // 0xA8 - 0xAF + 0x4500, 0x4501, 0x4504, 0x4505, 0x4510, 0x4511, 0x4514, 0x4515, // 0xB0 - 0xB7 + 0x4540, 0x4541, 0x4544, 0x4545, 0x4550, 0x4551, 0x4554, 0x4555, // 0xB8 - 0xBF + 0x5000, 0x5001, 0x5004, 0x5005, 0x5010, 0x5011, 0x5014, 0x5015, // 0xC0 - 0xC7 + 0x5040, 0x5041, 0x5044, 0x5045, 0x5050, 0x5051, 0x5054, 0x5055, // 0xC8 - 0xCF + 0x5100, 0x5101, 0x5104, 0x5105, 0x5110, 0x5111, 0x5114, 0x5115, // 0xD0 - 0xD7 + 0x5140, 0x5141, 0x5144, 0x5145, 0x5150, 0x5151, 0x5154, 0x5155, // 0xD8 - 0xDF + 0x5400, 0x5401, 0x5404, 0x5405, 0x5410, 0x5411, 0x5414, 0x5415, // 0xE0 - 0xE7 + 0x5440, 0x5441, 0x5444, 0x5445, 0x5450, 0x5451, 0x5454, 0x5455, // 0xE8 - 0xEF + 0x5500, 0x5501, 0x5504, 0x5505, 0x5510, 0x5511, 0x5514, 0x5515, // 0xF0 - 0xF7 + 0x5540, 0x5541, 0x5544, 0x5545, 0x5550, 0x5551, 0x5554, 0x5555 // 0xF8 - 0xFF + }; + + const unsigned char* itr1 = begin1; + const unsigned char* itr2 = begin2; + + while (end1 != itr1) + { + *(reinterpret_cast(out)) = (interleave_table[*(itr2++)] << 1); + *(reinterpret_cast(out)) |= interleave_table[*(itr1++)]; + out += 2; + } + + return true; + } + + inline bool twoway_bitwise_interleave(const char* begin1, const char* end1, + const char* begin2, const char* end2, + char* out) + { + return twoway_bitwise_interleave(reinterpret_cast(begin1), + reinterpret_cast(end1), + reinterpret_cast(begin2), + reinterpret_cast(end2), + reinterpret_cast(out)); + } + + inline bool twoway_bitwise_interleave(const std::string& str1, + const std::string& str2, + std::string& out) + { + if (str1.size() != str2.size()) + { + return false; + } + + out.resize(str1.size()); + + return twoway_bitwise_interleave(to_ptr(str1), to_ptr(str1) + str1.size(), + to_ptr(str2), to_ptr(str2) + str2.size(), + const_cast(to_ptr(out))); + } + + template + struct interleave_ary; + + template<> struct interleave_ary { typedef unsigned short type; }; + template<> struct interleave_ary { typedef unsigned int type; }; + template<> struct interleave_ary { typedef unsigned long long int type; }; + + template + inline void create_nway_interleave_table(typename interleave_ary::type table[256]) + { + typedef typename interleave_ary::type type; + + const type diff = static_cast(n - 1); + + for (type i = static_cast(0); i < static_cast(256); ++i) + { + table[i] = 0x00; + + for (type j = static_cast(0); j < static_cast(8); ++j) + { + table[i] |= (i & (1 << j)) << (j * diff); + } + } + } + + namespace bitwise_operation { enum type { eAND, eOR, eXOR }; } + + inline void bitwise_transform(const bitwise_operation::type& operation, + const unsigned char* begin1, const unsigned char* end1, + const unsigned char* begin2, + unsigned char* out) + { + const unsigned char* itr1 = begin1; + const unsigned char* itr2 = begin2; + + switch (operation) + { + case bitwise_operation::eAND : while (itr1 != end1) { *(out++) = *(itr1++) & *(itr2++); } return; + case bitwise_operation::eOR : while (itr1 != end1) { *(out++) = *(itr1++) | *(itr2++); } return; + case bitwise_operation::eXOR : while (itr1 != end1) { *(out++) = *(itr1++) ^ *(itr2++); } return; + } + } + + inline void bitwise_transform(const bitwise_operation::type& operation, + const char* begin1, const char* end1, + const char* begin2, + char* out) + { + bitwise_transform(operation, + reinterpret_cast(begin1), + reinterpret_cast(end1), + reinterpret_cast(begin2), + reinterpret_cast(out)); + } + + inline void bitwise_transform(const bitwise_operation::type& operation, + const std::string& str1, + const std::string& str2, + std::string& out) + { + if (str1.size() != str2.size()) return; + out.resize(str1.size()); + bitwise_transform(operation, + to_ptr(str1), to_ptr(str1) + str1.size(), + to_ptr(str2), + const_cast(to_ptr(out))); + } + + inline std::size_t high_bit_count(const unsigned char c) + { + static const std::size_t high_bits_in_char[256] = + { + 0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4, + 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5, + 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5, + 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, + 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5, + 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, + 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, + 3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7, + 1,2,2,3,2,3,3,4,2,3,3,4,3,4,4,5, + 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, + 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, + 3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7, + 2,3,3,4,3,4,4,5,3,4,4,5,4,5,5,6, + 3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7, + 3,4,4,5,4,5,5,6,4,5,5,6,5,6,6,7, + 4,5,5,6,5,6,6,7,5,6,6,7,6,7,7,8 + }; + + return high_bits_in_char[c]; + } + + inline std::size_t high_bit_count(const unsigned short& s) + { + const unsigned char* ptr = reinterpret_cast(&s); + return high_bit_count(*(ptr + 0)) + high_bit_count(*(ptr + 1)); + } + + inline std::size_t high_bit_count(const unsigned int& i) + { + const unsigned char* ptr = reinterpret_cast(&i); + return high_bit_count(*(ptr + 0)) + high_bit_count(*(ptr + 1)) + + high_bit_count(*(ptr + 2)) + high_bit_count(*(ptr + 3)); + } + + inline std::size_t high_bit_count(const long long int& ll) + { + const unsigned char* ptr = reinterpret_cast(&ll); + return high_bit_count(*(ptr + 0)) + high_bit_count(*(ptr + 1)) + + high_bit_count(*(ptr + 2)) + high_bit_count(*(ptr + 3)) + + high_bit_count(*(ptr + 4)) + high_bit_count(*(ptr + 5)) + + high_bit_count(*(ptr + 6)) + high_bit_count(*(ptr + 7)); + } + + inline std::size_t high_bit_count(const unsigned char* begin, const unsigned char* end) + { + std::size_t count = 0; + const unsigned char* itr = begin; + + while (end != itr) + { + count += high_bit_count(*itr++); + } + + return count; + } + + inline std::size_t high_bit_count(const char* begin, const char* end) + { + return high_bit_count(reinterpret_cast(begin), + reinterpret_cast(end)); + + } + + inline std::size_t high_bit_count(const std::string& str) + { + return high_bit_count(to_ptr(str), to_ptr(str) + str.size()); + } + + inline bool bit_state(const std::size_t& index, const unsigned char* ptr) + { + static const unsigned char bit_mask[] = + { + 0x01, //00000001 + 0x02, //00000010 + 0x04, //00000100 + 0x08, //00001000 + 0x10, //00010000 + 0x20, //00100000 + 0x40, //01000000 + 0x80 //10000000 + }; + return (0 != (ptr[(index >> 3)] & bit_mask[index & 7])); + } + + inline void set_bit_high(const std::size_t& index, unsigned char* const ptr) + { + static const unsigned char bit_mask[] = + { + 0x01, //00000001 + 0x02, //00000010 + 0x04, //00000100 + 0x08, //00001000 + 0x10, //00010000 + 0x20, //00100000 + 0x40, //01000000 + 0x80 //10000000 + }; + ptr[(index >> 3)] |= bit_mask[index & 7]; + } + + inline void set_bit_low(const std::size_t& index, unsigned char* const ptr) + { + static const unsigned char bit_mask[] = + { + 0xFE, //11111110 + 0xFD, //11111101 + 0xFB, //11111011 + 0xF7, //11110111 + 0xEF, //11101111 + 0xDF, //11011111 + 0xBF, //10111111 + 0x7F //01111111 + }; + ptr[(index >> 3)] &= bit_mask[index & 7]; + } + + inline std::size_t hamming_distance(const unsigned char* begin1, const unsigned char* end1, + const unsigned char* begin2, const unsigned char* end2) + { + if (std::distance(begin1,end1) != std::distance(begin2,end2)) + { + return std::numeric_limits::max(); + } + + std::size_t distance = 0; + const unsigned char* itr1 = begin1; + const unsigned char* itr2 = begin2; + + while (end1 != itr1) + { + distance += high_bit_count(static_cast(((*itr1++) ^ (*itr2++)) & 0xFF)); + } + + return distance; + } + + inline std::size_t hamming_distance(const char* begin1, const char* end1, + const char* begin2, const char* end2) + { + return hamming_distance(reinterpret_cast(begin1), + reinterpret_cast(end1), + reinterpret_cast(begin2), + reinterpret_cast(end2)); + } + + inline std::size_t hamming_distance(const std::string& str1, const std::string& str2) + { + return hamming_distance(to_ptr(str1), to_ptr(str1) + str1.size(), + to_ptr(str2), to_ptr(str2) + str2.size()); + } + + template + inline std::size_t hamming_distance_elementwise(const Iterator begin1, const Iterator end1, + const Iterator begin2, const Iterator end2) + { + if (std::distance(begin1,end1) != std::distance(begin2,end2)) + { + return std::numeric_limits::max(); + } + + std::size_t distance = 0; + Iterator itr1 = begin1; + Iterator itr2 = begin2; + + while (end1 != itr1) + { + if ((*itr1) != (*itr2)) + ++distance; + } + + return distance; + } + + inline std::size_t hamming_distance_elementwise(const std::string& str1, const std::string& str2) + { + return hamming_distance_elementwise(to_ptr(str1), to_ptr(str1) + str1.size(), + to_ptr(str2), to_ptr(str2) + str2.size()); + } + + class token_grid + { + public: + + typedef const unsigned char* iterator_t; + typedef unsigned int index_t; + typedef std::pair range_t; + typedef std::deque token_list_t; + typedef std::pair row_index_range_t; + typedef std::deque row_index_t; + typedef std::pair row_range_t; + typedef std::pair col_range_t; + + private: + + struct store + { + store() + : max_column(0) + {} + + token_list_t token_list; + row_index_t row_index; + std::size_t max_column; + + inline void clear() + { + token_list.clear(); + row_index.clear(); + } + + inline range_t operator()(const std::size_t& col, const std::size_t& row) const + { + if (row < row_index.size()) + { + const row_index_range_t& r = row_index[row]; + + if (col < (r.second - r.first + 1)) + return *(token_list.begin() + (r.first + col)); + else + return null_range(); + } + else + return null_range(); + } + + inline bool remove_row(const std::size_t& row) + { + if (row >= row_index.size()) return false; + + row_index_range_t& r = row_index[row]; + + const std::size_t number_of_tokens = r.second - r.first + 1; + + token_list_t::iterator remove_begin = token_list.begin() + r.first; + token_list_t::iterator remove_end = token_list.begin() + r.first + number_of_tokens; + + token_list.erase(remove_begin,remove_end); + + row_index.erase(row_index.begin() + row); + + for (std::size_t i = row; i < row_index.size(); ++i) + { + row_index_range_t& curr_row = row_index[i]; + + curr_row.first -= static_cast(number_of_tokens); + curr_row.second -= static_cast(number_of_tokens); + } + + return true; + } + + inline std::size_t token_count(const row_index_range_t& r) const + { + return (r.second - r.first + 1); + } + + inline std::size_t token_count(const std::size_t& index) const + { + return token_count(row_index[index]); + } + + inline bool remove_row_range(const std::size_t& r0, const std::size_t& r1) + { + if (r0 > r1) + return false; + else if (r0 >= row_index.size()) + return false; + else if (r1 >= row_index.size()) + return false; + + std::size_t number_of_tokens = 0; + + for (std::size_t i = r0; i <= r1; ++i) + { + row_index_range_t& r = row_index[i]; + number_of_tokens += token_count(r); + } + + row_index_range_t rr0 = row_index[r0]; + + token_list_t::iterator remove_begin = token_list.begin() + rr0.first; + token_list_t::iterator remove_end = token_list.begin() + rr0.first + number_of_tokens; + + token_list.erase(remove_begin,remove_end); + + row_index.erase(row_index.begin() + r0,row_index.begin() + r0 + (r1 - r0 + 1)); + + for (std::size_t i = r0; i < row_index.size(); ++i) + { + row_index_range_t& r = row_index[i]; + r.first -= static_cast(number_of_tokens); + r.second -= static_cast(number_of_tokens); + } + + return true; + } + + struct remove_column_impl + { + std::size_t column; + std::size_t counter; + std::size_t remainder; + std::size_t current_row; + + inline void update(store& idx) + { + current_row++; + + while (current_row < idx.row_index.size()) + { + const std::size_t number_of_tokens = idx.token_count(current_row); + + if (number_of_tokens > column) + break; + + counter += number_of_tokens; + + ++current_row; + } + + if (current_row < idx.row_index.size()) + { + counter += column + remainder; + row_index_range_t& r = idx.row_index[current_row]; + remainder = (r.second - r.first) - column; + } + else + counter = std::numeric_limits::max(); + } + + inline void process(store& idx) + { + token_list_t::iterator itr1 = idx.token_list.begin(); + token_list_t::iterator itr2 = idx.token_list.begin(); + token_list_t::iterator end = idx.token_list.end (); + + counter = 0; + remainder = 0; + current_row = static_cast(-1); + + update(idx); + + while (end != itr1) + { + while ((end != itr1) && (0 != counter)) + { + if (itr1 != itr2) + { + (*itr2) = (*itr1); + } + + ++itr1; + ++itr2; + --counter; + } + + if (0 == counter) + { + update(idx); + ++itr1; + } + } + + std::size_t remove_count = 0; + + idx.max_column = std::numeric_limits::min(); + + for (std::size_t i = 0; i < idx.row_index.size(); ++i) + { + row_index_range_t& r = idx.row_index[i]; + std::size_t token_count = (r.second - r.first + 1); + + r.first -= static_cast(remove_count); + + if (token_count > column) + { + ++remove_count; + } + + r.second -= static_cast(remove_count); + token_count = (r.second - r.first + 1); + + if (token_count > idx.max_column) + idx.max_column = token_count; + } + + idx.token_list.resize(idx.token_list.size() - remove_count); + } + }; + + inline bool remove_column(const std::size_t& column) + { + if (column >= max_column) return false; + remove_column_impl rc; + rc.column = column; + rc.process(*this); + return true; + } + + inline static range_t null_range() + { + static const range_t null_range_ = range_t(reinterpret_cast(0), + reinterpret_cast(0)); + return null_range_; + } + + }; + + template + struct row_processor + { + row_processor(store& idx, + DelimiterPredicate& tp, + const split_options::type split_mode = split_options::compress_delimiters) + : idx_(idx), + row_start_index_(0), + row_end_index_(0), + token_predicate_(tp), + split_mode_(split_mode) + { + idx_.max_column = std::numeric_limits::min(); + } + + inline void operator()(const range_t& range) + { + if (0 == std::distance(range.first,range.second)) + return; + + row_start_index_ = static_cast(idx_.token_list.size()); + + std::size_t token_count = split(token_predicate_, + range.first, range.second, + std::back_inserter(idx_.token_list), + split_mode_); + + row_end_index_ = static_cast(row_start_index_ + token_count - 1); + + idx_.row_index.push_back(std::make_pair(row_start_index_,row_end_index_)); + + if (token_count > idx_.max_column) + idx_.max_column = token_count; + } + + row_processor operator=(const row_processor&); + + store& idx_; + index_t row_start_index_; + index_t row_end_index_; + DelimiterPredicate& token_predicate_; + split_options::type split_mode_; + }; + + public: + + inline row_range_t range(index_t lower_bound, + index_t upper_bound = std::numeric_limits::max()) const + { + if (upper_bound == std::numeric_limits::max()) + { + upper_bound = static_cast(dsv_index_.token_list.size()); + } + else if (upper_bound > dsv_index_.token_list.size()) + { + return row_range_t(std::numeric_limits::max(),std::numeric_limits::max()); + } + else if (lower_bound > upper_bound) + { + return row_range_t(std::numeric_limits::max(),std::numeric_limits::max()); + } + + return row_range_t(lower_bound,upper_bound); + } + + struct options + { + options() + : row_split_option(split_options::compress_delimiters), + column_split_option(split_options::compress_delimiters), + row_delimiters("\n\r"), + column_delimiters(",|;\t "), + support_dquotes(false), + trim_dquotes(false) + {} + + options(split_options::type sro, + split_options::type sco, + const std::string& rd, + const std::string& cd, + const bool support_dq = false, + const bool trim_dq = false) + : row_split_option(sro), + column_split_option(sco), + row_delimiters(rd), + column_delimiters(cd), + support_dquotes(support_dq), + trim_dquotes(trim_dq) + {} + + inline options& set_column_split_option(const split_options::type& option) + { + column_split_option = option; + return *this; + } + + inline options& set_row_split_option(const split_options::type& option) + { + row_split_option = option; + return *this; + } + + inline options& set_column_delimiters(const std::string& delimiters) + { + column_delimiters = delimiters; + return *this; + } + + inline options& set_row_delimiters(const std::string& delimiters) + { + row_delimiters = delimiters; + return *this; + } + + split_options::type row_split_option; + split_options::type column_split_option; + std::string row_delimiters; + std::string column_delimiters; + bool support_dquotes; + bool trim_dquotes; + }; + + class row_type + { + private: + + typedef std::pair row_pair_type; + + public: + + row_type() + : index_(std::numeric_limits::max()), + size_(0) + {} + + row_type(const std::size_t& index, + const store& dsv_index) + : index_(index), + size_ (dsv_index.token_count(index)), + begin_(dsv_index.token_list.begin() + dsv_index.row_index[index].first) + {} + + inline bool is_null(const std::size_t& index) const + { + const range_t& range = *(begin_ + index); + return (0 == std::distance(range.first,range.second)); + } + + template + inline T operator[](const std::size_t& index) const + { + const range_t& range = *(begin_ + index); + return string_to_type_converter(range.first,range.second); + } + + template + inline T get(const std::size_t& index) const + { + return operator[](index); + } + + inline col_range_t all_columns() const + { + return col_range_t(0,static_cast(size())); + } + + inline range_t range() const + { + return range_t((*begin_).first,(*(begin_ + (size_ - 1))).second); + } + + inline range_t token(const std::size_t& index) const + { + return *(begin_ + index); + } + + inline std::size_t index() const + { + return index_; + } + + inline std::size_t size() const + { + return size_; + } + + inline std::size_t raw_length() const + { + std::size_t result = 0; + token_list_t::const_iterator itr = begin_; + + for (std::size_t i = 0; i < size_; ++i, ++itr) + { + const range_t& range = (*itr); + result += std::distance(range.first,range.second); + } + + return result; + } + + inline std::size_t raw_length(const std::size_t& column_index) const + { + const range_t& range = *(begin_ + column_index); + return std::distance(range.first,range.second); + } + + inline std::string as_string() const + { + std::string result; + result.reserve(std::distance(begin_->first,(begin_ + (size_ - 1))->second)); + token_list_t::const_iterator itr = begin_; + + for (std::size_t i = 0; i < size_; ++i, ++itr) + { + const range_t& range = (*itr); + result.append(range.first,range.second); + } + + return result; + } + + inline void as_string(std::string& out) const + { + out = as_string(); + } + + template + inline bool parse_with_index(const std::size_t& col0, const std::size_t& col1, + const std::size_t& col2, const std::size_t& col3, + const std::size_t& col4, const std::size_t& col5, + const std::size_t& col6, const std::size_t& col7, + const std::size_t& col8, const std::size_t& col9, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, + T6& t6, T7& t7, T8& t8, T9& t9) const + { + if (!process(*(begin_ + col0),t0)) return false; + if (!process(*(begin_ + col1),t1)) return false; + if (!process(*(begin_ + col2),t2)) return false; + if (!process(*(begin_ + col3),t3)) return false; + if (!process(*(begin_ + col4),t4)) return false; + if (!process(*(begin_ + col5),t5)) return false; + if (!process(*(begin_ + col6),t6)) return false; + if (!process(*(begin_ + col7),t7)) return false; + if (!process(*(begin_ + col8),t8)) return false; + if (!process(*(begin_ + col9),t9)) return false; + return true; + } + + template + inline bool parse_with_index(const std::size_t& col0, const std::size_t& col1, + const std::size_t& col2, const std::size_t& col3, + const std::size_t& col4, const std::size_t& col5, + const std::size_t& col6, const std::size_t& col7, + const std::size_t& col8, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, + T6& t6, T7& t7, T8& t8) const + { + if (!process(*(begin_ + col0),t0)) return false; + if (!process(*(begin_ + col1),t1)) return false; + if (!process(*(begin_ + col2),t2)) return false; + if (!process(*(begin_ + col3),t3)) return false; + if (!process(*(begin_ + col4),t4)) return false; + if (!process(*(begin_ + col5),t5)) return false; + if (!process(*(begin_ + col6),t6)) return false; + if (!process(*(begin_ + col7),t7)) return false; + if (!process(*(begin_ + col8),t8)) return false; + return true; + } + + template + inline bool parse_with_index(const std::size_t& col0, const std::size_t& col1, + const std::size_t& col2, const std::size_t& col3, + const std::size_t& col4, const std::size_t& col5, + const std::size_t& col6, const std::size_t& col7, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, + T6& t6, T7& t7) const + { + if (!process(*(begin_ + col0),t0)) return false; + if (!process(*(begin_ + col1),t1)) return false; + if (!process(*(begin_ + col2),t2)) return false; + if (!process(*(begin_ + col3),t3)) return false; + if (!process(*(begin_ + col4),t4)) return false; + if (!process(*(begin_ + col5),t5)) return false; + if (!process(*(begin_ + col6),t6)) return false; + if (!process(*(begin_ + col7),t7)) return false; + return true; + } + + template + inline bool parse_with_index(const std::size_t& col0, const std::size_t& col1, + const std::size_t& col2, const std::size_t& col3, + const std::size_t& col4, const std::size_t& col5, + const std::size_t& col6, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, + T6& t6) const + { + if (!process(*(begin_ + col0),t0)) return false; + if (!process(*(begin_ + col1),t1)) return false; + if (!process(*(begin_ + col2),t2)) return false; + if (!process(*(begin_ + col3),t3)) return false; + if (!process(*(begin_ + col4),t4)) return false; + if (!process(*(begin_ + col5),t5)) return false; + if (!process(*(begin_ + col6),t6)) return false; + return true; + } + + template + inline bool parse_with_index(const std::size_t& col0, const std::size_t& col1, + const std::size_t& col2, const std::size_t& col3, + const std::size_t& col4, const std::size_t& col5, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5) const + { + if (!process(*(begin_ + col0),t0)) return false; + if (!process(*(begin_ + col1),t1)) return false; + if (!process(*(begin_ + col2),t2)) return false; + if (!process(*(begin_ + col3),t3)) return false; + if (!process(*(begin_ + col4),t4)) return false; + if (!process(*(begin_ + col5),t5)) return false; + return true; + } + + template + inline bool parse_with_index(const std::size_t& col0, const std::size_t& col1, + const std::size_t& col2, const std::size_t& col3, + const std::size_t& col4, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4) const + { + if (!process(*(begin_ + col0),t0)) return false; + if (!process(*(begin_ + col1),t1)) return false; + if (!process(*(begin_ + col2),t2)) return false; + if (!process(*(begin_ + col3),t3)) return false; + if (!process(*(begin_ + col4),t4)) return false; + return true; + } + + template + inline bool parse_with_index(const std::size_t& col0, const std::size_t& col1, + const std::size_t& col2, const std::size_t& col3, + T0& t0, T1& t1, T2& t2, T3& t3) const + { + if (!process(*(begin_ + col0),t0)) return false; + if (!process(*(begin_ + col1),t1)) return false; + if (!process(*(begin_ + col2),t2)) return false; + if (!process(*(begin_ + col3),t3)) return false; + return true; + } + + template + inline bool parse_with_index(const std::size_t& col0, const std::size_t& col1, + const std::size_t& col2, + T0& t0, T1& t1, T2& t2) const + { + if (!process(*(begin_ + col0),t0)) return false; + if (!process(*(begin_ + col1),t1)) return false; + if (!process(*(begin_ + col2),t2)) return false; + return true; + } + + template + inline bool parse_with_index(const std::size_t& col0, const std::size_t& col1, + T0& t0, T1& t1) const + { + if (!process(*(begin_ + col0),t0)) return false; + if (!process(*(begin_ + col1),t1)) return false; + return true; + } + + template + inline bool parse_with_index(const std::size_t& col, T& t) const + { + return process(*(begin_ + col),t); + } + + template + inline bool parse(T0& t0, T1& t1, T2& t2, T3& t3, + T4& t4, T5& t5, T6& t6, T7& t7, + T8& t8, T9& t9) const + { + if (!process(*(begin_ + 0),t0)) return false; + if (!process(*(begin_ + 1),t1)) return false; + if (!process(*(begin_ + 2),t2)) return false; + if (!process(*(begin_ + 3),t3)) return false; + if (!process(*(begin_ + 4),t4)) return false; + if (!process(*(begin_ + 5),t5)) return false; + if (!process(*(begin_ + 6),t6)) return false; + if (!process(*(begin_ + 7),t7)) return false; + if (!process(*(begin_ + 8),t8)) return false; + if (!process(*(begin_ + 9),t9)) return false; + return true; + } + + template + inline bool parse(T0& t0, T1& t1, T2& t2, T3& t3, + T4& t4, T5& t5, T6& t6, T7& t7, + T8& t8) const + { + if (!process(*(begin_ + 0),t0)) return false; + if (!process(*(begin_ + 1),t1)) return false; + if (!process(*(begin_ + 2),t2)) return false; + if (!process(*(begin_ + 3),t3)) return false; + if (!process(*(begin_ + 4),t4)) return false; + if (!process(*(begin_ + 5),t5)) return false; + if (!process(*(begin_ + 6),t6)) return false; + if (!process(*(begin_ + 7),t7)) return false; + if (!process(*(begin_ + 8),t8)) return false; + return true; + } + + template + inline bool parse(T0& t0, T1& t1, T2& t2, T3& t3, + T4& t4, T5& t5, T6& t6, T7& t7) const + { + if (!process(*(begin_ + 0),t0)) return false; + if (!process(*(begin_ + 1),t1)) return false; + if (!process(*(begin_ + 2),t2)) return false; + if (!process(*(begin_ + 3),t3)) return false; + if (!process(*(begin_ + 4),t4)) return false; + if (!process(*(begin_ + 5),t5)) return false; + if (!process(*(begin_ + 6),t6)) return false; + if (!process(*(begin_ + 7),t7)) return false; + return true; + } + + template + inline bool parse(T0& t0, T1& t1, T2& t2, T3& t3, + T4& t4, T5& t5, T6& t6) const + { + if (!process(*(begin_ + 0),t0)) return false; + if (!process(*(begin_ + 1),t1)) return false; + if (!process(*(begin_ + 2),t2)) return false; + if (!process(*(begin_ + 3),t3)) return false; + if (!process(*(begin_ + 4),t4)) return false; + if (!process(*(begin_ + 5),t5)) return false; + if (!process(*(begin_ + 6),t6)) return false; + return true; + } + + template + inline bool parse(T0& t0, T1& t1, T2& t2, T3& t3, + T4& t4, T5& t5) const + { + if (!process(*(begin_ + 0),t0)) return false; + if (!process(*(begin_ + 1),t1)) return false; + if (!process(*(begin_ + 2),t2)) return false; + if (!process(*(begin_ + 3),t3)) return false; + if (!process(*(begin_ + 4),t4)) return false; + if (!process(*(begin_ + 5),t5)) return false; + return true; + } + + template + inline bool parse(T0& t0, T1& t1, T2& t2, T3& t3, T4& t4) const + { + if (!process(*(begin_ + 0),t0)) return false; + if (!process(*(begin_ + 1),t1)) return false; + if (!process(*(begin_ + 2),t2)) return false; + if (!process(*(begin_ + 3),t3)) return false; + if (!process(*(begin_ + 4),t4)) return false; + return true; + } + + template + inline bool parse(T0& t0, T1& t1, T2& t2, T3& t3) const + { + if (!process(*(begin_ + 0),t0)) return false; + if (!process(*(begin_ + 1),t1)) return false; + if (!process(*(begin_ + 2),t2)) return false; + if (!process(*(begin_ + 3),t3)) return false; + return true; + } + + template + inline bool parse(T0& t0, T1& t1, T2& t2) const + { + if (!process(*(begin_ + 0),t0)) return false; + if (!process(*(begin_ + 1),t1)) return false; + if (!process(*(begin_ + 2),t2)) return false; + return true; + } + + template + inline bool parse(T0& t0, T1& t1) const + { + if (!process(*(begin_ + 0),t0)) return false; + if (!process(*(begin_ + 1),t1)) return false; + return true; + } + + template + inline bool parse(T0& t) const + { + return process(*begin_,t); + } + + template + inline void parse(OutputIterator out) const + { + token_list_t::const_iterator itr = begin_; + const token_list_t::const_iterator end = begin_ + size_; + + while (end != itr) + { + const range_t& range = (*itr); + *(out++) = string_to_type_converter(range.first,range.second); + ++itr; + } + } + + bool validate_column_range(const col_range_t& range) const + { + if ((range.first > size()) || (range.second > size())) + return false; + else if (range.first > range.second) + return false; + else + return true; + } + + col_range_t range(const index_t& lower_bound, + const index_t& upper_bound = std::numeric_limits::max()) const + { + if (std::numeric_limits::max() != upper_bound) + return col_range_t(lower_bound,upper_bound); + else + return col_range_t(lower_bound,static_cast(size())); + } + + template class Sequence> + inline bool parse(const col_range_t& range, + Sequence& sequence) const + { + if (!validate_column_range(range)) + return false; + + token_list_t::const_iterator itr = (begin_ + range.first); + token_list_t::const_iterator end = (begin_ + range.second); + T t; + + while (end != itr) + { + const range_t& curr_range = (*itr); + if (string_to_type_converter(curr_range.first, curr_range.second,t)) + sequence.push_back(t); + else + return false; + ++itr; + } + + return true; + } + + template + inline bool parse(const col_range_t& range, + std::set& set) const + { + if (!validate_column_range(range)) + return false; + + token_list_t::const_iterator itr = (begin_ + range.first); + token_list_t::const_iterator end = (begin_ + range.second); + T t; + + while (end != itr) + { + const range_t& range = (*itr); + if (string_to_type_converter(range.first,range.second,t)) + set.insert(t); + else + return false; + ++itr; + } + + return true; + } + + template + inline bool parse(const col_range_t& range, + std::multiset& multiset) const + { + if (!validate_column_range(range)) + return false; + + token_list_t::const_iterator itr = (begin_ + range.first); + token_list_t::const_iterator end = (begin_ + range.second); + T t; + + while (end != itr) + { + const range_t& range = (*itr); + if (string_to_type_converter(range.first,range.second,t)) + multiset.insert(t); + else + return false; + ++itr; + } + + return true; + } + + template + inline bool parse(const col_range_t& range, + std::queue& queue) const + { + if (!validate_column_range(range)) + return false; + + token_list_t::const_iterator itr = (begin_ + range.first); + token_list_t::const_iterator end = (begin_ + range.second); + T t; + + while (end != itr) + { + const range_t& range = (*itr); + if (string_to_type_converter(range.first,range.second,t)) + queue.push(t); + else + return false; + ++itr; + } + + return true; + } + + template + inline bool parse(const col_range_t& range, + std::stack& stack) const + { + if (!validate_column_range(range)) + return false; + + token_list_t::const_iterator itr = (begin_ + range.first); + token_list_t::const_iterator end = (begin_ + range.second); + T t; + + while (end != itr) + { + const range_t& range = (*itr); + if (string_to_type_converter(range.first,range.second,t)) + stack.push(t); + else + return false; + ++itr; + } + + return true; + } + + template + inline bool parse(const col_range_t& range, + std::priority_queue& priority_queue) const + { + if (!validate_column_range(range)) + return false; + + token_list_t::const_iterator itr = (begin_ + range.first); + token_list_t::const_iterator end = (begin_ + range.second); + T t; + + while (end != itr) + { + const range_t& range = (*itr); + if (string_to_type_converter(range.first,range.second,t)) + priority_queue.push(t); + else + return false; + ++itr; + } + + return true; + } + + template class Sequence> + inline bool parse(Sequence& sequence) const + { + return parse(range(0),sequence); + } + + template + inline bool parse(std::set& set) const + { + return parse(range(0),set); + } + + template + inline bool parse(std::multiset& multiset) const + { + return parse(range(0),multiset); + } + + template + inline bool parse(std::queue& queue) const + { + return parse(range(0),queue); + } + + template + inline bool parse(std::stack& stack) const + { + return parse(range(0),stack); + } + + template + inline bool parse(std::priority_queue& priority_queue) const + { + return parse(range(0),priority_queue); + } + + template class Sequence> + inline std::size_t parse_n(const std::size_t& n, Sequence& sequence) const + { + if (0 == n) return 0; + + T t; + std::size_t count = 0; + token_list_t::const_iterator itr = begin_; + const token_list_t::const_iterator end = begin_ + size_; + + while (end != itr) + { + const range_t& range = (*itr); + + if (!string_to_type_converter(range.first,range.second,t)) + return false; + else + sequence.push_back(t); + + if (n == (++count)) + break; + ++itr; + } + + return count; + } + + template + inline void parse_checked(OutputIterator out) const + { + T value; + token_list_t::const_iterator itr = begin_; + const token_list_t::const_iterator end = begin_ + size_; + + while (end != itr) + { + const range_t& range = (*itr); + + if (string_to_type_converter(range.first,range.second,value)) + { + *(out++) = value; + } + + ++itr; + } + } + + template class Sequence> + inline void parse_checked(Sequence& sequence) const + { + parse_checked(std::back_inserter(sequence)); + } + + template + inline void parse_checked(std::set& set) const + { + parse_checked(std::inserter(set,set.end())); + } + + template + inline void parse_checked(std::multiset& multiset) const + { + parse_checked(std::inserter(multiset,multiset.end())); + } + + template + inline void parse_checked(std::queue& queue) const + { + parse_checked(push_inserter(queue)); + } + + template + inline void parse_checked(std::stack& stack) const + { + parse_checked(push_inserter(stack)); + } + + template + inline void parse_checked(std::priority_queue& priority_queue) const + { + parse_checked(push_inserter(priority_queue)); + } + + template + inline std::size_t for_each_column(const col_range_t& range, Function f) const + { + if (!validate_column_range(range)) + return false; + + token_list_t::const_iterator itr = begin_ + range.first; + token_list_t::const_iterator end = begin_ + range.second; + std::size_t col_count = 0; + + while (end != itr) + { + const range_t& range = (*itr); + f(range); + ++itr; + ++col_count; + } + + return col_count; + } + + template + inline std::size_t for_each_column(Function f) const + { + return for_each_column(all_columns(),f); + } + + private: + + template + inline bool process(const range_t& range, T& t) const + { + return string_to_type_converter(range.first,range.second,t); + } + + private: + + std::size_t index_; + std::size_t size_; + token_list_t::const_iterator begin_; + }; + + token_grid() + : file_name_(""), + buffer_(0), + buffer_size_(0), + min_column_count_(0), + max_column_count_(0), + load_from_file_(false), + state_(false) + {} + + token_grid(const std::string& file_name, + const token_grid::options& options) + : file_name_(file_name), + buffer_(0), + buffer_size_(0), + min_column_count_(0), + max_column_count_(0), + options_(options), + load_from_file_(true), + state_(load()) + {} + + token_grid(const unsigned char* input_buffer, + const std::size_t& input_buffer_size, + const token_grid::options& options) + : file_name_(""), + buffer_(const_cast(input_buffer)), + buffer_size_(input_buffer_size), + min_column_count_(0), + max_column_count_(0), + options_(options), + load_from_file_(false), + state_(load()) + {} + + token_grid(const char* input_buffer, + const std::size_t& input_buffer_size, + const token_grid::options& options) + : file_name_(""), + buffer_(reinterpret_cast(const_cast(input_buffer))), + buffer_size_(input_buffer_size), + min_column_count_(0), + max_column_count_(0), + options_(options), + load_from_file_(false), + state_(load()) + {} + + token_grid(const std::string& input_buffer, + const std::size_t& input_buffer_size, + const token_grid::options& options) + : file_name_(""), + buffer_(reinterpret_cast(const_cast(to_ptr(input_buffer)))), + buffer_size_(input_buffer_size), + min_column_count_(0), + max_column_count_(0), + options_(options), + load_from_file_(false), + state_(load()) + {} + + token_grid(const std::string& file_name, + const std::string& column_delimiters = ",|;\t", + const std::string& row_delimiters = "\n\r") + : file_name_(file_name), + buffer_(0), + buffer_size_(0), + min_column_count_(0), + max_column_count_(0), + options_(split_options::compress_delimiters, + split_options::compress_delimiters, + row_delimiters, + column_delimiters), + load_from_file_(true), + state_(load()) + {} + + token_grid(const unsigned char* input_buffer, + const std::size_t& input_buffer_size, + const std::string& column_delimiters = ",|;\t", + const std::string& row_delimiters = "\n\r") + : file_name_(""), + buffer_(const_cast(input_buffer)), + buffer_size_(input_buffer_size), + min_column_count_(0), + max_column_count_(0), + options_(split_options::compress_delimiters, + split_options::compress_delimiters, + row_delimiters, + column_delimiters), + load_from_file_(false), + state_(load()) + {} + + token_grid(const char* input_buffer, + const std::size_t& input_buffer_size, + const std::string& column_delimiters = ",|;\t", + const std::string& row_delimiters = "\n\r") + : file_name_(""), + buffer_(reinterpret_cast(const_cast(input_buffer))), + buffer_size_(input_buffer_size), + min_column_count_(0), + max_column_count_(0), + options_(split_options::compress_delimiters, + split_options::compress_delimiters, + row_delimiters, + column_delimiters), + load_from_file_(false), + state_(load()) + {} + + token_grid(const std::string& input_buffer, + const std::size_t& input_buffer_size, + const std::string& column_delimiters = ",;|\t ", + const std::string& row_delimiters = "\n\r") + : file_name_(""), + buffer_(reinterpret_cast(const_cast(to_ptr(input_buffer)))), + buffer_size_(input_buffer_size), + min_column_count_(0), + max_column_count_(0), + options_(split_options::compress_delimiters, + split_options::compress_delimiters, + row_delimiters, + column_delimiters), + load_from_file_(false), + state_(load()) + {} + + ~token_grid() + { + if ((load_from_file_) && (0 != buffer_)) + { + delete [] buffer_; + buffer_ = 0; + } + } + + inline bool operator!() const + { + return !state_; + } + + inline std::string source_file() const + { + return file_name_; + } + + inline std::size_t row_count() const + { + return dsv_index_.row_index.size(); + } + + inline std::size_t min_column_count() const + { + return min_column_count_; + } + + inline std::size_t max_column_count() const + { + return max_column_count_; + } + + inline range_t token(const std::size_t& row, const std::size_t& col) const + { + return dsv_index_(col,row); + } + + template + inline T get(const std::size_t& row, const std::size_t& col) + { + range_t r = token(row,col); + return string_to_type_converter(r.first,r.second); + } + + inline row_type row(const std::size_t& row_index) const + { + return row_type(row_index,dsv_index_); + } + + inline row_range_t all_rows() const + { + return row_range_t(0,static_cast(dsv_index_.row_index.size())); + } + + template + inline bool extract_column_checked(const row_range_t& row_range, + const std::size_t& index, + OutputIterator out) const + { + if (index > max_column_count_) + return false; + else if (row_range_invalid(row_range)) + return false; + + for (std::size_t i = row_range.first; i < row_range.second; ++i) + { + const row_index_range_t& row = dsv_index_.row_index[i]; + + if (index < dsv_index_.token_count(row)) + { + dsv_index_.token_list.begin() + (row.first + index); + process_token_checked(*(dsv_index_.token_list.begin() + (row.first + index)),out); + } + } + + return true; + } + + template + inline bool extract_column_checked(const std::size_t& index, + OutputIterator out) const + { + return extract_column_checked(all_rows(),index,out); + } + + template class Sequence> + inline void extract_column_checked(const std::size_t& index, + Sequence& sequence) const + { + extract_column_checked(index,back_inserter_with_valuetype(sequence)); + } + + template + inline void extract_column_checked(const std::size_t& index, + std::set& set) const + { + extract_column_checked(index,inserter_with_valuetype(set)); + } + + template + inline void extract_column_checked(const std::size_t& index, + std::multiset& multiset) const + { + extract_column_checked(index,inserter_with_valuetype(multiset)); + } + + template + inline bool extract_column(const row_range_t& row_range, + const std::size_t& index, + OutputIterator out) const + { + + if (index > max_column_count_) + return false; + else if (row_range_invalid(row_range)) + return false; + + for (std::size_t i = row_range.first; i < row_range.second; ++i) + { + const row_index_range_t& row = dsv_index_.row_index[i]; + + if (index < dsv_index_.token_count(row)) + { + process_token(*(dsv_index_.token_list.begin() + (row.first + index)),out); + } + } + + return true; + } + + template + inline bool extract_column(const std::size_t& index, + OutputIterator out) const + { + return extract_column(all_rows(),index,out); + } + + template + inline bool extract_column(const row_range_t& row_range, + const std::size_t& index0, + const std::size_t& index1, + OutputIterator0 out0, + OutputIterator1 out1) const + { + if ( + (index0 > max_column_count_) || + (index1 > max_column_count_) + ) + return false; + else if (row_range_invalid(row_range)) + return false; + + std::size_t max_index = std::max(index0,index1); + + for (std::size_t i = row_range.first; i < row_range.second; ++i) + { + const row_index_range_t& row = dsv_index_.row_index[i]; + + if (max_index < dsv_index_.token_count(row)) + { + process_token(*(dsv_index_.token_list.begin() + (row.first + index0)),out0); + process_token(*(dsv_index_.token_list.begin() + (row.first + index1)),out1); + } + } + + return true; + } + + template + inline bool extract_column(const row_range_t& row_range, + const std::size_t& index0, + const std::size_t& index1, + const std::size_t& index2, + OutputIterator0 out0, + OutputIterator1 out1, + OutputIterator2 out2) const + { + if ( + (index0 > max_column_count_) || + (index1 > max_column_count_) || + (index2 > max_column_count_) + ) + return false; + else if (row_range_invalid(row_range)) + return false; + + std::size_t max_index = std::max(index0,std::max(index1,index2)); + + for (std::size_t i = row_range.first; i < row_range.second; ++i) + { + const row_index_range_t& row = dsv_index_.row_index[i]; + + if (max_index < dsv_index_.token_count(row)) + { + process_token(*(dsv_index_.token_list.begin() + (row.first + index0)),out0); + process_token(*(dsv_index_.token_list.begin() + (row.first + index1)),out1); + process_token(*(dsv_index_.token_list.begin() + (row.first + index2)),out2); + } + } + + return true; + } + + template + inline bool extract_column(const row_range_t& row_range, + const std::size_t& index0, + const std::size_t& index1, + const std::size_t& index2, + const std::size_t& index3, + OutputIterator0 out0, + OutputIterator1 out1, + OutputIterator2 out2, + OutputIterator3 out3) const + { + if ( + (index0 > max_column_count_) || + (index1 > max_column_count_) || + (index2 > max_column_count_) || + (index3 > max_column_count_) + ) + return false; + else if (row_range_invalid(row_range)) + return false; + + std::size_t max_index = std::max(std::max(index0,index1),std::max(index2,index3)); + + for (std::size_t i = row_range.first; i < row_range.second; ++i) + { + const row_index_range_t& row = dsv_index_.row_index[i]; + + if (max_index < dsv_index_.token_count(row)) + { + process_token(*(dsv_index_.token_list.begin() + (row.first + index0)),out0); + process_token(*(dsv_index_.token_list.begin() + (row.first + index1)),out1); + process_token(*(dsv_index_.token_list.begin() + (row.first + index2)),out2); + process_token(*(dsv_index_.token_list.begin() + (row.first + index3)),out3); + } + } + + return true; + } + + template + inline bool extract_column(const row_range_t& row_range, + const std::size_t& index0, + const std::size_t& index1, + const std::size_t& index2, + const std::size_t& index3, + const std::size_t& index4, + OutputIterator0 out0, + OutputIterator1 out1, + OutputIterator2 out2, + OutputIterator3 out3, + OutputIterator4 out4) const + { + if ( + (index0 > max_column_count_) || + (index1 > max_column_count_) || + (index2 > max_column_count_) || + (index3 > max_column_count_) || + (index4 > max_column_count_) + ) + return false; + else if (row_range_invalid(row_range)) + return false; + + std::size_t max_index = std::max(index4,std::max(std::max(index0,index1),std::max(index2,index3))); + + for (std::size_t i = row_range.first; i < row_range.second; ++i) + { + const row_index_range_t& row = dsv_index_.row_index[i]; + + if (max_index < dsv_index_.token_count(row)) + { + process_token(*(dsv_index_.token_list.begin() + (row.first + index0)),out0); + process_token(*(dsv_index_.token_list.begin() + (row.first + index1)),out1); + process_token(*(dsv_index_.token_list.begin() + (row.first + index2)),out2); + process_token(*(dsv_index_.token_list.begin() + (row.first + index3)),out3); + process_token(*(dsv_index_.token_list.begin() + (row.first + index4)),out4); + } + } + + return true; + } + + inline void remove_row(const std::size_t& index) + { + if (index < dsv_index_.row_index.size()) + { + dsv_index_.remove_row(index); + } + } + + template + inline bool remove_row_if(const row_range_t& row_range, Predicate predicate) + { + if (row_range_invalid(row_range)) + return false; + + std::size_t removed_token_count = 0; + + std::deque remove_token_list; + std::deque remove_row_list; + + for (std::size_t i = row_range.first; i < row_range.second; ++i) + { + row_index_range_t& r = dsv_index_.row_index[i]; + std::size_t temp_r_first = r.first - removed_token_count; + row_type row(i,dsv_index_); + + if (predicate(row)) + { + remove_row_list.push_back(i); + + for (std::size_t j = r.first; j <= r.second; ++j) + { + remove_token_list.push_back(j); + } + + removed_token_count += row.size(); + } + + r.first = static_cast(temp_r_first); + r.second -= static_cast(removed_token_count); + } + + for (std::size_t i = row_range.second; i < dsv_index_.row_index.size(); ++i) + { + row_index_range_t& r = dsv_index_.row_index[i]; + + r.first -= static_cast(removed_token_count); + r.second -= static_cast(removed_token_count); + } + + if (!remove_row_list.empty()) + { + remove_inplace(index_remover(remove_row_list),dsv_index_.row_index); + } + + if (!remove_token_list.empty()) + { + remove_inplace(index_remover(remove_token_list),dsv_index_.token_list); + } + + return true; + } + + template + inline bool remove_row_if(Predicate predicate) + { + return remove_row_if(all_rows(),predicate); + } + + template + inline std::size_t remove_token_if(const row_range_t& row_range, Predicate predicate) + { + if (row_range_invalid(row_range)) + return 0; + + std::size_t removed_token_count = 0; + std::deque remove_token_list; + std::deque remove_row_list; + + for (std::size_t i = row_range.first; i < row_range.second; ++i) + { + row_index_range_t& r = dsv_index_.row_index[i]; + std::size_t temp_r_first = r.first - removed_token_count; + row_type row(i,dsv_index_); + + for (std::size_t j = 0; j < row.size(); ++j) + { + if (predicate(row.token(j))) + { + remove_token_list.push_back(r.first + j); + ++removed_token_count; + } + } + + r.first = static_cast(temp_r_first); + r.second -= static_cast(removed_token_count); + + if (0 == dsv_index_.token_count(r)) + { + remove_row_list.push_back(i); + } + } + + for (std::size_t i = row_range.second; i < dsv_index_.row_index.size(); ++i) + { + row_index_range_t& r = dsv_index_.row_index[i]; + r.first -= static_cast(removed_token_count); + r.second -= static_cast(removed_token_count); + } + + if (!remove_row_list.empty()) + { + remove_inplace(index_remover(remove_row_list),dsv_index_.row_index); + } + + if (!remove_token_list.empty()) + { + remove_inplace(index_remover(remove_token_list),dsv_index_.token_list); + } + + if (!remove_token_list.empty()) + { + update_minmax_columns(); + } + + return remove_token_list.size(); + } + + inline std::size_t remove_empty_tokens(const row_range_t& range) + { + return remove_token_if(range,is_empty_token()); + } + + inline std::size_t remove_empty_tokens() + { + return remove_empty_tokens(all_rows()); + } + + inline void enforce_column_count(const row_range_t& row_range, + const std::size_t& column_count) + { + if (row_range_invalid(row_range)) + return; + + remove_row_if(insufficient_number_of_columns(column_count)); + + min_column_count_ = column_count; + max_column_count_ = column_count; + } + + inline void enforce_column_count(const std::size_t& column_count) + { + enforce_column_count(all_rows(),column_count); + } + + inline void enforce_min_max_column_count(const row_range_t& row_range, + const std::size_t& min_column_count, + const std::size_t& max_column_count) + { + if (row_range_invalid(row_range)) + return; + + remove_row_if(insufficient_number_of_minmax_columns(min_column_count,max_column_count)); + + min_column_count_ = min_column_count; + max_column_count_ = max_column_count; + } + + inline void enforce_min_max_column_count(const std::size_t& min_column_count, + const std::size_t& max_column_count) + { + enforce_min_max_column_count(all_rows(),min_column_count,max_column_count); + } + + inline void clear(const bool force_delete_buffer = false) + { + if (load_from_file_ || force_delete_buffer) + delete[] buffer_; + + buffer_ = 0; + buffer_size_ = 0; + min_column_count_ = 0; + max_column_count_ = 0; + state_ = false; + file_name_ = ""; + dsv_index_.clear(); + } + + inline std::size_t column_width(const std::size_t& col, + const row_range_t& row_range) const + { + if (col > max_column_count_) + return 0; + else if (row_range_invalid(row_range)) + return 0; + + std::size_t result = 0; + + for (std::size_t i = row_range.first; i < row_range.second; ++i) + { + const row_index_range_t& r = dsv_index_.row_index[i]; + + if (col < dsv_index_.token_count(r)) + { + const range_t& range = *(dsv_index_.token_list.begin() + r.first + col); + + result = std::max(std::distance(range.first,range.second),result); + } + } + + return result; + } + + inline std::size_t column_width(const std::size_t& col) const + { + return column_width(col,all_rows()); + } + + template class Sequence> + inline void get_column_widths(Sequence& columns) + { + for (std::size_t c = 0; c < max_column_count(); ++c) + { + columns.push_back(column_width(c)); + } + } + + template class Sequence> + inline void get_column_widths(Sequence,Allocator>& columns) + { + for (std::size_t c = 0; c < max_column_count(); ++c) + { + columns.push_back(std::make_pair(c,column_width(c))); + } + } + + template + inline std::size_t accumulate_row(const std::size_t& row, T& result) const + { + if (row >= dsv_index_.row_index.size()) + return 0; + + const row_index_range_t& r = dsv_index_.row_index[row]; + + token_list_t::const_iterator itr = dsv_index_.token_list.begin() + r.first; + token_list_t::const_iterator end = dsv_index_.token_list.begin() + r.second + 1; + + std::size_t process_count = 0; + T current_value = T(); + + while (end != itr) + { + if (string_to_type_converter((*itr).first,(*itr).second,current_value)) + { + result += current_value; + ++process_count; + } + else + return 0; + + ++itr; + } + + return process_count; + } + + template + inline std::size_t accumulate_column(const std::size_t& col, + const row_range_t& row_range, + T& result) const + { + if (col > max_column_count_) + return 0; + else if (row_range_invalid(row_range)) + return 0; + + std::size_t process_count = 0; + T current_value = T(); + + for (std::size_t i = row_range.first; i < row_range.second; ++i) + { + const row_index_range_t& r = dsv_index_.row_index[i]; + + if (col < dsv_index_.token_count(r)) + { + const range_t& range = *(dsv_index_.token_list.begin() + r.first + col); + + if (string_to_type_converter(range.first,range.second,current_value)) + result += current_value; + else + return 0; + } + + ++process_count; + } + + return process_count; + } + + template + inline std::size_t accumulate_column(const std::size_t& col, T& result) const + { + return accumulate_column(col,all_rows(),result); + } + + template + inline std::size_t accumulate_column(const std::size_t& col, + const row_range_t& row_range, + Predicate p, + T& result) const + { + if (col > max_column_count_) + return 0; + else if (row_range_invalid(row_range)) + return 0; + + std::size_t process_count = 0; + T current_value = T(); + + for (std::size_t i = row_range.first; i < row_range.second; ++i) + { + const row_index_range_t& r = dsv_index_.row_index[i]; + + if (col < dsv_index_.token_count(r)) + { + row_type row = row_type(i,dsv_index_); + + if (p(row)) + { + const range_t& range = row.token(col); + + if (string_to_type_converter(range.first,range.second,current_value)) + { + result += current_value; + ++process_count; + } + else + return 0; + } + } + } + + return process_count; + } + + template + inline std::size_t accumulate_column(const std::size_t& col, + Predicate p, + T& result) const + { + return accumulate_column(col,all_rows(),p,result); + } + + inline bool join_row(const std::size_t& row, + const std::string& delimiter, + std::string& result) + { + if (row >= dsv_index_.row_index.size()) + return false; + + const row_index_range_t& r = dsv_index_.row_index[row]; + + token_list_t::const_iterator itr = dsv_index_.token_list.begin() + r.first; + token_list_t::const_iterator end = dsv_index_.token_list.begin() + r.second + (row < (dsv_index_.row_index.size() - 1) ? 1 : 0); + + result.reserve(delimiter.size() * dsv_index_.token_count(r) + std::distance(itr->first,end->second)); + + bool appended = false; + + while (end != itr) + { + if (!delimiter.empty() && appended) + result.append(delimiter); + + appended = false; + + if ((*itr).first != (*itr).second) + { + result.append((*itr).first,(*itr).second); + appended = true; + } + + ++itr; + } + + return true; + } + + template + inline bool join_row(const std::size_t& row, + Predicate predicate, + const std::string& delimiter, + std::string& result) + { + if (row >= dsv_index_.row_index.size()) + return false; + + const row_index_range_t& r = dsv_index_.row_index[row]; + + token_list_t::const_iterator itr = (dsv_index_.token_list.begin() + r.first); + token_list_t::const_iterator end = dsv_index_.token_list.begin() + r.second + (row < (dsv_index_.row_index.size() - 1) ? 1 : 0); + + result.reserve(delimiter.size() * dsv_index_.token_count(r) + std::distance(itr->first,end->second)); + + bool appended = false; + + while (end != itr) + { + if (!delimiter.empty() && appended) + result.append(delimiter); + + appended = false; + + if ((*itr).first != (*itr).second) + { + if (predicate(*itr)) + { + result.append((*itr).first,(*itr).second); + appended = true; + } + } + + ++itr; + } + + return true; + } + + template + inline bool join_row(const std::size_t& row, + Predicate predicate, + const char* delimiter, + std::string& result) + { + return join_row(row,predicate,std::string(delimiter),result); + } + + inline bool join_column(const std::size_t& col, + const row_range_t& row_range, + const std::string& delimiter, + std::string& result) const + { + if (col > max_column_count_) + return false; + else if (row_range_invalid(row_range)) + return false; + + bool appended = false; + + for (std::size_t i = row_range.first; i < row_range.second; ++i) + { + const row_index_range_t& r = dsv_index_.row_index[i]; + + if (col < dsv_index_.token_count(r)) + { + row_type row = row_type(i,dsv_index_); + + const range_t& range = row.token(col); + + if (!delimiter.empty() && appended) + result.append(delimiter); + + appended = false; + + if (range.first != range.second) + { + result.append(range.first,range.second); + appended = true; + } + } + } + + return true; + } + + inline bool join_column(const std::size_t& col, + const std::string& delimiter, + std::string& result) const + { + return join_column(col,all_rows(),delimiter,result); + } + + template + inline bool join_column(const std::size_t& col, + const row_range_t& row_range, + Predicate predicate, + const std::string& delimiter, + std::string& result) const + { + if (col > max_column_count_) + return false; + else if (row_range_invalid(row_range)) + return false; + + bool appended = false; + + const std::size_t pre_end_index = row_range.second - 1; + + for (std::size_t i = row_range.first; i < row_range.second; ++i) + { + const row_index_range_t& r = dsv_index_.row_index[i]; + + if (col < dsv_index_.token_count(r)) + { + row_type row = row_type(i,dsv_index_); + const range_t& range = row.token(col); + + if (!delimiter.empty() && appended && (pre_end_index != i)) + result.append(delimiter); + + appended = false; + + if (range.first != range.second) + { + if (predicate(row)) + { + result.append(range.first,range.second); + appended = true; + } + } + } + } + + return true; + } + + template + inline bool join_column(const std::size_t& col, + Predicate p, + const std::string& delimiter, + std::string& result) const + { + return join_column(col,all_rows(),p,delimiter,result); + } + + template + inline bool sequential_partition(const row_range_t& row_range, + TransitionPredicate p, + Function f) + { + if (row_range_invalid(row_range)) + return false; + + row_range_t r(row_range.first,row_range.first); + + for (row_range_t::first_type i = row_range.first; i < row_range.second; ++i) + { + if (p(row_type(i,dsv_index_))) + { + if (r.first != r.second) + { + r.second = i; + if (!f(*this,r)) + return false; + } + + r.first = r.second; + } + else + r.second = i; + } + + if (r.first != row_range.second) + { + r.second = row_range.second; + if (!f(*this,r)) + return false; + } + + return true; + } + + template + inline bool sequential_partition(TransitionPredicate p, Function f) + { + return sequential_partition(all_rows(),p,f); + } + + static inline token_grid::options default_options() + { + return options(); + } + + template + inline std::size_t for_each_row(const row_range_t& row_range, Function f) const + { + if (row_range_invalid(row_range)) + return 0; + + std::size_t row_count = 0; + + for (std::size_t i = row_range.first; i < row_range.second; ++i) + { + f(row_type(i,dsv_index_)); + ++row_count; + } + + return row_count; + } + + template + inline std::size_t for_each_row(Function f) const + { + return for_each_row(all_rows(),f); + } + + bool load(const std::string& file_name, + const token_grid::options& options) + { + file_name_ = file_name; + + if ((load_from_file_) && (0 != buffer_)) + { + delete [] buffer_; + buffer_ = 0; + } + + buffer_size_ = 0; + min_column_count_ = 0; + max_column_count_ = 0; + options_ = options; + load_from_file_ = true; + state_ = load(); + + if (state_) + return true; + else + { + file_name_ = ""; + + if (load_from_file_ && buffer_) + { + delete [] buffer_; + buffer_ = 0; + } + + return false; + } + } + + bool load(unsigned char* buffer, + const std::size_t buffer_size, + const token_grid::options& options) + { + file_name_ = ""; + + if (load_from_file_ && buffer_) + { + delete [] buffer_; + buffer_ = 0; + } + + min_column_count_ = 0; + max_column_count_ = 0; + options_ = options; + load_from_file_ = false; + buffer_ = buffer; + buffer_size_ = buffer_size; + state_ = load(); + + if (state_) + return true; + else + { + file_name_ = ""; + + if (load_from_file_ && buffer_) + { + delete [] buffer_; + buffer_ = 0; + } + + return false; + } + } + + private: + + token_grid(const token_grid& tg); + token_grid& operator=(const token_grid& tg); + + struct is_empty_token + { + inline bool operator()(const range_t& r) const + { + return r.first == r.second; + } + }; + + struct insufficient_number_of_columns + { + insufficient_number_of_columns(const std::size_t& noc) + : num_of_cols(noc) + {} + + inline bool operator()(const row_type& row) const + { + return (num_of_cols != row.size()); + } + + std::size_t num_of_cols; + }; + + struct insufficient_number_of_minmax_columns + { + insufficient_number_of_minmax_columns(const std::size_t& min_col, const std::size_t& max_col) + : min_column_count(min_col), + max_column_count(max_col) + {} + + inline bool operator()(const row_type& row) const + { + return (row.size() < min_column_count) || (max_column_count < row.size()); + } + + std::size_t min_column_count; + std::size_t max_column_count; + }; + + class double_quotes_predicate + { + public: + + double_quotes_predicate(const std::string& delimiters) + : in_bracket_range_(false), + mdp_(delimiters) + {} + + inline bool operator()(const unsigned char c) const + { + if ('"' == c) + { + in_bracket_range_ = !in_bracket_range_; + return false; + } + else if (in_bracket_range_) + return false; + else + return mdp_(c); + } + + inline void reset() + { + in_bracket_range_ = false; + } + + private: + + mutable bool in_bracket_range_; + mutable strtk::multiple_char_delimiter_predicate mdp_; + }; + + inline bool load() + { + if (load_from_file_ && !load_buffer_from_file()) + return false; + + dsv_index_.token_list.clear(); + dsv_index_.row_index.clear(); + + multiple_char_delimiter_predicate text_newline_predicate(options_.row_delimiters); + + if (!options_.support_dquotes) + { + multiple_char_delimiter_predicate token_predicate(options_.column_delimiters); + + strtk::split(text_newline_predicate, + buffer_, buffer_ + buffer_size_, + strtk::functional_inserter( + row_processor + (dsv_index_,token_predicate,options_.column_split_option)), + strtk::split_options::compress_delimiters); + } + else + { + double_quotes_predicate token_predicate_dblq(options_.column_delimiters); + + strtk::split(text_newline_predicate, + buffer_, buffer_ + buffer_size_, + strtk::functional_inserter( + row_processor + (dsv_index_,token_predicate_dblq,options_.column_split_option)), + strtk::split_options::compress_delimiters); + + if (options_.trim_dquotes) + { + for (std::size_t i = 0; i < dsv_index_.token_list.size(); ++i) + { + if ( + ((*(dsv_index_.token_list[i].first )) == '"') && + ((*(dsv_index_.token_list[i].second - 1)) == '"') + ) + { + ++dsv_index_.token_list[i].first; + --dsv_index_.token_list[i].second; + } + } + } + } + + update_minmax_columns(); + + return true; + } + + inline bool load_buffer_from_file() + { + std::ifstream stream(file_name_.c_str(),std::ios::binary); + + if (!stream) + return false; + + stream.seekg (0,std::ios::end); + buffer_size_ = static_cast(stream.tellg()); + + if (0 == buffer_size_) + return false; + + stream.seekg (0,std::ios::beg); + buffer_ = new unsigned char[buffer_size_]; + stream.read(reinterpret_cast(buffer_),static_cast(buffer_size_)); + stream.close(); + + return true; + } + + template + inline void process_token(const range_t& range, OutputIterator out) const + { + typedef typename std::iterator_traits::value_type output_type; + (*out) = string_to_type_converter(range.first,range.second); + ++out; + } + + template + inline void process_token_checked(const range_t& range, OutputIterator out) const + { + typedef typename std::iterator_traits::value_type output_type; + + output_type value; + + if (string_to_type_converter(range.first,range.second,value)) + { + (*out) = value; + ++out; + } + } + + inline bool row_range_invalid(const row_range_t& row_range) const + { + if (row_range.first > dsv_index_.row_index.size()) + return true; + else if (row_range.second > dsv_index_.row_index.size()) + return true; + else if (row_range.first > row_range.second) + return true; + else + return false; + } + + inline void update_minmax_columns() + { + min_column_count_ = std::numeric_limits::max(); + max_column_count_ = std::numeric_limits::min(); + + for (std::size_t i = 0; i < dsv_index_.row_index.size(); ++i) + { + const row_index_range_t& r = dsv_index_.row_index[i]; + const std::size_t number_of_tokens = dsv_index_.token_count(r); + + if (number_of_tokens > max_column_count_) + max_column_count_ = number_of_tokens; + if (number_of_tokens < min_column_count_) + min_column_count_ = number_of_tokens; + } + } + + private: + + store dsv_index_; + std::string file_name_; + unsigned char* buffer_; + std::size_t buffer_size_; + std::size_t min_column_count_; + std::size_t max_column_count_; + options options_; + bool load_from_file_; + bool state_; + }; + + template + inline bool convert_string_range(const std::pair& range, T& t) + { + if (range.first == range.second) return false; + t = string_to_type_converter(std::string(range.first,range.second)); + return true; + } + + struct empty_range + { + public: + + template + inline bool operator()(const InputIterator begin, const InputIterator end) + { + return (0 == std::distance(begin,end)); + } + }; + + struct nonempty_range + { + public: + + template + inline bool operator()(const InputIterator begin, const InputIterator end) + { + return (0 != std::distance(begin,end)); + } + }; + + template + struct filter_non_empty_range + { + public: + + filter_non_empty_range(OutputIterator out) + : out_(out) + {} + + template + inline void operator() (const std::pair& range) + { + if (range.first != range.second) + { + *out_++ = range; + } + } + + private: + + OutputIterator out_; + }; + + template + struct filter_on_wildcard_match + { + public: + + filter_on_wildcard_match(const std::string& match_pattern, + OutputPredicate& predicate, + bool allow_through_on_match = true) + : allow_through_on_match_(allow_through_on_match), + match_pattern_(match_pattern), + predicate_(predicate) + {} + + template + inline void operator() (const std::pair& range) const + { + if (match(match_pattern_.begin(),match_pattern_.end(),range.first,range.second,'*','?') ^ allow_through_on_match_) + { + predicate_(range); + } + } + + inline void operator() (const std::string& s) const + { + if (match(match_pattern_,s) ^ allow_through_on_match_) + { + predicate_(s); + } + } + + private: + + filter_on_wildcard_match(const filter_on_wildcard_match& fom); + filter_on_wildcard_match& operator=(const filter_on_wildcard_match& fom); + + bool allow_through_on_match_; + std::string match_pattern_; + OutputPredicate& predicate_; + }; + + template + struct filter_on_match + { + public: + + filter_on_match(const std::string* begin, const std::string* end, + OutputPredicate predicate, + bool case_insensitive, + bool allow_through_on_match = true) + : case_insensitive_(case_insensitive), + allow_through_on_match_(allow_through_on_match), + begin_(begin), + end_(end), + predicate_(predicate) + {} + + template + inline void operator() (const std::pair& range) const + { + for (const std::string* itr = begin_; end_ != itr; ++itr) + { + if ( + (case_insensitive_ && + (imatch(to_ptr((*itr)), to_ptr((*itr)) + (*itr).size(), range.first,range.second))) || + (!case_insensitive_ && std::equal((*itr).begin(), (*itr).end(), range.first)) + ) + { + if (allow_through_on_match_) + { + predicate_(range); + } + + return; + } + } + + if (!allow_through_on_match_) + { + predicate_(range); + } + } + + inline void operator() (const std::string& s) const + { + for (const std::string* itr = begin_; end_ != itr; ++itr) + { + if ( + (case_insensitive_ && + (imatch((*itr).begin(),(*itr).end(),s.begin(),s.end()))) || + (!case_insensitive_ && std::equal((*itr).begin(),(*itr).end(),s.begin())) + ) + { + if (allow_through_on_match_) + { + predicate_(s); + return; + } + } + } + + if (!allow_through_on_match_) + { + predicate_(s); + return; + } + } + + private: + + filter_on_match& operator=(const filter_on_match& fom); + + private: + + bool case_insensitive_; + bool allow_through_on_match_; + const std::string* begin_; + const std::string* end_; + OutputPredicate predicate_; + }; + + template + inline void skip_while_matching(Iterator& itr, + const Iterator& end, + const MatchPredicate& predicate) + { + while (end != itr) + { + if (predicate(*itr)) + ++itr; + else + break; + } + } + + template + struct size_equal_to + { + template + inline bool operator()(const Iterator begin, const Iterator end) const + { + return length == std::distance(begin,end); + } + + template + inline bool operator()(const std::pair& range) const + { + return length == std::distance(range.first,range.second); + } + + template class Sequence> + inline bool operator()(const Sequence& sequence) const + { + return length == sequence.size(); + } + + template + inline bool operator()(const std::set& set) const + { + return length == set.size(); + } + + template + inline bool operator()(const std::multiset& multiset) const + { + return length == multiset.size(); + } + + inline bool operator()(const std::string& str) const + { + return length == str.size(); + } + }; + + template + struct size_less_than + { + template + inline bool operator()(const Iterator begin, const Iterator end) const + { + return std::distance(begin,end) < static_cast::difference_type>(length); + } + + template + inline bool operator()(const std::pair& range) const + { + return std::distance(range.first,range.second) < static_cast::difference_type>(length); + } + + template class Sequence> + inline bool operator()(const Sequence& sequence) const + { + return sequence.size() < length; + } + + template + inline bool operator()(const std::set& set) const + { + return set.size() < length; + } + + template + inline bool operator()(const std::multiset& multiset) const + { + return multiset.size() < length; + } + + inline bool operator()(const std::string& str) const + { + return str.size() < length; + } + }; + + template + struct size_greater_than + { + template + inline bool operator()(const Iterator begin, const Iterator end) const + { + return std::distance(begin,end) > static_cast::difference_type>(length); + } + + template + inline bool operator()(const std::pair& range) const + { + return std::distance(range.first,range.second) > static_cast::difference_type>(length); + } + + template class Sequence> + inline bool operator()(const Sequence& sequence) const + { + return sequence.size() > length; + } + + template + inline bool operator()(const std::set& set) const + { + return set.size() > length; + } + + template + inline bool operator()(const std::multiset& multiset) const + { + return multiset.size() > length; + } + + inline bool operator()(const std::string& str) const + { + return str.size() > length; + } + }; + + struct size_is_even + { + template + inline bool operator()(const Iterator begin, const Iterator end) const + { + return 0 == (std::distance(begin,end) % 2); + } + + template + inline bool operator()(const std::pair& range) const + { + return 0 == (std::distance(range.first,range.second) % 2); + } + + template class Sequence> + inline bool operator()(const Sequence& sequence) const + { + return 0 == (sequence.size() % 2); + } + + template + inline bool operator()(const std::set& set) const + { + return 0 == (set.size() % 2); + } + + template + inline bool operator()(const std::multiset& multiset) const + { + return 0 == (multiset.size() % 2); + } + + inline bool operator()(const std::string& str) const + { + return 0 == (str.size() % 2); + } + }; + + struct size_is_odd + { + template + inline bool operator()(const Iterator begin, const Iterator end) const + { + return 0 != (std::distance(begin,end) % 2); + } + + template + inline bool operator()(const std::pair& range) const + { + return 0 != (std::distance(range.first,range.second) % 2); + } + + template class Sequence> + inline bool operator()(const Sequence& sequence) const + { + return 0 != (sequence.size() % 2); + } + + template + inline bool operator()(const std::set& set) const + { + return 0 != (set.size() % 2); + } + + template + inline bool operator()(const std::multiset& multiset) const + { + return 0 != (multiset.size() % 2); + } + + inline bool operator()(const std::string& str) const + { + return 0 != (str.size() % 2); + } + }; + + template + inline bool parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + T1& t1 , T2& t2, T3& t3, T4& t4, + T5& t5 , T6& t6, T7& t7, T8& t8, + T9& t9 , T10& t10, T11& t11, T12& t12, + T13& t13, T14& t14, T15& t15, T16& t16) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + static const std::size_t token_count = 16; + typedef std::pair iterator_type; + typedef iterator_type* iterator_type_ptr; + iterator_type token_list[token_count]; + + const std::size_t parsed_token_count = split_n(delimiters, + begin, end, + token_count, + token_list, + split_options::compress_delimiters); + if (token_count > parsed_token_count) + return false; + + iterator_type_ptr itr = token_list; + + #define strtk_cmpstmt(N) \ + if (!string_to_type_converter((*itr).first,(*itr).second, t##N)) \ + return false; \ + ++itr; \ + + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + strtk_cmpstmt( 6) + strtk_cmpstmt( 7) + strtk_cmpstmt( 8) + strtk_cmpstmt( 9) + strtk_cmpstmt(10) + strtk_cmpstmt(11) + strtk_cmpstmt(12) + strtk_cmpstmt(13) + strtk_cmpstmt(14) + strtk_cmpstmt(15) + return string_to_type_converter((*itr).first,(*itr).second,t16); + } + + template + inline bool parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + T1& t1 , T2& t2, T3& t3, T4& t4, + T5& t5 , T6& t6, T7& t7, T8& t8, + T9& t9 , T10& t10, T11& t11, T12& t12, + T13& t13, T14& t14, T15& t15) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + static const std::size_t token_count = 15; + typedef std::pair iterator_type; + typedef iterator_type* iterator_type_ptr; + iterator_type token_list[token_count]; + + const std::size_t parsed_token_count = split_n(delimiters, + begin, end, + token_count, + token_list, + split_options::compress_delimiters); + if (token_count > parsed_token_count) + return false; + + iterator_type_ptr itr = token_list; + + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + strtk_cmpstmt( 6) + strtk_cmpstmt( 7) + strtk_cmpstmt( 8) + strtk_cmpstmt( 9) + strtk_cmpstmt(10) + strtk_cmpstmt(11) + strtk_cmpstmt(12) + strtk_cmpstmt(13) + strtk_cmpstmt(14) + return string_to_type_converter((*itr).first,(*itr).second,t15); + } + + template + inline bool parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + T1& t1 , T2& t2, T3& t3, T4& t4, + T5& t5 , T6& t6, T7& t7, T8& t8, + T9& t9 , T10& t10, T11& t11, T12& t12, + T13& t13, T14& t14) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + static const std::size_t token_count = 14; + typedef std::pair iterator_type; + typedef iterator_type* iterator_type_ptr; + iterator_type token_list[token_count]; + + const std::size_t parsed_token_count = split_n(delimiters, + begin, end, + token_count, + token_list, + split_options::compress_delimiters); + if (token_count > parsed_token_count) + return false; + + iterator_type_ptr itr = token_list; + + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + strtk_cmpstmt( 6) + strtk_cmpstmt( 7) + strtk_cmpstmt( 8) + strtk_cmpstmt( 9) + strtk_cmpstmt(10) + strtk_cmpstmt(11) + strtk_cmpstmt(12) + strtk_cmpstmt(13) + return string_to_type_converter((*itr).first,(*itr).second,t14); + } + + template + inline bool parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + T1& t1 , T2& t2, T3& t3, T4& t4, + T5& t5 , T6& t6, T7& t7, T8& t8, + T9& t9 , T10& t10, T11& t11, T12& t12, + T13& t13) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + static const std::size_t token_count = 13; + typedef std::pair iterator_type; + typedef iterator_type* iterator_type_ptr; + iterator_type token_list[token_count]; + + const std::size_t parsed_token_count = split_n(delimiters, + begin, end, + token_count, + token_list, + split_options::compress_delimiters); + if (token_count > parsed_token_count) + return false; + + iterator_type_ptr itr = token_list; + + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + strtk_cmpstmt( 6) + strtk_cmpstmt( 7) + strtk_cmpstmt( 8) + strtk_cmpstmt( 9) + strtk_cmpstmt(10) + strtk_cmpstmt(11) + strtk_cmpstmt(12) + return string_to_type_converter((*itr).first,(*itr).second,t13); + } + + template + inline bool parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, + T9& t9, T10& t10, T11& t11, T12& t12) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + static const std::size_t token_count = 12; + typedef std::pair iterator_type; + typedef iterator_type* iterator_type_ptr; + iterator_type token_list[token_count]; + + const std::size_t parsed_token_count = split_n(delimiters, + begin, end, + token_count, + token_list, + split_options::compress_delimiters); + if (token_count > parsed_token_count) + return false; + + iterator_type_ptr itr = token_list; + + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + strtk_cmpstmt( 6) + strtk_cmpstmt( 7) + strtk_cmpstmt( 8) + strtk_cmpstmt( 9) + strtk_cmpstmt(10) + strtk_cmpstmt(11) + return string_to_type_converter((*itr).first,(*itr).second,t12); + } + + template + inline bool parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, + T9& t9, T10& t10, T11& t11) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + static const std::size_t token_count = 11; + typedef std::pair iterator_type; + typedef iterator_type* iterator_type_ptr; + iterator_type token_list[token_count]; + + const std::size_t parsed_token_count = split_n(delimiters, + begin, end, + token_count, + token_list, + split_options::compress_delimiters); + + if (token_count > parsed_token_count) + return false; + + iterator_type_ptr itr = token_list; + + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + strtk_cmpstmt( 6) + strtk_cmpstmt( 7) + strtk_cmpstmt( 8) + strtk_cmpstmt( 9) + strtk_cmpstmt(10) + return string_to_type_converter((*itr).first,(*itr).second,t11); + } + + template + inline bool parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, + T9& t9, T10& t10) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + static const std::size_t token_count = 10; + typedef std::pair iterator_type; + typedef iterator_type* iterator_type_ptr; + iterator_type token_list[token_count]; + + const std::size_t parsed_token_count = split_n(delimiters, + begin, end, + token_count, + token_list, + split_options::compress_delimiters); + + if (token_count > parsed_token_count) + return false; + + iterator_type_ptr itr = token_list; + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + strtk_cmpstmt( 6) + strtk_cmpstmt( 7) + strtk_cmpstmt( 8) + strtk_cmpstmt( 9) + return string_to_type_converter((*itr).first,(*itr).second,t10); + } + + template + inline bool parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, + T9& t9) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + static const std::size_t token_count = 9; + typedef std::pair iterator_type; + typedef iterator_type* iterator_type_ptr; + iterator_type token_list[token_count]; + + const std::size_t parsed_token_count = split_n(delimiters, + begin, end, + token_count, + token_list, + split_options::compress_delimiters); + if (token_count > parsed_token_count) + return false; + + iterator_type_ptr itr = token_list; + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + strtk_cmpstmt( 6) + strtk_cmpstmt( 7) + strtk_cmpstmt( 8) + return string_to_type_converter((*itr).first,(*itr).second,t9); + } + + template + inline bool parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + static const std::size_t token_count = 8; + typedef std::pair iterator_type; + typedef iterator_type* iterator_type_ptr; + iterator_type token_list[token_count]; + + const std::size_t parsed_token_count = split_n(delimiters, + begin, end, + token_count, + token_list, + split_options::compress_delimiters); + if (token_count > parsed_token_count) + return false; + + iterator_type_ptr itr = token_list; + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + strtk_cmpstmt( 6) + strtk_cmpstmt( 7) + return string_to_type_converter((*itr).first,(*itr).second,t8); + } + + template + inline bool parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + static const std::size_t token_count = 7; + typedef std::pair iterator_type; + typedef iterator_type* iterator_type_ptr; + iterator_type token_list[token_count]; + + const std::size_t parsed_token_count = split_n(delimiters, + begin, end, + token_count, + token_list, + split_options::compress_delimiters); + if (token_count > parsed_token_count) + return false; + + iterator_type_ptr itr = token_list; + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + strtk_cmpstmt( 6) + return string_to_type_converter((*itr).first,(*itr).second,t7); + } + + template + inline bool parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + static const std::size_t token_count = 6; + typedef std::pair iterator_type; + typedef iterator_type* iterator_type_ptr; + iterator_type token_list[token_count]; + + const std::size_t parsed_token_count = split_n(delimiters, + begin, end, + token_count, + token_list, + split_options::compress_delimiters); + if (token_count > parsed_token_count) + return false; + + iterator_type_ptr itr = token_list; + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + return string_to_type_converter((*itr).first,(*itr).second,t6); + } + + template + inline bool parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + static const std::size_t token_count = 5; + typedef std::pair iterator_type; + typedef iterator_type* iterator_type_ptr; + iterator_type token_list[token_count]; + + const std::size_t parsed_token_count = split_n(delimiters, + begin, end, + token_count, + token_list, + split_options::compress_delimiters); + + if (token_count > parsed_token_count) + return false; + + iterator_type_ptr itr = token_list; + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + return string_to_type_converter((*itr).first,(*itr).second,t5); + } + + template + inline bool parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + static const std::size_t token_count = 4; + typedef std::pair iterator_type; + typedef iterator_type* iterator_type_ptr; + iterator_type token_list[token_count]; + + const std::size_t parsed_token_count = split_n(delimiters, + begin, end, + token_count, + token_list, + split_options::compress_delimiters); + + if (token_count > parsed_token_count) + return false; + + iterator_type_ptr itr = token_list; + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + return string_to_type_converter((*itr).first,(*itr).second,t4); + } + + template + inline bool parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + static const std::size_t token_count = 3; + typedef std::pair iterator_type; + typedef iterator_type* iterator_type_ptr; + iterator_type token_list[token_count]; + const std::size_t parsed_token_count = split_n(delimiters, + begin, end, + token_count, + token_list, + split_options::compress_delimiters); + + if (token_count > parsed_token_count) + return false; + + iterator_type_ptr itr = token_list; + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + return string_to_type_converter((*itr).first,(*itr).second,t3); + } + + template + inline bool parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + static const std::size_t token_count = 2; + typedef std::pair iterator_type; + typedef iterator_type* iterator_type_ptr; + iterator_type token_list[token_count]; + + const std::size_t parsed_token_count = split_n(delimiters, + begin, end, + token_count, + token_list, + split_options::compress_delimiters); + if (token_count > parsed_token_count) + return false; + + iterator_type_ptr itr = token_list; + strtk_cmpstmt(1) + return string_to_type_converter((*itr).first,(*itr).second,t2); + #undef strtk_cmpstmt + } + + template + inline bool parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + T& t) + { + typedef typename details::is_valid_iterator::type itr_type; + details::convert_type_assert(); + static const std::size_t token_count = 1; + typedef std::pair iterator_type; + typedef iterator_type* iterator_type_ptr; + iterator_type token_list[token_count]; + + const std::size_t parsed_token_count = split_n(delimiters, + begin, end, + token_count, + token_list, + split_options::compress_delimiters); + if (token_count > parsed_token_count) + return false; + + iterator_type_ptr itr = token_list; + return string_to_type_converter((*itr).first,(*itr).second,t); + } + + namespace details + { + template + inline std::size_t parse_impl(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + OutputIterator out, + const split_options::type& split_option = split_options::compress_delimiters) + { + typedef typename details::is_valid_iterator::type itr_type; + + details::convert_type_assert(); + + if (1 == delimiters.size()) + return split(single_delimiter_predicate(delimiters[0]), + begin, end, + out, + split_option); + else + return split(multiple_char_delimiter_predicate(delimiters), + begin, end, + out, + split_option); + } + } + + #define strtk_def_parse_cont(Type) \ + template \ + inline std::size_t parse(const InputIterator begin, \ + const InputIterator end, \ + const std::string& delimiters, \ + Type& sequence, \ + const split_options::type& split_option = split_options::compress_delimiters) \ + { \ + return details::parse_impl(begin, end, \ + delimiters, \ + range_to_type_back_inserter(sequence), \ + split_option); \ + } \ + + strtk_def_parse_cont(std::vector) + strtk_def_parse_cont(std::deque ) + strtk_def_parse_cont(std::list ) + + #undef strtk_def_parse_cont + + template + inline std::size_t parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + std::set& set, + const split_options::type& split_option = split_options::compress_delimiters) + { + return details::parse_impl(begin, end, + delimiters, + range_to_type_inserter(set), + split_option); + } + + template + inline std::size_t parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + std::multiset& multiset, + const split_options::type& split_option = split_options::compress_delimiters) + { + return details::parse_impl(begin, end, + delimiters, + range_to_type_inserter(multiset), + split_option); + } + + template + inline std::size_t parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + std::queue& queue, + const split_options::type& split_option = split_options::compress_delimiters) + { + return details::parse_impl(begin, end, + delimiters, + range_to_type_push_inserter(queue), + split_option); + } + + template + inline std::size_t parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + std::stack& stack, + const split_options::type& split_option = split_options::compress_delimiters) + { + return details::parse_impl(begin, end, + delimiters, + range_to_type_push_inserter(stack), + split_option); + } + + template + inline std::size_t parse(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + std::priority_queue& priority_queue, + const split_options::type& split_option = split_options::compress_delimiters) + { + return details::parse_impl(begin, end, + delimiters, + range_to_type_push_inserter(priority_queue), + split_option); + } + + template class Sequence> + inline std::size_t parse(const std::pair& range, + const std::string& delimiters, + Sequence& sequence, + const split_options::type& split_option = split_options::compress_delimiters) + { + return details::parse_impl(range.first,range.second, + delimiters, + range_to_type_back_inserter(sequence), + split_option); + } + + template + inline std::size_t parse(const std::pair& range, + const std::string& delimiters, + std::set& set, + const split_options::type& split_option = split_options::compress_delimiters) + { + return details::parse_impl(range.first, range.second, + delimiters, + range_to_type_inserter(set), + split_option); + } + + template + inline std::size_t parse(const std::pair& range, + const std::string& delimiters, + std::multiset& multiset, + const split_options::type& split_option = split_options::compress_delimiters) + { + return details::parse_impl(range.first, range.second, + delimiters, + range_to_type_inserter(multiset), + split_option); + } + + template + inline std::size_t parse(const std::pair& range, + const std::string& delimiters, + std::queue& queue, + const split_options::type& split_option = split_options::compress_delimiters) + { + return details::parse_impl(range.first, range.second, + delimiters, + range_to_type_push_inserter(queue), + split_option); + } + + template + inline std::size_t parse(const std::pair& range, + const std::string& delimiters, + std::stack& stack, + const split_options::type& split_option = split_options::compress_delimiters) + { + return details::parse_impl(range.first, range.second, + delimiters, + range_to_type_push_inserter(stack), + split_option); + } + + template + inline std::size_t parse(const std::pair& range, + const std::string& delimiters, + std::priority_queue& priority_queue, + const split_options::type& split_option = split_options::compress_delimiters) + { + return details::parse_impl(range.first, range.second, + delimiters, + range_to_type_push_inserter(priority_queue), + split_option); + } + + namespace details + { + class container_adder + { + private: + + class container_adder_base + { + public: + + typedef const char* itr_type; + + virtual ~container_adder_base(){} + + template + inline bool add(const InputIterator begin, const InputIterator end) const + { + return add_impl(begin,end); + } + + template + inline bool add(const std::pair& range) const + { + return add(range.first,range.second); + } + + protected: + + virtual bool add_impl(const itr_type begin, const itr_type end) const = 0; + + }; + + template class Sequence> + class sequence_adder_impl : public container_adder_base + { + public: + + typedef Sequence sequence_t; + + sequence_adder_impl(sequence_t& seq) + : sequence_(seq) + {} + + protected: + + bool add_impl(const itr_type begin, const itr_type end) const + { + T t; + if (!string_to_type_converter(begin, end, t)) return false; + sequence_.push_back(t); + return true; + } + + private: + + sequence_adder_impl operator=(const sequence_adder_impl&); + + sequence_t& sequence_; + }; + + template class Set> + class set_adder_impl : public container_adder_base + { + public: + + set_adder_impl(Set& set) + : set_(set) + {} + + bool add_impl(const itr_type begin, const itr_type end) const + { + T t; + if (!string_to_type_converter(begin, end, t)) return false; + set_.insert(t); + return true; + } + + private: + + set_adder_impl operator=(const set_adder_impl&); + + Set& set_; + }; + + template + class pq_adder_impl : public container_adder_base + { + public: + + pq_adder_impl(std::priority_queue& pq) + : pq_(pq) + {} + + bool add_impl(const itr_type begin, const itr_type end) const + { + T t; + if (!string_to_type_converter(begin, end, t)) return false; + pq_.push(t); + return true; + } + + private: + + pq_adder_impl operator=(const pq_adder_impl&); + + std::priority_queue& pq_; + }; + + template class SContainer> + class stack_queue_adder_impl : public container_adder_base + { + public: + + stack_queue_adder_impl(SContainer& container) + : container_(container) + {} + + bool add_impl(const itr_type begin, const itr_type end) const + { + T t; + if (!string_to_type_converter(begin, end, t)) return false; + container_.push(t); + return true; + } + + private: + + stack_queue_adder_impl operator=(const stack_queue_adder_impl&); + + SContainer& container_; + }; + + public: + + template + container_adder(std::vector& vec) + : container_adder_base_(new(buffer)sequence_adder_impl(vec)) + {} + + template + container_adder(std::deque& deq) + : container_adder_base_(new(buffer)sequence_adder_impl(deq)) + {} + + template + container_adder(std::list& list) + : container_adder_base_(new(buffer)sequence_adder_impl(list)) + {} + + template + container_adder(std::set& set) + : container_adder_base_(new(buffer)set_adder_impl(set)) + {} + + template + container_adder(std::multiset& multiset) + : container_adder_base_(new(buffer)set_adder_impl(multiset)) + {} + + template + container_adder(std::priority_queue& pq) + : container_adder_base_(new(buffer)pq_adder_impl(pq)) + {} + + template + container_adder(std::queue& queue) + : container_adder_base_(new(buffer)stack_queue_adder_impl(queue)) + {} + + template + container_adder(std::stack& stack) + : container_adder_base_(new(buffer)stack_queue_adder_impl(stack)) + {} + + template + inline bool add(InputIterator begin, InputIterator end) const + { + return container_adder_base_->add(begin,end); + } + + template + inline bool add(std::pair& range) const + { + return add(range.first,range.second); + } + + template + inline bool operator()(const InputIterator begin, const InputIterator end) + { + InputIterator itr = begin; + + while (end != itr) + { + if (!add(*itr)) return false; + ++itr; + } + + return true; + } + + private: + + mutable container_adder_base* container_adder_base_; + unsigned char buffer[64]; + }; + + template + struct ca_type { typedef T& type; }; + + template + struct ca_type { typedef details::container_adder type; }; + + } + + template + inline bool parse(const InputIterator begin, const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, + T8& t8, T9& t9, T10& t10, T11& t11, + details::container_adder ca) + { + typedef typename details::is_valid_iterator::type itr_type; + typedef std::pair iterator_type; + typedef typename std::deque::iterator iterator_type_ptr; + + details::convert_type_assert(); + + std::deque token_list; + + if (1 == delimiters.size()) + split(single_delimiter_predicate(delimiters[0]), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + else + split(multiple_char_delimiter_predicate(delimiters), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + + if (token_list.size() < 12) return false; + + iterator_type_ptr itr = token_list.begin(); + + #define strtk_cmpstmt(N) \ + if (!string_to_type_converter((*itr).first,(*itr).second, t##N)) \ + return false; \ + ++itr; \ + + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + strtk_cmpstmt( 6) + strtk_cmpstmt( 7) + strtk_cmpstmt( 8) + strtk_cmpstmt( 9) + strtk_cmpstmt(10) + strtk_cmpstmt(11) + return ca(itr,token_list.end()); + } + + template + inline bool parse(const InputIterator begin, const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, + details::container_adder ca) + { + typedef typename details::is_valid_iterator::type itr_type; + typedef std::pair iterator_type; + typedef typename std::deque::iterator iterator_type_ptr; + + details::convert_type_assert(); + + std::deque token_list; + + if (1 == delimiters.size()) + split(single_delimiter_predicate(delimiters[0]), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + else + split(multiple_char_delimiter_predicate(delimiters), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + + if (token_list.size() < 11) return false; + + iterator_type_ptr itr = token_list.begin(); + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + strtk_cmpstmt( 6) + strtk_cmpstmt( 7) + strtk_cmpstmt( 8) + strtk_cmpstmt( 9) + strtk_cmpstmt(10) + return ca(itr,token_list.end()); + } + + template + inline bool parse(const InputIterator begin, const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, + details::container_adder ca) + { + typedef typename details::is_valid_iterator::type itr_type; + typedef std::pair iterator_type; + typedef typename std::deque::iterator iterator_type_ptr; + + details::convert_type_assert(); + + std::deque token_list; + + if (1 == delimiters.size()) + split(single_delimiter_predicate(delimiters[0]), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + else + split(multiple_char_delimiter_predicate(delimiters), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + + if (token_list.size() < 10) return false; + + iterator_type_ptr itr = token_list.begin(); + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + strtk_cmpstmt( 6) + strtk_cmpstmt( 7) + strtk_cmpstmt( 8) + strtk_cmpstmt( 9) + return ca(itr,token_list.end()); + } + + template + inline bool parse(const InputIterator begin, const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, T8& t8, + details::container_adder ca) + { + typedef typename details::is_valid_iterator::type itr_type; + typedef std::pair iterator_type; + typedef typename std::deque::iterator iterator_type_ptr; + + details::convert_type_assert(); + + std::deque token_list; + + if (1 == delimiters.size()) + split(single_delimiter_predicate(delimiters[0]), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + else + split(multiple_char_delimiter_predicate(delimiters), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + + if (token_list.size() < 9) return false; + + iterator_type_ptr itr = token_list.begin(); + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + strtk_cmpstmt( 6) + strtk_cmpstmt( 7) + strtk_cmpstmt( 8) + return ca(itr,token_list.end()); + } + + template + inline bool parse(const InputIterator begin, const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7, + details::container_adder ca) + { + typedef typename details::is_valid_iterator::type itr_type; + typedef std::pair iterator_type; + typedef typename std::deque::iterator iterator_type_ptr; + + details::convert_type_assert(); + + std::deque token_list; + + if (1 == delimiters.size()) + split(single_delimiter_predicate(delimiters[0]), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + else + split(multiple_char_delimiter_predicate(delimiters), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + + if (token_list.size() < 8) return false; + + iterator_type_ptr itr = token_list.begin(); + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + strtk_cmpstmt( 6) + strtk_cmpstmt( 7) + return ca(itr,token_list.end()); + } + + template + inline bool parse(const InputIterator begin, const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, + details::container_adder ca) + { + typedef typename details::is_valid_iterator::type itr_type; + typedef std::pair iterator_type; + typedef typename std::deque::iterator iterator_type_ptr; + + details::convert_type_assert(); + + std::deque token_list; + + if (1 == delimiters.size()) + split(single_delimiter_predicate(delimiters[0]), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + else + split(multiple_char_delimiter_predicate(delimiters), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + + if (token_list.size() < 7) return false; + + iterator_type_ptr itr = token_list.begin(); + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + strtk_cmpstmt( 6) + return ca(itr,token_list.end()); + } + + template + inline bool parse(const InputIterator begin, const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, + details::container_adder ca) + { + typedef typename details::is_valid_iterator::type itr_type; + typedef std::pair iterator_type; + typedef typename std::deque::iterator iterator_type_ptr; + + details::convert_type_assert(); + + std::deque token_list; + + if (1 == delimiters.size()) + split(single_delimiter_predicate(delimiters[0]), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + else + split(multiple_char_delimiter_predicate(delimiters), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + + if (token_list.size() < 6) return false; + + iterator_type_ptr itr = token_list.begin(); + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + strtk_cmpstmt( 5) + return ca(itr,token_list.end()); + } + + template + inline bool parse(const InputIterator begin, const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, + details::container_adder ca) + { + typedef typename details::is_valid_iterator::type itr_type; + typedef std::pair iterator_type; + typedef typename std::deque::iterator iterator_type_ptr; + + details::convert_type_assert(); + + std::deque token_list; + + if (1 == delimiters.size()) + split(single_delimiter_predicate(delimiters[0]), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + else + split(multiple_char_delimiter_predicate(delimiters), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + + if (token_list.size() < 5) return false; + + iterator_type_ptr itr = token_list.begin(); + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + strtk_cmpstmt( 4) + return ca(itr,token_list.end()); + } + + template + inline bool parse(const InputIterator begin, const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, + details::container_adder ca) + { + typedef typename details::is_valid_iterator::type itr_type; + typedef std::pair iterator_type; + typedef typename std::deque::iterator iterator_type_ptr; + + details::convert_type_assert(); + + std::deque token_list; + + if (1 == delimiters.size()) + split(single_delimiter_predicate(delimiters[0]), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + else + split(multiple_char_delimiter_predicate(delimiters), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + + if (token_list.size() < 4) return false; + + iterator_type_ptr itr = token_list.begin(); + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + strtk_cmpstmt( 3) + return ca(itr,token_list.end()); + } + + template + inline bool parse(const InputIterator begin, const InputIterator end, + const std::string& delimiters, + T1& t1, T2& t2, + details::container_adder ca) + { + typedef typename details::is_valid_iterator::type itr_type; + typedef std::pair iterator_type; + typedef typename std::deque::iterator iterator_type_ptr; + + details::convert_type_assert(); + + std::deque token_list; + + if (1 == delimiters.size()) + split(single_delimiter_predicate(delimiters[0]), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + else + split(multiple_char_delimiter_predicate(delimiters), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + + if (token_list.size() < 3) return false; + iterator_type_ptr itr = token_list.begin(); + strtk_cmpstmt( 1) + strtk_cmpstmt( 2) + return ca(itr,token_list.end()); + } + + template + inline bool parse(const InputIterator begin, const InputIterator end, + const std::string& delimiters, + T1& t1, + details::container_adder ca) + { + typedef typename details::is_valid_iterator::type itr_type; + typedef std::pair iterator_type; + typedef typename std::deque::iterator iterator_type_ptr; + + details::convert_type_assert(); + + std::deque token_list; + + if (1 == delimiters.size()) + split(single_delimiter_predicate(delimiters[0]), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + else + split(multiple_char_delimiter_predicate(delimiters), + begin, end, + std::back_inserter(token_list), + split_options::compress_delimiters); + + if (token_list.size() < 2) return false; + + iterator_type_ptr itr = token_list.begin(); + strtk_cmpstmt( 1) + return ca(itr,token_list.end()); + #undef strtk_cmpstmt + } + + #define strtk_def_parse_n_cont(Type) \ + template \ + inline std::size_t parse_n(const InputIterator begin, \ + const InputIterator end, \ + const std::string& delimiters, \ + const std::size_t& n, \ + Type& sequence, \ + const split_options::type& split_option = split_options::compress_delimiters) \ + { \ + typedef typename details::is_valid_iterator::type itr_type; \ + const std::size_t original_size = sequence.size(); \ + \ + details::convert_type_assert(); \ + \ + if (1 == delimiters.size()) \ + split_n(single_delimiter_predicate(delimiters[0]), \ + begin, end, \ + n, \ + range_to_type_back_inserter(sequence), \ + split_option); \ + else \ + split_n(multiple_char_delimiter_predicate(delimiters), \ + begin, end, \ + n, \ + range_to_type_back_inserter(sequence), \ + split_option); \ + \ + return sequence.size() - original_size; \ + } \ + + strtk_def_parse_n_cont(std::vector) + strtk_def_parse_n_cont(std::deque ) + strtk_def_parse_n_cont(std::list ) + + #undef strtk_def_parse_n_cont + + template + inline std::size_t parse_n(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const std::size_t& n, + std::set& set, + const split_options::type& split_option = split_options::compress_delimiters) + { + typedef typename details::is_valid_iterator::type itr_type; + const std::size_t original_size = set.size(); + + details::convert_type_assert(); + + if (1 == delimiters.size()) + split_n(single_delimiter_predicate(delimiters[0]), + begin, end, + n, + range_to_type_inserter(set), + split_option); + else + split_n(multiple_char_delimiter_predicate(delimiters), + begin, end, + n, + range_to_type_inserter(set), + split_option); + + return set.size() - original_size; + } + + template + inline std::size_t parse_n(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const std::size_t& n, + std::multiset& multiset, + const split_options::type& split_option = split_options::compress_delimiters) + { + typedef typename details::is_valid_iterator::type itr_type; + const std::size_t original_size = multiset.size(); + + details::convert_type_assert(); + + if (1 == delimiters.size()) + split_n(single_delimiter_predicate(delimiters[0]), + begin, end, + n, + range_to_type_inserter(multiset), + split_option); + else + split_n(multiple_char_delimiter_predicate(delimiters), + begin, end, + n, + range_to_type_inserter(multiset), + split_option); + + return multiset.size() - original_size; + } + + template + inline std::size_t parse_n(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const std::size_t& n, + std::queue& queue, + const split_options::type& split_option = split_options::compress_delimiters) + { + typedef typename details::is_valid_iterator::type itr_type; + const std::size_t original_size = queue.size(); + + details::convert_type_assert(); + + if (1 == delimiters.size()) + split_n(single_delimiter_predicate(delimiters[0]), + begin, end, + n, + range_to_type_push_inserter(queue), + split_option); + else + split_n(multiple_char_delimiter_predicate(delimiters), + begin, end, + n, + range_to_type_push_inserter(queue), + split_option); + + return queue.size() - original_size; + } + + template + inline std::size_t parse_n(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const std::size_t& n, + std::stack& stack, + const split_options::type& split_option = split_options::compress_delimiters) + { + typedef typename details::is_valid_iterator::type itr_type; + const std::size_t original_size = stack.size(); + + details::convert_type_assert(); + + if (1 == delimiters.size()) + split_n(single_delimiter_predicate(delimiters[0]), + begin, end, + n, + range_to_type_push_inserter(stack), + split_option); + else + split_n(multiple_char_delimiter_predicate(delimiters), + begin, end, + n, + range_to_type_push_inserter(stack), + split_option); + + return stack.size() - original_size; + } + + template + inline std::size_t parse_n(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const std::size_t& n, + std::priority_queue& priority_queue, + const split_options::type& split_option = split_options::compress_delimiters) + { + typedef typename details::is_valid_iterator::type itr_type; + const std::size_t original_size = priority_queue.size(); + + details::convert_type_assert(); + + if (1 == delimiters.size()) + split_n(single_delimiter_predicate(delimiters[0]), + begin, end, + n, + range_to_type_push_inserter(priority_queue), + split_option); + else + split_n(multiple_char_delimiter_predicate(delimiters), + begin, end, + n, + range_to_type_push_inserter(priority_queue), + split_option); + + return priority_queue.size() - original_size; + } + + template + inline std::size_t parse_n(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const std::size_t& n, + T* out, + const split_options::type& split_option = split_options::compress_delimiters) + { + typedef typename details::is_valid_iterator::type itr_type; + + std::size_t insert_count = 0; + + details::convert_type_assert(); + + if (1 == delimiters.size()) + split_n(single_delimiter_predicate(delimiters[0]), + begin, end, + n, + range_to_ptr_type(out,insert_count), + split_option); + else + split_n(multiple_char_delimiter_predicate(delimiters), + begin, end, + n, + range_to_ptr_type(out,insert_count), + split_option); + + return insert_count; + } + + template class Sequence> + inline std::size_t parse_n(const std::pair& range, + const std::string& delimiters, + const std::size_t& n, + Sequence& sequence, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse(range.first,range.second,delimiters,n,sequence,split_option); + } + + template + inline std::size_t parse_n(const std::pair& range, + const std::string& delimiters, + const std::size_t& n, + std::set& set, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse(range.first,range.second,delimiters,n,set,split_option); + } + + template + inline std::size_t parse_n(const std::pair& range, + const std::string& delimiters, + const std::size_t& n, + std::multiset& multiset, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse(range.first,range.second,delimiters,n,multiset,split_option); + } + + template + inline std::size_t parse_n(const std::pair& range, + const std::string& delimiters, + const std::size_t& n, + std::queue& queue, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse(range.first,range.second,delimiters,n,queue,split_option); + } + + template + inline std::size_t parse_n(const std::pair& range, + const std::string& delimiters, + const std::size_t& n, + std::stack& stack, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse(range.first,range.second,delimiters,n,stack,split_option); + } + + template + inline std::size_t parse_n(const std::pair& range, + const std::string& delimiters, + const std::size_t& n, + std::priority_queue& priority_queue, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse(range.first,range.second,delimiters,n,priority_queue,split_option); + } + + template + inline bool parse(const std::string& data, + const std::string& delimiters, + T1& t1 , T2& t2, T3& t3, T4& t4, + T5& t5 , T6& t6, T7& t7, T8& t8, + T9& t9 , T10& t10, T11& t11, T12& t12, + T13& t13, T14& t14, T15& t15, T16& t16) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15, + typename details::ca_type::result_t>::type(t16)); + } + + template + inline bool parse(const std::string& data, + const std::string& delimiters, + T1& t1 , T2& t2, T3& t3, T4& t4, + T5& t5 , T6& t6, T7& t7, T8& t8, + T9& t9 , T10& t10, T11& t11, T12& t12, + T13& t13, T14& t14, T15& t15) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14, + typename details::ca_type::result_t>::type(t15)); + } + + template + inline bool parse(const std::string& data, + const std::string& delimiters, + T1& t1 , T2& t2, T3& t3, T4& t4, + T5& t5 , T6& t6, T7& t7, T8& t8, + T9& t9 , T10& t10, T11& t11, T12& t12, + T13& t13, T14& t14) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13, + typename details::ca_type::result_t>::type(t14)); + } + + template + inline bool parse(const std::string& data, + const std::string& delimiters, + T1& t1 , T2& t2, T3& t3, T4& t4, + T5& t5 , T6& t6, T7& t7, T8& t8, + T9& t9 , T10& t10, T11& t11, T12& t12, + T13& t13) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12, + typename details::ca_type::result_t>::type(t13)); + } + + template + inline bool parse(const std::string& data, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, + T9& t9, T10& t10, T11& t11, T12& t12) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11, + typename details::ca_type::result_t>::type(t12)); + } + + template + inline bool parse(const std::string& data, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, + T9& t9, T10& t10, T11& t11) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5,t6,t7,t8,t9,t10, + typename details::ca_type::result_t>::type(t11)); + } + + template + inline bool parse(const std::string& data, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, + T9& t9, T10& t10) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5,t6,t7,t8,t9, + typename details::ca_type::result_t>::type(t10)); + } + + template + inline bool parse(const std::string& data, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, + T9& t9) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5,t6,t7,t8, + typename details::ca_type::result_t>::type(t9)); + } + + template + inline bool parse(const std::string& data, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5,t6,t7, + typename details::ca_type::result_t>::type(t8)); + } + + template + inline bool parse(const std::string& data, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5,t6, + typename details::ca_type::result_t>::type(t7)); + } + + template + inline bool parse(const std::string& data, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5, + typename details::ca_type::result_t>::type(t6)); + } + + template + inline bool parse(const std::string& data, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4, + typename details::ca_type::result_t>::type(t5)); + } + + template + inline bool parse(const std::string& data, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3, + typename details::ca_type::result_t>::type(t4)); + } + + template + inline bool parse(const std::string& data, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2, + typename details::ca_type::result_t>::type(t3)); + } + + template + inline bool parse(const std::string& data, + const std::string& delimiters, + T1& t1, T2& t2) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1, + typename details::ca_type::result_t>::type(t2)); + } + + template + inline bool parse(const std::string& data, + const std::string& delimiters, + T& t) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + typename details::ca_type::result_t>::type(t)); + } + + #define strtk_def_parse_cont(Type) \ + template \ + inline std::size_t parse(const std::string& data, \ + const std::string& delimiters, \ + Type& cont, \ + const split_options::type& split_option = split_options::compress_delimiters) \ + { \ + return parse(to_ptr(data), to_ptr(data) + data.size(), \ + delimiters, \ + cont, \ + split_option); \ + } \ + + strtk_def_parse_cont(std::vector) + strtk_def_parse_cont(std::deque ) + strtk_def_parse_cont(std::list ) + + #undef strtk_def_parse_cont + + template + inline std::size_t parse(const std::string& data, + const std::string& delimiters, + std::set& set, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + set, + split_option); + } + + template + inline std::size_t parse(const std::string& data, + const std::string& delimiters, + std::multiset& multiset, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + multiset, + split_option); + } + + template + inline std::size_t parse(const std::string& data, + const std::string& delimiters, + std::queue& queue, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + queue, + split_option); + } + + template + inline std::size_t parse(const std::string& data, + const std::string& delimiters, + std::stack& stack, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + stack, + split_option); + } + + template + inline std::size_t parse(const std::string& data, + const std::string& delimiters, + std::priority_queue& priority_queue, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + priority_queue, + split_option); + } + + template class Sequence> + inline std::size_t parse(const int& argc, char* argv[], + Sequence& sequence, + const bool break_on_fail = true) + { + T tmp; + + for (int i = 0; i < argc; ++i) + { + if (!string_to_type_converter(std::string(argv[i]),tmp)) + { + if (break_on_fail) + return i; + else + continue; + } + + sequence.push_back(tmp); + } + + return argc; + } + + template + inline std::size_t parse(const int& argc, char* argv[], + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, + T9& t9) + + { + if (9 != argc) return 0; + std::size_t result = 0; + + #define strtk_cmpstmt(N) \ + if (!string_to_type_converter(std::string(argv[N]),t##N)) \ + return result; \ + ++result; \ + + strtk_cmpstmt(1) + strtk_cmpstmt(2) + strtk_cmpstmt(3) + strtk_cmpstmt(4) + strtk_cmpstmt(5) + strtk_cmpstmt(6) + strtk_cmpstmt(7) + strtk_cmpstmt(8) + strtk_cmpstmt(9) + return result; + } + + template + inline std::size_t parse(const int& argc, char* argv[], + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8) + + { + if (8 != argc) return 0; + std::size_t result = 0; + strtk_cmpstmt(1) + strtk_cmpstmt(2) + strtk_cmpstmt(3) + strtk_cmpstmt(4) + strtk_cmpstmt(5) + strtk_cmpstmt(6) + strtk_cmpstmt(7) + strtk_cmpstmt(8) + return result; + } + + template + inline std::size_t parse(const int& argc, char* argv[], + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7) + + { + if (7 != argc) return 0; + std::size_t result = 0; + strtk_cmpstmt(1) + strtk_cmpstmt(2) + strtk_cmpstmt(3) + strtk_cmpstmt(4) + strtk_cmpstmt(5) + strtk_cmpstmt(6) + strtk_cmpstmt(7) + return result; + } + + template + inline std::size_t parse(const int& argc, char* argv[], + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6) + + { + if (6 != argc) return 0; + std::size_t result = 0; + strtk_cmpstmt(1) + strtk_cmpstmt(2) + strtk_cmpstmt(3) + strtk_cmpstmt(4) + strtk_cmpstmt(5) + strtk_cmpstmt(6) + return result; + } + + template + inline std::size_t parse(const int& argc, char* argv[], + T1& t1, T2& t2, T3& t3, T4& t4, T5& t5) + { + if (5 != argc) return 0; + std::size_t result = 0; + strtk_cmpstmt(1) + strtk_cmpstmt(2) + strtk_cmpstmt(3) + strtk_cmpstmt(4) + strtk_cmpstmt(5) + return result; + } + + template + inline std::size_t parse(const int& argc, char* argv[], + T1& t1, T2& t2, T3& t3, T4& t4) + { + if (4 != argc) return 0; + std::size_t result = 0; + strtk_cmpstmt(1) + strtk_cmpstmt(2) + strtk_cmpstmt(3) + strtk_cmpstmt(4) + return result; + } + + template + inline std::size_t parse(const int& argc, char* argv[], + T1& t1, T2& t2, T3& t3) + { + if (3 != argc) return 0; + std::size_t result = 0; + strtk_cmpstmt(1) + strtk_cmpstmt(2) + strtk_cmpstmt(3) + return result; + } + + template + inline std::size_t parse(const int& argc, char* argv[], + T1& t1, T2& t2) + { + if (2 != argc) return 0; + std::size_t result = 0; + strtk_cmpstmt(1) + strtk_cmpstmt(2) + return result; + } + + template + inline std::size_t parse(const int& argc, char* argv[], + T1& t1) + { + if (1 != argc) return 0; + std::size_t result = 0; + strtk_cmpstmt(1) + return result; + #undef strtk_cmpstmt + } + + #define strtk_parse_begin(Type) \ + namespace strtk { \ + bool parse(const std::string& data, const std::string& delimiters, Type& t)\ + { return parse(data,delimiters \ + + #define strtk_parse_type(T) \ + ,t.T \ + + #define strtk_parse_hex_type(T) \ + ,t.T \ + + #define strtk_parse_ignore_token() \ + ,ignore_token() \ + + #define strtk_parse_end() \ + );}} \ + + #define strtk_def_parse_n_seq(Type) \ + template \ + inline std::size_t parse_n(const std::string& data, \ + const std::string& delimiters, \ + const std::size_t& n, \ + Type& sequence, \ + const split_options::type& split_option = split_options::compress_delimiters) \ + { \ + return parse_n(to_ptr(data), to_ptr(data) + data.size(), \ + delimiters, \ + n, \ + sequence, \ + split_option); \ + } \ + + strtk_def_parse_n_seq(std::vector) + strtk_def_parse_n_seq(std::deque ) + strtk_def_parse_n_seq(std::list ) + + #undef strtk_def_parse_n_seq + + template + inline std::size_t parse_n(const std::string& data, + const std::string& delimiters, + const std::size_t& n, + std::set& set, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse_n(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + n, + set, + split_option); + } + + template + inline std::size_t parse_n(const std::string& data, + const std::string& delimiters, + const std::size_t& n, + std::multiset& multiset, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse_n(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + n, + multiset, + split_option); + } + + template + inline std::size_t parse_n(const std::string& data, + const std::string& delimiters, + const std::size_t& n, + std::queue& queue, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse_n(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + n, + queue, + split_option); + } + + template + inline std::size_t parse_n(const std::string& data, + const std::string& delimiters, + const std::size_t& n, + std::stack& stack, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse_n(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + n, + stack, + split_option); + } + + template + inline std::size_t parse_n(const std::string& data, + const std::string& delimiters, + const std::size_t& n, + std::priority_queue& priority_queue, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse_n(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + n, + priority_queue, + split_option); + } + + template + inline std::size_t parse_n(const std::string& data, + const std::string& delimiters, + const std::size_t& n, + T* out, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse_n(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + n, + out, + split_option); + } + + template + inline bool parse_line(std::ifstream& stream, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, + T7& t7, T8& t8, T9& t9, T10& t10, T11& t11, T12& t12) + { + if (!stream) + return false; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return false; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5,t6, + t7,t8,t9,t10,t11,t12); + } + + template + inline bool parse_line(std::ifstream& stream, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, + T7& t7, T8& t8, T9& t9, T10& t10, T11& t11) + { + if (!stream) + return false; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return false; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5,t6, + t7,t8,t9,t10,t11); + } + + template + inline bool parse_line(std::ifstream& stream, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, + T7& t7, T8& t8, T9& t9, T10& t10) + { + if (!stream) + return false; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return false; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5,t6, + t7,t8,t9,t10); + } + + template + inline bool parse_line(std::ifstream& stream, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, + T7& t7, T8& t8, T9& t9) + { + if (!stream) + return false; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return false; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5,t6, + t7,t8,t9); + } + + template + inline bool parse_line(std::ifstream& stream, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, + T7& t7, T8& t8) + { + if (!stream) + return false; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return false; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5,t6, + t7,t8); + } + + template + inline bool parse_line(std::ifstream& stream, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, + T7& t7) + { + if (!stream) + return false; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return false; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5,t6,t7); + } + + template + inline bool parse_line(std::ifstream& stream, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6) + { + if (!stream) + return false; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return false; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5,t6); + } + + template + inline bool parse_line(std::ifstream& stream, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4, T5& t5) + { + if (!stream) + return false; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return false; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4,t5); + } + + template + inline bool parse_line(std::ifstream& stream, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3, T4& t4) + { + if (!stream) + return false; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return false; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3,t4); + } + + template + inline bool parse_line(std::ifstream& stream, + const std::string& delimiters, + T1& t1, T2& t2, T3& t3) + { + if (!stream) + return false; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return false; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2,t3); + } + + template + inline bool parse_line(std::ifstream& stream, + const std::string& delimiters, + T1& t1, T2& t2) + { + if (!stream) + return false; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return false; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1,t2); + } + + template + inline bool parse_line(std::ifstream& stream, + const std::string& delimiters, + T1& t1) + { + if (!stream) + return false; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return false; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + t1); + } + + template class Sequence> + inline std::size_t parse_line(std::ifstream& stream, + const std::string& delimiters, + Sequence& sequence, + const split_options::type& split_option = split_options::compress_delimiters) + { + if (!stream) + return 0; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return 0; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + sequence, + split_option); + } + + template + inline std::size_t parse_line(std::ifstream& stream, + const std::string& delimiters, + std::set& set, + const split_options::type& split_option = split_options::compress_delimiters) + { + if (!stream) + return 0; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return 0; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + set, + split_option); + } + + template + inline std::size_t parse_line(std::ifstream& stream, + const std::string& delimiters, + std::multiset& multiset, + const split_options::type& split_option = split_options::compress_delimiters) + { + if (!stream) + return 0; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return 0; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + multiset, + split_option); + } + + template + inline std::size_t parse_line(std::ifstream& stream, + const std::string& delimiters, + std::queue& queue, + const split_options::type& split_option = split_options::compress_delimiters) + { + if (!stream) + return 0; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return 0; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + queue, + split_option); + } + + template + inline std::size_t parse_line(std::ifstream& stream, + const std::string& delimiters, + std::stack& stack, + const split_options::type& split_option = split_options::compress_delimiters) + { + if (!stream) + return 0; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return 0; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + stack, + split_option); + } + + template + inline std::size_t parse_line(std::ifstream& stream, + const std::string& delimiters, + std::priority_queue& priority_queue, + const split_options::type& split_option = split_options::compress_delimiters) + + { + if (!stream) + return 0; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return 0; + if (data.empty() || delimiters.empty()) + return false; + return strtk::parse(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + priority_queue, + split_option); + } + + template class Sequence> + inline std::size_t parse_line_n(std::ifstream& stream, + const std::string& delimiters, + const std::size_t& n, + Sequence& sequence, + const split_options::type& split_option = split_options::compress_delimiters) + { + if (!stream) + return 0; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return 0; + if (data.empty() || delimiters.empty()) + return 0; + return strtk::parse_n(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + n, + sequence, + split_option); + } + + template + inline std::size_t parse_line_n(std::ifstream& stream, + const std::string& delimiters, + const std::size_t& n, + std::set& set, + const split_options::type& split_option = split_options::compress_delimiters) + { + if (!stream) + return 0; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return 0; + if (data.empty() || delimiters.empty()) + return 0; + return strtk::parse_n(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + n, + set, + split_option); + } + + template + inline std::size_t parse_line_n(std::ifstream& stream, + const std::string& delimiters, + const std::size_t& n, + std::multiset& multiset, + const split_options::type& split_option = split_options::compress_delimiters) + { + if (!stream) + return 0; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return 0; + if (data.empty() || delimiters.empty()) + return 0; + return strtk::parse_n(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + n, + multiset, + split_option); + } + + template + inline std::size_t parse_line_n(std::ifstream& stream, + const std::string& delimiters, + const std::size_t& n, + std::queue& queue, + const split_options::type& split_option = split_options::compress_delimiters) + { + if (!stream) + return 0; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return 0; + if (data.empty() || delimiters.empty()) + return 0; + return strtk::parse_n(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + n, + queue, + split_option); + } + + template + inline std::size_t parse_line_n(std::ifstream& stream, + const std::string& delimiters, + const std::size_t& n, + std::stack& stack, + const split_options::type& split_option = split_options::compress_delimiters) + { + if (!stream) + return 0; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return 0; + if (data.empty() || delimiters.empty()) + return 0; + return strtk::parse_n(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + n, + stack, + split_option); + } + + template + inline std::size_t parse_line_n(std::ifstream& stream, + const std::string& delimiters, + const std::size_t& n, + std::priority_queue& priority_queue, + const split_options::type& split_option = split_options::compress_delimiters) + + { + if (!stream) + return 0; + std::string data; + data.reserve(strtk::one_kilobyte); + if (!std::getline(stream,data)) + return 0; + if (data.empty() || delimiters.empty()) + return 0; + return strtk::parse_n(to_ptr(data), to_ptr(data) + data.size(), + delimiters, + n, + priority_queue, + split_option); + } + + template + inline void construct(std::string& output, + const std::string& delimiter, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6, const T7& t7, const T8& t8, + const T9& t9, const T10& t10, const T11& t11, const T12& t12) + { + output += type_to_string( t1); output += delimiter; + output += type_to_string( t2); output += delimiter; + output += type_to_string( t3); output += delimiter; + output += type_to_string( t4); output += delimiter; + output += type_to_string( t5); output += delimiter; + output += type_to_string( t6); output += delimiter; + output += type_to_string( t7); output += delimiter; + output += type_to_string( t8); output += delimiter; + output += type_to_string( t9); output += delimiter; + output += type_to_string(t10); output += delimiter; + output += type_to_string(t11); output += delimiter; + output += type_to_string(t12); + } + + template + inline void construct(std::string& output, + const std::string& delimiter, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6, const T7& t7, const T8& t8, + const T9& t9, const T10& t10, const T11& t11) + { + output += type_to_string( t1); output += delimiter; + output += type_to_string( t2); output += delimiter; + output += type_to_string( t3); output += delimiter; + output += type_to_string( t4); output += delimiter; + output += type_to_string( t5); output += delimiter; + output += type_to_string( t6); output += delimiter; + output += type_to_string( t7); output += delimiter; + output += type_to_string( t8); output += delimiter; + output += type_to_string( t9); output += delimiter; + output += type_to_string(t10); output += delimiter; + output += type_to_string(t11); + } + + template + inline void construct(std::string& output, + const std::string& delimiter, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6, const T7& t7, const T8& t8, + const T9& t9, const T10& t10) + { + output += type_to_string(t1); output += delimiter; + output += type_to_string(t2); output += delimiter; + output += type_to_string(t3); output += delimiter; + output += type_to_string(t4); output += delimiter; + output += type_to_string(t5); output += delimiter; + output += type_to_string(t6); output += delimiter; + output += type_to_string(t7); output += delimiter; + output += type_to_string(t8); output += delimiter; + output += type_to_string(t9); output += delimiter; + output += type_to_string(t10); + } + + template + inline void construct(std::string& output, + const std::string& delimiter, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6, const T7& t7, const T8& t8, + const T9& t9) + { + output += type_to_string(t1); output += delimiter; + output += type_to_string(t2); output += delimiter; + output += type_to_string(t3); output += delimiter; + output += type_to_string(t4); output += delimiter; + output += type_to_string(t5); output += delimiter; + output += type_to_string(t6); output += delimiter; + output += type_to_string(t7); output += delimiter; + output += type_to_string(t8); output += delimiter; + output += type_to_string(t9); + } + + template + inline void construct(std::string& output, + const std::string& delimiter, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6, const T7& t7, const T8& t8) + { + output += type_to_string(t1); output += delimiter; + output += type_to_string(t2); output += delimiter; + output += type_to_string(t3); output += delimiter; + output += type_to_string(t4); output += delimiter; + output += type_to_string(t5); output += delimiter; + output += type_to_string(t6); output += delimiter; + output += type_to_string(t7); output += delimiter; + output += type_to_string(t8); + } + + template + inline void construct(std::string& output, + const std::string& delimiter, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6, const T7& t7) + { + output += type_to_string(t1); output += delimiter; + output += type_to_string(t2); output += delimiter; + output += type_to_string(t3); output += delimiter; + output += type_to_string(t4); output += delimiter; + output += type_to_string(t5); output += delimiter; + output += type_to_string(t6); output += delimiter; + output += type_to_string(t7); + } + + template + inline void construct(std::string& output, + const std::string& delimiter, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6) + { + output += type_to_string(t1); output += delimiter; + output += type_to_string(t2); output += delimiter; + output += type_to_string(t3); output += delimiter; + output += type_to_string(t4); output += delimiter; + output += type_to_string(t5); output += delimiter; + output += type_to_string(t6); + } + + template + inline void construct(std::string& output, + const std::string& delimiter, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5) + { + output += type_to_string(t1); output += delimiter; + output += type_to_string(t2); output += delimiter; + output += type_to_string(t3); output += delimiter; + output += type_to_string(t4); output += delimiter; + output += type_to_string(t5); + } + + template + inline void construct(std::string& output, + const std::string& delimiter, + const T1& t1, const T2& t2, const T3& t3, const T4& t4) + { + output += type_to_string(t1); output += delimiter; + output += type_to_string(t2); output += delimiter; + output += type_to_string(t3); output += delimiter; + output += type_to_string(t4); + } + + template + inline void construct(std::string& output, + const std::string& delimiter, + const T1& t1, const T2& t2, const T3& t3) + { + output += type_to_string(t1); output += delimiter; + output += type_to_string(t2); output += delimiter; + output += type_to_string(t3); + } + + template + inline void construct(std::string& output, + const std::string& delimiter, + const T1& t1, const T2& t2) + { + output += type_to_string(t1); output += delimiter; + output += type_to_string(t2); + } + + template + inline void join(std::string& output, + const std::string& delimiter, + const InputIterator begin, + const InputIterator end) + { + InputIterator itr = begin; + while (end != itr) + { + output += type_to_string(*itr); + if (end == (++itr)) + break; + else + output += delimiter; + } + } + + template + inline void join(std::string& output, + const std::string& delimiter, + const std::pair& range) + { + InputIterator itr = range.first; + while (range.second != itr) + { + output += type_to_string(*itr); + if (range.second == (++itr)) + break; + else + output += delimiter; + } + } + + template class Sequence> + inline void join(std::string& output, + const std::string& delimiter, + const Sequence& sequence) + { + join(output,delimiter,sequence.begin(),sequence.end()); + } + + template + inline void join(std::string& output, + const std::string& delimiter, + const std::set& set) + { + join(output,delimiter,set.begin(),set.end()); + } + + template + inline void join(std::string& output, + const std::string& delimiter, + const std::multiset& multiset) + { + join(output,delimiter,multiset.begin(),multiset.end()); + } + + inline void join(std::string& output, + const std::string& delimiter, + int argc, char* argv[]) + { + for (int i = 0; i < argc; ++i) + { + output += argv[i]; + if (i < (argc - 1)) + output += delimiter; + } + } + + template + inline std::string join(const std::string& delimiter, + const InputIterator begin, + const InputIterator end) + { + std::string output; + output.reserve(one_kilobyte); + join(output,delimiter,begin,end); + return output; + } + + template + inline std::string join(const std::string& delimiter, + const std::pair& range) + { + std::string output; + output.reserve(one_kilobyte); + join(output,delimiter,range.first,range.second); + return output; + } + + #define strtk_def_join_seq(Type) \ + template \ + inline std::string join(const std::string& delimiter, \ + const Type& sequence) \ + { \ + if (sequence.empty()) \ + return ""; \ + else \ + return join(delimiter, sequence.begin(), sequence.end()); \ + } \ + + strtk_def_join_seq(std::vector ) + strtk_def_join_seq(std::deque ) + strtk_def_join_seq(std::list ) + strtk_def_join_seq(std::priority_queue) + + #undef strtk_def_join_seq + + template + inline std::string join(const std::string& delimiter, + const std::set& set) + { + if (set.empty()) + return ""; + else + return join(delimiter,set.begin(),set.end()); + } + + template + inline std::string join(const std::string& delimiter, + const std::multiset& multiset) + { + if (multiset.empty()) + return ""; + else + return join(delimiter,multiset.begin(),multiset.end()); + } + + inline std::string join(const std::string& delimiter, int argc, char* argv[]) + { + std::string result; + result.reserve(one_kilobyte); + join(result,delimiter,argc,argv); + return result; + } + + template + inline void join_if(std::string& output, + const std::string& delimiter, + Predicate predicate, + const InputIterator begin, + const InputIterator end) + { + InputIterator itr = begin; + bool first_time = true; + + while (end != itr) + { + if (predicate(*itr)) + { + if (!first_time) + output += delimiter; + else + first_time = false; + + output += type_to_string(*itr); + } + + if (end == (++itr)) + break; + } + } + + template + inline void join_if(std::string& output, + const std::string& delimiter, + Predicate predicate, + const std::pair& range) + { + InputIterator itr = range.first; + bool first_time = true; + + while (range.second != itr) + { + if (predicate(*itr)) + { + if (!first_time) + output += delimiter; + else + first_time = false; + + output += type_to_string(*itr); + } + + if (range.second == (++itr)) + break; + } + } + + template class Sequence> + inline void join_if(std::string& output, + const std::string& delimiter, + Predicate predicate, + const Sequence& sequence) + { + join_if(output,delimiter,predicate,sequence.begin(),sequence.end()); + } + + template + inline void join_if(std::string& output, + const std::string& delimiter, + Predicate predicate, + const std::set& set) + { + join_if(output,delimiter,predicate,set.begin(),set.end()); + } + + template + inline void join_if(std::string& output, + const std::string& delimiter, + Predicate predicate, + const std::multiset& multiset) + { + join_if(output,delimiter,predicate,multiset.begin(),multiset.end()); + } + + template + inline std::string join_if(const std::string& delimiter, + Predicate predicate, + const InputIterator begin, + const InputIterator end) + { + std::string output; + output.reserve(one_kilobyte); + join_if(output,delimiter,predicate,begin,end); + return output; + } + + template + inline std::string join_if(const std::string& delimiter, + Predicate predicate, + const std::pair& range) + { + std::string output; + output.reserve(one_kilobyte); + join_if(output,delimiter,predicate,range.first,range.second); + return output; + } + + template class Sequence> + inline std::string join_if(const std::string& delimiter, + Predicate predicate, + const Sequence& sequence) + { + return join(delimiter,predicate,sequence.begin(),sequence.end()); + } + + template + inline std::string join_if(const std::string& delimiter, + Predicate predicate, + const std::set& set) + { + return join_if(delimiter,predicate,set.begin(),set.end()); + } + + template + inline std::string join_if(const std::string& delimiter, + Predicate predicate, + const std::multiset& multiset) + { + return join_if(delimiter,predicate,multiset.begin(),multiset.end()); + } + + class build_string + { + public: + + build_string(const std::size_t& initial_size = 64) + { + data_.reserve(initial_size); + } + + template + inline build_string& operator << (const T& t) + { + data_ += type_to_string(t); + return (*this); + } + + inline build_string& operator << (const std::string& s) + { + data_ += s; + return (*this); + } + + inline std::string to_str() const + { + return data_; + } + + inline operator const char* () const + { + return data_.data(); + } + + private: + + std::string data_; + }; + + inline void replicate(const std::size_t& n, + const std::string& str, + std::string& output) + { + if (0 == n) return; + output.reserve(output.size() + (str.size() * n)); + for (std::size_t i = 0; i < n; ++i) + { + output.append(str); + } + } + + inline std::string replicate(const std::size_t& n, + const std::string& str) + { + std::string output; + replicate(n,str,output); + return output; + } + + inline void replicate_inplace(const std::size_t& n, + std::string& str) + { + std::string temp_str = str; + str.reserve(str.size() + (str.size() * n)); + + for (std::size_t i = 0; i < n; ++i) + { + str.append(temp_str); + } + } + + template + inline void bracketize(std::string& output, + const std::string& pre, + const std::string& post, + const InputIterator begin, + const InputIterator end) + { + InputIterator itr = begin; + std::string s; + s.reserve(one_kilobyte); + + while (end != itr) + { + s.clear(); + s.append(pre); + s.append(type_to_string(*itr)); + s.append(post); + output.append(s); + ++itr; + } + } + + template class Sequence> + inline void bracketize(std::string& output, + const std::string& pre, + const std::string& post, + Sequence& sequence) + { + bracketize(output,pre,post,sequence.begin(),sequence.end()); + } + + template + inline void bracketize(std::string& output, + const std::string& pre, + const std::string& post, + std::set& set) + { + bracketize(output,pre,post,set.begin(),set.end()); + } + + template + inline void bracketize(std::string& output, + const std::string& pre, + const std::string& post, + std::multiset& multiset) + { + bracketize(output,pre,post,multiset.begin(),multiset.end()); + } + + template + inline std::string bracketize(const std::string& pre, + const std::string& post, + const InputIterator begin, + const InputIterator end) + { + std::string output; + output.reserve(one_kilobyte); + bracketize(output,pre,post,begin,end); + return output; + } + + #define strtk_def_brktz_cont(Type) \ + template \ + inline std::string bracketize(const std::string& pre, \ + const std::string& post, \ + Type& sequence) \ + { \ + return bracketize(pre,post,sequence.begin(),sequence.end()); \ + } \ + + strtk_def_brktz_cont(std::vector) + strtk_def_brktz_cont(std::deque ) + strtk_def_brktz_cont(std::list ) + strtk_def_brktz_cont(std::queue ) + strtk_def_brktz_cont(std::stack ) + + #undef strtk_def_brktz_cont + + template + inline std::string bracketize(const std::string& pre, + const std::string& post, + std::set& set) + { + return bracketize(pre,post,set.begin(),set.end()); + } + + template + inline std::string bracketize(const std::string& pre, + const std::string& post, + std::multiset& multiset) + { + return bracketize(pre,post,multiset.begin(),multiset.end()); + } + + template + struct interval_inserter + { + typedef T type; + + interval_inserter(const std::size_t& interval, const T& t) + : count_(0), + interval_(interval), + t_(t) + {} + + inline bool operator()(const type&) + { + if (++count_ == interval_) + { + count_ = 0; + return true; + } + else + return false; + } + + inline T operator()() + { + return t_; + } + + private: + + std::size_t count_; + std::size_t interval_; + T t_; + }; + + template + inline std::size_t inserter(Inserter ins, + const InputIterator begin, const InputIterator end, + OutputIterator out) + { + std::size_t size = 0; + InputIterator itr = begin; + + while (end != itr) + { + (*out) = (*itr); + ++out; + + if (ins(*itr++)) + { + (*out) = ins(); + ++out; + size += 2; + } + else + ++size; + } + + return size; + } + + template + inline void iota(Iterator begin, Iterator end, T value) + { + Iterator itr = begin; + + while (end != itr) + { + (*itr) = value++; + ++itr; + } + } + + template + inline void iota(typename range::adapter& r, T value) + { + iota(r.begin(),r.end(),value); + } + + template class Sequence> + inline void iota(Sequence& sequence, std::size_t count, T value) + { + while (count) + { + sequence.push_back(value++); + --count; + } + } + + template + inline void iota(std::set& set, std::size_t count, T value) + { + while (count) + { + set.insert(value++); + --count; + } + } + + template + inline void iota(std::multiset& multiset, std::size_t count, T value) + { + while (count) + { + multiset.insert(value++); + --count; + } + } + + template + inline void iota(std::size_t count, T value, OutputIterator out) + { + while (count) + { + (*out) = value++; + ++out; + --count; + } + } + + template class Sequence> + inline void iota(Sequence& sequence, const T& value) + { + strtk::iota(sequence.begin(),sequence.end(),value); + } + + template + inline void iota(std::set& set, const T& value) + { + strtk::iota(set.begin(),set.end(),value); + } + + template + inline void iota(std::multiset& multiset, const T& value) + { + strtk::iota(multiset.begin(),multiset.end(),value); + } + + template + inline void cut(const std::size_t& r0, const std::size_t& r1, + const InputIterator begin, InputIterator end, + OutputIterator out) + { + // static assert: InputIterator must be of type std::string + InputIterator itr = begin; + + while (end != itr) + { + const std::string& s = (*itr); + ++itr; + if (s.size() < r0) + continue; + + (*out++) = s.substr(r0,std::min(r1,s.size()) - r0); + } + } + + template class Sequence, + typename OutputIterator> + inline void cut(const std::size_t& r0, const std::size_t& r1, + const Sequence& sequence, + OutputIterator out) + { + cut(r0,r1,sequence.begin(),sequence.end(),out); + } + + template + inline void cut_inplace(const std::size_t& r0, const std::size_t& r1, + const Iterator begin, const Iterator end) + { + // static assert: InputIterator must be of type std::string + Iterator itr = begin; + while (end != itr) + { + if ((*itr).size() >= r0) + { + (*itr) = (*itr).substr(r0,std::min(r1,(*itr).size()) - r0); + } + + ++itr; + } + } + + template class Sequence> + inline void cut(const std::size_t& r0, const std::size_t& r1, + const Sequence& sequence) + { + cut(r0,r1,sequence.begin(),sequence.end()); + } + + template + inline void cut(const std::size_t& r0, const std::size_t& r1, + const std::set& set) + { + cut(r0,r1,set.begin(),set.end()); + } + + template + inline void cut(const std::size_t& r0, const std::size_t& r1, + const std::multiset& multiset) + { + cut(r0,r1,multiset.begin(),multiset.end()); + } + + class translation_table + { + public: + + translation_table(const std::string& itable, const std::string& otable) + { + if (itable.size() != otable.size()) + { + throw std::runtime_error("translation_table() - Input/Output table size mismatch."); + } + + strtk::iota(table_, table_ + 256, static_cast(0)); + + for (std::size_t i = 0; i < itable.size(); ++i) + { + table_[static_cast(itable[i])] = static_cast(otable[i]); + } + } + + inline char operator()(const char c) const + { + return static_cast(table_[static_cast(c)]); + } + + inline unsigned char operator()(const unsigned char c) const + { + return static_cast(table_[static_cast(c)]); + } + + private: + + unsigned char table_[256]; + }; + + inline std::string translate(const translation_table& trans_table, const std::string& s) + { + std::string result = s; + std::transform(result.begin(),result.end(),result.begin(),trans_table); + return result; + } + + inline void translate_inplace(const translation_table& trans_table, std::string& s) + { + std::transform(s.begin(),s.end(),s.begin(),trans_table); + } + + #ifdef strtk_enable_random + inline void generate_random_data(unsigned char* data, + std::size_t length, + unsigned int pre_gen_cnt = 0, + unsigned int seed = magic_seed) + { + boost::mt19937 rng(static_cast(seed)); + boost::uniform_int dist(std::numeric_limits::min(),std::numeric_limits::max()); + boost::variate_generator > rnd(rng,dist); + + if (pre_gen_cnt > 0) + { + while (pre_gen_cnt--) rnd(); + } + + unsigned char* itr = data; + unsigned int* x = 0; + + while (length >= sizeof(unsigned int)) + { + x = reinterpret_cast(itr); + (*x) = rnd(); + itr += sizeof(unsigned int); + length -= sizeof(unsigned int); + } + + if (length > 0) + { + itr -= (sizeof(unsigned int) - length); + x = reinterpret_cast(itr); + (*x) = rnd(); + } + } + + namespace details + { + struct rand_int_type_tag {}; + struct rand_real_type_tag {}; + + template struct supported_random_type {}; + + #define strtk_register_rand_int_type_tag(T) \ + template<> struct supported_random_type { typedef rand_int_type_tag type; enum { value = true }; }; + + #define strtk_register_rand_real_type_tag(T) \ + template<> struct supported_random_type { typedef rand_real_type_tag type; enum { value = true }; }; + + strtk_register_rand_int_type_tag(char) + strtk_register_rand_int_type_tag(unsigned char) + + strtk_register_rand_int_type_tag(short) + strtk_register_rand_int_type_tag(int) + strtk_register_rand_int_type_tag(long) + strtk_register_rand_int_type_tag(unsigned short) + strtk_register_rand_int_type_tag(unsigned int) + strtk_register_rand_int_type_tag(unsigned long) + + strtk_register_rand_real_type_tag(float) + strtk_register_rand_real_type_tag(double) + strtk_register_rand_real_type_tag(long double) + + #undef strtk_register_rand_int_type_tag + #undef strtk_register_rand_real_type_tag + + template + inline void generate_random_values_impl(const std::size_t& count, + const T& min, + const T& max, + OutputIterator out, + RandomNumberGenerator& rng, + rand_int_type_tag) + { + // Note: The implied range will be: [min,max] + using namespace boost; + variate_generator > rnd(rng,uniform_int(min,max)); + for (std::size_t i = 0; i < count; ++i, *out++ = rnd()) ; + } + + template + inline void generate_random_values_impl(const std::size_t& count, + const T& min, + const T& max, + OutputIterator out, + RandomNumberGenerator& rng, + rand_real_type_tag) + { + // Note: The implied range will be: [min,max) + using namespace boost; + variate_generator > rnd(rng,uniform_real(min,max)); + for (std::size_t i = 0; i < count; ++i, *out++ = rnd()) ; + } + + } // namespace details + + class uniform_real_rng + { + private: + + typedef boost::mt19937 rng_type; + typedef boost::variate_generator > variate_type; + + public: + + uniform_real_rng(const std::size_t& seed = magic_seed, + std::size_t pregen = 0) + : rng_(static_cast(seed)), + rnd_(rng_,boost::uniform_real(0.0,1.0)) + { + while (pregen--) rng_(); + } + + inline double operator()() + { + return rnd_(); + } + + private: + + rng_type rng_; + variate_type rnd_; + }; + + template + inline void generate_random_values(const std::size_t& count, + const T& min, + const T& max, + OutputIterator out, + const std::size_t& seed = magic_seed, + const std::size_t& pregen = 0) + { + typename details::supported_random_type::type type; + boost::mt19937 rng(static_cast(seed)); + for (std::size_t i = 0; i++ < pregen; rng()) ; + generate_random_values_impl(count,min,max,out,rng,type); + } + + template class Sequence> + inline void generate_random_values(const std::size_t& count, + const T& min, + const T& max, + Sequence& sequence, + const std::size_t& seed = magic_seed, + const std::size_t& pregen = 0) + { + typename details::supported_random_type::type type; + boost::mt19937 rng(static_cast(seed)); + for (std::size_t i = 0; i++ < pregen; rng()) ; + generate_random_values_impl(count,min,max,std::back_inserter(sequence),rng,type); + } + + template + inline void random_permutation(const Iterator begin, const Iterator end, + RandomNumberGenerator& rng, + OutputIterator out) + { + const std::size_t size = std::distance(begin,end); + if ((rng. min() < 0.0) || (rng.max() > 1.0)) return; + std::deque index; + for (std::size_t i = 0; i < size; index.push_back(i++)) ; + while (!index.empty()) + { + std::size_t idx = static_cast(index.size() * rng()); + (*out) = *(begin + index[idx]); + index.erase(index.begin() + idx); + ++out; + } + } + + template + inline void random_permutation(const Iterator begin, const Iterator end, + OutputIterator out, + const std::size_t& seed = magic_seed, + const std::size_t& pregen = 0) + { + boost::mt19937 rng(static_cast(seed)); + for (std::size_t i = 0; i++ < pregen; rng()) ; + boost::uniform_real dist(0.0,1.0); + boost::variate_generator > rnd(rng,dist); + random_permutation(begin, end, rnd, out); + } + + template class Sequence, + typename OutputIterator> + inline void random_permutation(const Sequence& sequence, + OutputIterator out, + const std::size_t& seed = magic_seed, + const std::size_t& pregen = 0) + { + random_permutation(sequence.begin(),sequence.end(),out,seed,pregen); + } + + template + inline bool random_combination(const Iterator begin, const Iterator end, + std::size_t set_size, + RandomNumberGenerator& rng, + OutputIterator out) + { + const std::size_t size = std::distance(begin,end); + if ((size < set_size) || (rng. min() < 0.0) || (rng.max() > 1.0)) return false; + std::deque index; + for (std::size_t i = 0; i < size; index.push_back(i++)) ; + while (set_size) + { + std::size_t idx = static_cast(index.size() * rng()); + (*out) = *(begin + index[idx]); + index.erase(index.begin() + idx); + ++out; + --set_size; + } + return true; + } + + template + inline void random_combination(const Iterator begin, const Iterator end, + const std::size_t& set_size, + OutputIterator out, + const std::size_t& seed = magic_seed, + const std::size_t& pregen = 0) + { + boost::mt19937 rng(static_cast(seed)); + for (std::size_t i = 0; i++ < pregen; rng()) ; + boost::uniform_real dist(0.0,1.0); + boost::variate_generator > rnd(rng,dist); + random_combination(begin, end, set_size, rnd, out); + } + + template class Sequence, + typename OutputIterator> + inline void random_combination(const Sequence& sequence, + const std::size_t& set_size, + OutputIterator out, + const std::size_t& seed = magic_seed, + const std::size_t& pregen = 0) + { + random_combination(sequence.begin(),sequence.end(),set_size,out,seed,pregen); + } + + template + inline std::size_t select_k_randomly(const Iterator begin, const Iterator end, + const std::size_t k, + OutputIterator out, + RandomNumberGenerator& rng) + { + typedef typename std::iterator_traits::value_type T; + + std::vector selection; + selection.resize(k); + Iterator itr = begin; + std::size_t index = 0; + + while ((index < k) && (end != itr)) + { + selection[index] = (*itr); + ++index; + ++itr; + } + + if (0 == index) + return 0; + else if (index < k) + { + std::copy(selection.begin(),selection.begin() + index, out); + return index; + } + + double n = k + 1; + + while (end != itr) + { + if (rng() < (k / n)) + { + selection[static_cast(rng() * k)] = (*itr); + } + + ++itr; + ++n; + } + + std::copy(selection.begin(),selection.end(),out); + + return k; + } + + template + inline void select_1_randomly(const Iterator begin, const Iterator end, + OutputIterator out, + RandomNumberGenerator& rng) + { + typedef typename std::iterator_traits::value_type T; + T selection; + + if (begin == end) + return; + + Iterator itr = begin; + std::size_t n = 0; + + while (end != itr) + { + if (rng() < (1.0 / ++n)) + { + selection = (*itr); + } + + ++itr; + } + + (*out) = selection; + ++out; + } + #endif // strtk_enable_random + + namespace details + { + template + inline Iterator prev(Iterator itr, typename std::iterator_traits::difference_type n = 1) + { + std::advance(itr, -n); + return itr; + } + + template + inline Iterator next(Iterator itr, typename std::iterator_traits::difference_type n = 1) + { + std::advance(itr, n); + return itr; + } + } + + template + bool next_combination(const Iterator first, const Iterator k, const Iterator last) + { + if ( + (first == last) || + (first == k ) || + (last == k ) || + (last == details::next(first)) + ) + return false; + + Iterator itr1 = k; + Iterator itr2 = details::prev(last); + + while (first != itr1) + { + if (*--itr1 < *itr2) + { + Iterator j = k; + while (!(*itr1 < *j)) ++j; + std::iter_swap(itr1++, j++); + std::rotate(itr1, j, last); + for (itr2 = k; j != last; ++j, ++itr2); + std::rotate(k, itr2, last); + return true; + } + } + + std::rotate(first, k, last); + return false; + } + + template class Sequence> + inline bool next_combination(Sequence& sequence, const std::size_t& size) + { + return next_combination(sequence.begin(), sequence.begin() + size, sequence.end()); + } + + template + inline void for_each_permutation(Iterator begin, Iterator end, Function function) + { + do + { + function(begin,end); + } + while (std::next_permutation(begin,end)); + } + + template + inline bool for_each_permutation_conditional(Iterator begin, Iterator end, Function function) + { + do + { + if (!function(begin,end)) + return false; + } + while (std::next_permutation(begin,end)); + + return true; + } + + namespace details + { + /* + Credits: + (C) Copyright Howard Hinnant 2005-2011. + Use, modification and distribution are subject to the Boost Software License, + Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at + http://www.boost.org/LICENSE_1_0.txt). + */ + template + static inline void rotate_discontinuous(Iterator first1, Iterator last1, + typename std::iterator_traits::difference_type d1, + Iterator first2, Iterator last2, + typename std::iterator_traits::difference_type d2) + { + using std::swap; + if (d1 <= d2) + std::rotate(first2, std::swap_ranges(first1, last1, first2), last2); + else + { + Iterator i1 = last1; + + while (first2 != last2) + { + swap(*--i1,*--last2); + } + + std::rotate(first1, i1, last1); + } + } + + template + inline void combine_discontinuous(Iterator first1, Iterator last1, typename std::iterator_traits::difference_type d1, + Iterator first2, Iterator last2, typename std::iterator_traits::difference_type d2, + Function& f, + typename std::iterator_traits::difference_type d = 0) + { + typedef typename std::iterator_traits::difference_type D; + using std::swap; + + if ((0 == d1) || (0 == d2)) + return f(); + if (1 == d1) + { + Iterator i2 = first2; + while (i2 != last2) + { + f(); + swap(*first1, *i2); + ++i2; + } + } + else + { + Iterator f1p = first1; + std::advance(f1p,1); + Iterator i2 = first2; + D d22 = d2; + + while (i2 != last2) + { + combine_discontinuous(f1p, last1, d1 - 1, i2, last2, d22, f, d + 1); + swap(*first1, *i2); + ++i2; + --d22; + } + } + + f(); + + if (0 != d) + { + Iterator f2p = first2; + std::advance(f2p,1); + rotate_discontinuous(first1, last1, d1, f2p, last2, d2 - 1); + } + else + rotate_discontinuous(first1, last1, d1, first2, last2, d2); + } + + template + inline bool combine_discontinuous_conditional(Iterator first1, Iterator last1, typename std::iterator_traits::difference_type d1, + Iterator first2, Iterator last2, typename std::iterator_traits::difference_type d2, + Function& f, + typename std::iterator_traits::difference_type d = 0) + { + typedef typename std::iterator_traits::difference_type D; + + using std::swap; + + if (d1 == 0 || d2 == 0) + return f(); + + if (d1 == 1) + { + for (Iterator i2 = first2; i2 != last2; ++i2) + { + if (!f()) + return false; + swap(*first1, *i2); + } + } + else + { + Iterator f1p = first1; + std::advance(f1p,1); + Iterator i2 = first2; + + for (D d22 = d2; i2 != last2; ++i2, --d22) + { + if (!combine_discontinuous_conditional(f1p, last1, d1-1, i2, last2, d22, f, d + 1)) + return false; + swap(*first1, *i2); + } + } + + if (!f()) + return false; + + if (d != 0) + { + Iterator f2p = first2; + std::advance(f2p,1); + rotate_discontinuous(first1, last1, d1, f2p, last2, d2 - 1); + } + else + rotate_discontinuous(first1, last1, d1, first2, last2, d2); + + return true; + } + + template + class bound_range + { + public: + + bound_range(Function f, Iterator first, Iterator last) + : f_(f), + first_(first), + last_(last) + {} + + inline void operator()() + { + f_(first_,last_); + } + + private: + + inline bound_range& operator=(const bound_range&); + + Function f_; + Iterator first_; + Iterator last_; + }; + + template + class bound_range_conditional + { + public: + + bound_range_conditional(Function f, Iterator first, Iterator last) + : f_(f), + first_(first), + last_(last) + {} + + inline bool operator()() + { + return f_(first_,last_); + } + + private: + + inline bound_range_conditional& operator=(const bound_range_conditional&); + + Function f_; + Iterator first_; + Iterator last_; + }; + + } + + template + inline void for_each_combination(Iterator begin, Iterator end, + const std::size_t& size, + Function function) + { + if (static_cast::difference_type>(size) > std::distance(begin,end)) + return; + + Iterator mid = begin + size; + details::bound_range func(function,begin,mid); + details::combine_discontinuous(begin, mid, + std::distance(begin,mid), + mid, end, + std::distance(mid,end), + func); + } + + template + inline void for_each_combination_conditional(Iterator begin, Iterator end, + const std::size_t& size, + Function function) + { + if (static_cast::difference_type>(size) > std::distance(begin,end)) + return; + + Iterator mid = begin + size; + details::bound_range_conditional func(function,begin,mid); + details::combine_discontinuous_conditional(begin, mid, + std::distance(begin,mid), + mid, end, + std::distance(mid,end), + func); + } + + inline unsigned long long int n_choose_k(const unsigned long long int& n, const unsigned long long int& k) + { + if (n < k) return 0; + if (0 == n) return 0; + if (0 == k) return 1; + if (n == k) return 1; + if (1 == k) return n; + + typedef unsigned long long int value_type; + + class n_choose_k_impl + { + public: + + n_choose_k_impl(value_type* table, const value_type& dimension) + : table_(table), + dimension_(dimension / 2) + {} + + inline value_type& lookup(const value_type& n, const value_type& k) + { + const std::size_t difference = static_cast(n - k); + return table_[static_cast((dimension_ * n) + std::min(k,difference))]; + } + + inline value_type compute(const value_type& n, const value_type& k) + { + // n-Choose-k = (n-1)-Choose-(k-1) + (n-1)-Choose-k + if ((0 == k) || (k == n)) + return 1; + + value_type v1 = lookup(n - 1,k - 1); + + if (0 == v1) + v1 = lookup(n - 1,k - 1) = compute(n - 1,k - 1); + + value_type v2 = lookup(n - 1,k); + + if (0 == v2) + v2 = lookup(n - 1,k) = compute(n - 1,k); + + return v1 + v2; + } + + value_type* table_; + const value_type dimension_; + + private: + + inline n_choose_k_impl& operator=(const n_choose_k_impl&) + { + return *this; + } + }; + + static const std::size_t static_table_dim = 100; + static const std::size_t static_table_size = static_cast((static_table_dim * static_table_dim) / 2); + static value_type static_table[static_table_size]; + static bool static_table_initialized = false; + + if (!static_table_initialized && (n <= static_table_dim)) + { + std::fill_n(static_table,static_table_size,0); + static_table_initialized = true; + } + + const std::size_t table_size = static_cast(n * (n / 2) + (n & 1)); + + unsigned long long int dimension = static_table_dim; + value_type* table = 0; + + if (table_size <= static_table_size) + table = static_table; + else + { + dimension = n; + table = new value_type[table_size]; + std::fill_n(table,table_size,0ULL); + } + + value_type result = n_choose_k_impl(table,dimension).compute(n,k); + + if (table != static_table) + delete [] table; + + return result; + } + + inline void initialize_n_choose_k() + { + const unsigned long long int max_n = 100ULL; + for (unsigned long long int n = 0; n < max_n; ++n) + { + for (unsigned long long int k = 0; k < max_n; ++k) + { + n_choose_k(n,k); + } + } + } + + template + inline void nth_combination_sequence(unsigned long long int n, + const std::size_t& r, + const std::size_t& k, + OutputIterator out, + const bool complete_index = true) + { + //Compute the indicies for the n'th combination of r-choose-k + //n must be in the range [0,r-choose-k) + typedef unsigned long long int value_type; + + std::vector index_list(k,0); + value_type j = 0; + value_type x = 0; + ++n; + + for (std::size_t i = 1; i <= (k - 1); ++i) + { + index_list[i - 1] = 0; + + if (1 < i) + { + index_list[i - 1] = index_list[i - 2]; + } + + do + { + index_list[i - 1] += 1; + j = n_choose_k(r - index_list[i - 1], k - i); + x += j; + } + while (n > x); + + x -= j; + } + + index_list[k - 1] = index_list[k - 2] + static_cast(n) - static_cast(x); + + for (std::size_t i = 0; i < index_list.size(); --index_list[i++]); + + std::copy(index_list.begin(),index_list.end(),out); + + if (complete_index) + { + std::vector exist_table(r,0); + + for (std::size_t i = 0; i < index_list.size(); ++i) + { + exist_table[index_list[i]] = 1; + } + + for (std::size_t i = 0; i < exist_table.size(); ++i) + { + if (0 == exist_table[i]) + { + (*out) = i; + ++out; + } + } + } + } + + template + inline void nth_combination_sequence(const std::size_t& n, + const std::size_t& k, + const InputIterator begin, + const InputIterator end, + OutputIterator out, + const bool complete_index = true) + { + const std::size_t length = std::distance(begin,end); + std::vector index_list; + nth_combination_sequence(n,length,k,std::back_inserter(index_list),complete_index); + for (std::size_t i = 0; i < index_list.size(); ++i) + { + (*out) = *(begin + index_list[i]); + ++out; + } + } + + template + inline void nth_permutation_sequence(std::size_t n, const std::size_t k, OutputIterator out) + { + //Note: n in [0,k!) + std::vector factorid (k,0); + std::vector permutate(k,0); + + factorid[0] = 1; + for (std::size_t i = 1; i < k; ++i) + { + factorid[i] = factorid[i - 1] * i; + } + + for (std::size_t i = 0; i < k; ++i) + { + permutate[i] = n / factorid[k - i - 1]; + n = n % factorid[k - i - 1]; + } + + for (std::size_t i = k - 1; i > 0; --i) + { + for (int j = static_cast(i - 1); j >= 0; --j) + { + if (permutate[j] <= permutate[i]) + { + ++permutate[i]; + } + } + } + + for (std::size_t i = 0; i < k; ++i) + { + *(out++) = permutate[i]; + } + } + + template + inline void nth_permutation_sequence(std::size_t n, + const InputIterator begin, + const InputIterator end, + OutputIterator out) + { + const std::size_t size = std::distance(begin,end); + std::vector index_list(size,0); + nth_permutation_sequence(n,size,index_list.begin()); + for (std::size_t i = 0; i < size; ++i) + { + *(out++) = (begin + index_list[i]); + } + } + + inline std::string nth_permutation_sequence(const std::size_t& n, const std::string& s) + { + std::vector index_list(s.size(),0); + nth_permutation_sequence(n,s.size(),index_list.begin()); + std::string result; + result.reserve(s.size()); + for (std::size_t i = 0; i < index_list.size(); ++i) + { + result += s[index_list[i]]; + } + return result; + } + + template + class combination_iterator : public std::iterator, + void, + void> + { + public: + + typedef Iterator iterator; + typedef const iterator const_iterator; + typedef std::pair range_type; + + explicit inline combination_iterator(const std::size_t& k, + iterator begin, iterator end, + const bool sorted = true) + : begin_(begin), + end_(end), + middle_(begin + k), + current_combination_(begin_,middle_) + { + if (!sorted) + { + std::sort(begin,end); + } + } + + template class Sequence> + explicit inline combination_iterator(const std::size_t& k, + Sequence& seq, + const bool sorted = true) + : begin_(seq.begin()), + end_(seq.end()), + middle_(begin_ + k), + current_combination_(begin_,middle_) + { + if (!sorted) + { + std::sort(begin_,end_); + } + } + + explicit inline combination_iterator(const std::size_t& k, + std::string& str, + const bool sorted = true) + : begin_(const_cast(to_ptr(str))), + end_(const_cast(to_ptr(str) + str.size())), + middle_(begin_ + k), + current_combination_(begin_,middle_) + { + if (!sorted) + { + std::sort(begin_,end_); + } + } + + inline combination_iterator(iterator end) + : begin_(end), + end_(end), + middle_(end), + current_combination_(end,end) + {} + + inline combination_iterator(const std::string& str) + : begin_(const_cast(to_ptr(str) + str.size())), + end_(begin_), + middle_(end_), + current_combination_(end_,end_) + {} + + template class Sequence> + explicit inline combination_iterator(Sequence& seq) + : begin_ (seq.end()), + end_ (seq.end()), + middle_(end_ ), + current_combination_(end_,end_) + {} + + explicit inline combination_iterator(std::string& s) + : begin_ (const_cast(&(s.data()[0]) + s.size())), + end_ (const_cast(&(s.data()[0]) + s.size())), + middle_(end_), + current_combination_(end_,end_) + {} + + inline combination_iterator& operator++() + { + if (begin_ != end_) + { + if (!next_combination(begin_, middle_, end_)) + { + begin_ = middle_ = end_; + } + } + + return (*this); + } + + inline combination_iterator operator++(int) + { + combination_iterator tmp = *this; + this->operator++(); + return tmp; + } + + inline combination_iterator& operator+=(const int inc) + { + if (inc > 0) + { + for (int i = 0; i < inc; ++i, ++(*this)) ; + } + + return (*this); + } + + inline range_type operator*() const + { + return current_combination_; + } + + inline bool operator==(const combination_iterator& itr) const + { + return (begin_ == itr.begin_ ) && + (end_ == itr.end_ ) && + (middle_ == itr.middle_); + } + + inline bool operator!=(const combination_iterator& itr) const + { + return !operator==(itr); + } + + protected: + + iterator begin_; + iterator end_; + iterator middle_; + range_type current_combination_; + }; + + namespace fast + { + /* + Note: The following routines perform no sanity checks at all + upon the input data. Hence they should only be used with + data that is known to be completely 'valid'. + */ + namespace details + { + + template + struct all_digits_check_impl + { + static inline bool process(Iterator) + { + throw std::runtime_error("all_digits_check_impl - unsupported value for N."); + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[0] - '0') < 10 && + all_digits_check_impl::process(itr + 1); + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[0] - '0') < 10 && + all_digits_check_impl::process(itr + 1); + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[0] - '0') < 10 && + all_digits_check_impl::process(itr + 1); + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[ 0] - '0') < 10 && + static_cast(itr[ 1] - '0') < 10 && + static_cast(itr[ 2] - '0') < 10 && + static_cast(itr[ 3] - '0') < 10 && + static_cast(itr[ 4] - '0') < 10 && + static_cast(itr[ 5] - '0') < 10 && + static_cast(itr[ 6] - '0') < 10 && + static_cast(itr[ 7] - '0') < 10 && + static_cast(itr[ 8] - '0') < 10 && + static_cast(itr[ 9] - '0') < 10 && + static_cast(itr[10] - '0') < 10 && + static_cast(itr[11] - '0') < 10 && + static_cast(itr[12] - '0') < 10 && + static_cast(itr[13] - '0') < 10 && + static_cast(itr[14] - '0') < 10 && + static_cast(itr[15] - '0') < 10 ; + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[ 0] - '0') < 10 && + static_cast(itr[ 1] - '0') < 10 && + static_cast(itr[ 2] - '0') < 10 && + static_cast(itr[ 3] - '0') < 10 && + static_cast(itr[ 4] - '0') < 10 && + static_cast(itr[ 5] - '0') < 10 && + static_cast(itr[ 6] - '0') < 10 && + static_cast(itr[ 7] - '0') < 10 && + static_cast(itr[ 8] - '0') < 10 && + static_cast(itr[ 9] - '0') < 10 && + static_cast(itr[10] - '0') < 10 && + static_cast(itr[11] - '0') < 10 && + static_cast(itr[12] - '0') < 10 && + static_cast(itr[13] - '0') < 10 && + static_cast(itr[14] - '0') < 10 ; + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[ 0] - '0') < 10 && + static_cast(itr[ 1] - '0') < 10 && + static_cast(itr[ 2] - '0') < 10 && + static_cast(itr[ 3] - '0') < 10 && + static_cast(itr[ 4] - '0') < 10 && + static_cast(itr[ 5] - '0') < 10 && + static_cast(itr[ 6] - '0') < 10 && + static_cast(itr[ 7] - '0') < 10 && + static_cast(itr[ 8] - '0') < 10 && + static_cast(itr[ 9] - '0') < 10 && + static_cast(itr[10] - '0') < 10 && + static_cast(itr[11] - '0') < 10 && + static_cast(itr[12] - '0') < 10 && + static_cast(itr[13] - '0') < 10 ; + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[ 0] - '0') < 10 && + static_cast(itr[ 1] - '0') < 10 && + static_cast(itr[ 2] - '0') < 10 && + static_cast(itr[ 3] - '0') < 10 && + static_cast(itr[ 4] - '0') < 10 && + static_cast(itr[ 5] - '0') < 10 && + static_cast(itr[ 6] - '0') < 10 && + static_cast(itr[ 7] - '0') < 10 && + static_cast(itr[ 8] - '0') < 10 && + static_cast(itr[ 9] - '0') < 10 && + static_cast(itr[10] - '0') < 10 && + static_cast(itr[11] - '0') < 10 && + static_cast(itr[12] - '0') < 10 ; + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[ 0] - '0') < 10 && + static_cast(itr[ 1] - '0') < 10 && + static_cast(itr[ 2] - '0') < 10 && + static_cast(itr[ 3] - '0') < 10 && + static_cast(itr[ 4] - '0') < 10 && + static_cast(itr[ 5] - '0') < 10 && + static_cast(itr[ 6] - '0') < 10 && + static_cast(itr[ 7] - '0') < 10 && + static_cast(itr[ 8] - '0') < 10 && + static_cast(itr[ 9] - '0') < 10 && + static_cast(itr[10] - '0') < 10 && + static_cast(itr[11] - '0') < 10 ; + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[ 0] - '0') < 10 && + static_cast(itr[ 1] - '0') < 10 && + static_cast(itr[ 2] - '0') < 10 && + static_cast(itr[ 3] - '0') < 10 && + static_cast(itr[ 4] - '0') < 10 && + static_cast(itr[ 5] - '0') < 10 && + static_cast(itr[ 6] - '0') < 10 && + static_cast(itr[ 7] - '0') < 10 && + static_cast(itr[ 8] - '0') < 10 && + static_cast(itr[ 9] - '0') < 10 && + static_cast(itr[10] - '0') < 10 ; + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[0] - '0') < 10 && + static_cast(itr[1] - '0') < 10 && + static_cast(itr[2] - '0') < 10 && + static_cast(itr[3] - '0') < 10 && + static_cast(itr[4] - '0') < 10 && + static_cast(itr[5] - '0') < 10 && + static_cast(itr[6] - '0') < 10 && + static_cast(itr[7] - '0') < 10 && + static_cast(itr[8] - '0') < 10 && + static_cast(itr[9] - '0') < 10 ; + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[0] - '0') < 10 && + static_cast(itr[1] - '0') < 10 && + static_cast(itr[2] - '0') < 10 && + static_cast(itr[3] - '0') < 10 && + static_cast(itr[4] - '0') < 10 && + static_cast(itr[5] - '0') < 10 && + static_cast(itr[6] - '0') < 10 && + static_cast(itr[7] - '0') < 10 && + static_cast(itr[8] - '0') < 10 ; + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[0] - '0') < 10 && + static_cast(itr[1] - '0') < 10 && + static_cast(itr[2] - '0') < 10 && + static_cast(itr[3] - '0') < 10 && + static_cast(itr[4] - '0') < 10 && + static_cast(itr[5] - '0') < 10 && + static_cast(itr[6] - '0') < 10 && + static_cast(itr[7] - '0') < 10 ; + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[0] - '0') < 10 && + static_cast(itr[1] - '0') < 10 && + static_cast(itr[2] - '0') < 10 && + static_cast(itr[3] - '0') < 10 && + static_cast(itr[4] - '0') < 10 && + static_cast(itr[5] - '0') < 10 && + static_cast(itr[6] - '0') < 10 ; + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[0] - '0') < 10 && + static_cast(itr[1] - '0') < 10 && + static_cast(itr[2] - '0') < 10 && + static_cast(itr[3] - '0') < 10 && + static_cast(itr[4] - '0') < 10 && + static_cast(itr[5] - '0') < 10 ; + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[0] - '0') < 10 && + static_cast(itr[1] - '0') < 10 && + static_cast(itr[2] - '0') < 10 && + static_cast(itr[3] - '0') < 10 && + static_cast(itr[4] - '0') < 10 ; + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[0] - '0') < 10 && + static_cast(itr[1] - '0') < 10 && + static_cast(itr[2] - '0') < 10 && + static_cast(itr[3] - '0') < 10 ; + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return + static_cast(itr[0] - '0') < 10 && + static_cast(itr[1] - '0') < 10 && + static_cast(itr[2] - '0') < 10 ; + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[ 0] - '0') < 10 && + static_cast(itr[ 1] - '0') < 10 ; + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator itr) + { + return static_cast(itr[ 0] - '0') < 10; + } + }; + + template + struct all_digits_check_impl + { + static inline bool process(Iterator) + { + return true; + } + }; + + template + struct numeric_convert_impl + { + static inline void process(Iterator, T&) + { throw std::runtime_error("numeric_convert_impl::process( - unsupported value for N."); } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + strtk::fast::details::numeric_convert_impl::process(itr + 1,t); + t += static_cast((itr[0] - '0') * 10000000000000000000ULL); + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + strtk::fast::details::numeric_convert_impl::process(itr + 1,t); + t += static_cast((itr[0] - '0') * 1000000000000000000LL); + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + strtk::fast::details::numeric_convert_impl::process(itr + 1,t); + t += static_cast((itr[0] - '0') * 100000000000000000LL); + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + numeric_convert_impl::process(itr + 1,t); + t += static_cast((itr[0] - '0') * 10000000000000000LL); + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + T x = static_cast(itr[ 0] - '0'); + x = x * 10 + static_cast(itr[ 1] - '0'); + x = x * 10 + static_cast(itr[ 2] - '0'); + x = x * 10 + static_cast(itr[ 3] - '0'); + x = x * 10 + static_cast(itr[ 4] - '0'); + x = x * 10 + static_cast(itr[ 5] - '0'); + x = x * 10 + static_cast(itr[ 6] - '0'); + x = x * 10 + static_cast(itr[ 7] - '0'); + x = x * 10 + static_cast(itr[ 8] - '0'); + x = x * 10 + static_cast(itr[ 9] - '0'); + x = x * 10 + static_cast(itr[10] - '0'); + x = x * 10 + static_cast(itr[11] - '0'); + x = x * 10 + static_cast(itr[12] - '0'); + x = x * 10 + static_cast(itr[13] - '0'); + x = x * 10 + static_cast(itr[14] - '0'); + x = x * 10 + static_cast(itr[15] - '0'); + t = x; + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + T x = static_cast(itr[ 0] - '0'); + x = x * 10 + static_cast(itr[ 1] - '0'); + x = x * 10 + static_cast(itr[ 2] - '0'); + x = x * 10 + static_cast(itr[ 3] - '0'); + x = x * 10 + static_cast(itr[ 4] - '0'); + x = x * 10 + static_cast(itr[ 5] - '0'); + x = x * 10 + static_cast(itr[ 6] - '0'); + x = x * 10 + static_cast(itr[ 7] - '0'); + x = x * 10 + static_cast(itr[ 8] - '0'); + x = x * 10 + static_cast(itr[ 9] - '0'); + x = x * 10 + static_cast(itr[10] - '0'); + x = x * 10 + static_cast(itr[11] - '0'); + x = x * 10 + static_cast(itr[12] - '0'); + x = x * 10 + static_cast(itr[13] - '0'); + x = x * 10 + static_cast(itr[14] - '0'); + t = x; + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + T x = static_cast(itr[ 0] - '0'); + x = x * 10 + static_cast(itr[ 1] - '0'); + x = x * 10 + static_cast(itr[ 2] - '0'); + x = x * 10 + static_cast(itr[ 3] - '0'); + x = x * 10 + static_cast(itr[ 4] - '0'); + x = x * 10 + static_cast(itr[ 5] - '0'); + x = x * 10 + static_cast(itr[ 6] - '0'); + x = x * 10 + static_cast(itr[ 7] - '0'); + x = x * 10 + static_cast(itr[ 8] - '0'); + x = x * 10 + static_cast(itr[ 9] - '0'); + x = x * 10 + static_cast(itr[10] - '0'); + x = x * 10 + static_cast(itr[11] - '0'); + x = x * 10 + static_cast(itr[12] - '0'); + x = x * 10 + static_cast(itr[13] - '0'); + t = x; + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + T x = static_cast(itr[ 0] - '0'); + x = x * 10 + static_cast(itr[ 1] - '0'); + x = x * 10 + static_cast(itr[ 2] - '0'); + x = x * 10 + static_cast(itr[ 3] - '0'); + x = x * 10 + static_cast(itr[ 4] - '0'); + x = x * 10 + static_cast(itr[ 5] - '0'); + x = x * 10 + static_cast(itr[ 6] - '0'); + x = x * 10 + static_cast(itr[ 7] - '0'); + x = x * 10 + static_cast(itr[ 8] - '0'); + x = x * 10 + static_cast(itr[ 9] - '0'); + x = x * 10 + static_cast(itr[10] - '0'); + x = x * 10 + static_cast(itr[11] - '0'); + x = x * 10 + static_cast(itr[12] - '0'); + t = x; + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + T x = static_cast(itr[ 0] - '0'); + x = x * 10 + static_cast(itr[ 1] - '0'); + x = x * 10 + static_cast(itr[ 2] - '0'); + x = x * 10 + static_cast(itr[ 3] - '0'); + x = x * 10 + static_cast(itr[ 4] - '0'); + x = x * 10 + static_cast(itr[ 5] - '0'); + x = x * 10 + static_cast(itr[ 6] - '0'); + x = x * 10 + static_cast(itr[ 7] - '0'); + x = x * 10 + static_cast(itr[ 8] - '0'); + x = x * 10 + static_cast(itr[ 9] - '0'); + x = x * 10 + static_cast(itr[10] - '0'); + x = x * 10 + static_cast(itr[11] - '0'); + t = x; + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + T x = static_cast(itr[ 0] - '0'); + x = x * 10 + static_cast(itr[ 1] - '0'); + x = x * 10 + static_cast(itr[ 2] - '0'); + x = x * 10 + static_cast(itr[ 3] - '0'); + x = x * 10 + static_cast(itr[ 4] - '0'); + x = x * 10 + static_cast(itr[ 5] - '0'); + x = x * 10 + static_cast(itr[ 6] - '0'); + x = x * 10 + static_cast(itr[ 7] - '0'); + x = x * 10 + static_cast(itr[ 8] - '0'); + x = x * 10 + static_cast(itr[ 9] - '0'); + x = x * 10 + static_cast(itr[10] - '0'); + t = x; + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + T x = static_cast(itr[0] - '0'); + x = x * 10 + static_cast(itr[1] - '0'); + x = x * 10 + static_cast(itr[2] - '0'); + x = x * 10 + static_cast(itr[3] - '0'); + x = x * 10 + static_cast(itr[4] - '0'); + x = x * 10 + static_cast(itr[5] - '0'); + x = x * 10 + static_cast(itr[6] - '0'); + x = x * 10 + static_cast(itr[7] - '0'); + x = x * 10 + static_cast(itr[8] - '0'); + x = x * 10 + static_cast(itr[9] - '0'); + t = x; + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + T x = static_cast(itr[0] - '0'); + x = x * 10 + static_cast(itr[1] - '0'); + x = x * 10 + static_cast(itr[2] - '0'); + x = x * 10 + static_cast(itr[3] - '0'); + x = x * 10 + static_cast(itr[4] - '0'); + x = x * 10 + static_cast(itr[5] - '0'); + x = x * 10 + static_cast(itr[6] - '0'); + x = x * 10 + static_cast(itr[7] - '0'); + x = x * 10 + static_cast(itr[8] - '0'); + t = x; + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + T x = static_cast(itr[0] - '0'); + x = x * 10 + static_cast(itr[1] - '0'); + x = x * 10 + static_cast(itr[2] - '0'); + x = x * 10 + static_cast(itr[3] - '0'); + x = x * 10 + static_cast(itr[4] - '0'); + x = x * 10 + static_cast(itr[5] - '0'); + x = x * 10 + static_cast(itr[6] - '0'); + x = x * 10 + static_cast(itr[7] - '0'); + t = x; + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + T x = static_cast(itr[0] - '0'); + x = x * 10 + static_cast(itr[1] - '0'); + x = x * 10 + static_cast(itr[2] - '0'); + x = x * 10 + static_cast(itr[3] - '0'); + x = x * 10 + static_cast(itr[4] - '0'); + x = x * 10 + static_cast(itr[5] - '0'); + x = x * 10 + static_cast(itr[6] - '0'); + t = x; + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + T x = static_cast(itr[0] - '0'); + x = x * 10 + static_cast(itr[1] - '0'); + x = x * 10 + static_cast(itr[2] - '0'); + x = x * 10 + static_cast(itr[3] - '0'); + x = x * 10 + static_cast(itr[4] - '0'); + x = x * 10 + static_cast(itr[5] - '0'); + t = x; + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + T x = static_cast(itr[0] - '0'); + x = x * 10 + static_cast(itr[1] - '0'); + x = x * 10 + static_cast(itr[2] - '0'); + x = x * 10 + static_cast(itr[3] - '0'); + x = x * 10 + static_cast(itr[4] - '0'); + t = x; + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + T x = static_cast(itr[0] - '0'); + x = x * 10 + static_cast(itr[1] - '0'); + x = x * 10 + static_cast(itr[2] - '0'); + x = x * 10 + static_cast(itr[3] - '0'); + t = x; + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + T x = static_cast(itr[0] - '0'); + x = x * 10 + static_cast(itr[1] - '0'); + x = x * 10 + static_cast(itr[2] - '0'); + t = x; + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + t = static_cast(itr[0] - '0') * 10 + + static_cast(itr[1] - '0'); + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator itr, T& t) + { + t = static_cast(itr[0] - '0'); + } + }; + + template + struct numeric_convert_impl + { + static inline void process(const Iterator, T& t) + { + t = 0; + } + }; + + template + inline bool negate(T&, NoneSignedTag) + { + return false; + } + + template + inline bool negate(T& t, strtk::details::signed_type_tag) + { + t = -t; + return true; + } + + } // namespace details + + template + inline bool all_digits_check(Iterator itr) + { + typedef typename strtk::details::is_valid_iterator::type itr_type; + strtk::details::convert_type_assert(); + return details::all_digits_check_impl::process(itr); + } + + template + inline bool all_digits_check(const std::string& s) + { + return all_digits_check(to_ptr(s)); + } + + template + inline bool all_digits_check(const std::size_t& n, Iterator itr) + { + switch (n) + { + #define case_stmt(N) \ + case N : return details::all_digits_check_impl::process(itr); \ + + case_stmt( 0) case_stmt( 1) case_stmt( 2) case_stmt( 3) + case_stmt( 4) case_stmt( 5) case_stmt( 6) case_stmt( 7) + case_stmt( 8) case_stmt( 9) case_stmt(10) case_stmt(11) + case_stmt(12) case_stmt(13) case_stmt(14) case_stmt(15) + case_stmt(16) case_stmt(17) case_stmt(18) case_stmt(19) + default : return false; + #undef case_stmt + } + } + + template + inline bool all_digits_check(Iterator begin, Iterator end) + { + return all_digits_check(std::distance(begin,end),begin); + } + + inline bool all_digits_check(const std::string& s) + { + return all_digits_check(s.size(), to_ptr(s)); + } + + template + inline bool signed_all_digits_check(Iterator itr) + { + if (('-' == (*itr)) || ('+' == (*itr))) + return all_digits_check((itr + 1)); + else + return all_digits_check(itr); + } + + template + inline bool signed_all_digits_check(const std::size_t& n, Iterator itr) + { + if (('-' == (*itr)) || ('+' == (*itr))) + return all_digits_check(n - 1,(itr + 1)); + else + return all_digits_check(n,itr); + } + + template + inline bool signed_all_digits_check(const std::string& s) + { + return signed_all_digits_check(to_ptr(s)); + } + + template + inline bool signed_all_digits_check(Iterator begin, Iterator end) + { + return signed_all_digits_check(std::distance(begin,end),begin); + } + + inline bool signed_all_digits_check(const std::string& s) + { + return signed_all_digits_check(s.size(), to_ptr(s)); + } + + template + inline void numeric_convert(Iterator itr, T& t, const bool digit_check = false) + { + typedef typename strtk::details::is_valid_iterator::type itr_type; + strtk::details::convert_type_assert(); + if (digit_check) + { + if (!all_digits_check(itr)) + { + t = 0; + return; + } + } + + details::numeric_convert_impl::process(itr,t); + } + + template + inline void numeric_convert(const std::string& s, T& t, const bool digit_check = false) + { + numeric_convert(to_ptr(s), t, digit_check); + } + + template + inline bool numeric_convert(const std::size_t n, + const Iterator itr, T& t, + const bool digit_check = false) + { + if (digit_check) + { + if (!all_digits_check(n,itr)) + { + return false; + } + } + + switch (n) + { + #define case_stmt(N) \ + case N : { details::numeric_convert_impl::process(itr,t); return true; } \ + + case_stmt( 0) case_stmt( 1) case_stmt( 2) case_stmt( 3) + case_stmt( 4) case_stmt( 5) case_stmt( 6) case_stmt( 7) + case_stmt( 8) case_stmt( 9) case_stmt(10) case_stmt(11) + case_stmt(12) case_stmt(13) case_stmt(14) case_stmt(15) + case_stmt(16) case_stmt(17) case_stmt(18) case_stmt(19) + case_stmt(20) + default : return false; + #undef case_stmt + } + } + + template + inline bool numeric_convert(const std::string& s, T& t, const bool digit_check = false) + { + return numeric_convert(s.size(), to_ptr(s), t, digit_check); + } + + template + inline bool signed_numeric_convert(Iterator itr, T& t, const bool digit_check = false) + { + if ('-' == (*itr)) + { + numeric_convert((itr + 1),t,digit_check); + typename strtk::details::supported_conversion_to_type::type type; + details::negate(t,type); + } + else if ('+' == (*itr)) + { + return numeric_convert((itr + 1),t,digit_check); + } + else + return numeric_convert(itr,t,digit_check); + } + + template + inline bool signed_numeric_convert(Iterator itr, + const Iterator end, + T& t, + const bool digit_check = false) + { + const bool negative = ('-' == (*itr)); + + if (negative || ('+' == (*itr))) + { + if (end == (++itr)) + return false; + } + + while ((end != itr) && ('0' == (*itr))) ++itr; + + if (numeric_convert(std::distance(itr,end),itr,t,digit_check)) + { + t = negative ? -t : t; + return true; + } + else + return false; + } + + template + inline bool signed_numeric_convert(const std::string& s, + T& t, + const bool digit_check = false) + { + return signed_numeric_convert(to_ptr(s), t, digit_check); + } + + template + inline bool signed_numeric_convert(const std::string& s, + T& t, + const bool digit_check = false) + { + return signed_numeric_convert(to_ptr(s), to_ptr(s) + s.size(), t, digit_check); + } + + } // namespace fast + + namespace binary + { + + namespace details + { + namespace details_endian + { + #if (defined(__LITTLE_ENDIAN__)) || \ + (defined(WIN32)) || \ + (defined(_WIN32)) || \ + (defined(__WIN32__)) || \ + (defined(__MINGW32_VERSION)) || \ + (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)) + static const bool __le_result = true; + static const bool __be_result = false; + #else + static const bool __le_result = false; + static const bool __be_result = true; + #endif + } + + static inline bool is_little_endian() + { + //Is the current architecture/platform little-endian? + return details_endian::__le_result; + } + + static inline bool is_big_endian() + { + return details_endian::__be_result; + } + + static inline unsigned short convert(const unsigned short v) + { + //static_assert(2 == sizeof(v),""); + return ((v >> 8) & 0x00FF) | ((v << 8) & 0xFFFF); + } + + static inline unsigned int convert(const unsigned int v) + { + //static_assert(4 == sizeof(v),""); + return ((v >> 24) & 0x000000FF) | ((v << 24) & 0x0000FF00) | + ((v << 8) & 0x00FF0000) | ((v >> 8) & 0xFF000000); + } + + static inline unsigned long long int convert(const unsigned long long int v) + { + //static_assert(8 == sizeof(v),""); + return ((v >> 56) & 0x00000000000000FFLL) | ((v << 56) & 0xFF00000000000000LL) | + ((v >> 40) & 0x000000000000FF00LL) | ((v << 40) & 0x00FF000000000000LL) | + ((v >> 24) & 0x0000000000FF0000LL) | ((v << 24) & 0x0000FF0000000000LL) | + ((v >> 8) & 0x00000000FF000000LL) | ((v << 8) & 0x000000FF00000000LL) ; + } + + static inline short convert(const short v) + { + return static_cast(convert(static_cast(v))); + } + + static inline int convert(const int v) + { + return static_cast(convert(static_cast(v))); + } + + static inline long long int convert(const long long int v) + { + return static_cast(convert(static_cast(v))); + } + + static inline unsigned short convert_to_be(const unsigned short v) + { + return (is_little_endian()) ? convert(v) : v; + } + + static inline unsigned int convert_to_be(const unsigned int v) + { + return (is_little_endian()) ? convert(v) : v; + } + + static inline unsigned long long int convert_to_be(const unsigned long long int v) + { + return (is_little_endian()) ? convert(v) : v; + } + + static inline short convert_to_be(const short v) + { + return (is_little_endian()) ? convert(v) : v; + } + + static inline int convert_to_be(const int v) + { + return (is_little_endian()) ? convert(v) : v; + } + + static inline long long int convert_to_be(const long long int v) + { + return (is_little_endian()) ? convert(v) : v; + } + + static inline unsigned short convert_to_le(const unsigned short v) + { + return (is_big_endian()) ? convert(v) : v; + } + + static inline unsigned int convert_to_le(const unsigned int v) + { + return (is_big_endian()) ? convert(v) : v; + } + + static inline unsigned long long int convert_to_le(const unsigned long long int v) + { + return (is_big_endian()) ? convert(v) : v; + } + + static inline short convert_to_le(const short v) + { + return (is_big_endian()) ? convert(v) : v; + } + + static inline int convert_to_le(const int v) + { + return (is_big_endian()) ? convert(v) : v; + } + + static inline unsigned long long int convert_to_le(const long long int v) + { + return (is_big_endian()) ? convert(v) : v; + } + + class marker + { + private: + + typedef std::pair mark_type; + + public: + + inline bool reset(std::size_t& v1, char*& v2) + { + if (stack_.empty()) + return false; + v1 = stack_.top().first; + v2 = stack_.top().second; + stack_.pop(); + return true; + } + + inline void mark(const std::size_t& v1,char* v2) + { + stack_.push(std::make_pair(v1,v2)); + } + + private: + + std::stack stack_; + }; + } + + class reader + { + public: + + // should be sourced from cstdint + typedef unsigned int uint32_t; + typedef unsigned short uint16_t; + typedef unsigned char uint8_t; + typedef unsigned long long int uint64_t; + + template + reader(T* buffer, + const std::size_t& buffer_length) + : original_buffer_(reinterpret_cast(buffer)), + buffer_(reinterpret_cast(buffer)), + buffer_length_(buffer_length * sizeof(T)), + amount_read_sofar_(0) + {} + + inline bool operator!() const + { + return (0 == buffer_length_) || + (0 == original_buffer_) || + (0 == buffer_); + } + + inline void reset(const bool clear_buffer = false) + { + amount_read_sofar_ = 0; + buffer_ = original_buffer_; + if (clear_buffer) + clear(); + } + + inline std::size_t position() const + { + return amount_read_sofar_; + } + + inline const char* position_ptr() const + { + return buffer_ ; + } + + inline std::size_t amount_read() + { + return amount_read_sofar_; + } + + inline bool rewind(const std::size_t& n_bytes) + { + if (n_bytes <= amount_read_sofar_) + { + amount_read_sofar_ -= n_bytes; + buffer_ -= n_bytes; + return true; + } + else + return false; + } + + inline bool seek(const int& n_bytes) + { + if (n_bytes < 0) + return rewind(-n_bytes); + else if (n_bytes > 0) + { + if ((amount_read_sofar_ + n_bytes) <= buffer_length_) + { + amount_read_sofar_ += n_bytes; + buffer_ += n_bytes; + return true; + } + else + return false; + } + else + return true; + } + + inline void clear() + { + reset(); + std::memset(buffer_,0x00,buffer_length_); + } + + template + inline bool operator()(T*& data, uint32_t& length, const bool read_length = true) + { + if (read_length && !operator()(length)) + return false; + + const std::size_t raw_size = length * sizeof(T); + if (!buffer_capacity_ok(raw_size)) + return false; + + if (read_length) + { + data = new T[length]; + } + + std::copy(buffer_, buffer_ + raw_size, reinterpret_cast(data)); + buffer_ += raw_size; + amount_read_sofar_ += raw_size; + + return true; + } + + template + inline bool operator()(T*& data, uint64_t& length, const bool read_length = true) + { + uint32_t l = 0; + if (read_length) + l = static_cast(length); + if (!operator()(data,l,read_length)) + return false; + if (read_length) + length = l; + return true; + } + + inline bool operator()(std::string& output) + { + uint32_t length = 0; + if (!operator()(length)) + return false; + + if (!buffer_capacity_ok(length)) + return false; + + output.resize(length); + std::copy(buffer_, + buffer_ + length, + const_cast(to_ptr(output))); + + buffer_ += length; + amount_read_sofar_ += length; + + return true; + } + + template + inline bool operator()(std::pair& p) + { + if (!operator()(p.first)) + return false; + if (!operator()(p.second)) + return false; + return true; + } + + #define strtk_def_rdr_opr(Type) \ + template \ + inline bool operator()(Type& seq) \ + { \ + uint32_t size = 0; \ + if (!read_pod(size)) \ + return false; \ + \ + const std::size_t raw_size = size * sizeof(T); \ + if (!buffer_capacity_ok(raw_size)) \ + return false; \ + \ + T t = T(); \ + \ + for (std::size_t i = 0; i < size; ++i) \ + { \ + if (operator()(t)) \ + seq.push_back(t); \ + else \ + return false; \ + } \ + \ + return true; \ + } \ + + strtk_def_rdr_opr(std::deque) + strtk_def_rdr_opr(std::queue) + strtk_def_rdr_opr(std::list ) + #undef strtk_def_rdr_opr + + template + inline bool operator()(std::vector& vec) + { + uint32_t size = 0; + if (!read_pod(size)) + return false; + + const std::size_t raw_size = size * sizeof(T); + + if (!buffer_capacity_ok(raw_size)) + return false; + + vec.resize(size); + + return selector::type::batch_vector_read(*this,size,vec,false); + } + + template + inline bool operator()(std::set& set) + { + uint32_t size = 0; + if (!read_pod(size)) + return false; + + const std::size_t raw_size = size * sizeof(T); + if (!buffer_capacity_ok(raw_size)) + return false; + + T t; + for (std::size_t i = 0; i < size; ++i) + { + if (!operator()(t)) + return false; + set.insert(t); + } + + return true; + } + + template + inline bool operator()(std::multiset& multiset) + { + uint32_t size = 0; + if (!read_pod(size)) + return false; + + const std::size_t raw_size = size * sizeof(T); + if (!buffer_capacity_ok(raw_size)) + return false; + + T t; + for (std::size_t i = 0; i < size; ++i) + { + if (!operator()(t)) + return false; + multiset.insert(t); + } + + return true; + } + + inline bool operator()(std::ifstream& stream, const std::size_t& length) + { + if (length > buffer_length_) return false; + stream.read(original_buffer_,static_cast(length)); + return true; + } + + inline bool operator()(std::ifstream& stream) + { + if (0 == amount_read_sofar_) return false; + stream.read(original_buffer_,static_cast(amount_read_sofar_)); + return true; + } + + template + inline bool operator()(T& output) + { + return selector::type::run(*this,output); + } + + template + inline bool operator()(const T& output) + { + return selector::type::run(*this,const_cast(output)); + } + + template + inline bool be_to_native(T& output) + { + //From big-endian to native + if (details::is_little_endian()) + { + if (!operator()(output)) return false; + output = details::convert(output); + return true; + } + else + return operator()(output); + } + + template + inline bool le_to_native(T& output) + { + //From little-endian to native + if (details::is_little_endian()) + return operator()(output); + else + { + if (!operator()(output)) return false; + output = details::convert(output); + return true; + } + } + + template + inline bool operator()(T (&output)[N]) + { + const std::size_t raw_size = N * sizeof(T); + + if (buffer_capacity_ok(raw_size)) + { + std::copy(buffer_, + buffer_ + raw_size, + reinterpret_cast(output)); + + buffer_ += raw_size; + amount_read_sofar_ += raw_size; + + return true; + } + else + return false; + } + + template + inline bool operator()(T& output, const std::size_t& size) + { + if (buffer_capacity_ok(size)) + { + bool result = strtk::string_to_type_converter(buffer_,buffer_ + size,output); + buffer_ += size; + amount_read_sofar_ += size; + return result; + } + else + return false; + } + + inline void mark() + { + marker_.mark(amount_read_sofar_,buffer_); + } + + inline bool reset_to_mark() + { + return marker_.reset(amount_read_sofar_,buffer_); + } + + private: + + reader(); + reader(const reader& s); + reader& operator=(const reader& s); + + inline bool buffer_capacity_ok(const std::size_t& required_read_qty) + { + return ((required_read_qty + amount_read_sofar_) <= buffer_length_); + } + + template + struct selector + { + private: + + template + struct selector_impl + { + template + static inline bool run(Reader& r, T& t) + { + return t(r); + } + + template + static inline bool batch_vector_read(Reader& r, + const std::size_t& size, + std::vector& v, + const bool) + { + T t; + + for (std::size_t i = 0; i < size; ++i) + { + if (r.operator()(t)) + v[i] = t; + else + return false; + } + + return true; + } + }; + + template + struct selector_impl + { + template + static inline bool run(Reader& r, + T& t, + const bool perform_buffer_capacity_check = true) + { + return r.read_pod(t,perform_buffer_capacity_check); + } + + template + static inline bool batch_vector_read(Reader& r, + const std::size_t& size, + std::vector& v, + const bool) + { + const std::size_t raw_size = sizeof(T) * size; + char* ptr = const_cast(reinterpret_cast(&v[0])); + std::copy(r.buffer_, r.buffer_ + raw_size, ptr); + r.buffer_ += raw_size; + r.amount_read_sofar_ += raw_size; + return true; + } + }; + + public: + + typedef selector_impl::result_t> type; + }; + + template + inline bool read_pod(T& data, const bool perform_buffer_capacity_check = true) + { + static const std::size_t data_length = sizeof(T); + + if (perform_buffer_capacity_check) + { + if (!buffer_capacity_ok(data_length)) + return false; + } + + data = (*reinterpret_cast(buffer_)); + buffer_ += data_length; + amount_read_sofar_ += data_length; + + return true; + } + + char* const original_buffer_; + char* buffer_; + std::size_t buffer_length_; + std::size_t amount_read_sofar_; + details::marker marker_; + }; + + class writer + { + public: + + // should be sourced from cstdint + typedef unsigned int uint32_t; + typedef unsigned short uint16_t; + typedef unsigned char uint8_t; + typedef unsigned long long int uint64_t; + + template + writer(T* buffer, const std::size_t& buffer_length) + : original_buffer_(reinterpret_cast(buffer)), + buffer_(reinterpret_cast(buffer)), + buffer_length_(buffer_length * sizeof(T)), + amount_written_sofar_(0) + {} + + inline bool operator!() const + { + return (0 == buffer_length_) || + (0 == original_buffer_) || + (0 == buffer_); + } + + inline void reset(const bool clear_buffer = false) + { + amount_written_sofar_ = 0; + buffer_ = original_buffer_; + if (clear_buffer) + clear(); + } + + inline std::size_t position() const + { + return amount_written_sofar_; + } + + inline const char* position_ptr() const + { + return buffer_ ; + } + + inline std::size_t amount_written() const + { + return amount_written_sofar_; + } + + inline void clear() + { + reset(); + std::memset(buffer_,0x00,buffer_length_); + } + + template + inline bool operator()(const T (&data)[N], const bool write_length = false) + { + if (write_length && !operator()(N)) + return false; + + const std::size_t raw_size = N * sizeof(T); + if (!buffer_capacity_ok(raw_size)) + return false; + + const char* ptr = reinterpret_cast(data); + std::copy(ptr, ptr + raw_size, buffer_); + buffer_ += raw_size; + amount_written_sofar_ += raw_size; + + return true; + } + + template + inline bool operator()(const T* data, const uint32_t& length, const bool write_length = true) + { + if (write_length && !operator()(length)) + return false; + + const std::size_t raw_size = length * sizeof(T); + if (!buffer_capacity_ok(raw_size)) + return false; + + const char* ptr = reinterpret_cast(data); + std::copy(ptr, ptr + raw_size, buffer_); + buffer_ += raw_size; + amount_written_sofar_ += raw_size; + + return true; + } + + template + inline bool operator()(const T* data, const uint64_t& length, const bool write_length = true) + { + return operator()(data,static_cast(length),write_length); + } + + template + inline bool operator()(const T* data, const uint16_t& length, const bool write_length = true) + { + return operator()(data,static_cast(length),write_length); + } + + template + inline bool operator()(const T* data, const uint8_t& length, const bool write_length = true) + { + return operator()(data,static_cast(length),write_length); + } + + template + inline bool operator()(const std::pair& p) + { + if (!operator()(p.first)) + return false; + if (!operator()(p.second)) + return false; + return true; + } + + inline bool operator()(const std::string& input) + { + return operator()(to_ptr(input),static_cast(input.size())); + } + + #define strtk_def_wrtr_opr(Type) \ + template \ + inline bool operator()(const Type& seq) \ + { \ + const uint32_t size = static_cast(seq.size()); \ + if (!operator()(size)) \ + return false; \ + \ + typename Type::const_iterator itr = seq.begin(); \ + typename Type::const_iterator end = seq.end(); \ + \ + while (end != itr) \ + { \ + if (!operator()(*itr)) \ + return false; \ + ++itr; \ + } \ + \ + return true; \ + } \ + + strtk_def_wrtr_opr(std::deque ) + strtk_def_wrtr_opr(std::list ) + strtk_def_wrtr_opr(std::queue ) + #undef strtk_def_wrtr_opr + + template + inline bool operator()(const std::vector& vec) + { + const uint32_t size = static_cast(vec.size()); + const std::size_t raw_size = (size * sizeof(T)); + if (!buffer_capacity_ok(raw_size + sizeof(size))) + return false; + if (!operator()(size)) + return false; + return selector::type::batch_vector_writer(*this,raw_size,vec); + } + + template + inline bool operator()(const std::set& set) + { + const uint32_t size = static_cast(set.size()); + if (!operator()(size)) + return false; + + const std::size_t raw_size = size * sizeof(T); + + if (!buffer_capacity_ok(raw_size)) + return false; + + typename std::set::const_iterator itr = set.begin(); + typename std::set::const_iterator end = set.end(); + + while (end != itr) + { + if (!operator()(*itr)) + return false; + ++itr; + } + + return true; + } + + template + inline bool operator()(const std::multiset& multiset) + { + const uint32_t size = static_cast(multiset.size()); + if (!operator()(size)) + return false; + + const std::size_t raw_size = size * sizeof(T); + if (!buffer_capacity_ok(raw_size)) + return false; + + typename std::multiset::const_iterator itr = multiset.begin(); + typename std::multiset::const_iterator end = multiset.end(); + + while (end != itr) + { + if (!operator()(*itr)) + return false; + ++itr; + } + + return true; + } + + inline std::size_t operator()(std::ofstream& stream) + { + stream.write(original_buffer_,static_cast(amount_written_sofar_)); + return amount_written_sofar_; + } + + template + inline bool operator()(const T& input) + { + return selector::type::run(*this,input); + } + + template + inline bool native_to_be(const T& input) + { + //From native to big-endian + if (details::is_little_endian()) + { + return operator()(details::convert(input)); + } + else + return operator()(input); + } + + template + inline bool native_to_le(const T& input) + { + //From native to little-endian + if (details::is_little_endian()) + return operator()(input); + else + return operator()(details::convert(input)); + } + + enum padding_mode + { + right_padding = 0, + left_padding = 1 + }; + + template + inline bool operator()(const T& input, + const std::size_t& size, + const padding_mode pmode, + const char padding = ' ') + { + if (amount_written_sofar_ + size <= buffer_length_) + { + std::string s; + s.reserve(size); + if (!strtk::type_to_string(input,s)) + return false; + else if (s.size() > size) + return false; + else if (s.size() < size) + { + if (right_padding == pmode) + s.resize(size - s.size(),padding); + else + s = std::string(size - s.size(),padding) + s; + } + + return operator()(to_ptr(s), static_cast(size), false); + } + else + return false; + } + + inline void mark() + { + marker_.mark(amount_written_sofar_,buffer_); + } + + inline bool reset_to_mark() + { + return marker_.reset(amount_written_sofar_,buffer_); + } + + private: + + writer(); + writer(const writer& s); + writer& operator=(const writer& s); + + inline bool buffer_capacity_ok(const std::size_t& required_write_qty) + { + return ((required_write_qty + amount_written_sofar_) <= buffer_length_); + } + + template + struct selector + { + private: + + template + struct selector_impl + { + template + static inline bool run(Writer& w, const T& t) + { + return t(w); + } + + template + static inline bool batch_vector_writer(Writer& w, + const std::size_t&, + const std::vector& v) + { + for (std::size_t i = 0; i < v.size(); ++i) + { + if (w.operator()(v[i])) + continue; + else + return false; + } + + return true; + } + }; + + template + struct selector_impl + { + template + static inline bool run(Writer& w, const T& t) + { + return w.write_pod(t); + } + + template + static inline bool batch_vector_writer(Writer& w, + const std::size_t& raw_size, + const std::vector& v) + { + const char* ptr = reinterpret_cast(&v[0]); + std::copy(ptr, ptr + raw_size, w.buffer_); + w.buffer_ += raw_size; + w.amount_written_sofar_ += raw_size; + return true; + } + }; + + public: + + typedef selector_impl::result_t> type; + }; + + template + inline bool write_pod(const T& data, const bool perform_buffer_capacity_check = true) + { + static const std::size_t data_length = sizeof(T); + + if (perform_buffer_capacity_check) + { + if ((data_length + amount_written_sofar_) > buffer_length_) + { + return false; + } + } + + *(reinterpret_cast(buffer_)) = data; + buffer_ += data_length; + amount_written_sofar_ += data_length; + + return true; + } + + char* const original_buffer_; + char* buffer_; + std::size_t buffer_length_; + std::size_t amount_written_sofar_; + details::marker marker_; + }; + + #define strtk_binary_reader_begin() \ + bool operator()(strtk::binary::reader& reader)\ + { return true \ + + #define strtk_binary_reader(T) \ + && reader(T) \ + + #define strtk_binary_reader_end() \ + ;} \ + + #define strtk_binary_writer_begin() \ + bool operator()(strtk::binary::writer& writer) const\ + { return true \ + + #define strtk_binary_writer(T) \ + && writer(T) \ + + #define strtk_binary_writer_end() \ + ;} \ + + namespace details + { + template + class short_string_impl + { + public: + + short_string_impl() + : s(0) + {} + + short_string_impl(std::string& str) + : s(&str) + {} + + inline void clear() + { + s = 0; + } + + inline short_string_impl& set(std::string& str) + { + s = &str; + return *this; + } + + inline bool operator()(reader& r) + { + if (0 == s) + return false; + size_type size = 0; + if (!r(size)) + return false; + s->resize(size); + char* ptr = const_cast(s->data()); + strtk::binary::reader::uint32_t length = size; + if (!r(ptr,length,false)) + return false; + return true; + } + + inline bool operator()(writer& w) const + { + if (0 == s) + return false; + if (s->size() > std::numeric_limits::max()) + return false; + const size_type size = static_cast(s->size()); + if (!w(size)) + return false; + if (!w(s->data(),size, false)) + return false; + return true; + } + + private: + + short_string_impl& operator=(const short_string_impl&); + mutable std::string* s; + }; + } + + typedef details::short_string_impl short_string; + typedef details::short_string_impl pascal_string; + + } // namespace binary + + class ignore_token + { + public: + + template + inline ignore_token& operator=(const std::pair&) + { + return (*this); + } + + inline ignore_token& operator=(const std::string&) + { + return (*this); + } + }; + + template + class hex_to_number_sink + { + // static_assert for T either int or unsigned int and alike (could use a concept) + private: + + struct hex_value_check + { + inline bool operator()(const unsigned char c) const + { + return (('0' <= c) && (c <= '9')) || + (('A' <= c) && (c <= 'F')) || + (('a' <= c) && (c <= 'f')); + } + + inline bool operator()(const char c) const + { + return (*this)(static_cast(c)); + } + }; + + public: + + hex_to_number_sink(T& t) + : valid_(false), + t_(&t) + {} + + hex_to_number_sink(const hex_to_number_sink& hns) + : valid_(hns.valid), + t_(hns.t_) + {} + + inline hex_to_number_sink& operator=(const hex_to_number_sink& hns) + { + valid_ = hns.valid_; + t_ = hns.t_; + return (*this); + } + + template + inline hex_to_number_sink& operator=(const std::pair& s) + { + std::size_t offset = 0; + const std::size_t size = std::distance(s.first,s.second); + if ((size > 2) && ((*s.first) == '0') && (((*(s.first + 1)) == 'x') || ((*(s.first + 1)) == 'X'))) + offset = 2; + if ((size - offset) > (2 * sizeof(T))) + return (*this); + + const std::size_t buffer_size = 2 * sizeof(T); + const std::size_t buffer_offset = ((size - offset) % 2); + char buffer[buffer_size] = { '0' }; + if (!range_only_contains(hex_value_check(),s.first + offset,s.first + size)) + { + valid_ = false; + return (*this); + } + + std::copy(s.first + offset, s.first + size, buffer + buffer_offset); + (*t_) = 0; + valid_= convert_hex_to_bin(buffer, + buffer + (size - offset) + buffer_offset, + reinterpret_cast(t_)); + reverse_bytes(); + return (*this); + } + + inline hex_to_number_sink& operator=(const std::string& s) + { + return this->operator =(std::make_pair(to_ptr(s), to_ptr(s) + s.size())); + } + + inline bool valid() const + { + return valid_; + } + + private: + + inline void reverse_bytes() + { + unsigned char* itr1 = reinterpret_cast(t_); + unsigned char* itr2 = itr1 + (sizeof(T) - 1); + + while (itr1 < itr2) + { + std::swap(*itr1,*itr2); + ++itr1; + --itr2; + } + } + + private: + + bool valid_; + T* t_; + }; + + template + class base64_to_number_sink + { + // static_assert for T either int or unsigned int and alike (could use a concept) + private: + + struct base64_value_check + { + inline bool operator()(const unsigned char c) const + { + return (('0' <= c) && (c <= '9')) || + (('A' <= c) && (c <= 'Z')) || + (('a' <= c) && (c <= 'z')) || + ('+' == c) || + ('/' == c) || + ('=' == c); + } + + inline bool operator()(const char c) const + { + return (*this)(static_cast(c)); + } + }; + + public: + + base64_to_number_sink(T& t) + : valid_(false), + t_(&t) + {} + + base64_to_number_sink(const base64_to_number_sink& bns) + : valid_(bns.valid), + t_(bns.t_) + {} + + inline base64_to_number_sink& operator=(const base64_to_number_sink& bns) + { + valid_ = bns.valid_; + t_ = bns.t_; + return (*this); + } + + inline base64_to_number_sink& operator=(const std::string& s) + { + if (!range_only_contains(base64_value_check(), to_ptr(s), to_ptr(s) + s.size())) + { + valid_ = false; + return (*this); + } + + (*t_) = T(0); + + convert_base64_to_bin(to_ptr(s), to_ptr(s) + s.size(), reinterpret_cast(t_)); + reverse_bytes(); + + return (*this); + } + + template + inline base64_to_number_sink& operator=(const std::pair& s) + { + if (!range_only_contains(base64_value_check(),s.first,s.second)) + { + valid_ = false; + return (*this); + } + + (*t_) = T(0); + + convert_base64_to_bin(s.first, s.second,reinterpret_cast(t_)); + reverse_bytes(); + + return (*this); + } + + inline bool valid() const + { + return valid_; + } + + private: + + inline void reverse_bytes() + { + unsigned char* itr1 = reinterpret_cast(t_); + unsigned char* itr2 = itr1 + (sizeof(T) - 1); + + while (itr1 < itr2) + { + std::swap(*itr1,*itr2); + ++itr1; + --itr2; + } + } + + private: + + bool valid_; + T* t_; + }; + + class hex_to_string_sink + { + public: + + hex_to_string_sink(std::string& s) + : valid_(false), + s_(s) + {} + + hex_to_string_sink(const hex_to_string_sink& hss) + : valid_(hss.valid_), + s_(hss.s_) + {} + + inline hex_to_string_sink& operator=(const hex_to_string_sink& hss) + { + valid_ = hss.valid_; + s_ = hss.s_; + return (*this); + } + + template + inline hex_to_string_sink& operator=(const std::pair& s) + { + const std::size_t size = std::distance(s.first,s.second); + std::size_t offset = 0; + if ((size > 2) && ((*s.first) == '0') && (((*(s.first + 1)) == 'x') || ((*(s.first + 1)) == 'X'))) + offset = 2; + if ((size - offset) < 2) + { + valid_ = false; + return (*this); + } + s_.resize((size - offset) / 2); + valid_ = convert_hex_to_bin(s.first + offset, + s.second, + const_cast(to_ptr(s_))); + return (*this); + } + + inline hex_to_string_sink& operator=(const std::string& s) + { + return this->operator=(std::make_pair(const_cast(to_ptr(s)), + const_cast(to_ptr(s) + s.size()))); + } + + inline bool valid() const + { + return valid_; + } + + private: + + bool valid_; + std::string& s_; + }; + + template + class truncated_int + { + public: + + truncated_int() + : t_(0), + fractional_size_(std::numeric_limits::max()) + {} + + truncated_int& fractional_size(const std::size_t& size) + { + fractional_size_ = size; + return *this; + } + + truncated_int& fractional_unknown_size() + { + fractional_size_ = std::numeric_limits::max(); + return *this; + } + + truncated_int& operator()(T& t) + { + t_ = &t; + return *this; + } + + template + inline bool operator()(InputIterator begin, InputIterator end) + { + if (0 == t_) + return false; + + const std::size_t size = std::distance(begin,end); + + if (std::numeric_limits::max() != fractional_size_) + { + if (size < (fractional_size_ + 1)) + return false; + else + return strtk::string_to_type_converter(begin, begin + (size - (fractional_size_ + 1)),(*t_)); + } + + typedef typename std::iterator_traits::value_type value_type; + const value_type fullstop = value_type('.'); + InputIterator new_end = std::find(begin, end, fullstop); + return strtk::string_to_type_converter(begin,new_end,(*t_)); + } + + private: + + T* t_; + std::size_t fractional_size_; + }; + + namespace details + { + template + inline T pow10(T d, const int exponent); + } + + template + class decimal_sink + { + public: + + decimal_sink(const std::size_t& int_size, const std::size_t& frac_size) + : t_ (0), + int_size_ (int_size ), + frac_size_(frac_size) + {} + + decimal_sink(T& t, const std::size_t& int_size, const std::size_t& frac_size) + : t_ (&t), + int_size_ (int_size ), + frac_size_(frac_size) + {} + + inline decimal_sink& int_size(const std::size_t& size) + { + int_size_ = size; + return *this; + } + + inline decimal_sink& frac_size(const std::size_t& size) + { + frac_size_ = size; + return *this; + } + + inline decimal_sink& operator()(T& t) + { + t_ = &t; + return *this; + } + + template + inline bool operator()(InputIterator itr, InputIterator end) + { + if (0 == t_) + return false; + + typedef typename strtk::details::real_type::type real_t; + + bool negative = ('-' == (*itr)); + + if (negative || '+' == (*itr)) + { + if (end == ++itr) + return false; + } + + while ((end != itr) && ('0' == (*itr))) ++itr; + + std::size_t length = std::distance(itr,end); + InputIterator end_n = itr + std::min(length,int_size_); + + real_t d = real_t(0); + + unsigned int digit = 0; + while (end_n != itr) + { + if ((digit = (*itr - '0')) < 10) + { + d = d * real_t(10) + static_cast(digit); + ++itr; + } + else if ('.' == *itr) + break; + else + return false; + } + + ++itr; + + length = std::min(frac_size_,std::distance(itr,end)); + end_n = itr + length; + + real_t f = real_t(0); + + while (end_n != itr) + { + if ((digit = (*itr - '0')) < 10) + { + f = f * real_t(10) + static_cast(digit); + ++itr; + } + else + return false; + } + + if (length) + { + d += strtk::details::pow10(f,-length); + } + + (*t_) = static_cast((negative) ? -d : d); + + return true; + } + + private: + + T* t_; + std::size_t int_size_; + std::size_t frac_size_; + }; + + namespace details + { + #define strtk_def_parse_stl_cnt_prxy(Type) \ + template \ + inline std::size_t parse_stl_container_proxy(const InputIterator begin, \ + const InputIterator end, \ + const std::string& delimiters, \ + Type& sequence, \ + const split_options::type& split_option = split_options::compress_delimiters) \ + { \ + return parse(begin, end, delimiters, sequence, split_option); \ + } \ + + strtk_def_parse_stl_cnt_prxy(std::vector ) + strtk_def_parse_stl_cnt_prxy(std::deque ) + strtk_def_parse_stl_cnt_prxy(std::list ) + strtk_def_parse_stl_cnt_prxy(std::queue ) + strtk_def_parse_stl_cnt_prxy(std::stack ) + strtk_def_parse_stl_cnt_prxy(std::priority_queue) + #undef strtk_def_stl_cnt_prxy + + template + inline std::size_t parse_stl_container_proxy(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + std::set& set, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse(begin, end, delimiters, set, split_option); + } + + template + inline std::size_t parse_stl_container_proxy(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + std::multiset& multiset, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse(begin, end, delimiters, multiset, split_option); + } + + #define strtk_def_parse_n_stl_cnt_prxy(Type) \ + template \ + inline std::size_t parse_n_stl_container_proxy(const InputIterator begin, \ + const InputIterator end, \ + const std::string& delimiters, \ + const std::size_t& n, \ + Type& sequence, \ + const split_options::type& split_option = split_options::compress_delimiters) \ + { \ + return parse_n(begin, end, delimiters, n, sequence, split_option); \ + } \ + + strtk_def_parse_n_stl_cnt_prxy(std::vector ) + strtk_def_parse_n_stl_cnt_prxy(std::deque ) + strtk_def_parse_n_stl_cnt_prxy(std::list ) + strtk_def_parse_n_stl_cnt_prxy(std::queue ) + strtk_def_parse_n_stl_cnt_prxy(std::stack ) + strtk_def_parse_n_stl_cnt_prxy(std::priority_queue) + #undef strtk_def_parse_n_stl_cnt_prxy + + template + inline std::size_t parse_n_stl_container_proxy(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const std::size_t& n, + std::set& set, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse_n(begin, end, delimiters, n, set, split_option); + } + + template + inline std::size_t parse_n_stl_container_proxy(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const std::size_t& n, + std::multiset& multiset, + const split_options::type& split_option = split_options::compress_delimiters) + { + return parse_n(begin, end, delimiters, n, multiset, split_option); + } + + } // namespace details + + template + class sink_type + { + public: + + typedef typename Container::value_type value_type; + + inline sink_type(const std::string& delimiters, + const split_options::type& split_option = split_options::compress_delimiters) + : delimiters_(delimiters), + split_option_(split_option), + container_(0), + element_count_(std::numeric_limits::max()) + {} + + inline sink_type(Container& container, + const std::string& delimiters, + const split_options::type& split_option = split_options::compress_delimiters) + : delimiters_(delimiters), + split_option_(split_option), + container_(&container) + {} + + inline sink_type& count(const std::size_t& element_count = std::numeric_limits::max()) + { + element_count_ = element_count; + return (*this); + } + + inline sink_type& operator()(Container& container, + const std::string& delimiters = "", + const split_options::type& split_option = split_options::compress_delimiters) + { + container_ = (&container); + if (!delimiters.empty()) + delimiters_ = delimiters; + split_option_ = split_option; + return (*this); + } + + template + inline bool parse(InputIterator begin, InputIterator end) + { + if (container_) + { + if (std::numeric_limits::max() == element_count_) + return (details::parse_stl_container_proxy + (begin, end, delimiters_, (*container_), split_option_) > 0); + else + return (details::parse_n_stl_container_proxy + (begin, end, delimiters_, element_count_, (*container_), split_option_) == element_count_); + } + else + return false; + } + + sink_type& reference() + { + return *this; + } + + private: + + std::string delimiters_; + split_options::type split_option_; + Container* container_; + std::size_t element_count_; + }; + + template struct vector_sink { typedef sink_type > type; }; + template struct deque_sink { typedef sink_type > type; }; + template struct list_sink { typedef sink_type > type; }; + template struct set_sink { typedef sink_type > type; }; + template struct multiset_sink { typedef sink_type > type; }; + template struct queue_sink { typedef sink_type > type; }; + template struct stack_sink { typedef sink_type > type; }; + template struct priority_queue_sink { typedef sink_type > type; }; + + namespace text + { + inline std::string center(const std::size_t& width, + const std::string::value_type& pad, + const std::string& str) + { + if (str.size() >= width) return str; + const std::size_t pad_count = width - str.size(); + const std::size_t pad_count_2 = (pad_count >> 1) + (pad_count & 1); + return std::string(pad_count >> 1,pad) + str + std::string(pad_count_2,pad); + } + + inline std::string right_align(const std::size_t& width, + const std::string::value_type& pad, + const std::string& str) + { + if (str.size() >= width) return str; + return std::string(width - str.size(),pad) + str; + } + + inline std::string left_align(const std::size_t& width, + const std::string::value_type& pad, + const std::string& str) + { + if (str.size() >= width) return str; + return str + std::string(width - str.size(),pad); + } + + template + inline std::string center(const std::size_t& width, + const std::string::value_type& pad, + const T& t) + { + return center(width,pad,type_to_string(t)); + } + + template + inline std::string right_align(const std::size_t& width, + const std::string::value_type& pad, + const T& t) + { + return right_align(width,pad,type_to_string(t)); + } + + template + inline std::string left_align(const std::size_t& width, + const std::string::value_type& pad, + const T& t) + { + return left_align(width,pad,type_to_string(t)); + } + + template + inline std::string center(const std::size_t& width, const T& t) + { + return center(width,' ',type_to_string(t)); + } + + template + inline std::string right_align(const std::size_t& width, const T& t) + { + return right_align(width,' ',type_to_string(t)); + } + + template + inline std::string left_align(const std::size_t& width, const T& t) + { + return left_align(width,' ',type_to_string(t)); + } + + inline std::string remaining_string(const std::size_t& index, + const std::string& str, + const bool return_empty = false) + { + if (index < str.size()) + return str.substr(index,str.size() - index); + else + return (!return_empty) ? str : ""; + } + + inline void remaining_string(const std::size_t& index, + const std::string& str, + std::string& result, + const bool return_empty = false) + { + if (index < str.size()) + result = str.substr(index,str.size() - index); + else + result = (!return_empty) ? str : ""; + } + + inline bool is_letter(const char c) + { + return (('A' <= c) && ( c <= 'Z')) || (('a' <= c) && ( c <= 'z')); + } + + inline bool is_lowercase_letter(const char c) + { + return (('a' <= c) && ( c <= 'z')); + } + + inline bool is_uppercase_letter(const char c) + { + return (('A' <= c) && ( c <= 'Z')); + } + + inline bool is_digit(const char c) + { + return (('0' <= c) && ( c <= '9')); + } + + inline bool is_hex_digit(const char c) + { + return (('0' <= c) && (c <= '9')) || + (('A' <= c) && (c <= 'F')) || + (('a' <= c) && (c <= 'f')); + } + + inline bool is_letter_or_digit(const char c) + { + return (is_letter(c) || is_digit(c)); + } + + inline bool is_all_letters(const std::string& s) + { + for (std::size_t i = 0; i < s.size(); ++i) + { + if (!is_letter(s[i])) + return false; + } + return true; + } + + inline bool is_all_digits(const std::string& s) + { + for (std::size_t i = 0; i < s.size(); ++i) + { + if (!is_digit(s[i])) + return false; + } + return true; + } + + inline void swap_inplace(std::string& s, const std::size_t& i0, const std::size_t& i1) + { + if (i0 >= s.size()) return; + if (i1 >= s.size()) return; + std::swap(s[i0],s[i1]); + } + + inline std::string swap(const std::string& s, const std::size_t& i0, const std::size_t& i1) + { + std::string result = s; + swap_inplace(result,i0,i1); + return result; + } + + inline void remove_inplace(std::string& s, const std::size_t& index) + { + if (index >= s.size()) + return; + std::memcpy(const_cast(to_ptr(s) + index), const_cast(to_ptr(s) + (index + 1)), s.size() - index); + s.resize(s.size() - 1); + } + + inline std::string remove(const std::string& s, const std::size_t& index) + { + std::string result = s; + remove_inplace(result,index); + return result; + } + + inline void insert_inplace(std::string& s, const std::size_t& index, const char c) + { + s.resize(s.size() + 1); + std::memcpy(const_cast(to_ptr(s) + index + 1), const_cast(to_ptr(s) + (index)), s.size() - index); + s[index] = c; + } + + inline std::string insert(const std::string& s, const std::size_t& index, const char c) + { + std::string result = s; + insert_inplace(result,index,c); + return result; + } + + } // namespace text + + namespace find_mode + { + enum type + { + exactly_n, + atleast_n + }; + } + + namespace find_type + { + enum type + { + digits, + letters, + lowercase_letters, + uppercase_letters, + letters_digits + }; + } + + namespace details + { + template + struct range_type + { + typedef typename std::pair type; + }; + + template + inline typename range_type::type find_exactly_n_consecutive_values(const std::size_t n, + Predicate p, + Iterator itr, + const Iterator end, + const bool stateful_predicate = false) + { + if (static_cast(std::distance(itr,end)) < n) + return typename range_type::type(end,end); + + std::size_t count = n; + + while (end != itr) + { + if (p(*itr)) + { + if (0 != --count) + ++itr; + else + { + std::advance(itr,1 - n); + return typename range_type::type(itr,itr + n); + } + } + else + { + ++itr; + while ((end != itr) && !p(*itr)) + ++itr; + if (!stateful_predicate) + count = n; + else + { + --count; + ++itr; + } + } + } + + return typename range_type::type(end,end); + } + + template + inline typename range_type::type find_atleast_n_consecutive_values(const std::size_t n, + Predicate p, + Iterator itr, + const Iterator end) + { + if (static_cast(std::distance(itr,end)) < n) + return typename range_type::type(end,end); + + std::size_t count = 0; + + while (end != itr) + { + if (p(*itr)) + { + ++count; + ++itr; + } + else + { + if (count >= n) + { + std::advance(itr,-static_cast(count)); + return typename range_type::type(itr,itr + count); + } + + while ((end != itr) && !p(*itr)) + ++itr; + count = 0; + } + } + + if (count >= n) + { + std::advance(itr,-static_cast(count)); + return typename range_type::type(itr,itr + count); + } + else + return typename range_type::type(end,end); + } + + template + inline typename range_type::type find_exactly_n_consecutive_values(const std::size_t n, + Predicate p, + typename details::range_type::type range, + const bool stateful_predicate = false) + { + return find_exactly_n_consecutive_values(n,p,range.first,range.second,stateful_predicate); + } + + template + inline typename range_type::type find_atleast_n_consecutive_values(const std::size_t n, + Predicate p, + typename details::range_type::type range) + { + return find_atleast_n_consecutive_values(n,p,range.first,range.second); + } + + template + inline typename range_type::type find_n_consecutive_values(const std::size_t n, + find_mode::type mode, + Predicate p, + Iterator itr, + const Iterator end) + { + switch (mode) + { + case find_mode::exactly_n : return find_exactly_n_consecutive_values(n,p,itr,end); + case find_mode::atleast_n : return find_atleast_n_consecutive_values(n,p,itr,end); + default : return typename range_type::type(end,end); + } + } + + template + inline bool match_exactly_n_consecutive_values(const std::size_t n, + Predicate p, + Iterator itr, + const Iterator end) + { + if (static_cast(std::distance(itr,end)) < n) + return false; + + std::size_t count = n; + + while (end != itr) + { + if (p(*itr)) + { + if (0 == --count) + return true; + else + ++itr; + } + else + return false; + } + + return false; + } + + template + inline bool match_atleast_n_consecutive_values(const std::size_t n, + Predicate p, + Iterator itr, + const Iterator end) + { + if (static_cast(std::distance(itr,end)) < n) + return false; + + std::size_t count = 0; + + while (end != itr) + { + if (p(*itr)) + { + ++count; + ++itr; + } + else if (count >= n) + return true; + else + return false; + } + + return false; + } + + template + inline bool match_n_consecutive_values(const std::size_t n, + find_mode::type mode, + Predicate p, + Iterator itr, + const Iterator end) + { + switch (mode) + { + case find_mode::exactly_n : return match_exactly_n_consecutive_values(n,p,itr,end); + case find_mode::atleast_n : return match_atleast_n_consecutive_values(n,p,itr,end); + default : return false; + } + } + + } + + template + inline typename details::range_type::type find_n_consecutive(const std::size_t n, + find_type::type type, + find_mode::type mode, + typename details::range_type::type range) + { + switch (type) + { + case find_type::digits : return details::find_n_consecutive_values(n, + mode, + strtk::text::is_digit, + range.first,range.second); + + case find_type::letters : return details::find_n_consecutive_values(n, + mode, + strtk::text::is_letter, + range.first,range.second); + + case find_type::lowercase_letters : return details::find_n_consecutive_values(n, + mode, + strtk::text::is_lowercase_letter, + range.first,range.second); + + case find_type::uppercase_letters : return details::find_n_consecutive_values(n, + mode, + strtk::text::is_uppercase_letter, + range.first,range.second); + + case find_type::letters_digits : return details::find_n_consecutive_values(n, + mode, + strtk::text::is_letter_or_digit, + range.first,range.second); + + default : return typename details::range_type::type(range.second,range.second); + } + } + + template + inline bool match_n_consecutive(const std::size_t n, + find_type::type type, + find_mode::type mode, + typename details::range_type::type range) + { + switch (type) + { + case find_type::digits : return details::match_n_consecutive_values(n, + mode, + strtk::text::is_digit, + range.first,range.second); + + case find_type::letters : return details::match_n_consecutive_values(n, + mode, + strtk::text::is_letter, + range.first,range.second); + + case find_type::lowercase_letters : return details::match_n_consecutive_values(n, + mode, + strtk::text::is_lowercase_letter, + range.first,range.second); + + case find_type::uppercase_letters : return details::match_n_consecutive_values(n, + mode, + strtk::text::is_uppercase_letter, + range.first,range.second); + + case find_type::letters_digits : return details::match_n_consecutive_values(n, + mode, + strtk::text::is_letter_or_digit, + range.first,range.second); + + default : return false; + } + } + + template + inline std::size_t split_on_consecutive(const std::size_t n, + Predicate p, + char* begin, + char* end, + OutputIterator out, + const bool stateful_predicate = false) + { + if (0 == n) return 0; + + typedef char* iterator_type; + typedef details::range_type::type range_type; + range_type itr_range(begin,end); + std::size_t match_count = 0; + + while (end != itr_range.first) + { + range_type found_itr = + details::find_exactly_n_consecutive_values(n, + p, + itr_range, + stateful_predicate); + + if ((end == found_itr.first) && (found_itr.first == found_itr.second)) + { + break; + } + else + { + (*out) = found_itr; + ++out; + ++match_count; + itr_range.first = found_itr.second; + } + } + + return match_count; + } + + template + inline std::size_t split_on_consecutive(const std::size_t n, + const std::size_t m, + Predicate p, + char* begin, + char* end, + OutputIterator out) + { + if (0 == n) return 0; + + typedef char* iterator_type; + typedef details::range_type::type range_type; + + range_type itr_range(begin,end); + std::size_t match_count = 0; + + while ((end != itr_range.first) && (match_count <= n)) + { + range_type found_itr = details::find_exactly_n_consecutive_values(m,p,itr_range); + if ((end == found_itr.first) && (found_itr.first == found_itr.second)) + { + break; + } + else + { + (*out) = found_itr; + ++out; + ++match_count; + itr_range.first = found_itr.second; + } + } + + return match_count; + } + + template + inline std::size_t split_on_consecutive(const std::size_t& n, + const find_type::type type, + const find_mode::type mode, + char* begin, + char* end, + OutputIterator out) + { + if (0 == n) return 0; + + typedef char* iterator_type; + typedef details::range_type::type range_type; + + range_type itr_range(begin,end); + std::size_t match_count = 0; + + while (end != itr_range.first) + { + range_type found_itr = find_n_consecutive(n,type,mode,itr_range); + + if ((end == found_itr.first) && (found_itr.first == found_itr.second)) + { + break; + } + else + { + (*out) = found_itr; + ++out; + ++match_count; + itr_range.first = found_itr.second; + } + } + + return match_count; + } + + template + inline std::size_t split_on_consecutive_n(const std::size_t& n, + const std::size_t& m, + const find_type::type type, + const find_mode::type mode, + char* begin, + char* end, + OutputIterator out) + { + if (0 == n) return 0; + + typedef char* iterator_type; + typedef details::range_type::type range_type; + + range_type itr_range(begin,end); + std::size_t match_count = 0; + + while ((end != itr_range.first) && (match_count <= n)) + { + range_type found_itr = find_n_consecutive(m,type,mode,itr_range); + + if ((end == found_itr.first) && (found_itr.first == found_itr.second)) + { + break; + } + else + { + (*out) = found_itr; + ++out; + ++match_count; + itr_range.first = found_itr.second; + } + } + + return match_count; + } + + template + inline std::size_t split_on_consecutive(const std::size_t& n, + const find_type::type type, + const find_mode::type mode, + const char* begin, + const char* end, + OutputIterator out) + { + return split_on_consecutive(n, + type, + mode, + const_cast(begin), + const_cast(end), + out); + } + + template + inline std::size_t split_on_consecutive(const std::size_t& n, + const find_type::type type, + const find_mode::type mode, + const unsigned char* begin, + const unsigned char* end, + OutputIterator out) + { + return split_on_consecutive(n, + type, + mode, + reinterpret_cast(begin), + reinterpret_cast(end), + out); + } + + template + inline std::size_t split_on_consecutive(const std::size_t& n, + const find_type::type type, + const find_mode::type mode, + const std::string& str, + OutputIterator out) + { + return split_on_consecutive(n, + type, + mode, + to_ptr(str), to_ptr(str) + str.size(), + out); + } + + template + inline std::size_t split_on_consecutive_n(const std::size_t& n, + const std::size_t& m, + const find_type::type type, + const find_mode::type mode, + const char* begin, + const char* end, + OutputIterator out) + { + return split_on_consecutive_n(n, + m, + type, + mode, + const_cast(begin), + const_cast(end), + out); + } + + template + inline std::size_t split_on_consecutive_n(const std::size_t& n, + const std::size_t& m, + const find_type::type type, + const find_mode::type mode, + const unsigned char* begin, + const unsigned char* end, + OutputIterator out) + { + return split_on_consecutive_n(n, + m, + type, + mode, + reinterpret_cast(begin), + reinterpret_cast(end), + out); + } + + template + inline std::size_t split_on_consecutive_n(const std::size_t& n, + const std::size_t& m, + const find_type::type type, + const find_mode::type mode, + const std::string& str, + OutputIterator out) + { + return split_on_consecutive_n(n, + m, + type, + mode, + to_ptr(str), to_ptr(str) + str.size(), + out); + } + + template + inline std::size_t split_on_consecutive(const std::size_t& n, + Predicate p, + const char* begin, + const char* end, + OutputIterator out, + const bool stateful_predicate = false) + { + return split_on_consecutive(n, + p, + const_cast(begin), + const_cast(end), + out, + stateful_predicate); + } + + template + inline std::size_t split_on_consecutive(const std::size_t& n, + Predicate p, + const unsigned char* begin, + const unsigned char* end, + OutputIterator out, + const bool stateful_predicate = false) + { + return split_on_consecutive(n, + p, + reinterpret_cast(begin), + reinterpret_cast(end), + out, + stateful_predicate); + } + + template + inline std::size_t split_on_consecutive(const std::size_t& n, + Predicate p, + const std::string& str, + OutputIterator out, + const bool stateful_predicate = false) + { + return split_on_consecutive(n, + p, + to_ptr(str), to_ptr(str) + str.size(), + out, + stateful_predicate); + } + + template + inline std::size_t split_on_consecutive_n(const std::size_t& n, + const std::size_t& m, + Predicate p, + const char* begin, + const char* end, + OutputIterator out) + { + return split_on_consecutive_n(n, + m, + p, + const_cast(begin), + const_cast(end), + out); + } + + template + inline std::size_t split_on_consecutive_n(const std::size_t& n, + const std::size_t& m, + Predicate p, + const unsigned char* begin, + const unsigned char* end, + OutputIterator out) + { + return split_on_consecutive_n(n, + m, + p, + reinterpret_cast(begin), + reinterpret_cast(end), + out); + } + + template + inline std::size_t split_on_consecutive_n(const std::size_t& n, + const std::size_t& m, + Predicate p, + const std::string& str, + OutputIterator out) + { + return split_on_consecutive_n(n, + m, + p, + to_ptr(str), to_ptr(str) + str.size(), + out); + } + + // Required for broken versions of GCC pre 4.5 + namespace util { class value; } + + namespace details + { + + class expect_impl + { + public: + + expect_impl(const std::string& s) + : s_(s) + {} + + template + inline bool operator()(InputIterator begin, InputIterator end) + { + if (static_cast(std::distance(begin,end)) != s_.size()) + return false; + else + return std::equal(to_ptr(s_), to_ptr(s_) + s_.size(), begin); + } + + inline expect_impl& ref() + { + return (*this); + } + + inline void set_value(const std::string& s) + { + s_ = s; + } + + private: + + std::string s_; + }; + + class iexpect_impl + { + public: + + iexpect_impl(const std::string& s) + : s_(s) + {} + + template + inline bool operator()(InputIterator begin, InputIterator end) + { + if (static_cast(std::distance(begin,end)) != s_.size()) + return false; + else + return std::equal(to_ptr(s_), to_ptr(s_) + s_.size(), begin, imatch_char); + } + + inline iexpect_impl& ref() + { + return (*this); + } + + inline void set_value(const std::string& s) + { + s_ = s; + } + + private: + + std::string s_; + }; + + class like_impl + { + public: + + like_impl(const std::string& s) + : s_(s) + {} + + template + inline bool operator()(InputIterator begin, InputIterator end) const + { + typedef typename std::iterator_traits::value_type value_type; + static const value_type zero_or_more = value_type('*'); + static const value_type zero_or_one = value_type('?'); + return strtk::match(to_ptr(s_), to_ptr(s_) + s_.size(), begin, end, zero_or_more, zero_or_one); + } + + inline like_impl& ref() + { + return (*this); + } + + inline void set_pattern(const std::string& s) + { + s_ = s; + } + + private: + + std::string s_; + }; + + template + class inrange_impl + { + public: + + inrange_impl(T& t, const T& low, const T& hi) + : t_(&t), + low_(low), + hi_(hi) + {} + + template + inline bool operator()(InputIterator begin, InputIterator end) + { + T temp; + if (!strtk::string_to_type_converter(begin, end, temp)) + return false; + else if (temp < low_) + return false; + else if (temp > hi_) + return false; + (*t_) = temp; + return true; + } + + inline inrange_impl& ref() + { + return (*this); + } + + inline void set_low_hi(const T& low, const T& hi) + { + low_ = low; + hi_ = hi; + } + + private: + + T* t_; + T low_; + T hi_; + }; + + namespace trim_details + { + template + struct convert_impl + { + template + static bool execute(InputIterator begin, InputIterator end, + const std::string& rem_chars, + std::size_t mode, + Type& t) + { + std::string s; + if (!strtk::string_to_type_converter(begin, end, s)) + return false; + switch (mode) + { + case 0 : remove_leading_trailing(rem_chars,s); break; + case 1 : remove_leading (rem_chars,s); break; + case 2 : remove_trailing (rem_chars,s); break; + default : return false; + } + + return strtk::string_to_type_converter(s,t); + } + }; + + template <> + struct convert_impl + { + template + static bool execute(InputIterator begin, InputIterator end, + const std::string& rem_chars, + std::size_t mode, + std::string& t) + { + if (!strtk::string_to_type_converter(begin, end, t)) + return false; + + switch (mode) + { + case 0 : remove_leading_trailing(rem_chars,t); break; + case 1 : remove_leading (rem_chars,t); break; + case 2 : remove_trailing (rem_chars,t); break; + default : return false; + } + + return true; + } + }; + } + + template + class trim_impl + { + public: + + trim_impl(const std::size_t mode, + T& t, + const std::string& rem_chars = " ") + : mode_(mode), + t_(&t), + rem_chars_(rem_chars) + {} + + template + inline bool operator()(InputIterator begin, InputIterator end) + { + return trim_details::convert_impl::execute(begin, end, rem_chars_, mode_, (*t_)); + } + + inline trim_impl& ref() + { + return (*this); + } + + private: + + std::size_t mode_; + T* t_; + std::string rem_chars_; + }; + + class conv_to_lcase_impl + { + public: + + conv_to_lcase_impl(std::string& s) + : s_(&s) + {} + + template + inline bool operator()(InputIterator begin, InputIterator end) + { + std::string& s = (*s_); + s.assign(begin,end); + convert_to_lowercase(s); + return true; + } + + inline conv_to_lcase_impl& ref() + { + return (*this); + } + + private: + + std::string* s_; + }; + + class conv_to_ucase_impl + { + public: + + conv_to_ucase_impl(std::string& s) + : s_(&s) + {} + + template + inline bool operator()(InputIterator begin, InputIterator end) + { + std::string& s = (*s_); + s.assign(begin,end); + convert_to_uppercase(s); + return true; + } + + inline conv_to_ucase_impl& ref() + { + return (*this); + } + + private: + + std::string* s_; + }; + + class fill_array_impl + { + public: + + fill_array_impl(unsigned char* data, const std::size_t& size) + : data_(data), + size_(size) + {} + + template + inline bool operator()(InputIterator begin, InputIterator end) + { + const std::size_t range_size = static_cast(std::distance(begin,end)); + if (range_size != size_) + return false; + std::memcpy(data_,begin,range_size); + return true; + } + + inline fill_array_impl& ref() + { + return (*this); + } + + inline fill_array_impl& set(unsigned char* data, const std::size_t& size) + { + data_ = data; + size_ = size; + return (*this); + } + + inline fill_array_impl& set(char* data, const std::size_t& size) + { + data_ = reinterpret_cast(data); + size_ = size; + return (*this); + } + + inline fill_array_impl& set_data(unsigned char* data) + { + data_ = data; + return (*this); + } + + inline fill_array_impl& set_data(char* data) + { + data_ = reinterpret_cast(data); + return (*this); + } + + inline fill_array_impl& set_size(const std::size_t& size) + { + size_ = size; + return (*this); + } + + private: + + unsigned char* data_; + std::size_t size_; + }; + } + + inline details::expect_impl expect(const std::string& s) + { + return details::expect_impl(s); + } + + inline details::iexpect_impl iexpect(const std::string& s) + { + return details::iexpect_impl(s); + } + + inline details::like_impl like(const std::string& s) + { + return details::like_impl(s); + } + + template + inline details::inrange_impl inrange(T& t, const T0& low, const T1& hi) + { + return details::inrange_impl(t,T(low),T(hi)); + } + + template + inline details::trim_impl trim(const std::string& rem_chars, T& t) + { + return details::trim_impl(0,t,rem_chars); + } + + template + inline details::trim_impl trim_leading(const std::string& rem_chars, T& t) + { + return details::trim_impl(1,t,rem_chars); + } + + template + inline details::trim_impl trim_trailing(const std::string& rem_chars, T& t) + { + return details::trim_impl(2,t,rem_chars); + } + + inline details::conv_to_lcase_impl as_lcase(std::string& s) + { + return details::conv_to_lcase_impl(s); + } + + inline details::conv_to_ucase_impl as_ucase(std::string& s) + { + return details::conv_to_ucase_impl(s); + } + + inline details::fill_array_impl fill_array(unsigned char* data, const std::size_t& size) + { + return details::fill_array_impl(data,size); + } + + inline details::fill_array_impl fill_array(char* data, const std::size_t& size) + { + return details::fill_array_impl(reinterpret_cast(data),size); + } + + template + inline details::fill_array_impl fill_array(unsigned char (&data)[N]) + { + return details::fill_array_impl(data,N); + } + + template + inline details::fill_array_impl fill_array(char (&data)[N]) + { + return details::fill_array_impl(reinterpret_cast(data),N); + } + + inline details::fill_array_impl fill_array(std::string& data, const std::size_t& size) + { + return fill_array(const_cast(to_ptr(data)),size); + } + + inline details::fill_array_impl fill_array(std::string& data) + { + return fill_array(const_cast(to_ptr(data)),data.size()); + } + + namespace details + { + static const unsigned char digit_table[] = + { + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xFF - 0x07 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x08 - 0x0F + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x10 - 0x17 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x18 - 0x1F + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x20 - 0x27 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x28 - 0x2F + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, // 0x30 - 0x37 + 0x08, 0x09, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x38 - 0x3F + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x40 - 0x47 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x48 - 0x4F + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x50 - 0x57 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x58 - 0x5F + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x60 - 0x67 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x68 - 0x6F + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x70 - 0x77 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x78 - 0x7F + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x80 - 0x87 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x88 - 0x8F + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x90 - 0x97 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0x98 - 0x9F + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xA0 - 0xA7 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xA8 - 0xAF + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xB0 - 0xB7 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xB8 - 0xBF + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xC0 - 0xC7 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xC8 - 0xCF + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xD0 - 0xD7 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xD8 - 0xDF + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xE0 - 0xE7 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xE8 - 0xEF + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, // 0xF0 - 0xF7 + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF // 0xF8 - 0xFF + }; + + static const std::size_t digit_table_size = sizeof(digit_table) / sizeof(unsigned char); + + template + static inline bool is_invalid_digit(const T& t) + { + static const unsigned int invalid_digit = 0xFF; + return (static_cast(invalid_digit) == t); + } + + template + static inline bool is_valid_digit(const T& t) + { + static const unsigned int invalid_digit = 0xFF; + return (static_cast(invalid_digit) != t); + } + + static const unsigned char digitr[] = + { + "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" + }; + + static const unsigned char rev_3digit_lut[] = + { + "000001002003004005006007008009010011012013014015016017018019020021022023024" + "025026027028029030031032033034035036037038039040041042043044045046047048049" + "050051052053054055056057058059060061062063064065066067068069070071072073074" + "075076077078079080081082083084085086087088089090091092093094095096097098099" + "100101102103104105106107108109110111112113114115116117118119120121122123124" + "125126127128129130131132133134135136137138139140141142143144145146147148149" + "150151152153154155156157158159160161162163164165166167168169170171172173174" + "175176177178179180181182183184185186187188189190191192193194195196197198199" + "200201202203204205206207208209210211212213214215216217218219220221222223224" + "225226227228229230231232233234235236237238239240241242243244245246247248249" + "250251252253254255256257258259260261262263264265266267268269270271272273274" + "275276277278279280281282283284285286287288289290291292293294295296297298299" + "300301302303304305306307308309310311312313314315316317318319320321322323324" + "325326327328329330331332333334335336337338339340341342343344345346347348349" + "350351352353354355356357358359360361362363364365366367368369370371372373374" + "375376377378379380381382383384385386387388389390391392393394395396397398399" + "400401402403404405406407408409410411412413414415416417418419420421422423424" + "425426427428429430431432433434435436437438439440441442443444445446447448449" + "450451452453454455456457458459460461462463464465466467468469470471472473474" + "475476477478479480481482483484485486487488489490491492493494495496497498499" + "500501502503504505506507508509510511512513514515516517518519520521522523524" + "525526527528529530531532533534535536537538539540541542543544545546547548549" + "550551552553554555556557558559560561562563564565566567568569570571572573574" + "575576577578579580581582583584585586587588589590591592593594595596597598599" + "600601602603604605606607608609610611612613614615616617618619620621622623624" + "625626627628629630631632633634635636637638639640641642643644645646647648649" + "650651652653654655656657658659660661662663664665666667668669670671672673674" + "675676677678679680681682683684685686687688689690691692693694695696697698699" + "700701702703704705706707708709710711712713714715716717718719720721722723724" + "725726727728729730731732733734735736737738739740741742743744745746747748749" + "750751752753754755756757758759760761762763764765766767768769770771772773774" + "775776777778779780781782783784785786787788789790791792793794795796797798799" + "800801802803804805806807808809810811812813814815816817818819820821822823824" + "825826827828829830831832833834835836837838839840841842843844845846847848849" + "850851852853854855856857858859860861862863864865866867868869870871872873874" + "875876877878879880881882883884885886887888889890891892893894895896897898899" + "900901902903904905906907908909910911912913914915916917918919920921922923924" + "925926927928929930931932933934935936937938939940941942943944945946947948949" + "950951952953954955956957958959960961962963964965966967968969970971972973974" + "975976977978979980981982983984985986987988989990991992993994995996997998999" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + }; + + static const unsigned char rev_2digit_lut[] = + { + "0001020304050607080910111213141516171819" + "2021222324252627282930313233343536373839" + "4041424344454647484950515253545556575859" + "6061626364656667686970717273747576777879" + "8081828384858687888990919293949596979899" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + }; + + template + inline T pow10(T d, const int exponent) + { + static const double fract10[] = + { + 0.0, + 1.0E+001, 1.0E+002, 1.0E+003, 1.0E+004, 1.0E+005, 1.0E+006, 1.0E+007, 1.0E+008, 1.0E+009, 1.0E+010, + 1.0E+011, 1.0E+012, 1.0E+013, 1.0E+014, 1.0E+015, 1.0E+016, 1.0E+017, 1.0E+018, 1.0E+019, 1.0E+020, + 1.0E+021, 1.0E+022, 1.0E+023, 1.0E+024, 1.0E+025, 1.0E+026, 1.0E+027, 1.0E+028, 1.0E+029, 1.0E+030, + 1.0E+031, 1.0E+032, 1.0E+033, 1.0E+034, 1.0E+035, 1.0E+036, 1.0E+037, 1.0E+038, 1.0E+039, 1.0E+040, + 1.0E+041, 1.0E+042, 1.0E+043, 1.0E+044, 1.0E+045, 1.0E+046, 1.0E+047, 1.0E+048, 1.0E+049, 1.0E+050, + 1.0E+051, 1.0E+052, 1.0E+053, 1.0E+054, 1.0E+055, 1.0E+056, 1.0E+057, 1.0E+058, 1.0E+059, 1.0E+060, + 1.0E+061, 1.0E+062, 1.0E+063, 1.0E+064, 1.0E+065, 1.0E+066, 1.0E+067, 1.0E+068, 1.0E+069, 1.0E+070, + 1.0E+071, 1.0E+072, 1.0E+073, 1.0E+074, 1.0E+075, 1.0E+076, 1.0E+077, 1.0E+078, 1.0E+079, 1.0E+080, + 1.0E+081, 1.0E+082, 1.0E+083, 1.0E+084, 1.0E+085, 1.0E+086, 1.0E+087, 1.0E+088, 1.0E+089, 1.0E+090, + 1.0E+091, 1.0E+092, 1.0E+093, 1.0E+094, 1.0E+095, 1.0E+096, 1.0E+097, 1.0E+098, 1.0E+099, 1.0E+100, + 1.0E+101, 1.0E+102, 1.0E+103, 1.0E+104, 1.0E+105, 1.0E+106, 1.0E+107, 1.0E+108, 1.0E+109, 1.0E+110, + 1.0E+111, 1.0E+112, 1.0E+113, 1.0E+114, 1.0E+115, 1.0E+116, 1.0E+117, 1.0E+118, 1.0E+119, 1.0E+120, + 1.0E+121, 1.0E+122, 1.0E+123, 1.0E+124, 1.0E+125, 1.0E+126, 1.0E+127, 1.0E+128, 1.0E+129, 1.0E+130, + 1.0E+131, 1.0E+132, 1.0E+133, 1.0E+134, 1.0E+135, 1.0E+136, 1.0E+137, 1.0E+138, 1.0E+139, 1.0E+140, + 1.0E+141, 1.0E+142, 1.0E+143, 1.0E+144, 1.0E+145, 1.0E+146, 1.0E+147, 1.0E+148, 1.0E+149, 1.0E+150, + 1.0E+151, 1.0E+152, 1.0E+153, 1.0E+154, 1.0E+155, 1.0E+156, 1.0E+157, 1.0E+158, 1.0E+159, 1.0E+160, + 1.0E+161, 1.0E+162, 1.0E+163, 1.0E+164, 1.0E+165, 1.0E+166, 1.0E+167, 1.0E+168, 1.0E+169, 1.0E+170, + 1.0E+171, 1.0E+172, 1.0E+173, 1.0E+174, 1.0E+175, 1.0E+176, 1.0E+177, 1.0E+178, 1.0E+179, 1.0E+180, + 1.0E+181, 1.0E+182, 1.0E+183, 1.0E+184, 1.0E+185, 1.0E+186, 1.0E+187, 1.0E+188, 1.0E+189, 1.0E+190, + 1.0E+191, 1.0E+192, 1.0E+193, 1.0E+194, 1.0E+195, 1.0E+196, 1.0E+197, 1.0E+198, 1.0E+199, 1.0E+200, + 1.0E+201, 1.0E+202, 1.0E+203, 1.0E+204, 1.0E+205, 1.0E+206, 1.0E+207, 1.0E+208, 1.0E+209, 1.0E+210, + 1.0E+211, 1.0E+212, 1.0E+213, 1.0E+214, 1.0E+215, 1.0E+216, 1.0E+217, 1.0E+218, 1.0E+219, 1.0E+220, + 1.0E+221, 1.0E+222, 1.0E+223, 1.0E+224, 1.0E+225, 1.0E+226, 1.0E+227, 1.0E+228, 1.0E+229, 1.0E+230, + 1.0E+231, 1.0E+232, 1.0E+233, 1.0E+234, 1.0E+235, 1.0E+236, 1.0E+237, 1.0E+238, 1.0E+239, 1.0E+240, + 1.0E+241, 1.0E+242, 1.0E+243, 1.0E+244, 1.0E+245, 1.0E+246, 1.0E+247, 1.0E+248, 1.0E+249, 1.0E+250, + 1.0E+251, 1.0E+252, 1.0E+253, 1.0E+254, 1.0E+255, 1.0E+256, 1.0E+257, 1.0E+258, 1.0E+259, 1.0E+260, + 1.0E+261, 1.0E+262, 1.0E+263, 1.0E+264, 1.0E+265, 1.0E+266, 1.0E+267, 1.0E+268, 1.0E+269, 1.0E+270, + 1.0E+271, 1.0E+272, 1.0E+273, 1.0E+274, 1.0E+275, 1.0E+276, 1.0E+277, 1.0E+278, 1.0E+279, 1.0E+280, + 1.0E+281, 1.0E+282, 1.0E+283, 1.0E+284, 1.0E+285, 1.0E+286, 1.0E+287, 1.0E+288, 1.0E+289, 1.0E+290, + 1.0E+291, 1.0E+292, 1.0E+293, 1.0E+294, 1.0E+295, 1.0E+296, 1.0E+297, 1.0E+298, 1.0E+299, 1.0E+300, + 1.0E+301, 1.0E+302, 1.0E+303, 1.0E+304, 1.0E+305, 1.0E+306, 1.0E+307, 1.0E+308 + }; + + static const int fract10_size = static_cast(sizeof(fract10) / sizeof(double)); + + const int e = std::abs(exponent); + + if (exponent >= std::numeric_limits::min_exponent10) + { + if (e < fract10_size) + { + if (exponent > 0) + return T(d * fract10[e]); + else + return T(d / fract10[e]); + } + else + return T(d * std::pow(10.0, 10.0 * exponent)); + } + else + { + d /= fract10[ -std::numeric_limits::min_exponent10]; + return T(d / fract10[-exponent + std::numeric_limits::min_exponent10]); + } + } + + #define strtk_register_pod_type(T) \ + template<> struct is_pod{ typedef yes_t result_t; enum {result = true }; }; \ + template<> struct is_pod{ typedef yes_t result_t; enum {result = true }; }; \ + template<> struct is_pod{ typedef yes_t result_t; enum {result = true }; }; \ + template<> struct is_pod{ typedef yes_t result_t; enum {result = true }; };\ + + strtk_register_pod_type(bool) + strtk_register_pod_type(signed char) + strtk_register_pod_type(char) + strtk_register_pod_type(short) + strtk_register_pod_type(int) + strtk_register_pod_type(long int) + strtk_register_pod_type(long long int) + strtk_register_pod_type(unsigned char) + strtk_register_pod_type(unsigned short) + strtk_register_pod_type(unsigned int) + strtk_register_pod_type(unsigned long int) + strtk_register_pod_type(unsigned long long int) + strtk_register_pod_type(float) + strtk_register_pod_type(double) + strtk_register_pod_type(long double) + + #undef strtk_register_pod_type + + template + struct numeric {}; + + template<> + struct numeric + { + static const unsigned int length = 5; + static const unsigned int size = 16; + static const unsigned int bound_length = 5; + static const short m10 = 3276; + static const short ldpos = 7; + static const short ldneg = 8; + }; + + template<> + struct numeric + { + static const unsigned int length = 5; + static const unsigned int size = 16; + static const unsigned int bound_length = 5; + static const unsigned short m10 = 6553; + static const unsigned short ldpos = 5; + }; + + template<> + struct numeric + { + static const unsigned int length = 10; + static const unsigned int size = 16; + static const unsigned int bound_length = 10; + static const int m10 = 214748364; + static const int ldpos = 7; + static const int ldneg = 8; + }; + + template<> + struct numeric + { + static const unsigned int length = 10; + static const unsigned int size = 16; + static const unsigned int bound_length = 10; + static const unsigned int m10 = 429496729; + static const unsigned int ldpos = 5; + }; + + template<> + struct numeric + { + static const unsigned int length = 10; + static const unsigned int size = 16; + static const unsigned int bound_length = 10; + static const long m10 = 214748364; + static const long ldpos = 7; + static const long ldneg = 8; + }; + + template<> + struct numeric + { + static const unsigned int length = 10; + static const unsigned int size = 16; + static const unsigned int bound_length = 10; + static const unsigned long m10 = 429496729; + static const unsigned long ldpos = 5; + }; + + template<> + struct numeric + { + static const unsigned int length = 19; + static const unsigned int size = 24; + static const unsigned int bound_length = 19; + static const unsigned long long m10 = 922337203685477580; + static const unsigned long long ldpos = 7; + static const unsigned long long ldneg = 8; + }; + + template<> + struct numeric + { + static const unsigned int length = 20; + static const unsigned int size = 24; + static const unsigned int bound_length = 20; + static const unsigned long long m10 = 1844674407370955161; + static const unsigned long long ldpos = 5; + }; + + template<> struct numeric { enum { min_exp = -37, max_exp = +38, precision = 10}; }; + template<> struct numeric { enum { min_exp = -307, max_exp = +308, precision = 15}; }; + + template struct ldt {}; + template <> struct ldt { enum { i = -308, a = +308, p = 15}; }; // 64-bit + template <> struct ldt { enum { i = -4931, a = +4931, p = 18}; }; // 80-bit + template <> struct ldt { enum { i = -4931, a = +4931, p = 22}; }; // 96-bit + template <> struct ldt { enum { i = -4931, a = +4931, p = 34}; }; //128-bit + + template<> + struct numeric + { + typedef ldt ld; + enum { min_exp = ld::i, max_exp = ld::a, precision = ld::p}; + }; + + #define strtk_register_unsigned_type_tag(T) \ + template<> struct supported_conversion_to_type { typedef unsigned_type_tag type; }; \ + template<> struct supported_conversion_from_type { typedef unsigned_type_tag type; };\ + + #define strtk_register_signed_type_tag(T) \ + template<> struct supported_conversion_to_type{ typedef signed_type_tag type; }; \ + template<> struct supported_conversion_from_type { typedef signed_type_tag type; }; \ + + #define strtk_register_real_type_tag(T) \ + template<> struct supported_conversion_to_type{ typedef real_type_tag type; }; + + #define strtk_register_byte_type_tag(T) \ + template<> struct supported_conversion_to_type{ typedef byte_type_tag type; }; \ + template<> struct supported_conversion_from_type { typedef byte_type_tag type; };\ + + #define strtk_register_hex_number_type_tag(T) \ + template<> struct supported_conversion_to_type{ typedef hex_number_type_tag type; }; + + template<> struct supported_conversion_to_type{ typedef hex_string_type_tag type; }; + + #define strtk_register_base64_type_tag(T) \ + template<> struct supported_conversion_to_type{ typedef base64_type_tag type; }; + + #define strtk_register_supported_iterator_type(T) \ + template<> struct supported_iterator_type { enum { value = true }; }; + + template<> struct supported_conversion_to_type { typedef bool_type_tag type; }; + template<> struct supported_iterator_type { enum { value = true }; }; + + template<> struct supported_conversion_to_type { typedef stdstring_type_tag type; }; + template<> struct supported_iterator_type { enum { value = true }; }; + + template<> struct supported_conversion_to_type { typedef value_type_tag type; }; + template<> struct supported_conversion_from_type { typedef value_type_tag type; }; + template<> struct supported_iterator_type { enum { value = true }; }; + + template<> struct supported_conversion_to_type { typedef expect_type_tag type; }; + template<> struct supported_iterator_type { enum { value = true }; }; + + template<> struct supported_conversion_to_type { typedef expect_type_tag type; }; + template<> struct supported_iterator_type { enum { value = true }; }; + + template<> struct supported_conversion_to_type { typedef like_type_tag type; }; + template<> struct supported_iterator_type { enum { value = true }; }; + + template<> struct supported_conversion_to_type { typedef fillchararray_type_tag type; }; + template<> struct supported_iterator_type { enum { value = true }; }; + + template<> struct supported_conversion_to_type { typedef lcase_type_tag type; }; + template<> struct supported_iterator_type { enum { value = true }; }; + + template<> struct supported_conversion_to_type { typedef ucase_type_tag type; }; + template<> struct supported_iterator_type { enum { value = true }; }; + + #define strtk_register_truncint_type_tag(T) \ + template<> struct supported_conversion_to_type > { typedef truncint_type_tag type; }; \ + template<> struct supported_iterator_type > { enum { value = true }; }; \ + + #define strtk_register_decsink_type_tag(T) \ + template<> struct supported_conversion_to_type > { typedef decsink_type_tag type; }; \ + template<> struct supported_iterator_type > { enum { value = true }; }; \ + + #define strtk_register_inrange_type_tag(T) \ + template<> struct supported_conversion_to_type > { typedef inrange_type_tag type; }; \ + template<> struct supported_iterator_type > { enum { value = true }; }; \ + + #define strtk_register_trim_type_tag(T) \ + template<> struct supported_conversion_to_type > { typedef trim_type_tag type; }; \ + template<> struct supported_iterator_type > { enum { value = true }; }; \ + + #define strtk_register_stdstring_range_type_tag(T) \ + template<> struct supported_conversion_to_type< std::pair >{ typedef stdstring_range_type_tag type; }; \ + + #define strtk_register_sink_type_tag(T) \ + template<> struct supported_conversion_to_type > > { typedef sink_type_tag type; }; \ + template<> struct supported_conversion_to_type > > { typedef sink_type_tag type; }; \ + template<> struct supported_conversion_to_type > > { typedef sink_type_tag type; }; \ + template<> struct supported_conversion_to_type > > { typedef sink_type_tag type; }; \ + template<> struct supported_conversion_to_type > > { typedef sink_type_tag type; }; \ + template<> struct supported_conversion_to_type > > { typedef sink_type_tag type; }; \ + template<> struct supported_conversion_to_type > > { typedef sink_type_tag type; }; \ + template<> struct supported_conversion_to_type > > { typedef sink_type_tag type; }; \ + template<> struct supported_conversion_from_type > > { typedef sink_type_tag type; }; \ + template<> struct supported_conversion_from_type > > { typedef sink_type_tag type; }; \ + template<> struct supported_conversion_from_type > > { typedef sink_type_tag type; }; \ + template<> struct supported_conversion_from_type > > { typedef sink_type_tag type; }; \ + template<> struct supported_conversion_from_type > > { typedef sink_type_tag type; }; \ + template<> struct supported_conversion_from_type > > { typedef sink_type_tag type; }; \ + template<> struct supported_conversion_from_type > > { typedef sink_type_tag type; }; \ + template<> struct supported_conversion_from_type > > { typedef sink_type_tag type; }; \ + + #define strtk_register_stl_container_to_string_conv_type_tag(T) \ + template<> struct supported_conversion_from_type > { typedef stl_seq_type_tag type; }; \ + template<> struct supported_conversion_from_type > { typedef stl_seq_type_tag type; }; \ + template<> struct supported_conversion_from_type > { typedef stl_seq_type_tag type; }; \ + template<> struct supported_conversion_from_type > { typedef stl_seq_type_tag type; }; \ + template<> struct supported_conversion_from_type > { typedef stl_seq_type_tag type; }; \ + template<> struct supported_conversion_from_type > { typedef stl_seq_type_tag type; }; \ + template<> struct supported_conversion_from_type > { typedef stl_seq_type_tag type; }; \ + template<> struct supported_conversion_from_type > { typedef stl_seq_type_tag type; }; \ + + template<> struct supported_conversion_to_type{ typedef ignore_token_type_tag type; }; + + #define strtk_register_sequence_iterator_type(sequence) \ + strtk_register_supported_iterator_type(sequence::iterator) \ + strtk_register_supported_iterator_type(sequence::const_iterator) \ + strtk_register_supported_iterator_type(sequence::iterator) \ + strtk_register_supported_iterator_type(sequence::const_iterator) \ + + strtk_register_unsigned_type_tag(unsigned short ) + strtk_register_unsigned_type_tag(unsigned int ) + strtk_register_unsigned_type_tag(unsigned long ) + strtk_register_unsigned_type_tag(unsigned long long int) + + strtk_register_signed_type_tag(short ) + strtk_register_signed_type_tag(int ) + strtk_register_signed_type_tag(long ) + strtk_register_signed_type_tag(long long) + + strtk_register_real_type_tag(float ) + strtk_register_real_type_tag(double ) + strtk_register_real_type_tag(long double) + + strtk_register_byte_type_tag(unsigned char) + strtk_register_byte_type_tag(signed char ) + strtk_register_byte_type_tag(char ) + + strtk_register_hex_number_type_tag(hex_to_number_sink ) + strtk_register_hex_number_type_tag(hex_to_number_sink ) + strtk_register_hex_number_type_tag(hex_to_number_sink ) + strtk_register_hex_number_type_tag(hex_to_number_sink ) + strtk_register_hex_number_type_tag(hex_to_number_sink ) + strtk_register_hex_number_type_tag(hex_to_number_sink ) + strtk_register_hex_number_type_tag(hex_to_number_sink ) + strtk_register_hex_number_type_tag(hex_to_number_sink) + + strtk_register_base64_type_tag(base64_to_number_sink ) + strtk_register_base64_type_tag(base64_to_number_sink ) + strtk_register_base64_type_tag(base64_to_number_sink ) + strtk_register_base64_type_tag(base64_to_number_sink ) + strtk_register_base64_type_tag(base64_to_number_sink ) + strtk_register_base64_type_tag(base64_to_number_sink ) + strtk_register_base64_type_tag(base64_to_number_sink ) + strtk_register_base64_type_tag(base64_to_number_sink) + + strtk_register_stdstring_range_type_tag(std::string::iterator ) + strtk_register_stdstring_range_type_tag(std::string::const_iterator) + strtk_register_stdstring_range_type_tag(char* ) + strtk_register_stdstring_range_type_tag(signed char* ) + strtk_register_stdstring_range_type_tag(unsigned char* ) + strtk_register_stdstring_range_type_tag(const char* ) + strtk_register_stdstring_range_type_tag(const unsigned char* ) + + strtk_register_supported_iterator_type(char* ) + strtk_register_supported_iterator_type(signed char* ) + strtk_register_supported_iterator_type(unsigned char* ) + strtk_register_supported_iterator_type(const char* ) + strtk_register_supported_iterator_type(const signed char* ) + strtk_register_supported_iterator_type(const unsigned char* ) + strtk_register_supported_iterator_type(std::string::iterator ) + strtk_register_supported_iterator_type(std::string::const_iterator) + + #ifndef _LIBCPP_VERSION + strtk_register_sequence_iterator_type(std::vector) + #endif + strtk_register_sequence_iterator_type(std::deque) + + strtk_register_sink_type_tag(float ) + strtk_register_sink_type_tag(double ) + strtk_register_sink_type_tag(long double ) + strtk_register_sink_type_tag(signed char ) + strtk_register_sink_type_tag(char ) + strtk_register_sink_type_tag(short ) + strtk_register_sink_type_tag(int ) + strtk_register_sink_type_tag(long ) + strtk_register_sink_type_tag(long long ) + strtk_register_sink_type_tag(unsigned char ) + strtk_register_sink_type_tag(unsigned short ) + strtk_register_sink_type_tag(unsigned int ) + strtk_register_sink_type_tag(unsigned long ) + strtk_register_sink_type_tag(unsigned long long int) + strtk_register_sink_type_tag(std::string ) + + strtk_register_stl_container_to_string_conv_type_tag(float ) + strtk_register_stl_container_to_string_conv_type_tag(double ) + strtk_register_stl_container_to_string_conv_type_tag(long double ) + strtk_register_stl_container_to_string_conv_type_tag(signed char ) + strtk_register_stl_container_to_string_conv_type_tag(char ) + strtk_register_stl_container_to_string_conv_type_tag(short ) + strtk_register_stl_container_to_string_conv_type_tag(int ) + strtk_register_stl_container_to_string_conv_type_tag(long ) + strtk_register_stl_container_to_string_conv_type_tag(long long ) + strtk_register_stl_container_to_string_conv_type_tag(unsigned char ) + strtk_register_stl_container_to_string_conv_type_tag(unsigned short ) + strtk_register_stl_container_to_string_conv_type_tag(unsigned int ) + strtk_register_stl_container_to_string_conv_type_tag(unsigned long ) + strtk_register_stl_container_to_string_conv_type_tag(unsigned long long int) + strtk_register_stl_container_to_string_conv_type_tag(std::string ) + + strtk_register_inrange_type_tag(float ) + strtk_register_inrange_type_tag(double ) + strtk_register_inrange_type_tag(long double ) + strtk_register_inrange_type_tag(signed char ) + strtk_register_inrange_type_tag(char ) + strtk_register_inrange_type_tag(short ) + strtk_register_inrange_type_tag(int ) + strtk_register_inrange_type_tag(long ) + strtk_register_inrange_type_tag(long long ) + strtk_register_inrange_type_tag(unsigned char ) + strtk_register_inrange_type_tag(unsigned short ) + strtk_register_inrange_type_tag(unsigned int ) + strtk_register_inrange_type_tag(unsigned long ) + strtk_register_inrange_type_tag(unsigned long long int) + strtk_register_inrange_type_tag(std::string ) + + strtk_register_trim_type_tag(float ) + strtk_register_trim_type_tag(double ) + strtk_register_trim_type_tag(long double ) + strtk_register_trim_type_tag(signed char ) + strtk_register_trim_type_tag(char ) + strtk_register_trim_type_tag(short ) + strtk_register_trim_type_tag(int ) + strtk_register_trim_type_tag(long ) + strtk_register_trim_type_tag(long long ) + strtk_register_trim_type_tag(unsigned char ) + strtk_register_trim_type_tag(unsigned short ) + strtk_register_trim_type_tag(unsigned int ) + strtk_register_trim_type_tag(unsigned long ) + strtk_register_trim_type_tag(unsigned long long int) + strtk_register_trim_type_tag(std::string ) + + strtk_register_trim_type_tag(truncated_int ) + strtk_register_trim_type_tag(truncated_int ) + strtk_register_trim_type_tag(truncated_int ) + strtk_register_trim_type_tag(truncated_int ) + strtk_register_trim_type_tag(truncated_int ) + strtk_register_trim_type_tag(truncated_int ) + strtk_register_trim_type_tag(truncated_int ) + strtk_register_trim_type_tag(truncated_int) + + strtk_register_truncint_type_tag(short ) + strtk_register_truncint_type_tag(int ) + strtk_register_truncint_type_tag(long ) + strtk_register_truncint_type_tag(long long ) + strtk_register_truncint_type_tag(unsigned short ) + strtk_register_truncint_type_tag(unsigned int ) + strtk_register_truncint_type_tag(unsigned long ) + strtk_register_truncint_type_tag(unsigned long long int) + + strtk_register_decsink_type_tag(float ) + strtk_register_decsink_type_tag(double ) + strtk_register_decsink_type_tag(long double) + + #define strtk_register_userdef_type_sink(T) \ + namespace strtk { namespace details { strtk_register_sink_type_tag(T) }} + + #undef strtk_register_unsigned_type_tag + #undef strtk_register_signed_type_tag + #undef strtk_register_real_type_tag + #undef strtk_register_byte_type_tag + #undef strtk_register_hex_number_type_tag + #undef strtk_register_base64_type_tag + #undef strtk_register_supported_iterator_type + #undef strtk_register_stdstring_range_type_tag + #undef strtk_register_sequence_iterator_type + #undef strtk_register_stl_container_to_string_conv_type_tag + #undef strtk_register_inrange_type_tag + #undef strtk_register_trim_type_tag + #undef strtk_register_truncint_type_tag + #undef strtk_register_decsink_type_tag + + template + struct precision + { static void set(std::iostream&) {} }; + + #define strtk_register_iostream_precision(T) \ + template<> struct precision { static void set(std::iostream& s, const std::streamsize& p = 10) { s.precision(p);} }; + + strtk_register_iostream_precision(float) + strtk_register_iostream_precision(double) + strtk_register_iostream_precision(long double) + + #undef strtk_register_iostream_precision + + template + inline bool string_to_type_converter_impl(Iterator& begin, const Iterator end, T& t, not_supported_type_tag) + { + #ifdef strtk_enable_lexical_cast + try + { + t = boost::lexical_cast(std::string(begin,end)); + } + catch (const boost::bad_lexical_cast&) + { + return false; + } + begin = end; + return true; + #else + try + { + std::stringstream ss(std::string(begin,end)); + ss >> t; + } + catch (const std::exception&) + { + return false; + } + begin = end; + return true; + #endif + } + + template + inline bool string_to_type_converter_impl(Iterator& begin, const Iterator end, strtk::util::value& v, value_type_tag) + { + return v(begin,end); + } + + template + inline bool string_to_type_converter_impl(Iterator& begin, const Iterator end, std::string& t, stdstring_type_tag) + { + t.assign(begin,end); + begin = end; + return true; + } + + template + inline bool string_to_type_converter_impl(Iterator& itr, const Iterator end, Expect& t, expect_type_tag) + { + if (!t(itr,end)) + return false; + itr = end; + return true; + } + + template + inline bool string_to_type_converter_impl(Iterator& itr, const Iterator end, Like& t, like_type_tag) + { + if (!t(itr,end)) + return false; + itr = end; + return true; + } + + template + inline bool string_to_type_converter_impl(Iterator& itr, const Iterator end, InRange& t, inrange_type_tag) + { + if (!t(itr,end)) + return false; + itr = end; + return true; + } + + template + inline bool string_to_type_converter_impl(Iterator& itr, const Iterator end, TrimToken& t, trim_type_tag) + { + if (!t(itr,end)) + return false; + itr = end; + return true; + } + + template + inline bool string_to_type_converter_impl(Iterator& itr, const Iterator end, CaseToken& t, lcase_type_tag) + { + if (!t(itr,end)) + return false; + itr = end; + return true; + } + + template + inline bool string_to_type_converter_impl(Iterator& itr, const Iterator end, CaseToken& t, ucase_type_tag) + { + if (!t(itr,end)) + return false; + itr = end; + return true; + } + + template + inline bool string_to_type_converter_impl(Iterator& itr, const Iterator end, Array& t, fillchararray_type_tag) + { + if (!t(itr,end)) + return false; + itr = end; + return true; + } + + template + inline bool string_to_type_converter_impl(Iterator& itr, const Iterator end, TruncatedInt& t, truncint_type_tag) + { + if (!t(itr,end)) + return false; + itr = end; + return true; + } + + #ifdef __builtin_expect + # define strtk_likely(x) __builtin_expect((x),1) + # define strtk_unlikely(x) __builtin_expect((x),0) + #else + # define strtk_likely(x) (x) + # define strtk_unlikely(x) (x) + #endif + + template + inline bool string_to_type_converter_impl(Iterator& itr_external, const Iterator end, T& result, unsigned_type_tag) + { + Iterator itr = itr_external; + if (itr == end) + return false; + else if (('+' == *itr) && end == (++itr)) + return false; + + while ((end != itr) && ('0' == (*itr))) ++itr; + + T t = 0; + unsigned int digit = 0; + std::size_t length; + + if (strtk_unlikely((length = std::distance(itr,end)) > numeric::bound_length)) + return false; + + strtk_disable_fallthrough_begin + switch (length) + { + #define case_stmt(N) \ + case N : if (strtk_likely((digit = (*itr++ - '0')) < 10)) \ + t = t * 10 + static_cast(digit); \ + else \ + return false; \ + + case_stmt(20) case_stmt(19) case_stmt(18) case_stmt(17) + case_stmt(16) case_stmt(15) case_stmt(14) case_stmt(13) + case_stmt(12) case_stmt(11) case_stmt(10) case_stmt( 9) + case_stmt( 8) case_stmt( 7) case_stmt( 6) case_stmt( 5) + case_stmt( 4) case_stmt( 3) case_stmt( 2) + case 1 : if (strtk_unlikely((digit = (*itr - '0'))>= 10)) + return false; + #undef case_stmt + } + strtk_disable_fallthrough_end + + if (length == numeric::bound_length) + { + if (!( + (t < numeric::m10) || + ( + (t == numeric::m10) && + (digit <= numeric::ldpos) + ) + ) + ) + return false; + + } + + result = t * 10 + static_cast(digit); + itr_external = itr; + + return true; + } + + template + inline bool string_to_type_converter_impl(Iterator& itr_external, const Iterator end, T& result, signed_type_tag) + { + Iterator itr; + if ((itr = itr_external) == end) + return false; + + T last_digit = (*itr == '-') ? numeric::ldneg : numeric::ldpos; + + if ((numeric::ldneg == last_digit) || (*itr == '+')) + { + if (end == ++itr) + return false; + } + + while ((end != itr) && ('0' == (*itr))) ++itr; + + T t = 0; + unsigned int digit = 0; + std::size_t length; + + if (strtk_unlikely((length = std::distance(itr,end)) > numeric::bound_length)) + return false; + + strtk_disable_fallthrough_begin + switch (length) + { + #define case_stmt(N) \ + case N : if (strtk_likely((digit = (*itr++ - '0')) < 10)) \ + t = t * 10 + static_cast(digit); \ + else \ + return false; \ + + case_stmt(19) case_stmt(18) case_stmt(17) case_stmt(16) + case_stmt(15) case_stmt(14) case_stmt(13) case_stmt(12) + case_stmt(11) case_stmt(10) case_stmt( 9) case_stmt( 8) + case_stmt( 7) case_stmt( 6) case_stmt( 5) case_stmt( 4) + case_stmt( 3) case_stmt( 2) + case 1 : if (strtk_unlikely((digit = (*itr - '0'))>= 10)) + return false; + #undef case_stmt + } + strtk_disable_fallthrough_end + + if (length == numeric::bound_length) + { + if (!( + (t < static_cast(numeric::m10)) || + ( + (t == numeric::m10) && + (static_cast(digit) <= last_digit) + ) + ) + ) + return false; + } + + t = t * 10 + static_cast(digit); + + result = (last_digit == numeric::ldpos) ? t : -t; + itr_external = itr; + return true; + } + + template + inline bool string_to_type_converter_impl_ref(Iterator& itr, const Iterator end, T& result, signed_type_tag) + { + if (itr == end) + return false; + + bool negative = ('-' == (*itr)); + + if (negative || ('+' == (*itr))) + { + if (end == ++itr) + return false; + } + + while ((end != itr) && ('0' == (*itr))) ++itr; + + bool return_result = true; + unsigned int digit = 0; + std::size_t length; + + if ((length = std::distance(itr,end)) <= 4) + { + strtk_disable_fallthrough_begin + switch (length) + { + #ifdef strtk_use_lut + + #define strtk_process_digit \ + if (strtk_likely((digit = details::digit_table[(int)*itr++]) < 10)) result = result * 10 + (digit); else { return_result = false; break; } + + #else + #define strtk_process_digit \ + if (strtk_likely((digit = (*itr++ - '0')) < 10)) result = result * 10 + (digit); else { return_result = false; break; } + + #endif + + case 4 : strtk_process_digit + case 3 : strtk_process_digit + case 2 : strtk_process_digit + case 1 : if (strtk_unlikely((digit = (*itr - '0'))>= 10)) { digit = 0; return_result = false; } + + #undef strtk_process_digit + } + strtk_disable_fallthrough_end + } + else + return_result = false; + + if (length && return_result) + { + result = result * 10 + static_cast(digit); + ++itr; + } + + result = negative ? -result : result; + return return_result; + } + + template + inline bool parse_nan(Iterator& itr, const Iterator end, T& t) + { + typedef typename std::iterator_traits::value_type type; + static const std::size_t nan_length = 3; + + if (std::distance(itr,end) != static_cast(nan_length)) + return false; + + if (static_cast('n') == (*itr)) + { + if ((static_cast('a') != *(itr + 1)) || (static_cast('n') != *(itr + 2))) + { + return false; + } + } + else if ((static_cast('A') != *(itr + 1)) || (static_cast('N') != *(itr + 2))) + { + return false; + } + + t = std::numeric_limits::quiet_NaN(); + + return true; + } + + template + inline bool parse_inf(Iterator& itr, const Iterator end, T& t, bool negative) + { + static const char inf_uc[] = "INFINITY"; + static const char inf_lc[] = "infinity"; + static const std::size_t inf_length = 8; + const std::size_t length = std::distance(itr,end); + + if ((3 != length) && (inf_length != length)) + return false; + + const char* inf_itr = ('i' == (*itr)) ? inf_lc : inf_uc; + + while (end != itr) + { + if (*inf_itr == static_cast(*itr)) + { + ++itr; + ++inf_itr; + continue; + } + else + return false; + } + + if (negative) + t = -std::numeric_limits::infinity(); + else + t = std::numeric_limits::infinity(); + + return true; + } + + template + inline bool string_to_type_converter_impl(Iterator& itr_external, const Iterator end, T& t, real_type_tag) + { + if (end == itr_external) return false; + + Iterator itr = itr_external; + + typedef typename real_type::type real_t; + real_t d = real_t(0); + + bool negative = ('-' == (*itr)); + + if (negative || '+' == (*itr)) + { + if (end == ++itr) + return false; + } + + bool instate = false; + + #ifdef strtk_use_lut + + #define parse_digit_1(d) \ + if (strtk_likely((digit = details::digit_table[(int)*itr]) < 10)) { d = d * real_t(10) + digit; } else break; if (end == ++itr) break; \ + + #define parse_digit_2(d) \ + if (strtk_likely((digit = details::digit_table[(int)*itr]) < 10)) { d = d * real_t(10) + digit; } else break; ++itr; \ + + #else + + #define parse_digit_1(d) \ + if (strtk_likely((digit = (*itr - '0')) < 10)) { d = d * real_t(10) + digit; } else break; if (end == ++itr) break; \ + + #define parse_digit_2(d) \ + if (strtk_likely((digit = (*itr - '0')) < 10)) { d = d * real_t(10) + digit; } else break; ++itr; \ + + #endif + + if (strtk_likely('.' != (*itr))) + { + const Iterator curr = itr; + while ((end != itr) && ('0' == (*itr))) ++itr; + unsigned int digit; + + while (end != itr) + { + // Note: For 'physical' superscalar architectures it + // is advised that the following loop be: 4xPD1 and 1xPD2 + #ifdef strtk_enable_superscalar + parse_digit_1(d) + parse_digit_1(d) + #endif + parse_digit_1(d) + parse_digit_1(d) + parse_digit_2(d) + } + + if (curr != itr) instate = true; + } + + int exponent = 0; + + if (end != itr) + { + if ('.' == (*itr)) + { + const Iterator curr = ++itr; + unsigned int digit; + real_t tmp_d = real_t(0); + + while (end != itr) + { + #ifdef strtk_enable_superscalar + parse_digit_1(tmp_d) + parse_digit_1(tmp_d) + parse_digit_1(tmp_d) + #endif + parse_digit_1(tmp_d) + parse_digit_1(tmp_d) + parse_digit_2(tmp_d) + } + + if (curr != itr) + { + instate = true; + d += pow10(tmp_d,static_cast(-std::distance(curr,itr))); + } + + #undef parse_digit_1 + #undef parse_digit_2 + } + + if (end != itr) + { + typename std::iterator_traits::value_type c = (*itr); + + if (('e' == c) || ('E' == c)) + { + int exp = 0; + + if (!details::string_to_type_converter_impl_ref(++itr,end,exp,details::signed_type_tag())) + { + if (end == itr) + return false; + else + c = (*itr); + } + + exponent += exp; + } + + if (end != itr) + { + if (('f' == c) || ('F' == c) || ('l' == c) || ('L' == c)) + ++itr; + else if ('#' == c) + { + if (end == ++itr) + return false; + else if (('I' <= (*itr)) && ((*itr) <= 'n')) + { + if (('i' == (*itr)) || ('I' == (*itr))) + { + return parse_inf(itr,end,t,negative); + } + else if (('n' == (*itr)) || ('N' == (*itr))) + { + return parse_nan(itr,end,t); + } + else + return false; + } + else + return false; + } + else if (('I' <= (*itr)) && ((*itr) <= 'n')) + { + if (('i' == (*itr)) || ('I' == (*itr))) + { + return parse_inf(itr,end,t,negative); + } + else if (('n' == (*itr)) || ('N' == (*itr))) + { + return parse_nan(itr,end,t); + } + else + return false; + } + else + return false; + } + } + } + + if (strtk_unlikely((end != itr) || (!instate))) + return false; + else if (exponent) + d = pow10(d,exponent); + + t = static_cast((negative) ? -d : d); + return true; + } + + #undef strtk_likely + #undef strtk_unlikely + + template + inline bool string_to_type_converter_impl(Iterator& itr, const Iterator end, T& t, byte_type_tag) + { + if (1 != std::distance(itr,end)) + return false; + t = static_cast(*itr); + itr = end; + return true; + } + + template + inline bool string_to_type_converter_impl(Iterator& itr, const Iterator end, bool& t, bool_type_tag) + { + if (1 != std::distance(itr,end)) + return false; + t = (('0' == (*itr)) ? false : true); + itr = end; + return true; + } + + template + inline bool string_to_type_converter_impl(Iterator& itr, const Iterator end, IgnoreTokenType&, ignore_token_type_tag) + { + itr = end; + return true; + } + + template + inline bool string_to_type_converter_impl(Iterator& itr, const Iterator end, HexSinkType& t, hex_number_type_tag) + { + t = std::pair(itr,end); + if (!t.valid()) + return false; + itr = end; + return true; + } + + template + inline bool string_to_type_converter_impl(Iterator& itr, const Iterator end, HexSinkType& t, hex_string_type_tag) + { + t = std::pair(itr,end); + if (!t.valid()) + return false; + itr = end; + return true; + } + + template + inline bool string_to_type_converter_impl(Iterator& itr, const Iterator end, Base64SinkType& t, base64_type_tag) + { + t = std::pair(itr,end); + if (!t.valid()) + return false; + itr = end; + return true; + } + + template + inline bool string_to_type_converter_impl(Iterator& itr, const Iterator end, SinkType& t, sink_type_tag) + { + if (!t.parse(itr,end)) + return false; + itr = end; + return true; + } + + template + inline bool type_to_string_converter_impl(const T& t, std::string& s, not_supported_type_tag) + { + #ifdef strtk_enable_lexical_cast + try + { + s = boost::lexical_cast(t); + } + catch (const boost::bad_lexical_cast&) + { + return false; + } + #else + try + { + std::stringstream ss; + precision::set(ss); + ss << t; + s = ss.str(); + } + catch (const std::exception&) + { + return false; + } + #endif + return true; + } + + template + inline bool type_to_string_converter_impl(T value, std::string& result, unsigned_type_tag) + { + static const std::size_t radix = 10; + static const std::size_t radix_sqr = radix * radix; + static const std::size_t radix_cube = radix * radix * radix; + static const std::size_t buffer_size = ((strtk::details::numeric::size < 16) ? 16 : 32); + + unsigned char buffer[buffer_size]; + unsigned char* itr = buffer + buffer_size; + + if (value) + { + while (value >= static_cast(radix_sqr)) + { + itr -= 3; + T temp_v = value / radix_cube; + memcpy(itr,&details::rev_3digit_lut[3 * (value - (temp_v * radix_cube))],3); + value = temp_v; + } + + while (value >= static_cast(radix)) + { + itr -= 2; + T temp_v = value / radix_sqr; + memcpy(itr,&details::rev_2digit_lut[2 * (value - (temp_v * radix_sqr))],2); + value = temp_v; + } + + if (value) + { + *(--itr) = static_cast('0' + value); + } + } + else + *(--itr) = '0'; + + result.assign(reinterpret_cast(itr), (buffer + buffer_size) - itr); + return true; + } + + template + struct tsci_type {}; + + #define define_tsci_type(Type,ReType) \ + template <> \ + struct tsci_type \ + { \ + typedef ReType type; \ + }; \ + + define_tsci_type(short ,unsigned short ) + define_tsci_type(int ,unsigned int ) + define_tsci_type(long ,unsigned long ) + define_tsci_type(long long,unsigned long long) + + #undef define_tsci_type + + template + inline bool type_to_string_converter_impl(T valuex, std::string& result, signed_type_tag) + { + typedef typename tsci_type::type TT; + + const TT radix = 10; + const TT radix_sqr = radix * radix; + const TT radix_cube = radix * radix * radix; + const std::size_t buffer_size = ((strtk::details::numeric::size < 16) ? 16 : 32); + + const bool negative = (valuex < 0); + #ifndef _MSC_VER + TT value = (negative) ? -TT(valuex) : valuex; + #else + TT value = (negative) ? -valuex : valuex; + #endif + + unsigned char buffer[buffer_size]; + unsigned char* itr = buffer + buffer_size; + + if (value) + { + while (value >= radix_sqr) + { + const TT v = value; + value /= radix_cube; + memcpy((itr -= 3), &details::rev_3digit_lut[3 * (v - (value * radix_cube))], 3); + } + + while (value >= radix) + { + const TT v = value; + value /= radix_sqr; + memcpy((itr -= 2), &details::rev_2digit_lut[2 * (v - (value * radix_sqr))], 2); + } + + if (value) + { + *(--itr) = static_cast('0' + value); + } + + if (negative) + { + *(--itr) = '-'; + } + } + else + *(--itr) = '0'; + + result.assign(reinterpret_cast(itr), (buffer + buffer_size) - itr); + return true; + } + + template + inline bool type_to_string_converter_impl(const T& value, std::string& result, byte_type_tag) + { + result.resize(1); + result[0] = static_cast(value); + return true; + } + + inline bool type_to_string_converter_impl(const bool& value, std::string& result, bool_type_tag) + { + result.resize(1); + result[0] = value ? '1' : '0'; + return true; + } + + inline bool type_to_string_converter_impl(const std::string& value, std::string& result, stdstring_type_tag) + { + result = value; + return true; + } + + template + inline bool type_to_string_converter_impl(const std::pair& range, std::string& result, stdstring_range_type_tag) + { + result.assign(range.first,range.second); + return true; + } + + template + inline bool type_to_string_converter_impl(const SinkType&, std::string&, sink_type_tag) + { + //Generic conversion not supported for sinks. Use joins or custom converters. + return false; + } + + template + inline bool type_to_string_converter_impl(const STLContainerType&, std::string&, stl_seq_type_tag) + { + //Generic conversion not supported for stl containers. Use joins or custom converters. + return false; + } + + template + inline std::string type_name() + { + static const std::string s("Unknown"); + return s; + } + + #define strtk_register_type_name(Type) \ + template <> inline std::string type_name() { static const std::string s(#Type); return s; } + + strtk_register_type_name(signed char ) + strtk_register_type_name(unsigned char ) + strtk_register_type_name(short ) + strtk_register_type_name(int ) + strtk_register_type_name(long ) + strtk_register_type_name(long long ) + strtk_register_type_name(unsigned short ) + strtk_register_type_name(unsigned int ) + strtk_register_type_name(unsigned long ) + strtk_register_type_name(unsigned long long int) + strtk_register_type_name(double ) + strtk_register_type_name(float ) + strtk_register_type_name(long double ) + strtk_register_type_name(std::string ) + + #undef strtk_register_type_name + + template + inline std::string type_name(const T&) + { + static const std::string s = type_name(); + return s; + } + + template + inline std::string type_name(const std::pair& p) + { + static const std::string s = std::string("std::pair<" + + type_name(p.first) + + "," + + type_name(p.second) + + ">"); + return s; + } + + template + inline std::size_t type_length() + { + return numeric::length; + } + + template + inline std::size_t type_length(const T&) + { + return type_length(); + } + + inline std::size_t type_length(const std::string& s) + { + return s.size(); + } + + template + inline std::size_t type_length(const std::pair&) + { + return type_length() + type_length(); + } + + } // namespace details + + template + inline std::string type_name(const T& t) + { + static const std::string s = details::type_name(t); + return s; + } + + template + inline std::string type_name(const T(&)[N]) + { + static const std::string s = details::type_name() + + std::string("[") + type_to_string(N) + std::string("]"); + return s; + } + + template + inline std::string type_name(const std::pair& p) + { + static const std::string s = std::string("std::pair<" + + type_name(p.first) + + "," + + type_name(p.second) + + ">"); + return s; + } + + #define strtk_register_sequence_type_name(Type) \ + template \ + inline std::string type_name(const Type&) \ + { \ + static const std::string s = std::string(#Type) + std::string("<" + details::type_name() + ">");\ + return s; \ + } \ + + #define strtk_register_set_type_name(Type) \ + template \ + inline std::string type_name(const Type&) \ + { \ + static const std::string s = std::string(#Type) + std::string("<" + details::type_name() + ">");\ + return s; \ + } \ + + strtk_register_sequence_type_name(std::vector) + strtk_register_sequence_type_name(std::deque) + strtk_register_sequence_type_name(std::list) + strtk_register_set_type_name(std::set) + strtk_register_set_type_name(std::multiset) + + template + inline std::size_t type_length() + { + return details::type_length(); + } + + template + inline std::size_t type_length(const T&) + { + return type_length(); + } + + class ext_string + { + public: + + explicit ext_string() + {} + + explicit ext_string(const std::string& s) + : s_(s) + {} + + explicit ext_string(const char* s) + : s_(s) + {} + + explicit ext_string(const range::adapter& r) + : s_(r.begin(),r.end()) + {} + + ext_string(const ext_string& es) + : s_(es.s_) + {} + + template + inline ext_string& operator << (const T& t) + { + s_ += type_to_string(t); + return (*this); + } + + inline operator std::string () const + { + return s_; + } + + inline std::string clone() const + { + return s_; + } + + inline const std::string& as_string() const + { + return s_; + } + + inline std::string& as_string() + { + return s_; + } + + template + inline T as_type() const + { + return string_to_type_converter(s_); + } + + template + inline bool as_type(T& t) const + { + return string_to_type_converter(s_,t); + } + + inline bool imatch(const std::string& s) const + { + return strtk::imatch(s_,s); + } + + inline bool imatch(const ext_string& es) const + { + return strtk::imatch(s_,es.s_); + } + + inline ext_string& to_lowercase() + { + convert_to_lowercase(s_); + return (*this); + } + + inline ext_string& to_uppercase() + { + convert_to_uppercase(s_); + return (*this); + } + + template + inline ext_string& remove_leading(const Predicate& p) + { + if (s_.empty()) return (*this); + strtk::remove_leading(p,s_); + return (*this); + } + + inline ext_string& remove_leading(const std::string& removal_set) + { + if (removal_set.empty()) + return (*this); + else if (1 == removal_set.size()) + strtk::remove_leading(single_delimiter_predicate(removal_set[0]),s_); + else + strtk::remove_leading(multiple_char_delimiter_predicate(removal_set),s_); + return (*this); + } + + template + inline ext_string& remove_trailing(const Predicate& p) + { + if (s_.empty()) return (*this); + strtk::remove_trailing(p,s_); + return (*this); + } + + inline ext_string& remove_trailing(const std::string& removal_set) + { + if (removal_set.empty()) + return (*this); + else if (1 == removal_set.size()) + strtk::remove_trailing(single_delimiter_predicate(removal_set[0]),s_); + else + strtk::remove_trailing(multiple_char_delimiter_predicate(removal_set),s_); + return (*this); + } + + template + inline ext_string& operator += (const T& t) + { + s_.append(type_to_string(t)); + return (*this); + } + + inline ext_string& operator -= (const std::string& pattern) + { + replace(pattern,""); + return (*this); + } + + inline ext_string& operator *= (const std::size_t& n) + { + strtk::replicate_inplace(n,s_); + return (*this); + } + + inline void replace(const std::string& pattern, const std::string& replace_pattern) + { + std::string result; + result.reserve(s_.size()); + strtk::replace_pattern(s_,pattern,replace_pattern,result); + s_.assign(result); + } + + template + inline std::size_t split(const DelimiterPredicate& p, + OutputIterator out, + const split_options::type split_option = split_options::default_mode) const + { + return strtk::split(p,s_,out,split_option); + } + + template class Sequence> + inline std::size_t split(const DelimiterPredicate& p, + Sequence& seq, + const split_options::type split_option = split_options::default_mode) const + { + return strtk::split(p,s_,range_to_type_back_inserter(seq),split_option); + } + + template + inline std::size_t split_n(const DelimiterPredicate& p, + const std::size_t& n, + OutputIterator out, + const split_options::type split_option = split_options::default_mode) const + { + return strtk::split_n(p,s_,n,out,split_option); + } + + template class Sequence> + inline std::size_t split_n(const DelimiterPredicate& p, + const std::size_t& n, + Sequence& seq, + const split_options::type split_option = split_options::default_mode) const + { + return strtk::split_n(p,s_,n,range_to_type_back_inserter(seq),split_option); + } + + template class Sequence> + inline std::size_t parse(const std::string& delimiters, Sequence& seq) const + { + return strtk::parse(s_,delimiters,seq); + } + + template class Sequence> + inline std::size_t parse(const char* delimiters, Sequence& seq) const + { + return parse(std::string(delimiters),seq); + } + + friend inline ext_string operator * (const std::size_t& n, const ext_string& s); + friend inline ext_string operator * (const ext_string& s, const std::size_t& n); + + template + friend inline ext_string operator + (const ext_string& s, const T& t); + + template + friend inline ext_string operator + (const T& t, const ext_string& s); + + friend inline ext_string operator - (const ext_string& s, const std::string& pattern); + friend inline ext_string operator - (const ext_string& s, const char* pattern); + friend inline ext_string operator - (const ext_string& s, const ext_string& pattern); + + static inline ext_string all_digits() + { + static const ext_string digits("0123456789"); + return digits; + } + + static inline ext_string all_letters() + { + static const ext_string letters("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"); + return letters; + } + + static inline ext_string all_lowercase_letters() + { + static const ext_string letters("abcdefghijklmnopqrstuvwxyz"); + return letters; + } + + static inline ext_string all_uppercase_letters() + { + static const ext_string letters("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); + return letters; + } + + static inline ext_string all_chars() + { + ext_string s; + s.as_string().resize(256); + strtk::iota(s.as_string().begin(), + s.as_string().end(), + static_cast(0x00)); + return s; + } + + private: + + std::string s_; + }; + + inline ext_string operator * (const std::size_t& n, const ext_string& s) + { + return ext_string(replicate(n, s.s_)); + } + + inline ext_string operator * (const ext_string& s, const std::size_t& n) + { + return ext_string(replicate(n, s.s_)); + } + + template + inline ext_string operator + (const ext_string& s, const T& t) + { + return ext_string(s.s_ + type_to_string(t)); + } + + template + inline ext_string operator + (const T& t, const ext_string& s) + { + return ext_string(type_to_string(t) + s.s_); + } + + inline ext_string operator - (const ext_string& s, const std::string& pattern) + { + std::string tmp; + tmp.reserve(s.s_.size()); + remove_pattern(s,pattern,tmp); + return ext_string(tmp); + } + + inline ext_string operator - (const ext_string& s, const char* pattern) + { + return s - std::string(pattern); + } + + inline ext_string operator - (const ext_string& s, const ext_string& pattern) + { + return s - std::string(pattern.as_string()); + } + + static inline std::ostream& operator<<(std::ostream& os, const ext_string& es) + { + return (os << es.as_string()); + } + + namespace fileio + { + + inline bool file_exists(const std::string& file_name) + { + std::ifstream file(file_name.c_str(), std::ios::binary); + return ((!file) ? false : true); + } + + inline std::size_t file_size(const std::string& file_name) + { + std::ifstream file(file_name.c_str(),std::ios::binary); + if (!file) return 0; + file.seekg (0, std::ios::end); + return static_cast(file.tellg()); + } + + inline bool load_file(const std::string& file_name, char* buffer, std::size_t buffer_size) + { + std::ifstream in_stream(file_name.c_str(),std::ios::binary); + if (!in_stream) return false; + in_stream.read(buffer,static_cast(buffer_size)); + in_stream.close(); + return true; + } + + inline bool load_file(const std::string& file_name, std::string& buffer) + { + buffer.resize(file_size(file_name)); + return load_file(file_name,const_cast(to_ptr(buffer)),buffer.size()); + } + + inline bool write_file(const std::string& file_name, char* buffer, const std::size_t& buffer_size) + { + std::ofstream out_stream(file_name.c_str(),std::ios::binary); + if (!out_stream) return false; + out_stream.write(buffer,static_cast(buffer_size)); + out_stream.close(); + return true; + } + + inline bool write_file(const std::string& file_name, const std::string& buffer) + { + return write_file(file_name,const_cast(to_ptr(buffer)),buffer.size()); + } + + inline bool copy_file(const std::string& src_file_name, const std::string& dest_file_name) + { + std::ifstream src_file(src_file_name.c_str(),std::ios::binary); + std::ofstream dest_file(dest_file_name.c_str(),std::ios::binary); + if (!src_file) return false; + if (!dest_file) return false; + + static const std::size_t block_size = 16 * one_kilobyte; + char buffer[block_size]; + + std::size_t remaining_bytes = file_size(src_file_name); + + while (remaining_bytes >= block_size) + { + src_file.read(&buffer[0],static_cast(block_size)); + dest_file.write(&buffer[0],static_cast(block_size)); + remaining_bytes -= block_size; + } + + if (remaining_bytes > 0) + { + src_file.read(&buffer[0],static_cast(remaining_bytes)); + dest_file.write(&buffer[0],static_cast(remaining_bytes)); + remaining_bytes = 0; + } + + src_file.close(); + dest_file.close(); + return true; + } + + inline bool concatenate(const std::string& file_name1, + const std::string& file_name2, + const std::string& output_file_name) + { + std::ifstream file1(file_name1.c_str(),std::ios::binary); + std::ifstream file2(file_name2.c_str(),std::ios::binary); + std::ofstream out_file(output_file_name.c_str(),std::ios::binary); + + if (!file1 || !file2 || !out_file) return false; + + static const std::size_t block_size = 16 * one_kilobyte; + char buffer[block_size]; + unsigned int round = 0; + std::size_t remaining_bytes = 0; + + while (round < 2) + { + std::ifstream& input_stream = ((0 == round) ? file1 : file2); + remaining_bytes = ((0 == round) ? file_size(file_name1) : file_size(file_name2)); + + while (remaining_bytes >= block_size) + { + input_stream.read(&buffer[0],static_cast(block_size)); + out_file.write(&buffer[0],static_cast(block_size)); + remaining_bytes -= block_size; + } + + if (remaining_bytes > 0) + { + input_stream.read(&buffer[0],static_cast(remaining_bytes)); + out_file.write(&buffer[0],static_cast(remaining_bytes)); + remaining_bytes = 0; + } + + input_stream.close(); + ++round; + } + out_file.close(); + return true; + } + + inline bool files_identical(const std::string& file_name1, const std::string& file_name2) + { + std::ifstream file1(file_name1.c_str(),std::ios::binary); + std::ifstream file2(file_name2.c_str(),std::ios::binary); + if (!file1) return false; + if (!file2) return false; + if (file_size(file_name1) != file_size(file_name2)) return false; + + static const std::size_t block_size = 16 * one_kilobyte; + char buffer1[block_size]; + char buffer2[block_size]; + + std::size_t remaining_bytes = file_size(file_name1); + + while (remaining_bytes >= block_size) + { + file1.read(&buffer1[0],static_cast(block_size)); + file2.read(&buffer2[0],static_cast(block_size)); + if (0 != std::memcmp(buffer1,buffer2,block_size)) + return false; + remaining_bytes -= block_size; + } + + if (remaining_bytes > 0) + { + file1.read(&buffer1[0],static_cast(remaining_bytes)); + file2.read(&buffer2[0],static_cast(remaining_bytes)); + if (0 != std::memcmp(buffer1,buffer2,remaining_bytes)) + return false; + remaining_bytes = 0; + } + + file1.close(); + file2.close(); + + return true; + } + + namespace details + { + template + inline bool read_pod_proxy(std::ifstream& stream, T& t) + { + return (false == stream.read(reinterpret_cast(&t), + static_cast(sizeof(T))).fail()); + } + + template + inline bool write_pod_proxy(std::ofstream& stream, const T& t) + { + return (false == stream.write(reinterpret_cast(&t), + static_cast(sizeof(T))).fail()); + } + } + + template + inline bool read_pod(std::ifstream& stream, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, + T9& t9, T10& t10) + { + return details::read_pod_proxy(stream, t1) && + details::read_pod_proxy(stream, t2) && + details::read_pod_proxy(stream, t3) && + details::read_pod_proxy(stream, t4) && + details::read_pod_proxy(stream, t5) && + details::read_pod_proxy(stream, t6) && + details::read_pod_proxy(stream, t7) && + details::read_pod_proxy(stream, t8) && + details::read_pod_proxy(stream, t9) && + details::read_pod_proxy(stream,t10); + } + + template + inline bool read_pod(std::ifstream& stream, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, + T9& t9) + { + return details::read_pod_proxy(stream,t1) && + details::read_pod_proxy(stream,t2) && + details::read_pod_proxy(stream,t3) && + details::read_pod_proxy(stream,t4) && + details::read_pod_proxy(stream,t5) && + details::read_pod_proxy(stream,t6) && + details::read_pod_proxy(stream,t7) && + details::read_pod_proxy(stream,t8) && + details::read_pod_proxy(stream,t9); + } + + template + inline bool read_pod(std::ifstream& stream, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8) + { + return details::read_pod_proxy(stream,t1) && + details::read_pod_proxy(stream,t2) && + details::read_pod_proxy(stream,t3) && + details::read_pod_proxy(stream,t4) && + details::read_pod_proxy(stream,t5) && + details::read_pod_proxy(stream,t6) && + details::read_pod_proxy(stream,t7) && + details::read_pod_proxy(stream,t8); + } + + template + inline bool read_pod(std::ifstream& stream, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7) + { + return details::read_pod_proxy(stream,t1) && + details::read_pod_proxy(stream,t2) && + details::read_pod_proxy(stream,t3) && + details::read_pod_proxy(stream,t4) && + details::read_pod_proxy(stream,t5) && + details::read_pod_proxy(stream,t6) && + details::read_pod_proxy(stream,t7); + } + + template + inline bool read_pod(std::ifstream& stream, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6) + { + return details::read_pod_proxy(stream,t1) && + details::read_pod_proxy(stream,t2) && + details::read_pod_proxy(stream,t3) && + details::read_pod_proxy(stream,t4) && + details::read_pod_proxy(stream,t5) && + details::read_pod_proxy(stream,t6); + } + + template + inline bool read_pod(std::ifstream& stream, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5) + { + return details::read_pod_proxy(stream,t1) && + details::read_pod_proxy(stream,t2) && + details::read_pod_proxy(stream,t3) && + details::read_pod_proxy(stream,t4) && + details::read_pod_proxy(stream,t5); + } + + template + inline bool read_pod(std::ifstream& stream, + T1& t1, T2& t2, T3& t3, T4& t4) + { + return details::read_pod_proxy(stream,t1) && + details::read_pod_proxy(stream,t2) && + details::read_pod_proxy(stream,t3) && + details::read_pod_proxy(stream,t4); + } + + template + inline bool read_pod(std::ifstream& stream, + T1& t1, T2& t2, T3& t3) + { + return details::read_pod_proxy(stream,t1) && + details::read_pod_proxy(stream,t2) && + details::read_pod_proxy(stream,t3); + } + + template + inline bool read_pod(std::ifstream& stream, + T1& t1, T2& t2) + { + return details::read_pod_proxy(stream,t1) && + details::read_pod_proxy(stream,t2); + } + + template + inline bool read_pod(std::ifstream& stream, T& t) + { + return details::read_pod_proxy(stream,t); + } + + template + inline bool read_pod(std::ifstream& stream, T (&t)[N]) + { + return (false != stream.read(reinterpret_cast(&t[0]),sizeof(T) * N).fail()); + } + + template class Sequence> + inline bool read_pod(std::ifstream& stream, + const std::size_t& count, + Sequence& sequence) + { + T t; + + for (std::size_t i = 0; i < count; ++i) + { + if (details::read_pod_proxy(stream,t)) + sequence.push_back(t); + else + return false; + } + + return true; + } + + template + inline bool read_pod(std::ifstream& stream, + const std::size_t& count, + std::set& set) + { + T t; + + for (std::size_t i = 0; i < count; ++i) + { + if (details::read_pod_proxy(stream,t)) + set.insert(t); + else + return false; + } + + return true; + } + + template + inline bool read_pod(std::ifstream& stream, + const std::size_t& count, + std::multiset& multiset) + { + T t; + + for (std::size_t i = 0; i < count; ++i) + { + if (details::read_pod_proxy(stream,t)) + multiset.insert(t); + else + return false; + } + + return true; + } + + template + inline bool write_pod(std::ofstream& stream, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6, const T7& t7, const T8& t8, + const T9& t9, const T10& t10) + { + return details::write_pod_proxy(stream, t1) && + details::write_pod_proxy(stream, t2) && + details::write_pod_proxy(stream, t3) && + details::write_pod_proxy(stream, t4) && + details::write_pod_proxy(stream, t5) && + details::write_pod_proxy(stream, t6) && + details::write_pod_proxy(stream, t7) && + details::write_pod_proxy(stream, t8) && + details::write_pod_proxy(stream, t9) && + details::write_pod_proxy(stream,t10); + } + + template + inline bool write_pod(std::ofstream& stream, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6, const T7& t7, const T8& t8, + const T9& t9) + { + return details::write_pod_proxy(stream,t1) && + details::write_pod_proxy(stream,t2) && + details::write_pod_proxy(stream,t3) && + details::write_pod_proxy(stream,t4) && + details::write_pod_proxy(stream,t5) && + details::write_pod_proxy(stream,t6) && + details::write_pod_proxy(stream,t7) && + details::write_pod_proxy(stream,t8) && + details::write_pod_proxy(stream,t9); + } + + template + inline bool write_pod(std::ofstream& stream, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6, const T7& t7, const T8& t8) + { + return details::write_pod_proxy(stream,t1) && + details::write_pod_proxy(stream,t2) && + details::write_pod_proxy(stream,t3) && + details::write_pod_proxy(stream,t4) && + details::write_pod_proxy(stream,t5) && + details::write_pod_proxy(stream,t6) && + details::write_pod_proxy(stream,t7) && + details::write_pod_proxy(stream,t8); + } + + template + inline bool write_pod(std::ofstream& stream, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6, const T7& t7) + { + return details::write_pod_proxy(stream,t1) && + details::write_pod_proxy(stream,t2) && + details::write_pod_proxy(stream,t3) && + details::write_pod_proxy(stream,t4) && + details::write_pod_proxy(stream,t5) && + details::write_pod_proxy(stream,t6) && + details::write_pod_proxy(stream,t7); + } + + template + inline bool write_pod(std::ofstream& stream, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6) + { + return details::write_pod_proxy(stream,t1) && + details::write_pod_proxy(stream,t2) && + details::write_pod_proxy(stream,t3) && + details::write_pod_proxy(stream,t4) && + details::write_pod_proxy(stream,t5) && + details::write_pod_proxy(stream,t6); + } + + template + inline bool write_pod(std::ofstream& stream, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5) + { + return details::write_pod_proxy(stream,t1) && + details::write_pod_proxy(stream,t2) && + details::write_pod_proxy(stream,t3) && + details::write_pod_proxy(stream,t4) && + details::write_pod_proxy(stream,t5); + } + + template + inline bool write_pod(std::ofstream& stream, + const T1& t1, const T2& t2, const T3& t3, const T4& t4) + { + return details::write_pod_proxy(stream,t1) && + details::write_pod_proxy(stream,t2) && + details::write_pod_proxy(stream,t3) && + details::write_pod_proxy(stream,t4); + } + + template + inline bool write_pod(std::ofstream& stream, + const T1& t1, const T2& t2, const T3& t3) + { + return details::write_pod_proxy(stream,t1) && + details::write_pod_proxy(stream,t2) && + details::write_pod_proxy(stream,t3); + } + + template + inline bool write_pod(std::ofstream& stream, + const T1& t1, const T2& t2) + { + return details::write_pod_proxy(stream,t1) && + details::write_pod_proxy(stream,t2); + } + + template + inline bool write_pod(std::ofstream& stream, const T& t) + { + return details::write_pod_proxy(stream,t); + } + + template + inline bool write_pod(std::ofstream& stream, T (&t)[N]) + { + return (false != stream.write(reinterpret_cast(&t[0]),sizeof(T) * N).fail()); + } + + template class Sequence> + inline bool write_pod(std::ofstream& stream, + const Sequence& sequence) + { + typename Sequence::iterator itr = sequence.begin(); + typename Sequence::iterator end = sequence.end(); + + while (end != itr) + { + if (details::write_pod_proxy(stream,*itr)) + ++itr; + else + return false; + } + } + + template + inline bool write_pod(std::ofstream& stream, + const std::set& set) + { + typename std::set::iterator itr = set.begin(); + typename std::set::iterator end = set.end(); + + while (end != itr) + { + if (details::write_pod_proxy(stream,*itr)) + ++itr; + else + return false; + } + } + + template + inline bool write_pod(std::ofstream& stream, + const std::multiset& multiset) + { + typename std::multiset::iterator itr = multiset.begin(); + typename std::multiset::iterator end = multiset.end(); + + while (end != itr) + { + if (details::write_pod_proxy(stream,*itr)) + ++itr; + else + return false; + } + } + + inline bool read_at_offset(std::ifstream& stream, + const std::size_t& offset, + char* buffer, + const std::size_t& buffer_size) + { + if (!stream) return false; + stream.seekg(static_cast(offset),std::ios_base::beg); + if (stream.fail()) return false; + stream.read(buffer,static_cast(buffer_size)); + if (stream.fail()) return false; + stream.close(); + return true; + } + + inline bool read_at_offset(const std::string& file_name, + const std::size_t& offset, + char* buffer, + const std::size_t& buffer_size) + { + std::ifstream stream(file_name.c_str(), std::ios::in | std::ios::binary); + if (!stream) return false; + return read_at_offset(stream,offset,buffer,buffer_size); + } + + inline bool read_at_offset(const std::string& file_name, + const std::size_t& offset, + std::string& buffer, + const std::size_t& buffer_size) + { + std::ifstream stream(file_name.c_str(), std::ios::in | std::ios::binary); + if (!stream) return false; + buffer.resize(buffer_size); + return read_at_offset(stream, + offset, + const_cast(to_ptr(buffer)), + buffer_size); + } + + } // namespace fileio + + template + inline unsigned char* read_pod(unsigned char* data, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, + T9& t9, T10& t10, T11& t11, T12& t12) + { + ::memcpy(& t1, data, sizeof( T1)); data += sizeof( T1); + ::memcpy(& t2, data, sizeof( T2)); data += sizeof( T2); + ::memcpy(& t3, data, sizeof( T3)); data += sizeof( T3); + ::memcpy(& t4, data, sizeof( T4)); data += sizeof( T4); + ::memcpy(& t5, data, sizeof( T5)); data += sizeof( T5); + ::memcpy(& t6, data, sizeof( T6)); data += sizeof( T6); + ::memcpy(& t7, data, sizeof( T7)); data += sizeof( T7); + ::memcpy(& t8, data, sizeof( T8)); data += sizeof( T8); + ::memcpy(& t9, data, sizeof( T9)); data += sizeof( T9); + ::memcpy(&t10, data, sizeof(T10)); data += sizeof(T10); + ::memcpy(&t11, data, sizeof(T11)); data += sizeof(T11); + ::memcpy(&t12, data, sizeof(T12)); data += sizeof(T12); + return data; + } + + template + inline unsigned char* read_pod(unsigned char* data, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, + T9& t9, T10& t10, T11& t11) + { + ::memcpy(& t1, data, sizeof( T1)); data += sizeof( T1); + ::memcpy(& t2, data, sizeof( T2)); data += sizeof( T2); + ::memcpy(& t3, data, sizeof( T3)); data += sizeof( T3); + ::memcpy(& t4, data, sizeof( T4)); data += sizeof( T4); + ::memcpy(& t5, data, sizeof( T5)); data += sizeof( T5); + ::memcpy(& t6, data, sizeof( T6)); data += sizeof( T6); + ::memcpy(& t7, data, sizeof( T7)); data += sizeof( T7); + ::memcpy(& t8, data, sizeof( T8)); data += sizeof( T8); + ::memcpy(& t9, data, sizeof( T9)); data += sizeof( T9); + ::memcpy(&t10, data, sizeof(T10)); data += sizeof(T10); + ::memcpy(&t11, data, sizeof(T11)); data += sizeof(T11); + return data; + } + + template + inline unsigned char* read_pod(unsigned char* data, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, + T9& t9, T10& t10) + { + ::memcpy(& t1, data, sizeof( T1)); data += sizeof( T1); + ::memcpy(& t2, data, sizeof( T2)); data += sizeof( T2); + ::memcpy(& t3, data, sizeof( T3)); data += sizeof( T3); + ::memcpy(& t4, data, sizeof( T4)); data += sizeof( T4); + ::memcpy(& t5, data, sizeof( T5)); data += sizeof( T5); + ::memcpy(& t6, data, sizeof( T6)); data += sizeof( T6); + ::memcpy(& t7, data, sizeof( T7)); data += sizeof( T7); + ::memcpy(& t8, data, sizeof( T8)); data += sizeof( T8); + ::memcpy(& t9, data, sizeof( T9)); data += sizeof( T9); + ::memcpy(&t10, data, sizeof(T10)); data += sizeof(T10); + return data; + } + + template + inline unsigned char* read_pod(unsigned char* data, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, + T9& t9) + { + ::memcpy(& t1, data, sizeof(T1)); data += sizeof(T1); + ::memcpy(& t2, data, sizeof(T2)); data += sizeof(T2); + ::memcpy(& t3, data, sizeof(T3)); data += sizeof(T3); + ::memcpy(& t4, data, sizeof(T4)); data += sizeof(T4); + ::memcpy(& t5, data, sizeof(T5)); data += sizeof(T5); + ::memcpy(& t6, data, sizeof(T6)); data += sizeof(T6); + ::memcpy(& t7, data, sizeof(T7)); data += sizeof(T7); + ::memcpy(& t8, data, sizeof(T8)); data += sizeof(T8); + ::memcpy(& t9, data, sizeof(T9)); data += sizeof(T9); + return data; + } + + template + inline unsigned char* read_pod(unsigned char* data, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8) + { + ::memcpy(& t1, data, sizeof(T1)); data += sizeof(T1); + ::memcpy(& t2, data, sizeof(T2)); data += sizeof(T2); + ::memcpy(& t3, data, sizeof(T3)); data += sizeof(T3); + ::memcpy(& t4, data, sizeof(T4)); data += sizeof(T4); + ::memcpy(& t5, data, sizeof(T5)); data += sizeof(T5); + ::memcpy(& t6, data, sizeof(T6)); data += sizeof(T6); + ::memcpy(& t7, data, sizeof(T7)); data += sizeof(T7); + ::memcpy(& t8, data, sizeof(T8)); data += sizeof(T8); + return data; + } + + template + inline unsigned char* read_pod(unsigned char* data, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7) + { + ::memcpy(& t1, data, sizeof(T1)); data += sizeof(T1); + ::memcpy(& t2, data, sizeof(T2)); data += sizeof(T2); + ::memcpy(& t3, data, sizeof(T3)); data += sizeof(T3); + ::memcpy(& t4, data, sizeof(T4)); data += sizeof(T4); + ::memcpy(& t5, data, sizeof(T5)); data += sizeof(T5); + ::memcpy(& t6, data, sizeof(T6)); data += sizeof(T6); + ::memcpy(& t7, data, sizeof(T7)); data += sizeof(T7); + return data; + } + + template + inline unsigned char* read_pod(unsigned char* data, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6) + { + ::memcpy(& t1, data, sizeof(T1)); data += sizeof(T1); + ::memcpy(& t2, data, sizeof(T2)); data += sizeof(T2); + ::memcpy(& t3, data, sizeof(T3)); data += sizeof(T3); + ::memcpy(& t4, data, sizeof(T4)); data += sizeof(T4); + ::memcpy(& t5, data, sizeof(T5)); data += sizeof(T5); + ::memcpy(& t6, data, sizeof(T6)); data += sizeof(T6); + return data; + } + + template + inline unsigned char* read_pod(unsigned char* data, + T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5) + { + ::memcpy(& t1, data, sizeof(T1)); data += sizeof(T1); + ::memcpy(& t2, data, sizeof(T2)); data += sizeof(T2); + ::memcpy(& t3, data, sizeof(T3)); data += sizeof(T3); + ::memcpy(& t4, data, sizeof(T4)); data += sizeof(T4); + ::memcpy(& t5, data, sizeof(T5)); data += sizeof(T5); + return data; + } + + template + inline unsigned char* read_pod(unsigned char* data, + T1& t1, T2& t2, T3& t3, T4& t4) + { + ::memcpy(& t1, data, sizeof(T1)); data += sizeof(T1); + ::memcpy(& t2, data, sizeof(T2)); data += sizeof(T2); + ::memcpy(& t3, data, sizeof(T3)); data += sizeof(T3); + ::memcpy(& t4, data, sizeof(T4)); data += sizeof(T4); + return data; + } + + template + inline unsigned char* read_pod(unsigned char* data, + T1& t1, T2& t2, T3& t3) + { + ::memcpy(& t1, data, sizeof(T1)); data += sizeof(T1); + ::memcpy(& t2, data, sizeof(T2)); data += sizeof(T2); + ::memcpy(& t3, data, sizeof(T3)); data += sizeof(T3); + return data; + } + + template + inline unsigned char* read_pod(unsigned char* data, + T1& t1, T2& t2) + { + ::memcpy(& t1, data, sizeof(T1)); data += sizeof(T1); + ::memcpy(& t2, data, sizeof(T2)); data += sizeof(T2); + return data; + } + + template + inline unsigned char* read_pod(unsigned char* data, + T1& t1) + { + ::memcpy(& t1, data, sizeof(T1)); data += sizeof(T1); + return data; + } + + template + inline unsigned char* read_pod(unsigned char* data, T (&t)[N]) + { + T* begin = reinterpret_cast(data); + T* end = begin + N; + std::copy(begin, end, &t[0]); + return data + (N * sizeof(T)); + } + + template class Sequence> + inline unsigned char* read_pod(unsigned char* data, + const std::size_t& n, + const Sequence& sequence) + { + T* ptr = reinterpret_cast(data); + std::copy(ptr, ptr + n, std::back_inserter(sequence)); + return data + (sequence.size() * sizeof(T)); + } + + template + inline unsigned char* read_pod(unsigned char* data, + const std::size_t& n, + const std::set& set) + { + T* ptr = reinterpret_cast(data); + std::copy(ptr, ptr + n, std::inserter(set,set.begin())); + return data + (set.size() * sizeof(T)); + } + + template + inline unsigned char* read_pod(unsigned char* data, + const std::size_t& n, + const std::multiset& multiset) + { + T* ptr = reinterpret_cast(data); + std::copy(ptr, ptr + n, std::inserter(multiset,multiset.begin())); + return data + (multiset.size() * sizeof(T)); + } + + template + inline unsigned char* write_pod(unsigned char* data, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6, const T7& t7, const T8& t8, + const T9& t9, const T10& t10, const T11& t11, const T12& t12) + { + ::memcpy(data, &t1, sizeof( T1)); data += sizeof( T1); + ::memcpy(data, &t2, sizeof( T2)); data += sizeof( T2); + ::memcpy(data, &t3, sizeof( T3)); data += sizeof( T3); + ::memcpy(data, &t4, sizeof( T4)); data += sizeof( T4); + ::memcpy(data, &t5, sizeof( T5)); data += sizeof( T5); + ::memcpy(data, &t6, sizeof( T6)); data += sizeof( T6); + ::memcpy(data, &t7, sizeof( T7)); data += sizeof( T7); + ::memcpy(data, &t8, sizeof( T8)); data += sizeof( T8); + ::memcpy(data, &t9, sizeof( T9)); data += sizeof( T9); + ::memcpy(data,&t10, sizeof(T10)); data += sizeof(T10); + ::memcpy(data,&t11, sizeof(T11)); data += sizeof(T11); + ::memcpy(data,&t12, sizeof(T12)); data += sizeof(T12); + return data; + } + + template + inline unsigned char* write_pod(unsigned char* data, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6, const T7& t7, const T8& t8, + const T9& t9, const T10& t10, const T11& t11) + { + ::memcpy(data, &t1, sizeof( T1)); data += sizeof( T1); + ::memcpy(data, &t2, sizeof( T2)); data += sizeof( T2); + ::memcpy(data, &t3, sizeof( T3)); data += sizeof( T3); + ::memcpy(data, &t4, sizeof( T4)); data += sizeof( T4); + ::memcpy(data, &t5, sizeof( T5)); data += sizeof( T5); + ::memcpy(data, &t6, sizeof( T6)); data += sizeof( T6); + ::memcpy(data, &t7, sizeof( T7)); data += sizeof( T7); + ::memcpy(data, &t8, sizeof( T8)); data += sizeof( T8); + ::memcpy(data, &t9, sizeof( T9)); data += sizeof( T9); + ::memcpy(data,&t10, sizeof(T10)); data += sizeof(T10); + ::memcpy(data,&t11, sizeof(T11)); data += sizeof(T11); + return data; + } + + template + inline unsigned char* write_pod(unsigned char* data, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6, const T7& t7, const T8& t8, + const T9& t9, const T10& t10) + { + ::memcpy(data, &t1, sizeof( T1)); data += sizeof( T1); + ::memcpy(data, &t2, sizeof( T2)); data += sizeof( T2); + ::memcpy(data, &t3, sizeof( T3)); data += sizeof( T3); + ::memcpy(data, &t4, sizeof( T4)); data += sizeof( T4); + ::memcpy(data, &t5, sizeof( T5)); data += sizeof( T5); + ::memcpy(data, &t6, sizeof( T6)); data += sizeof( T6); + ::memcpy(data, &t7, sizeof( T7)); data += sizeof( T7); + ::memcpy(data, &t8, sizeof( T8)); data += sizeof( T8); + ::memcpy(data, &t9, sizeof( T9)); data += sizeof( T9); + ::memcpy(data,&t10, sizeof(T10)); data += sizeof(T10); + return data; + } + + template + inline unsigned char* write_pod(unsigned char* data, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6, const T7& t7, const T8& t8, + const T9& t9) + { + ::memcpy(data, &t1, sizeof(T1)); data += sizeof(T1); + ::memcpy(data, &t2, sizeof(T2)); data += sizeof(T2); + ::memcpy(data, &t3, sizeof(T3)); data += sizeof(T3); + ::memcpy(data, &t4, sizeof(T4)); data += sizeof(T4); + ::memcpy(data, &t5, sizeof(T5)); data += sizeof(T5); + ::memcpy(data, &t6, sizeof(T6)); data += sizeof(T6); + ::memcpy(data, &t7, sizeof(T7)); data += sizeof(T7); + ::memcpy(data, &t8, sizeof(T8)); data += sizeof(T8); + ::memcpy(data, &t9, sizeof(T9)); data += sizeof(T9); + return data; + } + + template + inline unsigned char* write_pod(unsigned char* data, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6, const T7& t7, const T8& t8) + { + ::memcpy(data, &t1, sizeof(T1)); data += sizeof(T1); + ::memcpy(data, &t2, sizeof(T2)); data += sizeof(T2); + ::memcpy(data, &t3, sizeof(T3)); data += sizeof(T3); + ::memcpy(data, &t4, sizeof(T4)); data += sizeof(T4); + ::memcpy(data, &t5, sizeof(T5)); data += sizeof(T5); + ::memcpy(data, &t6, sizeof(T6)); data += sizeof(T6); + ::memcpy(data, &t7, sizeof(T7)); data += sizeof(T7); + ::memcpy(data, &t8, sizeof(T8)); data += sizeof(T8); + return data; + } + + template + inline unsigned char* write_pod(unsigned char* data, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6, const T7& t7) + { + ::memcpy(data, &t1, sizeof(T1)); data += sizeof(T1); + ::memcpy(data, &t2, sizeof(T2)); data += sizeof(T2); + ::memcpy(data, &t3, sizeof(T3)); data += sizeof(T3); + ::memcpy(data, &t4, sizeof(T4)); data += sizeof(T4); + ::memcpy(data, &t5, sizeof(T5)); data += sizeof(T5); + ::memcpy(data, &t6, sizeof(T6)); data += sizeof(T6); + ::memcpy(data, &t7, sizeof(T7)); data += sizeof(T7); + return data; + } + + template + inline unsigned char* write_pod(unsigned char* data, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5, const T6& t6) + { + ::memcpy(data, &t1, sizeof(T1)); data += sizeof(T1); + ::memcpy(data, &t2, sizeof(T2)); data += sizeof(T2); + ::memcpy(data, &t3, sizeof(T3)); data += sizeof(T3); + ::memcpy(data, &t4, sizeof(T4)); data += sizeof(T4); + ::memcpy(data, &t5, sizeof(T5)); data += sizeof(T5); + ::memcpy(data, &t6, sizeof(T6)); data += sizeof(T6); + return data; + } + + template + inline unsigned char* write_pod(unsigned char* data, + const T1& t1, const T2& t2, const T3& t3, const T4& t4, + const T5& t5) + { + ::memcpy(data, &t1, sizeof(T1)); data += sizeof(T1); + ::memcpy(data, &t2, sizeof(T2)); data += sizeof(T2); + ::memcpy(data, &t3, sizeof(T3)); data += sizeof(T3); + ::memcpy(data, &t4, sizeof(T4)); data += sizeof(T4); + ::memcpy(data, &t5, sizeof(T5)); data += sizeof(T5); + return data; + } + + template + inline unsigned char* write_pod(unsigned char* data, + const T1& t1, const T2& t2, const T3& t3, const T4& t4) + { + ::memcpy(data, &t1, sizeof(T1)); data += sizeof(T1); + ::memcpy(data, &t2, sizeof(T2)); data += sizeof(T2); + ::memcpy(data, &t3, sizeof(T3)); data += sizeof(T3); + ::memcpy(data, &t4, sizeof(T4)); data += sizeof(T4); + return data; + } + + template + inline unsigned char* write_pod(unsigned char* data, + const T1& t1, const T2& t2, const T3& t3) + { + ::memcpy(data, &t1, sizeof(T1)); data += sizeof(T1); + ::memcpy(data, &t2, sizeof(T2)); data += sizeof(T2); + ::memcpy(data, &t3, sizeof(T3)); data += sizeof(T3); + return data; + } + + template + inline unsigned char* write_pod(unsigned char* data, + const T1& t1, const T2& t2) + { + ::memcpy(data, &t1, sizeof(T1)); data += sizeof(T1); + ::memcpy(data, &t2, sizeof(T2)); data += sizeof(T2); + return data; + } + + template + inline unsigned char* write_pod(unsigned char* data, + const T1& t1) + { + ::memcpy(data, &t1, sizeof(T1)); data += sizeof(T1); + return data; + } + + template + inline unsigned char* write_pod(unsigned char* data, const T (&t)[N]) + { + ::memcpy(data, t, N * sizeof(T)); + data += (N * sizeof(T)); + return data; + } + + template class Sequence> + inline unsigned char* write_pod(unsigned char* data, + const Sequence& sequence) + { + ::memcpy(data, sequence.data(), sequence.size() * sizeof(T)); + data += (sequence.size() * sizeof(T)); + return data; + } + + template + inline unsigned char* write_pod(unsigned char* data, + const std::set& set) + { + T* ptr = reinterpret_cast(data); + std::copy(set.begin(),set.end(),ptr); + return data + (set.size() * sizeof(T)); + } + + template + inline unsigned char* write_pod(unsigned char* data, + const std::multiset& multiset) + { + T* ptr = reinterpret_cast(data); + std::copy(multiset.begin(),multiset.end(),ptr); + return data + (multiset.size() * sizeof(T)); + } + + class string_condition + { + private: + + typedef const unsigned char* itr_type; + + inline bool condition_equal(const itr_type begin, const itr_type end) const + { + if (s.size() == static_cast(std::distance(begin,end))) + { + return std::equal(s_begin, s_end, begin); + } + else + return false; + } + + inline bool condition_notequal(const itr_type begin, const itr_type end) const + { + if (s.size() == static_cast(std::distance(begin,end))) + { + return !std::equal(s_begin, s_end, begin); + } + else + return true; + } + + inline bool condition_like(const itr_type begin, const itr_type end) const + { + return match(s_begin, s_end, begin, end,(unsigned char)'*', (unsigned char)'?'); + } + + inline bool condition_begins_with(const itr_type begin, const itr_type end) const + { + if (s.size() == static_cast(std::distance(begin,end))) + { + return strtk::begins_with(s_begin, s_end, begin, end); + } + else + return false; + } + + inline bool condition_ends_with(const itr_type begin, const itr_type end) const + { + if (s.size() == static_cast(std::distance(begin,end))) + { + return strtk::ends_with(s_begin, s_end, begin, end); + } + else + return false; + } + + inline bool condition_within(const itr_type begin, const itr_type end) const + { + if (s.size() <= static_cast(std::distance(begin,end))) + { + return (end != std::search(begin, end, s_begin, s_end)); + } + else + return false; + } + + inline bool condition_notwithin(const itr_type begin, const itr_type end) const + { + if (s.size() <= static_cast(std::distance(begin,end))) + { + return (end == std::search(begin, end, s_begin, s_end)); + } + else + return true; + } + + typedef bool (string_condition::*condition_method)(const itr_type begin, const itr_type end) const; + + public: + + enum condition_type + { + equal = 0, + notequal = 1, + like = 2, + begins_with = 4, + ends_with = 8, + within = 16, + notwithin = 32 + }; + + inline explicit string_condition(condition_type cond_type, const std::string& str) + : cond_type_(cond_type), + s(str), + s_begin(reinterpret_cast(to_ptr(s))), + s_end (reinterpret_cast(to_ptr(s) + str.size())), + condition_method_(0) + { + switch (cond_type_) + { + case equal : condition_method_ = &string_condition::condition_equal; + break; + case notequal : condition_method_ = &string_condition::condition_notequal; + break; + case like : condition_method_ = &string_condition::condition_like; + break; + case begins_with : condition_method_ = &string_condition::condition_begins_with; + break; + case ends_with : condition_method_ = &string_condition::condition_ends_with; + break; + case within : condition_method_ = &string_condition::condition_within; + break; + case notwithin : condition_method_ = &string_condition::condition_notwithin; + break; + } + } + + template + inline bool operator()(const Iterator begin, const Iterator end) + { + return ((*this).*condition_method_)(begin,end); + } + + inline bool operator()(const std::string& str) + { + return operator() + ( + reinterpret_cast(to_ptr(str)), + reinterpret_cast(to_ptr(str) + str.size()) + ); + } + + private: + + condition_type cond_type_; + std::string s; + const unsigned char* s_begin; + const unsigned char* s_end; + condition_method condition_method_; + }; + + namespace trie + { + template + class prefix + { + + template ::value_type> + struct node + { + public: + + typedef KeyValue key_value_t; + typedef Value value_t; + + typedef node node_t; + typedef node_t* node_ptr; + typedef const node_ptr const_node_ptr; + + typedef std::vector node_list_t; + typedef typename node_list_t::const_iterator node_list_iterator; + + explicit node(const key_value_t& key_value) + : key_value_(key_value), + value_holder_(false) + {} + + node(const key_value_t& key_value, const value_t& v) + : key_value_(key_value), + value_holder_(true), + value_(v) + {} + + ~node() + { + if (!node_list_.empty()) + { + node_list_iterator itr = node_list_.begin(); + node_list_iterator end = node_list_.end (); + + while (end != itr) + { + delete (*itr); + ++itr; + } + } + } + + inline node_ptr get_node(const key_value_t& key_value) + { + if (node_list_.empty()) + return 0; + + node_list_iterator itr = node_list_.begin(); + const node_list_iterator end = node_list_.end(); + + while (end != itr) + { + if (key_value == (*itr)->key_value_) + return (*itr); + else + ++itr; + } + + return 0; + } + + inline void assign_value(const value_t& v) + { + value_ = v; + value_holder_ = true; + } + + inline void add_node(node_ptr n) + { + node_list_.push_back(n); + } + + inline bool value_holder() const + { + return value_holder_; + } + + inline const value_t& value() const + { + return value_; + } + + inline const key_value_t& key() const + { + return key_value_; + } + + private: + + node(const node_t& n); + node_t& operator=(const node_t& n); + + key_value_t key_value_; + bool value_holder_; + value_t value_; + node_list_t node_list_; + }; + + public: + + //typedef KeyIterator key_iterator_t; + typedef typename std::iterator_traits::value_type key_value_t; + typedef ValueType value_t; + + typedef node node_t; + typedef node_t* node_ptr; + + prefix() + : head_(0) + {} + + template + inline void insert(const key_iterator_t begin, + const key_iterator_t end, + const value_t& v) + { + if (0 == std::distance(begin,end)) + return; + + key_iterator_t itr = begin; + key_value_t key = (*itr); + node_ptr parent = 0; + node_ptr next_node = 0; + node_ptr n = head_ = ((0 == head_) ? new node_t(*itr) : head_); + + while (end != itr) + { + key = (*itr); + + if (0 == (next_node = n->get_node(key))) + { + n->add_node(next_node = new node_t(key)); + } + + parent = n; + n = next_node; + ++itr; + } + + parent->assign_value(v); + } + + template + inline bool find(const key_iterator_t begin, + const key_iterator_t end, + value_t& v) const + { + if ((0 == head_) || (0 == std::distance(begin,end))) + return false; + + key_iterator_t itr = begin; + node_ptr parent = head_; + node_ptr n = head_; + + while (end != itr) + { + node_ptr next_node = n->get_node(*itr); + + if (0 == next_node) + return false; + + parent = n; + n = next_node; + ++itr; + } + if (!parent->value_holder()) + return false; + v = parent->value(); + return true; + } + + template + inline bool find_prefix(const key_iterator_t begin, const key_iterator_t end) const + { + if ((0 == head_) || (0 == std::distance(begin,end))) + return false; + + key_iterator_t itr = begin; + node_ptr n = head_; + + while (end != itr) + { + if (0 == (n = n->get_node(*itr))) + return false; + ++itr; + } + + return true; + } + + ~prefix() + { + delete head_; + } + + private: + + node_ptr head_; + }; + + template + inline void insert(prefix& trie, + const std::string& key, + const Value& value = Value(0)) + { + trie.insert(key.begin(),key.end(),value); + } + + template + inline void insert(prefix& trie, + const char* key, + const Value& value = Value(0)) + { + trie.insert(std::string(key),value); + } + + template + inline bool find(prefix& trie, + const std::string& key, + Value& v) + { + return trie.find(key.begin(),key.end(),v); + } + + template + inline bool find(prefix& trie, + const char* key, + Value& v) + { + return trie.find_prefix(trie,std::string(key),v); + } + + template + inline bool find_prefix(prefix& trie, + const std::string& key) + { + return trie.find_prefix(key.begin(),key.end()); + } + + template + inline bool find_prefix(prefix& trie, + const char* key) + { + return trie.find_prefix(trie,std::string(key)); + } + + } // namespace trie + + template + struct prefix_trie + { + typedef trie::prefix type; + typedef trie::prefix std_string; + typedef trie::prefix char_ptr; + typedef trie::prefix const_char_ptr; + typedef trie::prefix uchar_ptr; + typedef trie::prefix const_uchar_ptr; + }; + + namespace bloom + { + + static const std::size_t bits_per_char = 0x08; // 8 bits in 1 char(unsigned) + static const unsigned char bit_mask[bits_per_char] = { + 0x01, //00000001 + 0x02, //00000010 + 0x04, //00000100 + 0x08, //00001000 + 0x10, //00010000 + 0x20, //00100000 + 0x40, //01000000 + 0x80 //10000000 + }; + + class parameters + { + public: + + parameters() + : minimum_size(1), + maximum_size(std::numeric_limits::max()), + minimum_number_of_hashes(1), + maximum_number_of_hashes(std::numeric_limits::max()), + projected_element_count(10000), + false_positive_probability(1.0 / projected_element_count), + random_seed(0xA5A5A5A55A5A5A5AULL) + {} + + virtual ~parameters() + {} + + inline bool operator!() + { + return (minimum_size > maximum_size) || + (minimum_number_of_hashes > maximum_number_of_hashes) || + (minimum_number_of_hashes < 1) || + (0 == maximum_number_of_hashes) || + (0 == projected_element_count) || + (false_positive_probability < 0.0) || + (std::numeric_limits::infinity() == std::abs(false_positive_probability)) || + (0 == random_seed) || + (0xFFFFFFFFFFFFFFFFULL == random_seed); + } + + //Allowed min/max size of the bloom filter in bits + unsigned long long int minimum_size; + unsigned long long int maximum_size; + + //Allowed min/max number of hash functions + unsigned int minimum_number_of_hashes; + unsigned int maximum_number_of_hashes; + + //The approximate number of elements to be inserted + //into the bloom filter, should be within one order + //of magnitude. The default is 10000. + unsigned long long int projected_element_count; + + //The approximate false positive probability expected + //from the bloom filter. The default is the reciprocal + //of the projected_element_count. + double false_positive_probability; + + unsigned long long int random_seed; + + inline bool operator()(strtk::binary::reader& reader) + { + return reader(minimum_size) && + reader(maximum_size) && + reader(minimum_number_of_hashes) && + reader(maximum_number_of_hashes) && + reader(projected_element_count) && + reader(false_positive_probability) && + reader(random_seed); + } + + inline bool operator()(strtk::binary::writer& writer) + { + return writer(minimum_size) && + writer(maximum_size) && + writer(minimum_number_of_hashes) && + writer(maximum_number_of_hashes) && + writer(projected_element_count) && + writer(false_positive_probability) && + writer(random_seed); + } + + struct optimal_parameters_t + { + optimal_parameters_t() + : number_of_hashes(0), + table_size(0) + {} + + unsigned int number_of_hashes; + unsigned long long int table_size; + }; + + optimal_parameters_t optimal_parameters; + + virtual bool compute_optimal_parameters() + { + /* + Note: + The following will attempt to find the number of hash functions + and minimum amount of storage bits required to construct a bloom + filter consistent with the user defined false positive probability + and estimated element insertion count. + */ + + if (!(*this)) + return false; + + double min_m = std::numeric_limits::infinity(); + double min_k = 0.0; + double curr_m = 0.0; + double k = 1.0; + + while (k < 1000.0) + { + double numerator = -k * projected_element_count; + double denominator = std::log(1.0 - std::pow(false_positive_probability, 1.0 / k)); + curr_m = numerator / denominator; + + if (curr_m < min_m) + { + min_m = curr_m; + min_k = k; + } + + k += 1.0; + } + + optimal_parameters_t& optp = optimal_parameters; + + optp.number_of_hashes = static_cast(min_k); + optp.table_size = static_cast(min_m); + optp.table_size += (((optp.table_size % bits_per_char) != 0) ? (bits_per_char - (optp.table_size % bits_per_char)) : 0); + + if (optp.number_of_hashes < minimum_number_of_hashes) + optp.number_of_hashes = minimum_number_of_hashes; + else if (optp.number_of_hashes > maximum_number_of_hashes) + optp.number_of_hashes = maximum_number_of_hashes; + + if (optp.table_size < minimum_size) + optp.table_size = minimum_size; + else if (optp.table_size > maximum_size) + optp.table_size = maximum_size; + + return true; + } + + }; + + class filter + { + protected: + + typedef unsigned int bloom_type; + typedef unsigned char cell_type; + + public: + + filter() + : bit_table_(0), + salt_count_(0), + table_size_(0), + raw_table_size_(0), + projected_element_count_(0), + inserted_element_count_(0), + random_seed_(0), + desired_false_positive_probability_(0.0) + {} + + filter(const parameters& p) + : bit_table_(0), + projected_element_count_(p.projected_element_count), + inserted_element_count_(0), + random_seed_((p.random_seed * 0xA5A5A5A5) + 1), + desired_false_positive_probability_(p.false_positive_probability) + { + salt_count_ = p.optimal_parameters.number_of_hashes; + table_size_ = p.optimal_parameters.table_size; + generate_unique_salt(); + raw_table_size_ = table_size_ / bits_per_char; + bit_table_ = new cell_type[static_cast(raw_table_size_)]; + std::fill_n(&bit_table_[0], static_cast(raw_table_size_), static_cast(0x00)); + } + + filter(const filter& filter) + { + this->operator=(filter); + } + + inline bool operator == (const filter& f) const + { + if (this != &f) + { + return + (salt_count_ == f.salt_count_) && + (table_size_ == f.table_size_) && + (raw_table_size_ == f.raw_table_size_) && + (projected_element_count_ == f.projected_element_count_) && + (inserted_element_count_ == f.inserted_element_count_) && + (random_seed_ == f.random_seed_) && + (desired_false_positive_probability_ == f.desired_false_positive_probability_) && + (salt_ == f.salt_) && + std::equal(f.bit_table_, f.bit_table_ + raw_table_size_, bit_table_); + } + else + return true; + } + + inline bool operator != (const filter& f) const + { + return !operator==(f); + } + + inline filter& operator = (const filter& f) + { + if (this != &f) + { + salt_count_ = f.salt_count_; + table_size_ = f.table_size_; + raw_table_size_ = f.raw_table_size_; + projected_element_count_ = f.projected_element_count_; + inserted_element_count_ = f.inserted_element_count_; + random_seed_ = f.random_seed_; + desired_false_positive_probability_ = f.desired_false_positive_probability_; + delete[] bit_table_; + bit_table_ = new cell_type[static_cast(raw_table_size_)]; + std::copy(f.bit_table_, f.bit_table_ + raw_table_size_, bit_table_); + salt_ = f.salt_; + } + return *this; + } + + virtual ~filter() + { + delete[] bit_table_; + } + + inline bool operator!() const + { + return (0 == table_size_); + } + + inline void clear() + { + std::fill_n(&bit_table_[0], static_cast(raw_table_size_), static_cast(0x00)); + inserted_element_count_ = 0; + } + + inline void insert(const unsigned char* key_begin, const std::size_t& length) + { + std::size_t bit_index = 0; + std::size_t bit = 0; + for (std::size_t i = 0; i < salt_.size(); ++i) + { + compute_indices(hash_ap(key_begin,length,salt_[i]), bit_index, bit); + bit_table_[bit_index / bits_per_char] |= bit_mask[bit]; + } + ++inserted_element_count_; + } + + template + inline void insert(const T& t) + { + // Note: T must be a C++ POD type. + insert(reinterpret_cast(&t),sizeof(T)); + } + + inline void insert(const std::string& key) + { + insert(reinterpret_cast(to_ptr(key)),key.size()); + } + + inline void insert(const char* data, const std::size_t& length) + { + insert(reinterpret_cast(data),length); + } + + template + inline void insert(const InputIterator begin, const InputIterator end) + { + InputIterator itr = begin; + while (end != itr) + { + insert(*(itr++)); + } + } + + inline virtual bool contains(const unsigned char* key_begin, const std::size_t length) const + { + std::size_t bit_index = 0; + std::size_t bit = 0; + for (std::size_t i = 0; i < salt_.size(); ++i) + { + compute_indices(hash_ap(key_begin,length,salt_[i]),bit_index,bit); + if ((bit_table_[bit_index / bits_per_char] & bit_mask[bit]) != bit_mask[bit]) + { + return false; + } + } + return true; + } + + template + inline bool contains(const T& t) const + { + return contains(reinterpret_cast(&t),static_cast(sizeof(T))); + } + + inline bool contains(const std::string& key) const + { + return contains(reinterpret_cast(to_ptr(key)),key.size()); + } + + inline bool contains(const char* data, const std::size_t& length) const + { + return contains(reinterpret_cast(data),length); + } + + template + inline InputIterator contains_all(const InputIterator begin, const InputIterator end) const + { + InputIterator itr = begin; + while (end != itr) + { + if (!contains(*itr)) + { + return itr; + } + ++itr; + } + return end; + } + + template + inline InputIterator contains_none(const InputIterator begin, const InputIterator end) const + { + InputIterator itr = begin; + while (end != itr) + { + if (contains(*itr)) + { + return itr; + } + ++itr; + } + return end; + } + + inline virtual unsigned long long int size() const + { + return table_size_; + } + + inline std::size_t element_count() const + { + return inserted_element_count_; + } + + inline double effective_fpp() const + { + /* + Note: + The effective false positive probability is calculated using the + designated table size and hash function count in conjunction with + the current number of inserted elements - not the user defined + predicated/expected number of inserted elements. + */ + return std::pow(1.0 - std::exp(-1.0 * salt_.size() * inserted_element_count_ / size()), 1.0 * salt_.size()); + } + + inline filter& operator &= (const filter& f) + { + /* intersection */ + if ( + (salt_count_ == f.salt_count_) && + (table_size_ == f.table_size_) && + (random_seed_ == f.random_seed_) + ) + { + for (std::size_t i = 0; i < raw_table_size_; ++i) + { + bit_table_[i] &= f.bit_table_[i]; + } + } + return *this; + } + + inline filter& operator |= (const filter& f) + { + /* union */ + if ( + (salt_count_ == f.salt_count_) && + (table_size_ == f.table_size_) && + (random_seed_ == f.random_seed_) + ) + { + for (std::size_t i = 0; i < raw_table_size_; ++i) + { + bit_table_[i] |= f.bit_table_[i]; + } + } + return *this; + } + + inline filter& operator ^= (const filter& f) + { + /* difference */ + if ( + (salt_count_ == f.salt_count_) && + (table_size_ == f.table_size_) && + (random_seed_ == f.random_seed_) + ) + { + for (std::size_t i = 0; i < raw_table_size_; ++i) + { + bit_table_[i] ^= f.bit_table_[i]; + } + } + return *this; + } + + inline const cell_type* table() const + { + return bit_table_; + } + + inline bool write_to_file(const std::string& file_name) const + { + if (0 == table_size_) + return false; + const std::size_t buffer_size = sizeof( salt_count_) + + sizeof( table_size_) + + sizeof( raw_table_size_) + + sizeof( projected_element_count_) + + sizeof( inserted_element_count_) + + sizeof( random_seed_) + + sizeof(desired_false_positive_probability_) + + salt_count_ * sizeof( bloom_type) + + static_cast(raw_table_size_) * + sizeof(cell_type) + + 64; // handle array sizes etc. + std::ofstream ostream(file_name.c_str(),std::ios::binary); + if (!ostream) + return false; + unsigned char* buffer = new unsigned char[buffer_size]; + strtk::binary::writer writer(buffer,buffer_size); + writer.reset(true); + bool result = writer(salt_count_) && + writer(table_size_) && + writer(raw_table_size_) && + writer(projected_element_count_) && + writer(inserted_element_count_) && + writer(random_seed_) && + writer(desired_false_positive_probability_) && + writer(salt_) && + writer(bit_table_,raw_table_size_); + if (result) + { + writer(ostream); + } + ostream.close(); + delete[] buffer; + return result; + } + + inline bool read_from_file(const std::string& file_name) + { + std::ifstream istream(file_name.c_str(),std::ios::binary); + + if (!istream) + return false; + + salt_count_ = 0; + table_size_ = 0; + raw_table_size_ = 0; + projected_element_count_ = 0; + inserted_element_count_ = 0; + random_seed_ = 0; + desired_false_positive_probability_ = 0.0; + salt_.clear(); + + if (0 != bit_table_) + delete [] bit_table_; + + bit_table_= 0; + const std::size_t buffer_size = strtk::fileio::file_size(file_name); + unsigned char* buffer = new unsigned char[buffer_size]; + + strtk::binary::reader reader(buffer,buffer_size); + reader.reset(true); + reader(istream,buffer_size); + istream.close(); + + bool result = reader(salt_count_) && + reader(table_size_) && + reader(raw_table_size_) && + reader(projected_element_count_) && + reader(inserted_element_count_) && + reader(random_seed_) && + reader(desired_false_positive_probability_) && + reader(salt_) && + reader(bit_table_,raw_table_size_); + + delete[] buffer; + + return result; + } + + inline std::size_t hash_count() + { + return salt_.size(); + } + + protected: + + inline virtual void compute_indices(const bloom_type& hash, std::size_t& bit_index, std::size_t& bit) const + { + bit_index = static_cast(hash % table_size_); + bit = bit_index % bits_per_char; + } + + void generate_unique_salt() + { + /* + Note: + A distinct hash function need not be implementation-wise + distinct. In the current implementation "seeding" a common + hash function with different values seems to be adequate. + */ + const unsigned int predef_salt_count = 128; + static const bloom_type predef_salt[predef_salt_count] = + { + 0xAAAAAAAA, 0x55555555, 0x33333333, 0xCCCCCCCC, + 0x66666666, 0x99999999, 0xB5B5B5B5, 0x4B4B4B4B, + 0xAA55AA55, 0x55335533, 0x33CC33CC, 0xCC66CC66, + 0x66996699, 0x99B599B5, 0xB54BB54B, 0x4BAA4BAA, + 0xAA33AA33, 0x55CC55CC, 0x33663366, 0xCC99CC99, + 0x66B566B5, 0x994B994B, 0xB5AAB5AA, 0xAAAAAA33, + 0x555555CC, 0x33333366, 0xCCCCCC99, 0x666666B5, + 0x9999994B, 0xB5B5B5AA, 0xFFFFFFFF, 0xFFFF0000, + 0xB823D5EB, 0xC1191CDF, 0xF623AEB3, 0xDB58499F, + 0xC8D42E70, 0xB173F616, 0xA91A5967, 0xDA427D63, + 0xB1E8A2EA, 0xF6C0D155, 0x4909FEA3, 0xA68CC6A7, + 0xC395E782, 0xA26057EB, 0x0CD5DA28, 0x467C5492, + 0xF15E6982, 0x61C6FAD3, 0x9615E352, 0x6E9E355A, + 0x689B563E, 0x0C9831A8, 0x6753C18B, 0xA622689B, + 0x8CA63C47, 0x42CC2884, 0x8E89919B, 0x6EDBD7D3, + 0x15B6796C, 0x1D6FDFE4, 0x63FF9092, 0xE7401432, + 0xEFFE9412, 0xAEAEDF79, 0x9F245A31, 0x83C136FC, + 0xC3DA4A8C, 0xA5112C8C, 0x5271F491, 0x9A948DAB, + 0xCEE59A8D, 0xB5F525AB, 0x59D13217, 0x24E7C331, + 0x697C2103, 0x84B0A460, 0x86156DA9, 0xAEF2AC68, + 0x23243DA5, 0x3F649643, 0x5FA495A8, 0x67710DF8, + 0x9A6C499E, 0xDCFB0227, 0x46A43433, 0x1832B07A, + 0xC46AFF3C, 0xB9C8FFF0, 0xC9500467, 0x34431BDF, + 0xB652432B, 0xE367F12B, 0x427F4C1B, 0x224C006E, + 0x2E7E5A89, 0x96F99AA5, 0x0BEB452A, 0x2FD87C39, + 0x74B2E1FB, 0x222EFD24, 0xF357F60C, 0x440FCB1E, + 0x8BBE030F, 0x6704DC29, 0x1144D12F, 0x948B1355, + 0x6D8FD7E9, 0x1C11A014, 0xADD1592F, 0xFB3C712E, + 0xFC77642F, 0xF9C4CE8C, 0x31312FB9, 0x08B0DD79, + 0x318FA6E7, 0xC040D23D, 0xC0589AA7, 0x0CA5C075, + 0xF874B172, 0x0CF914D5, 0x784D3280, 0x4E8CFEBC, + 0xC569F575, 0xCDB2A091, 0x2CC016B4, 0x5C5F4421 + }; + + if (salt_count_ <= predef_salt_count) + { + std::copy(predef_salt, + predef_salt + salt_count_, + std::back_inserter(salt_)); + for (unsigned int i = 0; i < salt_.size(); ++i) + { + /* + Note: + This is done to integrate the user defined random seed, + so as to allow for the generation of unique bloom filter + instances. + */ + salt_[i] = salt_[i] * salt_[(i + 3) % salt_.size()] + static_cast(random_seed_); + } + } + else + { + std::copy(predef_salt,predef_salt + predef_salt_count,std::back_inserter(salt_)); + srand(static_cast(random_seed_)); + + while (salt_.size() < salt_count_) + { + bloom_type current_salt = static_cast(rand()) * static_cast(rand()); + + if (0 == current_salt) continue; + if (salt_.end() == std::find(salt_.begin(), salt_.end(), current_salt)) + { + salt_.push_back(current_salt); + } + } + } + } + + inline bloom_type hash_ap(const unsigned char* begin, std::size_t remaining_length, bloom_type hash) const + { + const unsigned char* itr = begin; + unsigned int loop = 0; + + while (remaining_length >= 8) + { + const unsigned int& i1 = *(reinterpret_cast(itr)); itr += sizeof(unsigned int); + const unsigned int& i2 = *(reinterpret_cast(itr)); itr += sizeof(unsigned int); + hash ^= (hash << 7) ^ i1 * (hash >> 3) ^ + (~((hash << 11) + (i2 ^ (hash >> 5)))); + remaining_length -= 8; + } + + if (remaining_length) + { + if (remaining_length >= 4) + { + const unsigned int& i = *(reinterpret_cast(itr)); + if (loop & 0x01) + hash ^= (hash << 7) ^ i * (hash >> 3); + else + hash ^= (~((hash << 11) + (i ^ (hash >> 5)))); + ++loop; + remaining_length -= 4; + itr += sizeof(unsigned int); + } + + if (remaining_length >= 2) + { + const unsigned short& i = *(reinterpret_cast(itr)); + if (loop & 0x01) + hash ^= (hash << 7) ^ i * (hash >> 3); + else + hash ^= (~((hash << 11) + (i ^ (hash >> 5)))); + ++loop; + remaining_length -= 2; + itr += sizeof(unsigned short); + } + + if (remaining_length) + { + hash += ((*itr) ^ (hash * 0xA5A5A5A5)) + loop; + } + } + + return hash; + } + + std::vector salt_; + unsigned char* bit_table_; + unsigned int salt_count_; + unsigned long long int table_size_; + unsigned long long int raw_table_size_; + unsigned long long int projected_element_count_; + unsigned int inserted_element_count_; + unsigned long long int random_seed_; + double desired_false_positive_probability_; + }; + + inline filter operator & (const filter& a, const filter& b) + { + filter result = a; + result &= b; + return result; + } + + inline filter operator | (const filter& a, const filter& b) + { + filter result = a; + result |= b; + return result; + } + + inline filter operator ^ (const filter& a, const filter& b) + { + filter result = a; + result ^= b; + return result; + } + + class compressible_filter : public filter + { + public: + + compressible_filter(const parameters& p) + : filter(p) + { + size_list.push_back(table_size_); + } + + inline virtual unsigned long long int size() const + { + return size_list.back(); + } + + inline bool compress(const double& percentage) + { + if ((0.0 >= percentage) || (percentage >= 100.0)) + { + return false; + } + + unsigned long long int original_table_size = size_list.back(); + unsigned long long int new_table_size = static_cast((size_list.back() * (1.0 - (percentage / 100.0)))); + new_table_size -= (((new_table_size % bits_per_char) != 0) ? (new_table_size % bits_per_char) : 0); + + if ((bits_per_char > new_table_size) || (new_table_size >= original_table_size)) + { + return false; + } + + desired_false_positive_probability_ = effective_fpp(); + cell_type* tmp = new cell_type[static_cast(new_table_size / bits_per_char)]; + std::copy(bit_table_, bit_table_ + (new_table_size / bits_per_char), tmp); + cell_type* itr = bit_table_ + (new_table_size / bits_per_char); + cell_type* end = bit_table_ + (original_table_size / bits_per_char); + cell_type* itr_tmp = tmp; + + while (end != itr) + { + *(itr_tmp++) |= (*itr++); + } + + delete[] bit_table_; + bit_table_ = tmp; + size_list.push_back(new_table_size); + + return true; + } + + private: + + inline virtual void compute_indices(const bloom_type& hash, std::size_t& bit_index, std::size_t& bit) const + { + bit_index = hash; + for (std::size_t i = 0; i < size_list.size(); ++i) + { + bit_index %= size_list[i]; + } + bit = bit_index % bits_per_char; + } + + std::vector size_list; + }; + + } + + namespace details + { + + inline void compute_pod_hash(const char data[], unsigned int& hash) + { + hash ^= ((hash << 7) ^ data[0] * (hash >> 3)); + hash ^= ~((hash << 11) + (data[1] ^ (hash >> 5))); + } + + inline void compute_pod_hash(const unsigned char data[], unsigned int& hash) + { + hash ^= ((hash << 7) ^ data[0] * (hash >> 3)); + hash ^= ~((hash << 11) + (data[1] ^ (hash >> 5))); + } + + inline void compute_pod_hash(const int& data, unsigned int& hash) + { + const unsigned char* itr = reinterpret_cast(&data); + hash ^= ((hash << 7) ^ itr[0] * (hash >> 3)); + hash ^= ~((hash << 11) + (itr[1] ^ (hash >> 5))); + hash ^= ((hash << 7) ^ itr[2] * (hash >> 3)); + hash ^= ~((hash << 11) + (itr[3] ^ (hash >> 5))); + } + + inline void compute_pod_hash(const unsigned int& data, unsigned int& hash) + { + compute_pod_hash(static_cast(data),hash); + } + + inline void compute_pod_hash(const unsigned long long int& data, unsigned int& hash) + { + const unsigned char* itr = reinterpret_cast(&data); + hash ^= ((hash << 7) ^ itr[0] * (hash >> 3)); + hash ^= ~((hash << 11) + (itr[1] ^ (hash >> 5))); + hash ^= ((hash << 7) ^ itr[2] * (hash >> 3)); + hash ^= ~((hash << 11) + (itr[3] ^ (hash >> 5))); + hash ^= ((hash << 7) ^ itr[4] * (hash >> 3)); + hash ^= ~((hash << 11) + (itr[5] ^ (hash >> 5))); + hash ^= ((hash << 7) ^ itr[6] * (hash >> 3)); + hash ^= ~((hash << 11) + (itr[7] ^ (hash >> 5))); + } + + inline void compute_pod_hash(const double& data, unsigned int& hash) + { + const unsigned char* itr = reinterpret_cast(&data); + hash ^= ((hash << 7) ^ itr[0] * (hash >> 3)); + hash ^= ~((hash << 11) + (itr[1] ^ (hash >> 5))); + hash ^= ((hash << 7) ^ itr[2] * (hash >> 3)); + hash ^= ~((hash << 11) + (itr[3] ^ (hash >> 5))); + hash ^= ((hash << 7) ^ itr[4] * (hash >> 3)); + hash ^= ~((hash << 11) + (itr[5] ^ (hash >> 5))); + hash ^= ((hash << 7) ^ itr[6] * (hash >> 3)); + hash ^= ~((hash << 11) + (itr[7] ^ (hash >> 5))); + } + + template + inline void compute_block(Iterator itr, std::size_t& length, unsigned int& hash) + { + while (length >= block_size) + { + for (std::size_t i = 0; i < block_size; ++i, ++itr) + { + compute_pod_hash((*itr),hash); + } + length -= block_size; + } + } + + template + inline void compute_block(unsigned char* itr, std::size_t& length, unsigned int& hash) + { + unsigned int local_hash = hash; + + while (length >= block_size) + { + for (std::size_t i = 0; i < block_size; ++i, ++itr) + { + compute_pod_hash((*itr),local_hash); + } + length -= block_size; + } + + hash = local_hash; + } + + template + inline void compute_block(char* itr, std::size_t& length, unsigned int& hash) + { + compute_block(reinterpret_cast(itr),length,hash); + } + + static const unsigned int hash_seed = 0xAAAAAAAA; + + template + inline void hash(const Iterator itr, std::size_t length, unsigned int& hash_value) + { + if (length >= 64) compute_block<64>(itr,length,hash_value); + if (length >= 32) compute_block<32>(itr,length,hash_value); + if (length >= 16) compute_block<16>(itr,length,hash_value); + if (length >= 8) compute_block< 8>(itr,length,hash_value); + if (length >= 4) compute_block< 4>(itr,length,hash_value); + if (length >= 2) compute_block< 2>(itr,length,hash_value); + if (length == 0) compute_block< 1>(itr,length,hash_value); + } + + } // namespace details + + template + inline unsigned int hash(const Iterator itr, + std::size_t length, + unsigned int seed = details::hash_seed) + { + unsigned int hash_value = seed; + details::hash(itr,length,hash_value); + return hash_value; + } + + inline unsigned int hash(const std::string& s, unsigned int seed = details::hash_seed) + { + unsigned int hash_value = seed; + return hash(s.begin(),s.size(),hash_value); + } + + template class Sequence> + inline unsigned int hash(const Sequence& sequence, unsigned int seed = details::hash_seed) + { + unsigned int hash_value = seed; + return hash(sequence.begin(),sequence.size(),hash_value); + } + + namespace util + { + template + class scoped_restore + { + public: + + scoped_restore(T& t, const bool restore = true) + : restore_(restore), + reference_(t), + copy_(t) + {} + + ~scoped_restore() + { + if (restore_) + { + reference_ = copy_; + } + } + + inline bool& restore() + { + return restore_; + } + + private: + + scoped_restore(const scoped_restore&); + scoped_restore& operator=(const scoped_restore&); + + bool restore_; + T& reference_; + T copy_; + }; + + template + class attribute + { + public: + + attribute() + : initialised_(false) + {} + + attribute(const T& t) + { + assign(t); + prev_t_ = t; + } + + inline attribute& operator=(const T& t) + { + prev_t_ = t_; + assign(t); + return *this; + } + + inline bool operator==(const T& t) + { + return initialised_ && (t_ == t); + } + + template + inline bool operator!=(const TConvertibleType& t) + { + return !(operator==(t)); + } + + inline T& operator()() + { + return t_; + } + + inline const T& operator()() const + { + return t_; + } + + inline operator T() const + { + return t_; + } + + inline operator T() + { + return t_; + } + + inline bool initialised() const + { + return initialised_; + } + + inline bool& initialised() + { + return initialised_; + } + + inline bool changed() const + { + return (initialised_ && (t_ != prev_t_)); + } + + inline const T& value() const + { + return t_; + } + + inline T& value() + { + return t_; + } + + inline const T& previous() const + { + return prev_t_; + } + + inline T& previous() + { + return prev_t_; + } + + private: + + inline void assign(const T& t) + { + t_ = t; + initialised_ = true; + } + + T t_; + T prev_t_; + bool initialised_; + }; + + inline bool operator==(const char* s, const attribute& attrib) + { + return attrib.value() == s; + } + + inline bool operator!=(const char* s, const attribute& attrib) + { + return !(s == attrib.value()); + } + + template + static inline std::ostream& operator<<(std::ostream& os, const attribute& attrib) + { + return (os << attrib.value()); + } + + class semantic_action_impl + { + private: + + class function_holder_base + { + public: + + typedef const unsigned char* itr_type; + + virtual ~function_holder_base(){} + + virtual bool operator()(itr_type begin, itr_type end) const = 0; + + inline bool operator()(const char* begin, const char* end) const + { + return operator()(reinterpret_cast(begin), + reinterpret_cast(end)); + } + + template + inline bool operator()(const std::pair& p) const + { + return operator()(p.first,p.second); + } + }; + + template + class function_holder : public function_holder_base + { + public: + + explicit function_holder(Function& f) + : function_(&f) + {} + + inline virtual bool operator()(itr_type begin, itr_type end) const + { + return (*function_)(begin,end); + } + + private: + + Function* function_; + }; + + public: + + semantic_action_impl() + : function_holder_(0) + { + std::fill_n(function_holder_buffer_, sizeof(function_holder_buffer_), static_cast(0x00)); + } + + template + inline explicit semantic_action_impl(const Function& f) + { + std::fill_n(function_holder_buffer_, sizeof(function_holder_buffer_), static_cast(0x00)); + assign(f); + } + + inline bool operator!() const + { + return (0 == function_holder_); + } + + inline bool operator==(const semantic_action_impl& sa) const + { + return (0 != function_holder_) && + (0 != sa.function_holder_) && + (function_holder_ == sa.function_holder_); + } + + template + inline bool operator()(InputIterator begin, InputIterator end) const + { + if (0 != function_holder_) + return (*function_holder_).operator()(begin,end); + else + return false; + } + + template + inline bool operator()(const std::pair& r) const + { + return operator()(r.first,r.second); + } + + inline bool operator()(const std::string& s) const + { + return operator()(to_ptr(s), to_ptr(s) + s.size()); + } + + template + inline void assign(Function& f) + { + static const std::size_t type_size = sizeof(function_holder(f)); + function_holder_ = construct::type(f,function_holder_buffer_); + } + + inline semantic_action_impl& ref() + { + return (*this); + } + + private: + + typedef function_holder_base* function_holder_ptr; + + inline semantic_action_impl& operator=(const semantic_action_impl&); + + template + struct construct + { + inline static function_holder_ptr type(Function&, unsigned char*) + { + return reinterpret_cast(0); + } + }; + + template + struct construct + { + inline static function_holder_ptr type(Function& f, unsigned char* buffer) + { + return new(buffer)function_holder(f); + } + }; + + function_holder_ptr function_holder_; + enum { function_holder_buffer_size = 64 }; + unsigned char function_holder_buffer_[function_holder_buffer_size]; + }; + + template + inline semantic_action_impl semantic_action(Function& f) + { + return semantic_action_impl(f); + } + + } // namespace util + + namespace details + { + #define strtk_register_attribute_type_tag(T) \ + template<> struct supported_conversion_to_type< strtk::util::attribute >{ typedef attribute_type_tag type; }; \ + template<> struct supported_conversion_from_type< strtk::util::attribute > { typedef attribute_type_tag type; };\ + + strtk_register_attribute_type_tag(unsigned short) + strtk_register_attribute_type_tag(unsigned int) + strtk_register_attribute_type_tag(unsigned long) + strtk_register_attribute_type_tag(unsigned long long int) + strtk_register_attribute_type_tag(short) + strtk_register_attribute_type_tag(int) + strtk_register_attribute_type_tag(long) + strtk_register_attribute_type_tag(long long) + strtk_register_attribute_type_tag(float) + strtk_register_attribute_type_tag(double) + strtk_register_attribute_type_tag(long double) + strtk_register_attribute_type_tag(unsigned char) + strtk_register_attribute_type_tag(signed char) + strtk_register_attribute_type_tag(char) + strtk_register_attribute_type_tag(std::string) + + template + inline bool string_to_type_converter_impl(Iterator& itr, const Iterator end, strtk::util::attribute& result, attribute_type_tag) + { + if (strtk::string_to_type_converter(itr,end,result.value())) + { + result.initialised() = true; + return true; + } + else + return false; + } + + template + inline bool type_to_string_converter_impl(const strtk::util::attribute& attrib, std::string& result, attribute_type_tag) + { + if (!attrib.initialised()) + return false; + return strtk::type_to_string(attrib.value(),result); + } + + #undef strtk_register_attribute_type_tag + + template<> struct supported_conversion_to_type < strtk::util::semantic_action_impl > { typedef semantic_action_type_tag type; }; + template<> struct supported_conversion_from_type< strtk::util::semantic_action_impl > { typedef semantic_action_type_tag type; }; + + template + inline bool string_to_type_converter_impl(Iterator& itr, const Iterator end, strtk::util::semantic_action_impl& result, semantic_action_type_tag) + { + return result(itr,end); + } + + inline bool type_to_string_converter_impl(const strtk::util::semantic_action_impl&, std::string& result, semantic_action_type_tag) + { + static std::string result_str = "semantic_action"; + result = result_str; + return true; + } + + } // namespace details + + namespace util + { + class value + { + private: + + class type_holder_base + { + public: + + typedef const unsigned char* itr_type; + + virtual ~type_holder_base(){} + + virtual bool operator()(itr_type begin, itr_type end) const = 0; + + virtual bool to_string(std::string& s) const = 0; + + inline bool operator()(const char* begin, const char* end) const + { + return operator()(reinterpret_cast(begin), + reinterpret_cast(end)); + } + + template + inline bool operator()(const std::pair& p) const + { + return operator()(p.first,p.second); + } + }; + + template + class type_holder : public type_holder_base + { + public: + + typedef T* type_ptr; + + explicit type_holder(T& t) + : value_ptr_(&t) + {} + + inline virtual bool operator()(itr_type begin, itr_type end) const + { + return strtk::string_to_type_converter(begin,end,(*value_ptr_)); + } + + inline virtual bool to_string(std::string& s) const + { + return strtk::type_to_string((*value_ptr_),s); + } + + inline operator T() const + { + return (*value_ptr_); + } + + private: + + type_ptr value_ptr_; + }; + + public: + + value() + : type_holder_(0) + { + std::fill_n(type_holder_buffer_, sizeof(type_holder_buffer_), static_cast(0x00)); + } + + template + inline explicit value(T& t) + { + std::fill_n(type_holder_buffer_, sizeof(type_holder_buffer_), static_cast(0x00)); + assign(t); + } + + inline bool operator!() const + { + return (0 == type_holder_); + } + + inline bool operator==(const value& v) const + { + return (0 != type_holder_) && + (0 != v.type_holder_) && + (type_holder_ == v.type_holder_); + } + + inline value& operator=(const value& v) + { + if (&v != this) + { + if (0 != v.type_holder_) + { + std::copy(v.type_holder_buffer_, + v.type_holder_buffer_ + type_holder_buffer_size, + type_holder_buffer_); + type_holder_ = reinterpret_cast(type_holder_buffer_); + } + } + return *this; + } + + template + inline bool operator()(InputIterator begin, InputIterator end) const + { + if (0 != type_holder_) + return (*type_holder_).operator()(begin,end); + else + return false; + } + + template + inline bool operator()(const std::pair& r) const + { + return operator()(r.first,r.second); + } + + inline bool operator()(const std::string& s) const + { + return operator()(to_ptr(s), to_ptr(s) + s.size()); + } + + template + inline void assign(T& t) + { + static const std::size_t type_size = sizeof(type_holder(t)); + type_holder_ = construct::type(t,type_holder_buffer_); + } + + inline bool to_string(std::string& s) const + { + if (0 != type_holder_) + return (*type_holder_).to_string(s); + else + return false; + } + + template + inline operator T() const + { + if (0 != type_holder_) + return (*type_holder_); + else + return T(); + } + + private: + + typedef type_holder_base* type_holder_ptr; + + template + struct construct + { + inline static type_holder_ptr type(T&, unsigned char*) + { + return reinterpret_cast(0); + } + }; + + template + struct construct + { + inline static type_holder_ptr type(T& t, unsigned char* buffer) + { + return new(buffer)type_holder(t); + } + }; + + type_holder_ptr type_holder_; + enum { type_holder_buffer_size = 2 * sizeof(type_holder) }; + unsigned char type_holder_buffer_[type_holder_buffer_size]; + }; + + namespace details + { + template + inline void make_key_list_impl(const std::map& map, + OutputIterator out) + { + if (map.empty()) return; + + typedef typename std::map map_type; + + typename map_type::const_iterator itr = map.begin(); + typename map_type::const_iterator end = map.end(); + + while (end != itr) + { + *out++ = (itr++)->first; + } + } + } + + template + inline void make_key_list(const std::map& map, + std::set& set) + { + details::make_key_list_impl(map,std::inserter(set,set.begin())); + } + + template + inline void make_key_list(const std::map& map, + std::multiset& multiset) + { + details::make_key_list_impl(map,std::inserter(multiset,multiset.begin())); + } + + #define strtk_def_mkky_list(Type) \ + template \ + inline void make_key_list(const std::map& map, \ + Type& sequence) \ + { \ + details::make_key_list_impl(map,std::back_inserter(sequence)); \ + } \ + + strtk_def_mkky_list(std::vector) + strtk_def_mkky_list(std::deque ) + strtk_def_mkky_list(std::list ) + strtk_def_mkky_list(std::queue ) + + #undef strtk_def_mkky_list + + template + inline void make_value_list(const std::multimap& map, + const Key& key, + OutputIterator out) + { + if (map.empty()) return; + typedef typename std::multimap map_type; + typename map_type::const_iterator itr = map.find(key); + typename map_type::const_iterator end = map.end(); + while ((end != itr) && (key == itr->first)) + { + *out++ = (itr++)->second; + } + } + + template class Sequence> + inline void make_value_list(const std::multimap& map, + const Key& key, + Sequence& sequence) + { + make_value_list(map,key,std::back_inserter(sequence)); + } + + template class Sequence> + inline void delete_all(Sequence& sequence) + { + typename Sequence::iterator itr = sequence.begin(); + typename Sequence::iterator end = sequence.end(); + + while (end != itr) + { + delete (*itr); + ++itr; + } + + sequence.clear(); + } + + template + inline void delete_all(std::map& cont) + { + typename std::map::iterator itr = cont.begin(); + typename std::map::iterator end = cont.end(); + + while (end != itr) + { + delete (*itr).second; + ++itr; + } + + cont.clear(); + } + + template + inline void delete_all(std::multimap& cont) + { + typename std::multimap::iterator itr = cont.begin(); + typename std::multimap::iterator end = cont.end(); + + while (end != itr) + { + delete (*itr).second; + ++itr; + } + + cont.clear(); + } + + template + inline void delete_all(std::set& cont) + { + typename std::set::iterator itr = cont.begin(); + typename std::set::iterator end = cont.end(); + + while (end != itr) + { + delete (*itr); + ++itr; + } + + cont.clear(); + } + + template + inline void delete_all(std::multiset& cont) + { + typename std::multiset::iterator itr = cont.begin(); + typename std::multiset::iterator end = cont.end(); + + while (end != itr) + { + delete (*itr); + ++itr; + } + + cont.clear(); + } + + template class Sequence> + inline void delete_if(const Predicate& p, + Sequence& sequence) + { + typename Sequence::iterator itr = sequence.begin(); + + while (sequence.end() != itr) + { + if (p(*itr)) + { + delete (*itr); + itr = sequence.erase(itr); + } + else + ++itr; + } + } + + template + inline void delete_if(const Predicate& p, + std::map& cont) + { + typename std::map::iterator itr = cont.begin(); + + while (cont.end() != itr) + { + if (p(*itr)) + { + delete (*itr).second; + itr = cont.erase(itr); + } + else + ++itr; + } + } + + template + inline void delete_if(const Predicate& p, + std::multimap& cont) + { + typename std::multimap::iterator itr = cont.begin(); + + while (cont.end() != itr) + { + if (p(*itr)) + { + delete (*itr).second; + itr = cont.erase(itr); + } + else + ++itr; + } + } + + template + inline void delete_if(const Predicate& p, + std::set& cont) + { + typename std::set::iterator itr = cont.begin(); + + while (cont.end() != itr) + { + if (p(*itr)) + { + delete (*itr).second; + itr = cont.erase(itr); + } + else + ++itr; + } + } + + template + inline void delete_if(const Predicate& p, + std::multiset& cont) + { + typename std::multiset::iterator itr = cont.begin(); + + while (cont.end() != itr) + { + if (p(*itr)) + { + delete (*itr).second; + itr = cont.erase(itr); + } + else + ++itr; + } + } + + template class Sequence> + inline void push_back(Sequence& sequence, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6, const T& v7, const T& v8, + const T& v9, const T& v10, const T& v11) + { + sequence.push_back( v1); sequence.push_back( v2); + sequence.push_back( v3); sequence.push_back( v4); + sequence.push_back( v5); sequence.push_back( v6); + sequence.push_back( v7); sequence.push_back( v8); + sequence.push_back( v9); sequence.push_back(v10); + sequence.push_back(v11); + } + + template class Sequence> + inline void push_back(Sequence& sequence, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6, const T& v7, const T& v8, + const T& v9, const T& v10) + { + sequence.push_back(v1); sequence.push_back( v2); + sequence.push_back(v3); sequence.push_back( v4); + sequence.push_back(v5); sequence.push_back( v6); + sequence.push_back(v7); sequence.push_back( v8); + sequence.push_back(v9); sequence.push_back(v10); + } + + template class Sequence> + inline void push_back(Sequence& sequence, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6, const T& v7, const T& v8, + const T& v9) + { + sequence.push_back(v1); sequence.push_back(v2); + sequence.push_back(v3); sequence.push_back(v4); + sequence.push_back(v5); sequence.push_back(v6); + sequence.push_back(v7); sequence.push_back(v8); + sequence.push_back(v9); + } + + template class Sequence> + inline void push_back(Sequence& sequence, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6, const T& v7, const T& v8) + { + sequence.push_back(v1); sequence.push_back(v2); + sequence.push_back(v3); sequence.push_back(v4); + sequence.push_back(v5); sequence.push_back(v6); + sequence.push_back(v7); sequence.push_back(v8); + } + + template class Sequence> + inline void push_back(Sequence& sequence, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6, const T& v7) + { + sequence.push_back(v1); sequence.push_back(v2); + sequence.push_back(v3); sequence.push_back(v4); + sequence.push_back(v5); sequence.push_back(v6); + sequence.push_back(v7); + } + + template class Sequence> + inline void push_back(Sequence& sequence, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6) + { + sequence.push_back(v1); sequence.push_back(v2); + sequence.push_back(v3); sequence.push_back(v4); + sequence.push_back(v5); sequence.push_back(v6); + } + + template class Sequence> + inline void push_back(Sequence& sequence, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5) + { + sequence.push_back(v1); sequence.push_back(v2); + sequence.push_back(v3); sequence.push_back(v4); + sequence.push_back(v5); + } + + template class Sequence> + inline void push_back(Sequence& sequence, + const T& v1, const T& v2, const T& v3, const T& v4) + { + sequence.push_back(v1); sequence.push_back(v2); + sequence.push_back(v3); sequence.push_back(v4); + } + + template class Sequence> + inline void push_back(Sequence& sequence, + const T& v1, const T& v2, const T& v3) + { + sequence.push_back(v1); sequence.push_back(v2); + sequence.push_back(v3); + } + + template class Sequence> + inline void push_back(Sequence& sequence, + const T& v1, const T& v2) + { + sequence.push_back(v1); sequence.push_back(v2); + } + + template class Sequence> + inline void push_back(Sequence& sequence, + const T& v1) + { + sequence.push_back(v1); + } + + template + inline void push_back(std::set& set, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6, const T& v7, const T& v8, + const T& v9, const T& v10) + { + set.insert(v1); set.insert( v2); + set.insert(v3); set.insert( v4); + set.insert(v5); set.insert( v6); + set.insert(v7); set.insert( v8); + set.insert(v9); set.insert(v10); + } + + template + inline void push_back(std::set& set, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6, const T& v7, const T& v8, + const T& v9) + { + set.insert(v1); set.insert(v2); + set.insert(v3); set.insert(v4); + set.insert(v5); set.insert(v6); + set.insert(v7); set.insert(v8); + set.insert(v9); + } + + template + inline void push_back(std::set& set, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6, const T& v7, const T& v8) + { + set.insert(v1); set.insert(v2); + set.insert(v3); set.insert(v4); + set.insert(v5); set.insert(v6); + set.insert(v7); set.insert(v8); + } + + template + inline void push_back(std::set& set, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6, const T& v7) + { + set.insert(v1); set.insert(v2); + set.insert(v3); set.insert(v4); + set.insert(v5); set.insert(v6); + set.insert(v7); + } + + template + inline void push_back(std::set& set, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6) + { + set.insert(v1); set.insert(v2); + set.insert(v3); set.insert(v4); + set.insert(v5); set.insert(v6); + } + + template + inline void push_back(std::set& set, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5) + { + set.insert(v1); set.insert(v2); + set.insert(v3); set.insert(v4); + set.insert(v5); + } + + template + inline void push_back(std::set& set, + const T& v1, const T& v2, const T& v3, const T& v4) + { + set.insert(v1); set.insert(v2); + set.insert(v3); set.insert(v4); + } + + template + inline void push_back(std::set& set, + const T& v1, const T& v2, const T& v3) + { + set.insert(v1); set.insert(v2); + set.insert(v3); + } + + template + inline void push_back(std::set& set, + const T& v1, const T& v2) + { + set.insert(v1); set.insert(v2); + } + + template + inline void push_back(std::set& set, + const T& v1) + { + set.insert(v1); + } + + template + inline void push_back(std::multiset& set, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6, const T& v7, const T& v8, + const T& v9, const T& v10) + { + set.insert(v1); set.insert( v2); + set.insert(v3); set.insert( v4); + set.insert(v5); set.insert( v6); + set.insert(v7); set.insert( v8); + set.insert(v9); set.insert(v10); + } + + template + inline void push_back(std::multiset& set, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6, const T& v7, const T& v8, + const T& v9) + { + set.insert(v1); set.insert(v2); + set.insert(v3); set.insert(v4); + set.insert(v5); set.insert(v6); + set.insert(v7); set.insert(v8); + set.insert(v9); + } + + template + inline void push_back(std::multiset& set, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6, const T& v7, const T& v8) + { + set.insert(v1); set.insert(v2); + set.insert(v3); set.insert(v4); + set.insert(v5); set.insert(v6); + set.insert(v7); set.insert(v8); + } + + template + inline void push_back(std::multiset& set, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6, const T& v7) + { + set.insert(v1); set.insert(v2); + set.insert(v3); set.insert(v4); + set.insert(v5); set.insert(v6); + set.insert(v7); + } + + template + inline void push_back(std::multiset& set, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5, const T& v6) + { + set.insert(v1); set.insert(v2); + set.insert(v3); set.insert(v4); + set.insert(v5); set.insert(v6); + } + + template + inline void push_back(std::multiset& set, + const T& v1, const T& v2, const T& v3, const T& v4, + const T& v5) + { + set.insert(v1); set.insert(v2); + set.insert(v3); set.insert(v4); + set.insert(v5); + } + + template + inline void push_back(std::multiset& set, + const T& v1, const T& v2, const T& v3, const T& v4) + { + set.insert(v1); set.insert(v2); + set.insert(v3); set.insert(v4); + } + + template + inline void push_back(std::multiset& set, + const T& v1, const T& v2, const T& v3) + { + set.insert(v1); set.insert(v2); + set.insert(v3); + } + + template + inline void push_back(std::multiset& set, + const T& v1, const T& v2) + { + set.insert(v1); set.insert(v2); + } + + template + inline void push_back(std::multiset& set, + const T& v1) + { + set.insert(v1); + } + + #define strtk_def_clear_seq(Type) \ + template \ + inline void clear(Type& cont) \ + { \ + Type null_cont; \ + std::swap(cont, null_cont); \ + } \ + + strtk_def_clear_seq(std::vector ) + strtk_def_clear_seq(std::deque ) + strtk_def_clear_seq(std::list ) + strtk_def_clear_seq(std::priority_queue) + strtk_def_clear_seq(std::stack ) + strtk_def_clear_seq(std::queue ) + #undef strtk_def_clear_seq + + #define strtk_def_clear_map(Type) \ + template \ + inline void clear(Type& cont) \ + { \ + Type null_cont; \ + std::swap(cont, null_cont); \ + } \ + + strtk_def_clear_map(std::set ) + strtk_def_clear_map(std::multiset) + strtk_def_clear_map(std::multimap) + #undef strtk_def_clear_map + + } // namespace util + + namespace details + { + template + struct column_list_impl + { + enum { size = N }; + std::size_t index_list[N]; + }; + + template + class column_selector_base + { + public: + + typedef column_selector_base csb_t; + typedef column_list_impl column_list_t; + + column_selector_base(const column_list_t& column_list) + : column_list_(column_list), + current_index_(0), + target_index_(column_list_.index_list[0]), + col_list_index_(0), + error_count_(0) + {} + + inline csb_t& operator*() + { + return (*this); + } + + inline csb_t& operator++() + { + return (*this); + } + + inline csb_t operator++(int) + { + return (*this); + } + + template + inline csb_t& operator=(const std::pair& r) + { + process(r); + return (*this); + } + + void reset() + { + current_index_ = 0; + col_list_index_ = 0; + target_index_ = column_list_.index_list[0]; + error_count_ = 0; + } + + protected: + + class colsel_value_list + { + public: + + typedef std::pair value_t; + + colsel_value_list() + : current_index(0) + { + static const value_t null_value(strtk::util::value(),false); + std::fill_n(value_list,N,null_value); + } + + template + inline void register_value(T& t) + { + if (current_index < N) + { + value_list[current_index].first.assign(t); + value_list[current_index].second = false; + ++current_index; + } + } + + std::size_t current_index; + value_t value_list[N]; + }; + + template + inline void process(const std::pair& r) + { + if (current_index_ > target_index_) + return; + else if (current_index_ == target_index_) + { + typename colsel_value_list::value_t& v = cvl_.value_list[col_list_index_]; + + if (true != (v.second = v.first(r.first,r.second))) + { + ++error_count_; + } + + ++col_list_index_; + + if (col_list_index_ < column_list_t::size) + target_index_ = column_list_.index_list[col_list_index_]; + else + target_index_ = std::numeric_limits::max(); + } + + ++current_index_; + } + + inline colsel_value_list& cvl() + { + return cvl_; + } + + const column_list_t& column_list_; + std::size_t current_index_; + std::size_t target_index_; + std::size_t col_list_index_; + std::size_t error_count_; + colsel_value_list cvl_; + + private: + + csb_t& operator=(const csb_t& csb); + }; + + template + class column_selector_impl + : public column_selector_base,12> + { + public: + + typedef column_selector_base,12> csb_t; + typedef column_list_impl<12> column_list_t; + + column_selector_impl(const column_list_t& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, + T10& t10, T11& t11) + : csb_t(column_list) + { + csb_t::cvl().register_value( t0); csb_t::cvl().register_value( t1); + csb_t::cvl().register_value( t2); csb_t::cvl().register_value( t3); + csb_t::cvl().register_value( t4); csb_t::cvl().register_value( t5); + csb_t::cvl().register_value( t6); csb_t::cvl().register_value( t7); + csb_t::cvl().register_value( t8); csb_t::cvl().register_value( t9); + csb_t::cvl().register_value(t10); csb_t::cvl().register_value(t11); + } + }; + + template + class column_selector_impl + : public column_selector_base,11> + { + public: + + typedef column_selector_base,11> csb_t; + typedef column_list_impl<11> column_list_t; + + column_selector_impl(const column_list_t& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, + T10& t10) + : csb_t(column_list) + { + csb_t::cvl().register_value( t0); csb_t::cvl().register_value( t1); + csb_t::cvl().register_value( t2); csb_t::cvl().register_value( t3); + csb_t::cvl().register_value( t4); csb_t::cvl().register_value( t5); + csb_t::cvl().register_value( t6); csb_t::cvl().register_value( t7); + csb_t::cvl().register_value( t8); csb_t::cvl().register_value( t9); + csb_t::cvl().register_value(t10); + } + }; + + template + class column_selector_impl + : public column_selector_base,10> + { + public: + + typedef column_selector_base,10> csb_t; + typedef column_list_impl<10> column_list_t; + + column_selector_impl(const column_list_t& column_list, + T1& t0, T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, T9& t9) + : csb_t(column_list) + { + csb_t::cvl().register_value(t0); csb_t::cvl().register_value(t1); + csb_t::cvl().register_value(t2); csb_t::cvl().register_value(t3); + csb_t::cvl().register_value(t4); csb_t::cvl().register_value(t5); + csb_t::cvl().register_value(t6); csb_t::cvl().register_value(t7); + csb_t::cvl().register_value(t8); csb_t::cvl().register_value(t9); + } + }; + + template + class column_selector_impl + : public column_selector_base,9> + { + public: + + typedef column_selector_base,9> csb_t; + typedef column_list_impl<9> column_list_t; + + column_selector_impl(const column_list_t& column_list, + T1& t0, T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8) + : csb_t(column_list) + { + csb_t::cvl().register_value(t0); csb_t::cvl().register_value(t1); + csb_t::cvl().register_value(t2); csb_t::cvl().register_value(t3); + csb_t::cvl().register_value(t4); csb_t::cvl().register_value(t5); + csb_t::cvl().register_value(t6); csb_t::cvl().register_value(t7); + csb_t::cvl().register_value(t8); + } + }; + + template + class column_selector_impl + : public column_selector_base,8> + { + public: + + typedef column_selector_base,8> csb_t; + typedef column_list_impl<8> column_list_t; + + column_selector_impl(const column_list_t& column_list, + T1& t0, T1& t1, T2& t2, T3& t3, + T4& t4, T5& t5, T6& t6, T7& t7) + : csb_t(column_list) + { + csb_t::cvl().register_value(t0); csb_t::cvl().register_value(t1); + csb_t::cvl().register_value(t2); csb_t::cvl().register_value(t3); + csb_t::cvl().register_value(t4); csb_t::cvl().register_value(t5); + csb_t::cvl().register_value(t6); csb_t::cvl().register_value(t7); + } + }; + + template + class column_selector_impl + : public column_selector_base,7> + { + public: + + typedef column_selector_base,7> csb_t; + typedef column_list_impl<7> column_list_t; + + column_selector_impl(const column_list_t& column_list, + T1& t0, T1& t1, T2& t2, T3& t3, + T4& t4, T5& t5, T6& t6) + : csb_t(column_list) + { + csb_t::cvl().register_value(t0); csb_t::cvl().register_value(t1); + csb_t::cvl().register_value(t2); csb_t::cvl().register_value(t3); + csb_t::cvl().register_value(t4); csb_t::cvl().register_value(t5); + csb_t::cvl().register_value(t6); + } + }; + + template + class column_selector_impl + : public column_selector_base,6> + { + public: + + typedef column_selector_base,6> csb_t; + typedef column_list_impl<6> column_list_t; + + column_selector_impl(const column_list_t& column_list, + T1& t0, T1& t1, T2& t2, + T3& t3, T4& t4, T5& t5) + : csb_t(column_list) + { + csb_t::cvl().register_value(t0); csb_t::cvl().register_value(t1); + csb_t::cvl().register_value(t2); csb_t::cvl().register_value(t3); + csb_t::cvl().register_value(t4); csb_t::cvl().register_value(t5); + } + }; + + template + class column_selector_impl + : public column_selector_base,5> + { + public: + + typedef column_selector_base,5> csb_t; + typedef column_list_impl<5> column_list_t; + + column_selector_impl(const column_list_t& column_list, + T1& t0, T1& t1, T2& t2, + T3& t3, T4& t4) + : csb_t(column_list) + { + csb_t::cvl().register_value(t0); csb_t::cvl().register_value(t1); + csb_t::cvl().register_value(t2); csb_t::cvl().register_value(t3); + csb_t::cvl().register_value(t4); + } + }; + + template + class column_selector_impl + : public column_selector_base,4> + { + public: + + typedef column_selector_base,4> csb_t; + typedef column_list_impl<4> column_list_t; + + column_selector_impl(const column_list_t& column_list, + T1& t0, T1& t1, T2& t2, T3& t3) + : csb_t(column_list) + { + csb_t::cvl().register_value(t0); csb_t::cvl().register_value(t1); + csb_t::cvl().register_value(t2); csb_t::cvl().register_value(t3); + } + }; + + template + class column_selector_impl + : public column_selector_base,3> + { + public: + + typedef column_selector_base,3> csb_t; + typedef column_list_impl<3> column_list_t; + + column_selector_impl(const column_list_t& column_list, + T1& t0, T1& t1, T2& t2) + : csb_t(column_list) + { + csb_t::cvl().register_value(t0); csb_t::cvl().register_value(t1); + csb_t::cvl().register_value(t2); + } + }; + + template + class column_selector_impl + : public column_selector_base,2> + { + public: + + typedef column_selector_base,2> csb_t; + typedef column_list_impl<2> column_list_t; + + column_selector_impl(const column_list_t& column_list, + T1& t0, T1& t1) + : csb_t(column_list) + { + csb_t::cvl().register_value(t0); csb_t::cvl().register_value(t1); + } + }; + + template + class column_selector_impl + : public column_selector_base,1> + { + public: + + typedef column_selector_base,1> csb_t; + typedef column_list_impl<1> column_list_t; + + column_selector_impl(const column_list_t& column_list, T0& t0) + : csb_t(column_list) + { + csb_t::cvl().register_value(t0); + } + }; + + } + + inline details::column_list_impl<12> + column_list(const std::size_t& idx0, const std::size_t& idx1, + const std::size_t& idx2, const std::size_t& idx3, + const std::size_t& idx4, const std::size_t& idx5, + const std::size_t& idx6, const std::size_t& idx7, + const std::size_t& idx8, const std::size_t& idx9, + const std::size_t& idx10, const std::size_t& idx11) + { + details::column_list_impl<12> cli; + cli.index_list[ 0] = idx0; cli.index_list[ 1] = idx1; + cli.index_list[ 2] = idx2; cli.index_list[ 3] = idx3; + cli.index_list[ 4] = idx4; cli.index_list[ 5] = idx5; + cli.index_list[ 6] = idx6; cli.index_list[ 7] = idx7; + cli.index_list[ 8] = idx8; cli.index_list[ 9] = idx9; + cli.index_list[10] = idx10; cli.index_list[11] = idx11; + return cli; + } + + inline details::column_list_impl<11> + column_list(const std::size_t& idx0, const std::size_t& idx1, + const std::size_t& idx2, const std::size_t& idx3, + const std::size_t& idx4, const std::size_t& idx5, + const std::size_t& idx6, const std::size_t& idx7, + const std::size_t& idx8, const std::size_t& idx9, + const std::size_t& idx10) + { + details::column_list_impl<11> cli; + cli.index_list[ 0] = idx0; cli.index_list[1] = idx1; + cli.index_list[ 2] = idx2; cli.index_list[3] = idx3; + cli.index_list[ 4] = idx4; cli.index_list[5] = idx5; + cli.index_list[ 6] = idx6; cli.index_list[7] = idx7; + cli.index_list[ 8] = idx8; cli.index_list[9] = idx9; + cli.index_list[10] = idx10; + return cli; + } + + inline details::column_list_impl<10> + column_list(const std::size_t& idx0, const std::size_t& idx1, + const std::size_t& idx2, const std::size_t& idx3, + const std::size_t& idx4, const std::size_t& idx5, + const std::size_t& idx6, const std::size_t& idx7, + const std::size_t& idx8, const std::size_t& idx9) + { + details::column_list_impl<10> cli; + cli.index_list[0] = idx0; cli.index_list[1] = idx1; + cli.index_list[2] = idx2; cli.index_list[3] = idx3; + cli.index_list[4] = idx4; cli.index_list[5] = idx5; + cli.index_list[6] = idx6; cli.index_list[7] = idx7; + cli.index_list[8] = idx8; cli.index_list[9] = idx9; + return cli; + } + + inline details::column_list_impl<9> + column_list(const std::size_t& idx0, const std::size_t& idx1, + const std::size_t& idx2, const std::size_t& idx3, + const std::size_t& idx4, const std::size_t& idx5, + const std::size_t& idx6, const std::size_t& idx7, + const std::size_t& idx8) + { + details::column_list_impl<9> cli; + cli.index_list[0] = idx0; cli.index_list[1] = idx1; + cli.index_list[2] = idx2; cli.index_list[3] = idx3; + cli.index_list[4] = idx4; cli.index_list[5] = idx5; + cli.index_list[6] = idx6; cli.index_list[7] = idx7; + cli.index_list[8] = idx8; + return cli; + } + + inline details::column_list_impl<8> + column_list(const std::size_t& idx0, const std::size_t& idx1, + const std::size_t& idx2, const std::size_t& idx3, + const std::size_t& idx4, const std::size_t& idx5, + const std::size_t& idx6, const std::size_t& idx7) + { + details::column_list_impl<8> cli; + cli.index_list[0] = idx0; cli.index_list[1] = idx1; + cli.index_list[2] = idx2; cli.index_list[3] = idx3; + cli.index_list[4] = idx4; cli.index_list[5] = idx5; + cli.index_list[6] = idx6; cli.index_list[7] = idx7; + return cli; + } + + inline details::column_list_impl<7> + column_list(const std::size_t& idx0, const std::size_t& idx1, + const std::size_t& idx2, const std::size_t& idx3, + const std::size_t& idx4, const std::size_t& idx5, + const std::size_t& idx6) + { + details::column_list_impl<7> cli; + cli.index_list[0] = idx0; cli.index_list[1] = idx1; + cli.index_list[2] = idx2; cli.index_list[3] = idx3; + cli.index_list[4] = idx4; cli.index_list[5] = idx5; + cli.index_list[6] = idx6; + return cli; + } + + inline details::column_list_impl<6> + column_list(const std::size_t& idx0, const std::size_t& idx1, + const std::size_t& idx2, const std::size_t& idx3, + const std::size_t& idx4, const std::size_t& idx5) + { + details::column_list_impl<6> cli; + cli.index_list[0] = idx0; cli.index_list[1] = idx1; + cli.index_list[2] = idx2; cli.index_list[3] = idx3; + cli.index_list[4] = idx4; cli.index_list[5] = idx5; + return cli; + } + + inline details::column_list_impl<5> + column_list(const std::size_t& idx0, const std::size_t& idx1, + const std::size_t& idx2, const std::size_t& idx3, + const std::size_t& idx4) + { + details::column_list_impl<5> cli; + cli.index_list[0] = idx0; cli.index_list[1] = idx1; + cli.index_list[2] = idx2; cli.index_list[3] = idx3; + cli.index_list[4] = idx4; + return cli; + } + + inline details::column_list_impl<4> + column_list(const std::size_t& idx0, const std::size_t& idx1, + const std::size_t& idx2, const std::size_t& idx3) + { + details::column_list_impl<4> cli; + cli.index_list[0] = idx0; cli.index_list[1] = idx1; + cli.index_list[2] = idx2; cli.index_list[3] = idx3; + return cli; + } + + inline details::column_list_impl<3> + column_list(const std::size_t& idx0, const std::size_t& idx1, + const std::size_t& idx2) + { + details::column_list_impl<3> cli; + cli.index_list[0] = idx0; cli.index_list[1] = idx1; + cli.index_list[2] = idx2; + return cli; + } + + inline details::column_list_impl<2> + column_list(const std::size_t& idx0, const std::size_t& idx1) + { + details::column_list_impl<2> cli; + cli.index_list[0] = idx0; cli.index_list[1] = idx1; + return cli; + } + + inline details::column_list_impl<1> + column_list(const std::size_t& idx0) + { + details::column_list_impl<1> cli; + cli.index_list[0] = idx0; + return cli; + } + + inline details::column_list_impl<12> column_list(const std::size_t (&idx)[12]) + { + return column_list(idx[0],idx[1],idx[2],idx[3],idx[4],idx[5], + idx[6],idx[7],idx[8],idx[9],idx[10],idx[11]); + } + + inline details::column_list_impl<11> column_list(const std::size_t (&idx)[11]) + { + return column_list(idx[0],idx[1],idx[2],idx[3],idx[4],idx[5], + idx[6],idx[7],idx[8],idx[9],idx[10]); + } + + inline details::column_list_impl<10> column_list(const std::size_t (&idx)[10]) + { + return column_list(idx[0],idx[1],idx[2],idx[3],idx[4],idx[5], + idx[6],idx[7],idx[8],idx[9]); + } + + inline details::column_list_impl<9> column_list(const std::size_t (&idx)[9]) + { + return column_list(idx[0],idx[1],idx[2],idx[3],idx[4],idx[5], + idx[6],idx[7],idx[8]); + } + + inline details::column_list_impl<8> column_list(const std::size_t (&idx)[8]) + { + return column_list(idx[0],idx[1],idx[2],idx[3],idx[4],idx[5], + idx[6],idx[7]); + } + + inline details::column_list_impl<7> column_list(const std::size_t (&idx)[7]) + { + return column_list(idx[0],idx[1],idx[2],idx[3],idx[4],idx[5],idx[6]); + } + + inline details::column_list_impl<6> column_list(const std::size_t (&idx)[6]) + { + return column_list(idx[0],idx[1],idx[2],idx[3],idx[4],idx[5]); + } + + inline details::column_list_impl<5> column_list(const std::size_t (&idx)[5]) + { + return column_list(idx[0],idx[1],idx[2],idx[3],idx[4]); + } + + inline details::column_list_impl<4> column_list(const std::size_t (&idx)[4]) + { + return column_list(idx[0],idx[1],idx[2],idx[3]); + } + + inline details::column_list_impl<3> column_list(const std::size_t (&idx)[3]) + { + return column_list(idx[0],idx[1],idx[2]); + } + + inline details::column_list_impl<2> column_list(const std::size_t (&idx)[2]) + { + return column_list(idx[0],idx[1]); + } + + inline details::column_list_impl<1> column_list(const std::size_t (&idx)[1]) + { + return column_list(idx[0]); + } + + template + inline typename details::column_selector_impl + column_selector(const details::column_list_impl<11>& col_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, + T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11) + { + return + details::column_selector_impl + + (col_list,t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11); + } + + template + inline typename details::column_selector_impl + column_selector(const details::column_list_impl<11>& col_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, + T6& t6, T7& t7, T8& t8, T9& t9, T10& t10) + { + return + details::column_selector_impl + (col_list,t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10); + } + + template + inline typename details::column_selector_impl + column_selector(const details::column_list_impl<10>& col_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, + T6& t6, T7& t7, T8& t8, T9& t9) + { + return + details::column_selector_impl + (col_list,t0,t1,t2,t3,t4,t5,t6,t7,t8,t9); + } + + template + inline typename details::column_selector_impl + column_selector(const details::column_list_impl<9>& col_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, + T6& t6, T7& t7, T8& t8) + { + return + details::column_selector_impl + (col_list,t0,t1,t2,t3,t4,t5,t6,t7,t8); + } + + template + inline typename details::column_selector_impl + column_selector(const details::column_list_impl<8>& col_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, + T6& t6, T7& t7) + { + return + details::column_selector_impl + (col_list,t0,t1,t2,t3,t4,t5,t6,t7); + } + + template + inline typename details::column_selector_impl + column_selector(const details::column_list_impl<7>& col_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6) + { + return + details::column_selector_impl + (col_list,t0,t1,t2,t3,t4,t5,t6); + } + + template + inline typename details::column_selector_impl + column_selector(const details::column_list_impl<6>& col_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5) + { + return + details::column_selector_impl + (col_list,t0,t1,t2,t3,t4,t5); + } + + template + inline typename details::column_selector_impl + column_selector(const details::column_list_impl<5>& col_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4) + { + return + details::column_selector_impl + (col_list,t0,t1,t2,t3,t4); + } + + template + inline typename details::column_selector_impl + column_selector(const details::column_list_impl<4>& col_list, + T0& t0, T1& t1, T2& t2, T3& t3) + { + return + details::column_selector_impl + (col_list,t0,t1,t2,t3); + } + + template + inline typename details::column_selector_impl + column_selector(const details::column_list_impl<3>& col_list, + T0& t0, T1& t1, T2& t2) + { + return + details::column_selector_impl + (col_list,t0,t1,t2); + } + + template + inline typename details::column_selector_impl + column_selector(const details::column_list_impl<2>& col_list, + T0& t0, T1& t1) + { + return + details::column_selector_impl + (col_list,t0,t1); + } + + template + inline typename details::column_selector_impl + column_selector(const details::column_list_impl<1>& col_list, T0& t0) + { + return + details::column_selector_impl + (col_list,t0); + } + + namespace details + { + template + inline Iterator inc(Iterator itr, const std::size_t& n) + { + std::advance(itr,n); + return itr; + } + + //Single type column selectors + template + struct compose_st_selector_impl + {}; + + template + struct compose_st_selector_impl + { + typedef column_selector_impl type; + typedef column_list_impl<1> column_list_t; + + template class Sequence> + static inline type create(const column_list_t& col_list, Sequence& seq) + { + return type(col_list,seq[0]); + } + + template + static inline type create(const column_list_t& col_list, std::list& list) + { + typename std::list::iterator b = list.begin(); + return type(col_list,*(b)); + } + }; + + template + struct compose_st_selector_impl + { + typedef column_selector_impl type; + typedef column_list_impl<2> column_list_t; + + template class Sequence> + static inline type create(const column_list_t& col_list, Sequence& seq) + { + return type(col_list,seq[0],seq[1]); + } + + template + static inline type create(const column_list_t& col_list, std::list& list) + { + typename std::list::iterator b = list.begin(); + return type(col_list,*(b),*inc(b,1)); + } + }; + + template + struct compose_st_selector_impl + { + typedef column_selector_impl type; + typedef column_list_impl<3> column_list_t; + + template class Sequence> + static inline type create(const column_list_t& col_list, Sequence& seq) + { + return type(col_list,seq[0],seq[1],seq[2]); + } + + template + static inline type create(const column_list_t& col_list, std::list& list) + { + typename std::list::iterator b = list.begin(); + return type(col_list,*(b),*inc(b,1),*inc(b,2)); + } + }; + + template + struct compose_st_selector_impl + { + typedef column_selector_impl type; + typedef column_list_impl<4> column_list_t; + + template class Sequence> + static inline type create(const column_list_t& col_list, Sequence& seq) + { + return type(col_list,seq[0],seq[1],seq[2],seq[3]); + } + + template + static inline type create(const column_list_t& col_list, std::list& list) + { + typename std::list::iterator b = list.begin(); + return type(col_list,*(b),*inc(b,1),*inc(b,2),*inc(b,3)); + } + }; + + template + struct compose_st_selector_impl + { + typedef column_selector_impl type; + typedef column_list_impl<5> column_list_t; + + template class Sequence> + static inline type create(const column_list_t& col_list, Sequence& seq) + { + return type(col_list,seq[0],seq[1],seq[2],seq[3],seq[4]); + } + + template + static inline type create(const column_list_t& col_list, std::list& list) + { + typename std::list::iterator b = list.begin(); + return type(col_list,*(b),*inc(b,1),*inc(b,2),*inc(b,3),*inc(b,4)); + } + }; + + template + struct compose_st_selector_impl + { + typedef column_selector_impl type; + typedef column_list_impl<6> column_list_t; + + template class Sequence> + static inline type create(const column_list_t& col_list, Sequence& seq) + { + return type(col_list,seq[0],seq[1],seq[2],seq[3],seq[4],seq[5]); + } + + template + static inline type create(const column_list_t& col_list, std::list& list) + { + typename std::list::iterator b = list.begin(); + return type(col_list,*(b),*inc(b,1),*inc(b,2),*inc(b,3),*inc(b,4),*inc(b,5)); + } + }; + + template + struct compose_st_selector_impl + { + typedef column_selector_impl type; + typedef column_list_impl<7> column_list_t; + + template class Sequence> + static inline type create(const column_list_t& col_list, Sequence& seq) + { + return type(col_list,seq[0],seq[1],seq[2],seq[3],seq[4],seq[5],seq[6]); + } + + template + static inline type create(const column_list_t& col_list, std::list& list) + { + typename std::list::iterator b = list.begin(); + return type(col_list,*(b),*inc(b,1),*inc(b,2),*inc(b,3),*inc(b,4),*inc(b,5),*inc(b,6)); + } + }; + + template + struct compose_st_selector_impl + { + typedef column_selector_impl type; + typedef column_list_impl<8> column_list_t; + + template class Sequence> + static inline type create(const column_list_t& col_list, Sequence& seq) + { + return type(col_list,seq[0],seq[1],seq[2],seq[3],seq[4],seq[5],seq[6],seq[7]); + } + + template + static inline type create(const column_list_t& col_list, std::list& list) + { + typename std::list::iterator b = list.begin(); + return type(col_list,*(b),*inc(b,1),*inc(b,2),*inc(b,3),*inc(b,4),*inc(b,5),*inc(b,6),*inc(b,7)); + } + }; + + template + struct compose_st_selector_impl + { + typedef column_selector_impl type; + typedef column_list_impl<9> column_list_t; + + template class Sequence> + static inline type create(const column_list_t& col_list, Sequence& seq) + { + return type(col_list,seq[0],seq[1],seq[2],seq[3],seq[4],seq[5],seq[6],seq[7],seq[8]); + } + + template + static inline type create(const column_list_t& col_list, std::list& list) + { + typename std::list::iterator b = list.begin(); + return type(col_list,*(b),*inc(b,1),*inc(b,2),*inc(b,3),*inc(b,4),*inc(b,5),*inc(b,6),*inc(b,7),*inc(b,8)); + } + }; + + template + struct compose_st_selector_impl + { + typedef column_selector_impl type; + typedef column_list_impl<10> column_list_t; + + template class Sequence> + static inline type create(const column_list_t& col_list, Sequence& seq) + { + return type(col_list,seq[0],seq[1],seq[2],seq[3],seq[4],seq[5],seq[6],seq[7],seq[8],seq[9]); + } + + template + static inline type create(const column_list_t& col_list, std::list& list) + { + typename std::list::iterator b = list.begin(); + return type(col_list,*(b),*inc(b,1),*inc(b,2),*inc(b,3),*inc(b,4),*inc(b,5),*inc(b,6),*inc(b,7),*inc(b,8),*inc(b,9)); + } + }; + + } + + template class Sequence> + inline typename details::compose_st_selector_impl::type + column_selector(const details::column_list_impl& col_list, Sequence& seq) + { + if (seq.size() >= N) + { + typedef typename details::compose_st_selector_impl composer_t; + return composer_t::create(col_list,seq); + } + else + throw std::invalid_argument("column_selector(sequence/list) - size < N!"); + } + + namespace details + { + + template + class column_selector_iterator_impl + { + public: + + typedef column_selector_iterator_impl csii_t; + typedef details::column_list_impl column_list_t; + typedef std::pair iterator_type; + typedef iterator_type* iterator_type_ptr; + + column_selector_iterator_impl(const details::column_list_impl& column_list,iterator_type (&token_list)[N]) + : column_list_(column_list), + token_list_(token_list), + current_index_(0), + target_index_(column_list_.index_list[0]), + col_list_index_(0) + {} + + inline csii_t& operator*() + { + return (*this); + } + + inline csii_t& operator++() + { + return (*this); + } + + inline csii_t operator++(int) + { + return (*this); + } + + template + inline csii_t& operator=(const std::pair& r) + { + if (current_index_ == target_index_) + { + token_list_[col_list_index_] = r; + ++col_list_index_; + if (col_list_index_ < column_list_t::size) + target_index_ = column_list_.index_list[col_list_index_]; + else + target_index_ = std::numeric_limits::max(); + } + ++current_index_; + return (*this); + } + + private: + + csii_t& operator=(const csii_t& csb); + + const column_list_t& column_list_; + iterator_type_ptr token_list_; + std::size_t current_index_; + std::size_t target_index_; + std::size_t col_list_index_; + }; + + } + + #define strtk_parse_col_token(Index) \ + if (!string_to_type_converter(token_list[Index].first,token_list[Index].second,t##Index)) return false; + + #define strtk_parse_col_token_seq(Index) \ + if (!string_to_type_converter(token_list[Index].first,token_list[Index].second,seq[Index])) return false; + + #define strtk_parse_columns_impl(NN) \ + static const std::size_t N = NN; \ + typedef typename details::is_valid_iterator::type itr_type; \ + typedef std::pair iterator_type; \ + typedef details::column_selector_iterator_impl csii_t; \ + const std::size_t token_count = (column_list.index_list[N - 1] + 1); \ + details::convert_type_assert(); \ + iterator_type token_list[N]; \ + csii_t csii(column_list,token_list); \ + const std::size_t parsed_token_count = split_n \ + (delimiters,begin,end,token_count,csii,split_options::compress_delimiters);\ + if (token_count > parsed_token_count) return false; \ + + #define strk_parse_col_seq \ + return parse_columns(to_ptr(data), to_ptr(data) + data.size(), delimiters, column_list, seq); + + template + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<12>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, + T6& t6, T7& t7, T8& t8, T9& t9, T10& t10, T11& t11) + { + strtk_parse_columns_impl(12) + strtk_parse_col_token( 0) strtk_parse_col_token( 1) + strtk_parse_col_token( 2) strtk_parse_col_token( 3) + strtk_parse_col_token( 4) strtk_parse_col_token( 5) + strtk_parse_col_token( 6) strtk_parse_col_token( 7) + strtk_parse_col_token( 8) strtk_parse_col_token( 9) + strtk_parse_col_token(10) strtk_parse_col_token(11) + return true; + } + + template + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<11>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, + T6& t6, T7& t7, T8& t8, T9& t9, T10& t10) + { + strtk_parse_columns_impl(11) + strtk_parse_col_token( 0) strtk_parse_col_token(1) + strtk_parse_col_token( 2) strtk_parse_col_token(3) + strtk_parse_col_token( 4) strtk_parse_col_token(5) + strtk_parse_col_token( 6) strtk_parse_col_token(7) + strtk_parse_col_token( 8) strtk_parse_col_token(9) + strtk_parse_col_token(10) + return true; + } + + template + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<10>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, + T6& t6, T7& t7, T8& t8, T9& t9) + { + strtk_parse_columns_impl(10) + strtk_parse_col_token(0) strtk_parse_col_token(1) + strtk_parse_col_token(2) strtk_parse_col_token(3) + strtk_parse_col_token(4) strtk_parse_col_token(5) + strtk_parse_col_token(6) strtk_parse_col_token(7) + strtk_parse_col_token(8) strtk_parse_col_token(9) + return true; + } + + template + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<9>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, + T7& t7, T8& t8) + { + strtk_parse_columns_impl(9) + strtk_parse_col_token(0) strtk_parse_col_token(1) + strtk_parse_col_token(2) strtk_parse_col_token(3) + strtk_parse_col_token(4) strtk_parse_col_token(5) + strtk_parse_col_token(6) strtk_parse_col_token(7) + strtk_parse_col_token(8) + return true; + } + + template + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<8>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6, T7& t7) + { + strtk_parse_columns_impl(8) + strtk_parse_col_token(0) strtk_parse_col_token(1) + strtk_parse_col_token(2) strtk_parse_col_token(3) + strtk_parse_col_token(4) strtk_parse_col_token(5) + strtk_parse_col_token(6) strtk_parse_col_token(7) + return true; + } + + template + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<7>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5, T6& t6) + { + strtk_parse_columns_impl(7) + strtk_parse_col_token(0) strtk_parse_col_token(1) + strtk_parse_col_token(2) strtk_parse_col_token(3) + strtk_parse_col_token(4) strtk_parse_col_token(5) + strtk_parse_col_token(6) + return true; + } + + template + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<6>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, T5& t5) + { + strtk_parse_columns_impl(6) + strtk_parse_col_token(0) strtk_parse_col_token(1) + strtk_parse_col_token(2) strtk_parse_col_token(3) + strtk_parse_col_token(4) strtk_parse_col_token(5) + return true; + } + + template + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<5>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4) + { + strtk_parse_columns_impl(5) + strtk_parse_col_token(0) strtk_parse_col_token(1) + strtk_parse_col_token(2) strtk_parse_col_token(3) + strtk_parse_col_token(4) + return true; + } + + template + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<4>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3) + { + strtk_parse_columns_impl(4) + strtk_parse_col_token(0) strtk_parse_col_token(1) + strtk_parse_col_token(2) strtk_parse_col_token(3) + return true; + } + + template + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<3>& column_list, + T0& t0, T1& t1, T2& t2) + { + strtk_parse_columns_impl(3) + strtk_parse_col_token(0) strtk_parse_col_token(1) + strtk_parse_col_token(2) + return true; + } + + template + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<2>& column_list, + T0& t0, T1& t1) + { + strtk_parse_columns_impl(2) + strtk_parse_col_token(0) strtk_parse_col_token(1) + return true; + } + + template + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<1>& column_list, + T0& t0) + { + strtk_parse_columns_impl(1) + strtk_parse_col_token(0) + return true; + } + + template class Sequence> + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<12>& column_list, + Sequence& seq) + { + strtk_parse_columns_impl(12) + strtk_parse_col_token_seq( 0) strtk_parse_col_token_seq( 1) + strtk_parse_col_token_seq( 2) strtk_parse_col_token_seq( 3) + strtk_parse_col_token_seq( 4) strtk_parse_col_token_seq( 5) + strtk_parse_col_token_seq( 6) strtk_parse_col_token_seq( 7) + strtk_parse_col_token_seq( 8) strtk_parse_col_token_seq( 9) + strtk_parse_col_token_seq(10) strtk_parse_col_token_seq(11) + return true; + } + + template class Sequence> + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<11>& column_list, + Sequence& seq) + { + strtk_parse_columns_impl(11) + strtk_parse_col_token_seq( 0) strtk_parse_col_token_seq(1) + strtk_parse_col_token_seq( 2) strtk_parse_col_token_seq(3) + strtk_parse_col_token_seq( 4) strtk_parse_col_token_seq(5) + strtk_parse_col_token_seq( 6) strtk_parse_col_token_seq(7) + strtk_parse_col_token_seq( 8) strtk_parse_col_token_seq(9) + strtk_parse_col_token_seq(10) + return true; + } + + template class Sequence> + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<10>& column_list, + Sequence& seq) + { + strtk_parse_columns_impl(10) + strtk_parse_col_token_seq(0) strtk_parse_col_token_seq(1) + strtk_parse_col_token_seq(2) strtk_parse_col_token_seq(3) + strtk_parse_col_token_seq(4) strtk_parse_col_token_seq(5) + strtk_parse_col_token_seq(6) strtk_parse_col_token_seq(7) + strtk_parse_col_token_seq(8) strtk_parse_col_token_seq(9) + return true; + } + + template class Sequence> + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<9>& column_list, + Sequence& seq) + { + strtk_parse_columns_impl(9) + strtk_parse_col_token_seq(0) strtk_parse_col_token_seq(1) + strtk_parse_col_token_seq(2) strtk_parse_col_token_seq(3) + strtk_parse_col_token_seq(4) strtk_parse_col_token_seq(5) + strtk_parse_col_token_seq(6) strtk_parse_col_token_seq(7) + strtk_parse_col_token_seq(8) + return true; + } + + template class Sequence> + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<8>& column_list, + Sequence& seq) + { + strtk_parse_columns_impl(8) + strtk_parse_col_token_seq(0) strtk_parse_col_token_seq(1) + strtk_parse_col_token_seq(2) strtk_parse_col_token_seq(3) + strtk_parse_col_token_seq(4) strtk_parse_col_token_seq(5) + strtk_parse_col_token_seq(6) strtk_parse_col_token_seq(7) + return true; + } + + template class Sequence> + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<7>& column_list, + Sequence& seq) + { + strtk_parse_columns_impl(7) + strtk_parse_col_token_seq(0) strtk_parse_col_token_seq(1) + strtk_parse_col_token_seq(2) strtk_parse_col_token_seq(3) + strtk_parse_col_token_seq(4) strtk_parse_col_token_seq(5) + strtk_parse_col_token_seq(6) + return true; + } + + template class Sequence> + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<6>& column_list, + Sequence& seq) + { + strtk_parse_columns_impl(6) + strtk_parse_col_token_seq(0) strtk_parse_col_token_seq(1) + strtk_parse_col_token_seq(2) strtk_parse_col_token_seq(3) + strtk_parse_col_token_seq(4) strtk_parse_col_token_seq(5) + return true; + } + + template class Sequence> + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<5>& column_list, + Sequence& seq) + { + strtk_parse_columns_impl(5) + strtk_parse_col_token_seq(0) strtk_parse_col_token_seq(1) + strtk_parse_col_token_seq(2) strtk_parse_col_token_seq(3) + strtk_parse_col_token_seq(4) + return true; + } + + template class Sequence> + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<4>& column_list, + Sequence& seq) + { + strtk_parse_columns_impl(4) + strtk_parse_col_token_seq(0) strtk_parse_col_token_seq(1) + strtk_parse_col_token_seq(2) strtk_parse_col_token_seq(3) + return true; + } + + template class Sequence> + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<3>& column_list, + Sequence& seq) + { + strtk_parse_columns_impl(3) + strtk_parse_col_token_seq(0) strtk_parse_col_token_seq(1) + strtk_parse_col_token_seq(2) + return true; + } + + template class Sequence> + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<2>& column_list, + Sequence& seq) + { + strtk_parse_columns_impl(2) + strtk_parse_col_token_seq(0) strtk_parse_col_token_seq(1) + return true; + } + + template class Sequence> + inline bool parse_columns(const InputIterator begin, + const InputIterator end, + const std::string& delimiters, + const details::column_list_impl<1>& column_list, + Sequence& seq) + { + strtk_parse_columns_impl(1) + strtk_parse_col_token_seq(0) + return true; + } + + #undef strtk_parse_col_token + #undef strtk_parse_col_token_seq + #undef strtk_parse_columns_impl + + #define strtk_parse_col_begin() \ + return parse_columns(to_ptr(data), to_ptr(data) + data.size(), \ + delimiters, \ + column_list, \ + + #define strtk_parse_col_end() ); + + template + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<12>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, + T10& t10, T11& t11) + { + strtk_parse_col_begin() + t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11 + strtk_parse_col_end() + } + + template + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<11>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, T9& t9, + T10& t10) + { + strtk_parse_col_begin() + t0,t1,t2,t3,t4,t5,t6,t7,t8,t9,t10 + strtk_parse_col_end() + } + + template + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<10>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8, + T9& t9) + { + strtk_parse_col_begin() + t0,t1,t2,t3,t4,t5,t6,t7,t8,t9 + strtk_parse_col_end() + } + + template + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<9>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7, T8& t8) + { + strtk_parse_col_begin() + t0,t1,t2,t3,t4,t5,t6,t7,t8 + strtk_parse_col_end() + } + + template + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<8>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6, T7& t7) + { + strtk_parse_col_begin() + t0,t1,t2,t3,t4,t5,t6,t7 + strtk_parse_col_end() + } + + template + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<7>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5, T6& t6) + { + strtk_parse_col_begin() + t0,t1,t2,t3,t4,t5,t6 + strtk_parse_col_end() + } + + template + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<6>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4, + T5& t5) + { + strtk_parse_col_begin() + t0,t1,t2,t3,t4,t5 + strtk_parse_col_end() + } + + template + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<5>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3, T4& t4) + { + strtk_parse_col_begin() + t0,t1,t2,t3,t4 + strtk_parse_col_end() + } + + template + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<4>& column_list, + T0& t0, T1& t1, T2& t2, T3& t3) + { + strtk_parse_col_begin() + t0,t1,t2,t3 + strtk_parse_col_end(); + } + + template + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<3>& column_list, + T0& t0, T1& t1, T2& t2) + { + strtk_parse_col_begin() + t0,t1,t2 + strtk_parse_col_end() + } + + template + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<2>& column_list, + T0& t0, T1& t1) + { + strtk_parse_col_begin() + t0,t1 + strtk_parse_col_end() + } + + template + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<1>& column_list, + T& t) + { + strtk_parse_col_begin() + t + strtk_parse_col_end() + } + + #undef strtk_parse_col_begin + #undef strtk_parse_col_end + + template class Sequence> + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<12>& column_list, + Sequence& seq) + { + strk_parse_col_seq + } + + template class Sequence> + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<11>& column_list, + Sequence& seq) + { + strk_parse_col_seq + } + + template class Sequence> + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<10>& column_list, + Sequence& seq) + { + strk_parse_col_seq + } + + template class Sequence> + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<9>& column_list, + Sequence& seq) + { + strk_parse_col_seq + } + + template class Sequence> + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<8>& column_list, + Sequence& seq) + { + strk_parse_col_seq + } + + template class Sequence> + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<7>& column_list, + Sequence& seq) + { + strk_parse_col_seq + } + + template class Sequence> + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<6>& column_list, + Sequence& seq) + { + strk_parse_col_seq + } + + template class Sequence> + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<5>& column_list, + Sequence& seq) + { + strk_parse_col_seq + } + + template class Sequence> + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<4>& column_list, + Sequence& seq) + { + strk_parse_col_seq + } + + template class Sequence> + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<3>& column_list, + Sequence& seq) + { + strk_parse_col_seq + } + + template class Sequence> + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<2>& column_list, + Sequence& seq) + { + strk_parse_col_seq + } + + template class Sequence> + inline bool parse_columns(const std::string& data, + const std::string& delimiters, + const details::column_list_impl<1>& column_list, + Sequence& seq) + { + strk_parse_col_seq + } + + #undef strk_parse_col_seq + + namespace details + { + typedef const unsigned char* ptr; + + template + bool cmpimpl(ptr c1, ptr c2) { return (*reinterpret_cast(c1)) == (*reinterpret_cast(c2)); } + + template + struct size_impl { static inline bool cmp(ptr,ptr) { return true; } }; + + template <> + struct size_impl<8> { static inline bool cmp(ptr c1, ptr c2) { return cmpimpl(c1,c2); } }; + + template <> + struct size_impl<4> { static inline bool cmp(ptr c1, ptr c2) { return cmpimpl(c1,c2); } }; + + template <> + struct size_impl<2> { static inline bool cmp(ptr c1, ptr c2) { return cmpimpl(c1,c2); } }; + + template <> + struct size_impl<1> { static inline bool cmp(ptr c1, ptr c2) { return cmpimpl(c1,c2); } }; + + template + struct next_size { enum { size = (N >= 8) ? 8 : ((N >= 4) ? 4 : ((N >= 2) ? 2 : 1)) }; }; + + template + struct memcmp_n_impl + { + static inline bool process(details::ptr c1, details::ptr c2) + { + static const std::size_t size = details::next_size::size; + return details::size_impl::cmp(c1,c2) && memcmp_n_impl::process(c1 + size, c2 + size); + } + + static inline bool process(const char* c1, const char* c2) + { + return memcmp_n_impl::process(reinterpret_cast(c1),reinterpret_cast(c2)); + } + + template + static inline bool process(const unsigned char (&c1)[K1], const unsigned char (&c2)[K2]) + { + return memcmp_n_impl::process(static_cast(c1),static_cast(c2)); + } + }; + + template<> struct memcmp_n_impl<0> { static inline bool process(ptr,ptr) { return true; } }; + } + + template + inline bool memcmp_n(details::ptr c1, details::ptr c2) + { + return details::memcmp_n_impl::process(c1,c2); + } + + template + inline bool memcmp_n(const char* c1, const char* c2) + { + return details::memcmp_n_impl::process(c1,c2); + } + + template + inline bool memcmp_n(const unsigned char (&c1)[K1], const unsigned char (&c2)[K2]) + { + return details::memcmp_n_impl::process(c1,c2); + } + + namespace details + { + inline bool type_to_string_converter_impl(const strtk::util::value& v, std::string& result, value_type_tag) + { + return v.to_string(result); + } + } + + template + inline std::size_t distance(const std::pair& p) + { + return std::distance(p.first,p.second); + } + + template + inline std::pair make_pair(const std::string& s) + { + return std::make_pair( + reinterpret_cast(const_cast(to_ptr(s))), + reinterpret_cast(const_cast(to_ptr(s) + s.size()))); + } + + template + inline std::pair make_pair(const std::pair p) + { + return std::make_pair( + reinterpret_cast(const_cast(p.first)), + reinterpret_cast(const_cast(p.second))); + } + + template + inline std::pair make_pair(const std::string& s) + { + return make_pair(s); + } + + template + inline std::pair make_pair(const std::pair& p) + { + return make_pair(p); + } + + template + inline std::pair make_pair(const strtk::range::string& range) + { + return std::make_pair( + reinterpret_cast(const_cast(range.begin())), + reinterpret_cast(const_cast(range.end()))); + } + + template + inline std::string make_string(const unsigned char (&s)[N], const std::size_t& length = N) + { + static const std::string null_string; + if (N < length) + return null_string; + else + return std::string(&s[0],&s[0] + length); + } + + template + inline std::string make_string(const char (&s)[N], const std::size_t& length = N) + { + static const std::string null_string; + if (N < length) + return null_string; + else + return std::string(&s[0],&s[0] + length); + } + + inline std::string make_string(const std::pair& range) + { + return std::string(range.first,range.second); + } + + template + inline bool clear_array(T (&a)[N], const T& t, const std::size_t& length = N) + { + if (N < length) + return false; + else + std::fill_n(&a[0],length,t); + return true; + } + + template + inline bool set_array(unsigned char (&a)[N], + const std::string& s, + const bool pad = false, + const unsigned char padding = '0') + { + if (N < s.size()) + return false; + std::copy(to_ptr(s), to_ptr(s) + s.size(), &a[0]); + if ((s.size() < N) && pad) + std::fill_n(&a[s.size()],N - s.size(),padding); + return true; + } + + template + inline bool set_array(unsigned char (&dest)[N], + unsigned char (&src)[M], + const bool pad = false, + const unsigned char padding = '0') + { + if (N < M) + return false; + std::copy(src,src + N, &dest[0]); + if ((M < N) && pad) + std::fill_n(&dest[M],N - M,padding); + return true; + } + + inline void reverse(const std_string::iterator_type& range) + { + char* begin = const_cast(range.first); + char* end = const_cast(range.second); + std::reverse(begin,end); + } + + template + inline void reverse(const range::adapter& r) + { + T* begin = const_cast(r.begin()); + T* end = const_cast(r.end()); + std::reverse(begin,end); + } + + template + inline void reverse(const range::adapter& r) + { + T* begin = const_cast(r.begin()); + T* end = const_cast(r.end()); + std::reverse(begin,end); + } + + inline void reverse(std::string& s) + { + std::reverse(s.begin(),s.end()); + } + + inline void fill(std::string& s, const std::string::value_type v) + { + std::fill(const_cast(to_ptr(s)),const_cast(to_ptr(s) + s.size()), v); + } + + inline void fill(const std::pair& range, char v) + { + char* begin = const_cast(range.first); + char* end = const_cast(range.second); + std::fill(begin,end,v); + } + + template + inline void fill(const range::adapter& r, const typename range::adapter::value_type& v) + { + char* begin = const_cast(r.begin()); + char* end = const_cast(r.end()); + std::fill(begin,end,v); + } + + inline void fill(const std_string::iterator_type& range, const std::string::value_type& v) + { + char* begin = const_cast(range.first); + char* end = const_cast(range.second); + std::fill(begin,end,v); + } + + template class Sequence> + inline void fill(Sequence& seq, const T& t) + { + if (seq.empty()) + return; + std::fill_n(seq.begin(),seq.size(),t); + } + + namespace keyvalue + { + template + struct options + { + typedef CharType char_type; + + options() + : pair_block_delimiter(0), + pair_delimiter(0) + {} + + char_type pair_block_delimiter; + char_type pair_delimiter; + }; + + template + class parser + { + public: + + typedef unsigned char char_type; + typedef std::pair range_type; + + template + parser(const Options& opts) + : options_(opts), + parse_failures_(0), + kv_map_(opts), + pair_block_sdp_(options_.pair_block_delimiter), + pair_delimiter_sdp_(options_.pair_delimiter) + { + const std::size_t pair_list_default_size = 32; + pair_list_.reserve(pair_list_default_size); + } + + template + inline bool register_keyvalue(const typename KeyValueMap::key_type& key, T& t) + { + return kv_map_.register_keyvalue(key,t); + } + + inline bool operator()(const range_type& data, const bool ignore_failures = false) + { + if (!ignore_failures) + { + pair_list_.clear(); + const std::size_t pair_count = split(pair_block_sdp_, + data.first, + data.second, + std::back_inserter(pair_list_)); + + if (0 == pair_count) + return false; + + range_type key_range; + range_type value_range; + + for (std::size_t i = 0; i < pair_count; ++i) + { + const range_type& r = pair_list_[i]; + if (0 == std::distance(r.first,r.second)) + continue; + else if (!split_pair(r.first,r.second, + pair_delimiter_sdp_, + key_range,value_range)) + return false; + else if (!kv_map_(key_range,value_range)) + return false; + } + return true; + } + else + { + parse_failures_ = 0; + pair_token_processor processor(*this); + split(pair_block_sdp_, + data.first, + data.second, + strtk::functional_inserter(processor)); + return true; + } + } + + inline bool operator()(const std::string& s, const bool ignore_failures = false) + { + return operator()(strtk::make_pair(s),ignore_failures); + } + + inline std::size_t failure_count() const + { + return parse_failures_; + } + + private: + + class pair_token_processor + { + public: + + pair_token_processor(parser& p) + : parser_(p) + {} + + inline void operator()(const range_type& r) + { + if (r.first == r.second) + return; + + if (split_pair(r.first,r.second, + parser_.pair_delimiter_sdp_, + key_range, + value_range)) + { + if (parser_.kv_map_(key_range,value_range)) + return; + } + + ++parser_.parse_failures_; + } + + private: + + pair_token_processor operator=(const pair_token_processor&); + + parser& parser_; + range_type key_range; + range_type value_range; + }; + + options options_; + std::size_t parse_failures_; + KeyValueMap kv_map_; + single_delimiter_predicate pair_block_sdp_; + single_delimiter_predicate pair_delimiter_sdp_; + std::vector pair_list_; + }; + + class uintkey_map + { + private: + + typedef unsigned char char_type; + typedef strtk::keyvalue::options general_options; + + public: + + typedef unsigned int key_type; + + struct options : public general_options + { + options() + : general_options(), + key_count(0) + {} + + std::size_t key_count; + }; + + template + uintkey_map(const Options& options) + { + value_lut_.resize(options.key_count,strtk::util::value()); + } + + virtual ~uintkey_map() + {} + + template + inline bool operator()(const Range& key_range, const Range& value_range) + { + std::size_t key = 0; + if (!fast::numeric_convert(distance(key_range),key_range.first,key,true)) + return false; + if (key >= value_lut_.size()) + return false; + const strtk::util::value& v = value_lut_[key]; + if (!v) + return false; + else + return v(value_range); + } + + template + inline bool register_keyvalue(const key_type& key, T& t) + { + if (key < value_lut_.size()) + { + strtk::util::value& v = value_lut_[key]; + if (!v) + v = strtk::util::value(t); + else + v.assign(t); + return true; + } + else + return false; + } + + private: + + std::vector value_lut_; + }; + + namespace details + { + template + struct keygen + { + static inline KType transform(const Range&) + { + return KType(); + } + }; + + template + struct keygen + { + static inline std::string transform(const Range& key_range) + { + return std::string(key_range.first,key_range.second); + } + }; + + template + struct keygen + { + static inline unsigned int transform(const Range& key_range) + { + unsigned int result = 0; + if (strtk::fast::numeric_convert(std::distance(key_range.first,key_range.second),key_range.first,result,true)) + return result; + else + return std::numeric_limits::max(); + } + }; + + struct no_op_validator + { + template + inline bool operator()(const Range&) + { + return true; + } + }; + } + + template , + typename KeyValidator = details::no_op_validator, + typename ValueValidator = details::no_op_validator> + class key_map + { + public: + + typedef KeyType key_type; + typedef MapType map_type; + typedef KeyValidator key_validator_type; + typedef ValueValidator value_validator_type; + + template + key_map(const Options&) + {} + + virtual ~key_map() + {} + + template + inline bool operator()(const Range& key_range, const Range& value_range) + { + if (!key_validator_(key_range)) + return false; + if (!val_validator_(value_range)) + return false; + typename map_type::iterator itr = value_map_.find(details::keygen::transform(key_range)); + if (value_map_.end() == itr) + return false; + const util::value& v = (*itr).second; + if (!v) + return false; + else + return v(value_range); + } + + template + inline bool register_keyvalue(const key_type& key, T& t) + { + strtk::util::value& v = value_map_[key]; + if (!v) + v = strtk::util::value(t); + else + v.assign(t); + return true; + } + + private: + + map_type value_map_; + key_validator_type key_validator_; + value_validator_type val_validator_; + }; + + typedef key_map stringkey_map; + + } + +} // namespace strtk + +namespace +{ + + static inline std::ostream& operator<<(std::ostream& os, + const strtk::std_string::tokenizer >::type::iterator& range) + { + os << std::string((*range).first,(*range).second); + return os; + } + + static inline std::ostream& operator<<(std::ostream& os, + const strtk::std_string::tokenizer >::type::iterator& range) + { + os << std::string((*range).first,(*range).second); + return os; + } + + static inline std::ostream& operator<<(std::ostream& os, + const strtk::std_string::tokenizer::type::iterator& range) + { + os << std::string((*range).first,(*range).second); + return os; + } + + #define strtk_register_pair_to_ostream(Iterator) \ + static inline std::ostream& operator<<(std::ostream& os, const std::pair& range)\ + { os << std::string(range.first,range.second); return os; } \ + static inline std::ostream& operator<<(std::ostream& os, std::pair& range) \ + { os << std::string(range.first,range.second); return os; } \ + + strtk_register_pair_to_ostream(char*) + strtk_register_pair_to_ostream(unsigned char*) + strtk_register_pair_to_ostream(const char*) + strtk_register_pair_to_ostream(const unsigned char*) + strtk_register_pair_to_ostream(std::string::iterator) + strtk_register_pair_to_ostream(std::string::const_iterator) + strtk_register_pair_to_ostream(const std::string::iterator) + strtk_register_pair_to_ostream(const std::string::const_iterator) + + #undef strtk_register_pair_to_ostream + +} // namespace anonymous + +#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) + #ifndef NOMINMAX + #define NOMINMAX + #endif + #ifndef WIN32_LEAN_AND_MEAN + #define WIN32_LEAN_AND_MEAN + #endif + #include +#else + #include + #include +#endif +namespace strtk +{ + namespace util + { + class timer + { + public: + + #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) + timer() + : in_use_(false) + { + QueryPerformanceFrequency(&clock_frequency_); + } + + inline void start() + { + in_use_ = true; + QueryPerformanceCounter(&start_time_); + } + + inline void stop() + { + QueryPerformanceCounter(&stop_time_); + in_use_ = false; + } + + inline double time() const + { + return (1.0 * (stop_time_.QuadPart - start_time_.QuadPart)) / (1.0 * clock_frequency_.QuadPart); + } + + #else + + timer() + : in_use_(false) + { + start_time_.tv_sec = 0; + start_time_.tv_usec = 0; + stop_time_.tv_sec = 0; + stop_time_.tv_usec = 0; + } + + inline void start() + { + in_use_ = true; + gettimeofday(&start_time_,0); + } + + inline void stop() + { + gettimeofday(&stop_time_, 0); + in_use_ = false; + } + + inline unsigned long long int usec_time() const + { + if (!in_use_) + { + if (stop_time_.tv_sec >= start_time_.tv_sec) + { + return 1000000 * (stop_time_.tv_sec - start_time_.tv_sec ) + + (stop_time_.tv_usec - start_time_.tv_usec); + } + else + return std::numeric_limits::max(); + } + else + return std::numeric_limits::max(); + } + + inline double time() const + { + return usec_time() * 0.000001; + } + + #endif + + inline bool in_use() const + { + return in_use_; + } + + private: + + bool in_use_; + + #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) + LARGE_INTEGER start_time_; + LARGE_INTEGER stop_time_; + LARGE_INTEGER clock_frequency_; + #else + struct timeval start_time_; + struct timeval stop_time_; + #endif + }; + + class scoped_timer + { + public: + + scoped_timer(double& time_value) + : time_value_(time_value) + { + t_.start(); + } + + ~scoped_timer() + { + t_.stop(); + time_value_ = t_.time(); + } + + private: + + scoped_timer(const scoped_timer&); + scoped_timer& operator=(const scoped_timer&); + + double& time_value_; + timer t_; + }; + + } // namespace util + + namespace information + { + static const char* library = "String Toolkit"; + static const char* version = "2.718281828459045235360287471352662" + "49775724709369995957496696762772407"; + static const char* date = "20180303"; + + static inline std::string data() + { + static const std::string info_str = std::string(library) + + std::string(" v") + std::string(version) + + std::string(" (") + date + std::string(")"); + return info_str; + } + + } // namespace information + +} // namespace strtk + +#endif diff --git a/dep/tesseroids/CITATION.txt b/dep/tesseroids/CITATION.txt deleted file mode 100644 index f5b566a..0000000 --- a/dep/tesseroids/CITATION.txt +++ /dev/null @@ -1,70 +0,0 @@ -Citing -====== - -Geophysics paper ----------------- - -To cite *Tesseroids* in publications, please use our paper published in -*Geophysics*: - - Uieda, L., V. Barbosa, and C. Braitenberg (2016), Tesseroids: - Forward-modeling gravitational fields in spherical coordinates, GEOPHYSICS, - F41-F48, - doi:`10.1190/geo2015-0204.1 `__. - -You can download a copy of the `paper PDF -`__ and see all -source code used in the paper at -`the Github repository `__. - -Please note that **citing the paper is prefered** over citing the previous -conference proceedings. - -If you're a BibTeX user:: - - @article{uieda2016, - title = {Tesseroids: {{Forward}}-modeling gravitational fields in spherical coordinates}, - author = {Uieda, L. and Barbosa, V. and Braitenberg, C.}, - issn = {0016-8033}, - doi = {10.1190/geo2015-0204.1}, - url = {http://library.seg.org/doi/abs/10.1190/geo2015-0204.1}, - journal = {GEOPHYSICS}, - month = jul, - year = {2016}, - pages = {F41--F48}, - } - -Source code ------------ - -You can refer to individual versions of Tesseroids through their DOIs. -However, please **also cite the Geophysics paper**. - -For example. if you want to mention that you used the 1.1.1 version, -you can go to :ref:`the Releases page ` of the documentation -and get the DOI link for that version. -This link will not be broken, even if I move the site somewhere else. - -You can also cite the specific version instead of just providing the link. -If you click of the DOI link for 1.1.1, the Zenodo page will -recommend that you cite it as: - - Uieda, Leonardo. (2015). Tesseroids v1.1.1: Forward modeling of - gravitational fields in spherical coordinates. Zenodo. 10.5281/zenodo.15800 - - -Conference proceeding ---------------------- - -The previous way citation for Tesseroids was a conference proceeding from the -2011 GOCE User Workshop: - - Uieda, L., E. P. Bomfim, C. Braitenberg, and E. Molina (2011), - Optimal forward calculation method of the Marussi tensor - due to a geologic structure at GOCE height, - Proceedings of the 4th International GOCE User Workshop. - -Download a `PDF version of the proceedings -`__. -You can also see the poster and source code at -the `Github repository `__. diff --git a/dep/tesseroids/CMakeLists.txt b/dep/tesseroids/CMakeLists.txt deleted file mode 100644 index 933b11d..0000000 --- a/dep/tesseroids/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -cmake_minimum_required(VERSION 3.15.2) -# 设置项目名称与语言 -project(LibTess VERSION 1.6 LANGUAGES C) -# 添加配置配件编写的函数 -include(CMakePackageConfigHelpers) - -if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows") - set(CMAKE_INSTALL_PREFIX D:/Library) -endif() - -message(STATUS "Platform: " ${CMAKE_HOST_SYSTEM_NAME}) -message(STATUS "Install prefix: " ${CMAKE_INSTALL_PREFIX}) -message(STATUS "Build type: " ${CMAKE_BUILD_TYPE}) - -# 添加库源文件地址 -add_subdirectory(lib) -add_subdirectory(toolkits) -add_subdirectory(test) \ No newline at end of file diff --git a/dep/tesseroids/LICENSE.txt b/dep/tesseroids/LICENSE.txt deleted file mode 100644 index 8909ec4..0000000 --- a/dep/tesseroids/LICENSE.txt +++ /dev/null @@ -1,25 +0,0 @@ -Copyright (c) 2012-2017, Leonardo Uieda -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. -* Neither the name of Leonardo Uieda nor the names of any contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/dep/tesseroids/LibTessConfig.cmake.in b/dep/tesseroids/LibTessConfig.cmake.in deleted file mode 100644 index f74cfdd..0000000 --- a/dep/tesseroids/LibTessConfig.cmake.in +++ /dev/null @@ -1,16 +0,0 @@ -@PACKAGE_INIT@ - -set(@PROJECT_NAME@_VERSION "@PROJECT_VERSION@") -set_and_check(@PROJECT_NAME@_INSTALL_PREFIX "${PACKAGE_PREFIX_DIR}") -set_and_check(@PROJECT_NAME@_INC_DIR "${PACKAGE_PREFIX_DIR}/include") -set_and_check(@PROJECT_NAME@_INCULDE_DIR "${PACKAGE_PREFIX_DIR}/include") -set_and_check(@PROJECT_NAME@_LIB_DIR "${PACKAGE_PREFIX_DIR}/lib") -set_and_check(@PROJECT_NAME@_LIBRARY_DIR "${PACKAGE_PREFIX_DIR}/lib") - -set(@PROJECT_NAME@_LIB tess) -set(@PROJECT_NAME@_LIBRARY tess) - -# include target information -include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") - -check_required_components(@PROJECT_NAME@) \ No newline at end of file diff --git a/dep/tesseroids/README.md b/dep/tesseroids/README.md deleted file mode 100644 index 3e08a88..0000000 --- a/dep/tesseroids/README.md +++ /dev/null @@ -1,210 +0,0 @@ -# ![Tesseroids](https://raw.githubusercontent.com/leouieda/tesseroids/master/doc/_static/banner.png) - -[Documentation](http://tesseroids.leouieda.com) | -[Download](https://github.com/leouieda/tesseroids/releases) - -[![Version number](http://img.shields.io/github/release/leouieda/tesseroids.svg?style=flat)](https://github.com/leouieda/tesseroids/releases) -[![Travis CI build status](http://img.shields.io/travis/leouieda/tesseroids/master.svg?style=flat)](https://travis-ci.org/leouieda/tesseroids) -[![BSD license](http://img.shields.io/badge/license-BSD-lightgrey.svg?style=flat)](https://github.com/leouieda/tesseroids/blob/master/LICENSE.txt) -[![DOI](https://zenodo.org/badge/doi/10.5281/zenodo.582366.svg)](http://dx.doi.org/10.5281/zenodo.582366) - - -*Forward modeling of gravitational fields in spherical coordinates.* - -Developed by [Leonardo Uieda](http://www.leouieda.com) -in cooperation with [Carla Braitenberg](http://lithoflex.org/). - -## About - -*Tesseroids* is a collection of **command-line tools** -for modeling the gravitational potential, acceleration, and -gradient (Marussi) tensor. - -The mass models can be made of right rectangular prisms or tesseroids -(spherical prisms). -Computation for rectangular prisms can be made in Cartesian or spherical -(geocentric) coordinates. - -[![This is a tesseroid.](https://raw.githubusercontent.com/leouieda/tesseroids/master/doc/_static/tesseroid.png)](http://tesseroids.leouieda.com/en/latest/theory.html#what-is-a-tesseroid-anyway) - -## License - -*Tesseroids* is [free software](http://www.fsf.org/about/what-is-free-software) -made available under the terms of the -BSD 3-clause license. -See [LICENSE.txt](https://github.com/leouieda/tesseroids/blob/master/LICENSE.txt). - -## Citing - -*Tesseroids* is research software made by scientists. -If you use it in your research, -please **cite** our *Geophysics* paper in your publications: - -> Uieda, L., V. Barbosa, and C. Braitenberg (2016), Tesseroids: Forward-modeling gravitational fields in spherical coordinates, GEOPHYSICS, F41-F48, doi:[10.1190/geo2015-0204.1](http://dx.doi.org/10.1190/geo2015-0204.1). - -You can download a copy of the paper PDF at -[leouieda.com/papers/paper-tesseroids-2016.html](http://www.leouieda.com/papers/paper-tesseroids-2016.html) -and see all source code used in the paper at the Github repository -[pinga-lab/paper-tesseroids](https://github.com/pinga-lab/paper-tesseroids). - -See [CITATION.txt](https://github.com/leouieda/tesseroids/blob/master/CITATION.txt) -or the [Citing](http://tesseroids.leouieda.com/en/latest/citation.html) -page of the documentation for more information. - -## Installing - -The easiest way to install is to download the latest compiled binary -distribution from: - -https://github.com/leouieda/tesseroids/releases/latest - -We offer binaries for Windows (32 and 64 bit) -and GNU/Linux (32 and 64 bit). - -Once downloaded, simply unpack the archive in the desired directory. -The executables will be in the `bin` folder. -For easier access to the programs, consider -[adding the bin folder to your PATH environment -variable](http://www.computerhope.com/issues/ch000549.htm). - -## Getting started - -Take a look at the examples in the -[Cookbook](http://tesseroids.leouieda.com/en/latest/cookbook.html). -They contain scripts that run *Tesseroids* and some Python code to plot the -results. - -The documentation contains sections on -[the theory and equations](http://tesseroids.leouieda.com/en/latest/theory.html) -and [usage instructions](http://tesseroids.leouieda.com/en/latest/usage.html). - -Also, all programs accept the `-h` flag to print the instructions for using -that particular program. For example: - - $ tessgrd -h - Usage: tessgrd [PARAMS] [OPTIONS] - - Make a regular grid of points. - - All units either SI or degrees! - - Output: - Printed to standard output (stdout) in the format: - lon1 lat1 height - lon2 lat1 height - ... ... ... - lonNLON lat1 height - lon1 lat2 height - ... ... ... - ... ... ... - lonNLON latNLAT height - - * Comments about the provenance of the data are inserted into - the top of the output - - Parameters: - -r W/E/S/N: Bounding region of the grid. - -b NLON/NLAT: Number of grid points in the - longitudinal and latitudinal directions. - -z HEIGHT: Height of the grid with respect to the - mean Earth radius. - -h Print instructions. - --version Print version and license information. - - Options: - -v Enable verbose printing to stderr. - -lFILENAME Print log messages to file FILENAME. - - Part of the Tesseroids package. - Project site: - Report bugs at: - - -## Getting help - -Write an e-mail to [Leonardo Uieda](http://www.leouieda.com/), -or [tweet](https://twitter.com/leouieda), -or [Google Hangout](https://plus.google.com/+LeonardoUieda). -**Even better**, submit a bug report/feature request/question to the -[Github issue tracker](https://github.com/leouieda/tesseroids/issues). - -## Compiling from source - -If you want to build *Tesseroids* from source, you'll need: - -* A C compiler (preferably [GCC](http://gcc.gnu.org)) -* The build tool [SCons](http://www.scons.org/) - -### Setting up SCons - -Tesseroids uses the build tool SCons. -A `SConstruct` file (`Makefile` equivalent) -is used to define the compilation rules. -The advantage of SCons over Make is that it automatically detects your system -settings. -You will have to download and install SCons -in order to easily compile Tesseroids. -SCons is available for both GNU/Linux and Windows -so compiling should work the same on both platforms. - -SCons requires that you have [Python](http://www.python.org) installed. -Follow the instructions in the [SCons website](http://www.scons.org/) -to install it. -Python is usually installed by default on most GNU/Linux systems. - -Under Windows you will have to put SCons on -your `PATH` environment variable -in order to use it from the command line. -It is usually located in the `Scripts` directory of your Python installation. - -On GNU/Linux, SCons will generally use -the GCC compiler to compile sources. -On Windows it will search for an existing compiler. -We recommend that you install GCC on Windows using -[MinGW](http://mingw.org/). - -### Compiling - -Download a source distribution and -unpack the archive anywhere you want -(e.g., `~/tesseroids` or `C:\tesseroids` or whatever). -To compile, -open a terminal (or `cmd.exe` on Windows) -and go to the directory where you unpacked (use the `cd` command). -Then, type the following and hit `Enter`: - - scons - -If everything goes well, the compiled executables will be placed on a `bin` -folder. - -To clean up the build (delete all generated files), run: - - scons -c - -If you get any strange errors or the code doesn't compile for some reason, -please [submit a bug report](https://github.com/leouieda/tesseroids/issues). -Don't forget to copy the output of running `scons`. - -### Testing the build - -After the compilation, -a program called `tesstest` -will be placed in the directory where you unpacked the source. -This program runs the [unit tests](https://en.wikipedia.org/wiki/Unit_testing) -for *Tesseroids* (sources in the `test` directory). - -To run the test suite, simply execute `tesstest` with no arguments: - - tesstest - -or on GNU/Linux: - - ./tesstest - -A summary of all tests (pass or fail) will be printed on the screen. -If all tests pass, -the compilation probably went well. -If any test fail, -please [submit a bug report](https://github.com/leouieda/tesseroids/issues) -with the output of running `tesstest`. diff --git a/dep/tesseroids/cookbook/custom_ratio/custom_ratio.bat b/dep/tesseroids/cookbook/custom_ratio/custom_ratio.bat deleted file mode 100755 index 20efcb5..0000000 --- a/dep/tesseroids/cookbook/custom_ratio/custom_ratio.bat +++ /dev/null @@ -1,10 +0,0 @@ -:: Calculate effect of the model at a low height using difference distance-size -:: ratios for the recursive division of tesseroids. -:: WARNING: This is only an example. You should not use the -t option in -:: practice - -tessgrd -r-3/3/-3/3 -b50/50 -z4e03 | ^ -tessgzz model.txt -t0.0001 -lratio1.log | ^ -tessgzz model.txt -t0.5 -lratio2.log | ^ -tessgzz model.txt -t1 -lratio3.log | ^ -tessgzz model.txt -v -lratio-default.log > output.txt diff --git a/dep/tesseroids/cookbook/custom_ratio/custom_ratio.sh b/dep/tesseroids/cookbook/custom_ratio/custom_ratio.sh deleted file mode 100755 index 75babdb..0000000 --- a/dep/tesseroids/cookbook/custom_ratio/custom_ratio.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -# Calculate effect of the model at a low height using difference distance-size -# ratios for the recursive division of tesseroids. -# WARNING: This is only an example. You should not use the -t option in practice - -tessgrd -r-3/3/-3/3 -b50/50 -z4e03 | \ -tessgzz model.txt -t0.0001 -lratio1.log | \ -tessgzz model.txt -t0.5 -lratio2.log | \ -tessgzz model.txt -t1 -lratio3.log | \ -tessgzz model.txt -v -lratio-default.log > output.txt diff --git a/dep/tesseroids/cookbook/custom_ratio/model.txt b/dep/tesseroids/cookbook/custom_ratio/model.txt deleted file mode 100755 index 91daac8..0000000 --- a/dep/tesseroids/cookbook/custom_ratio/model.txt +++ /dev/null @@ -1,2 +0,0 @@ -# Test tesseroid model file --1.5 1.5 -1.5 1.5 0 -5000 200 diff --git a/dep/tesseroids/cookbook/custom_ratio/plot.py b/dep/tesseroids/cookbook/custom_ratio/plot.py deleted file mode 100755 index d440c95..0000000 --- a/dep/tesseroids/cookbook/custom_ratio/plot.py +++ /dev/null @@ -1,18 +0,0 @@ -""" -Plot the columns of the output files -""" -import sys -from matplotlib import pyplot as plt -import numpy as np - -data = np.loadtxt(sys.argv[1], unpack=True) -shape = (int(sys.argv[2]), int(sys.argv[3])) -lon = np.reshape(data[0], shape) -lat = np.reshape(data[1], shape) -for i, value in enumerate(data[3:]): - value = np.reshape(value, shape) - plt.figure(figsize=(4, 3)) - plt.title("Column %d" % (i + 4)) - plt.contourf(lon, lat, value, 50) - plt.colorbar() - plt.savefig('column%d.png' % (i + 4)) diff --git a/dep/tesseroids/cookbook/dem_brasil/dem.xyz b/dep/tesseroids/cookbook/dem_brasil/dem.xyz deleted file mode 100755 index bef68d7..0000000 --- a/dep/tesseroids/cookbook/dem_brasil/dem.xyz +++ /dev/null @@ -1,22805 +0,0 @@ -# This is the DEM file from ETOPO1 with 10' resolution -# points in longitude: 151 -# Columns: -# lon lat height(m) --65.000000 -10.000000 157 - -64.833333 -10.000000 168 - -64.666667 -10.000000 177 - -64.500000 -10.000000 197 - -64.333333 -10.000000 144 - -64.166667 -10.000000 178 - -64.000000 -10.000000 166 - -63.833333 -10.000000 164 - -63.666667 -10.000000 189 - -63.500000 -10.000000 210 - -63.333333 -10.000000 187 - -63.166667 -10.000000 141 - -63.000000 -10.000000 156 - -62.833333 -10.000000 158 - -62.666667 -10.000000 225 - -62.500000 -10.000000 176 - -62.333333 -10.000000 196 - -62.166667 -10.000000 183 - -62.000000 -10.000000 149 - -61.833333 -10.000000 191 - -61.666667 -10.000000 158 - -61.500000 -10.000000 187 - -61.333333 -10.000000 189 - -61.166667 -10.000000 191 - -61.000000 -10.000000 169 - -60.833333 -10.000000 143 - -60.666667 -10.000000 157 - -60.500000 -10.000000 146 - -60.333333 -10.000000 188 - -60.166667 -10.000000 178 - -60.000000 -10.000000 198 - -59.833333 -10.000000 233 - -59.666667 -10.000000 211 - -59.500000 -10.000000 189 - -59.333333 -10.000000 145 - -59.166667 -10.000000 138 - -59.000000 -10.000000 142 - -58.833333 -10.000000 172 - -58.666667 -10.000000 215 - -58.500000 -10.000000 287 - -58.333333 -10.000000 254 - -58.166667 -10.000000 234 - -58.000000 -10.000000 277 - -57.833333 -10.000000 273 - -57.666667 -10.000000 245 - -57.500000 -10.000000 270 - -57.333333 -10.000000 269 - -57.166667 -10.000000 253 - -57.000000 -10.000000 223 - -56.833333 -10.000000 248 - -56.666667 -10.000000 253 - -56.500000 -10.000000 271 - -56.333333 -10.000000 277 - -56.166667 -10.000000 301 - -56.000000 -10.000000 282 - -55.833333 -10.000000 285 - -55.666667 -10.000000 275 - -55.500000 -10.000000 263 - -55.333333 -10.000000 277 - -55.166667 -10.000000 269 - -55.000000 -10.000000 261 - -54.833333 -10.000000 311 - -54.666667 -10.000000 302 - -54.500000 -10.000000 312 - -54.333333 -10.000000 407 - -54.166667 -10.000000 353 - -54.000000 -10.000000 337 - -53.833333 -10.000000 364 - -53.666667 -10.000000 305 - -53.500000 -10.000000 341 - -53.333333 -10.000000 302 - -53.166667 -10.000000 327 - -53.000000 -10.000000 326 - -52.833333 -10.000000 301 - -52.666667 -10.000000 325 - -52.500000 -10.000000 288 - -52.333333 -10.000000 271 - -52.166667 -10.000000 285 - -52.000000 -10.000000 295 - -51.833333 -10.000000 308 - -51.666667 -10.000000 380 - -51.500000 -10.000000 375 - -51.333333 -10.000000 352 - -51.166667 -10.000000 261 - -51.000000 -10.000000 223 - -50.833333 -10.000000 198 - -50.666667 -10.000000 197 - -50.500000 -10.000000 185 - -50.333333 -10.000000 175 - -50.166667 -10.000000 177 - -50.000000 -10.000000 171 - -49.833333 -10.000000 186 - -49.666667 -10.000000 179 - -49.500000 -10.000000 195 - -49.333333 -10.000000 196 - -49.166667 -10.000000 261 - -49.000000 -10.000000 276 - -48.833333 -10.000000 339 - -48.666667 -10.000000 295 - -48.500000 -10.000000 238 - -48.333333 -10.000000 207 - -48.166667 -10.000000 569 - -48.000000 -10.000000 318 - -47.833333 -10.000000 243 - -47.666667 -10.000000 312 - -47.500000 -10.000000 248 - -47.333333 -10.000000 287 - -47.166667 -10.000000 280 - -47.000000 -10.000000 280 - -46.833333 -10.000000 333 - -46.666667 -10.000000 471 - -46.500000 -10.000000 620 - -46.333333 -10.000000 444 - -46.166667 -10.000000 462 - -46.000000 -10.000000 521 - -45.833333 -10.000000 445 - -45.666667 -10.000000 454 - -45.500000 -10.000000 481 - -45.333333 -10.000000 496 - -45.166667 -10.000000 487 - -45.000000 -10.000000 430 - -44.833333 -10.000000 476 - -44.666667 -10.000000 364 - -44.500000 -10.000000 370 - -44.333333 -10.000000 359 - -44.166667 -10.000000 374 - -44.000000 -10.000000 389 - -43.833333 -10.000000 462 - -43.666667 -10.000000 547 - -43.500000 -10.000000 470 - -43.333333 -10.000000 480 - -43.166667 -10.000000 438 - -43.000000 -10.000000 421 - -42.833333 -10.000000 412 - -42.666667 -10.000000 408 - -42.500000 -10.000000 402 - -42.333333 -10.000000 395 - -42.166667 -10.000000 403 - -42.000000 -10.000000 621 - -41.833333 -10.000000 829 - -41.666667 -10.000000 611 - -41.500000 -10.000000 455 - -41.333333 -10.000000 748 - -41.166667 -10.000000 822 - -41.000000 -10.000000 754 - -40.833333 -10.000000 604 - -40.666667 -10.000000 527 - -40.500000 -10.000000 712 - -40.333333 -10.000000 578 - -40.166667 -10.000000 486 - -40.000000 -10.000000 461 - -65.000000 -10.166667 179 - -64.833333 -10.166667 177 - -64.666667 -10.166667 192 - -64.500000 -10.166667 173 - -64.333333 -10.166667 162 - -64.166667 -10.166667 159 - -64.000000 -10.166667 162 - -63.833333 -10.166667 167 - -63.666667 -10.166667 182 - -63.500000 -10.166667 191 - -63.333333 -10.166667 167 - -63.166667 -10.166667 148 - -63.000000 -10.166667 181 - -62.833333 -10.166667 134 - -62.666667 -10.166667 244 - -62.500000 -10.166667 222 - -62.333333 -10.166667 201 - -62.166667 -10.166667 155 - -62.000000 -10.166667 142 - -61.833333 -10.166667 170 - -61.666667 -10.166667 207 - -61.500000 -10.166667 325 - -61.333333 -10.166667 254 - -61.166667 -10.166667 233 - -61.000000 -10.166667 182 - -60.833333 -10.166667 153 - -60.666667 -10.166667 130 - -60.500000 -10.166667 158 - -60.333333 -10.166667 172 - -60.166667 -10.166667 164 - -60.000000 -10.166667 243 - -59.833333 -10.166667 204 - -59.666667 -10.166667 160 - -59.500000 -10.166667 241 - -59.333333 -10.166667 244 - -59.166667 -10.166667 174 - -59.000000 -10.166667 175 - -58.833333 -10.166667 179 - -58.666667 -10.166667 249 - -58.500000 -10.166667 235 - -58.333333 -10.166667 205 - -58.166667 -10.166667 229 - -58.000000 -10.166667 249 - -57.833333 -10.166667 299 - -57.666667 -10.166667 269 - -57.500000 -10.166667 288 - -57.333333 -10.166667 308 - -57.166667 -10.166667 295 - -57.000000 -10.166667 265 - -56.833333 -10.166667 287 - -56.666667 -10.166667 291 - -56.500000 -10.166667 271 - -56.333333 -10.166667 289 - -56.166667 -10.166667 312 - -56.000000 -10.166667 279 - -55.833333 -10.166667 285 - -55.666667 -10.166667 283 - -55.500000 -10.166667 287 - -55.333333 -10.166667 251 - -55.166667 -10.166667 249 - -55.000000 -10.166667 267 - -54.833333 -10.166667 269 - -54.666667 -10.166667 356 - -54.500000 -10.166667 374 - -54.333333 -10.166667 466 - -54.166667 -10.166667 375 - -54.000000 -10.166667 386 - -53.833333 -10.166667 366 - -53.666667 -10.166667 356 - -53.500000 -10.166667 314 - -53.333333 -10.166667 337 - -53.166667 -10.166667 293 - -53.000000 -10.166667 267 - -52.833333 -10.166667 325 - -52.666667 -10.166667 306 - -52.500000 -10.166667 322 - -52.333333 -10.166667 307 - -52.166667 -10.166667 305 - -52.000000 -10.166667 271 - -51.833333 -10.166667 300 - -51.666667 -10.166667 295 - -51.500000 -10.166667 310 - -51.333333 -10.166667 364 - -51.166667 -10.166667 245 - -51.000000 -10.166667 203 - -50.833333 -10.166667 246 - -50.666667 -10.166667 220 - -50.500000 -10.166667 178 - -50.333333 -10.166667 174 - -50.166667 -10.166667 173 - -50.000000 -10.166667 182 - -49.833333 -10.166667 183 - -49.666667 -10.166667 192 - -49.500000 -10.166667 205 - -49.333333 -10.166667 205 - -49.166667 -10.166667 267 - -49.000000 -10.166667 260 - -48.833333 -10.166667 471 - -48.666667 -10.166667 386 - -48.500000 -10.166667 271 - -48.333333 -10.166667 259 - -48.166667 -10.166667 668 - -48.000000 -10.166667 393 - -47.833333 -10.166667 300 - -47.666667 -10.166667 356 - -47.500000 -10.166667 309 - -47.333333 -10.166667 257 - -47.166667 -10.166667 361 - -47.000000 -10.166667 322 - -46.833333 -10.166667 335 - -46.666667 -10.166667 379 - -46.500000 -10.166667 494 - -46.333333 -10.166667 610 - -46.166667 -10.166667 694 - -46.000000 -10.166667 755 - -45.833333 -10.166667 441 - -45.666667 -10.166667 805 - -45.500000 -10.166667 489 - -45.333333 -10.166667 601 - -45.166667 -10.166667 505 - -45.000000 -10.166667 465 - -44.833333 -10.166667 397 - -44.666667 -10.166667 370 - -44.500000 -10.166667 379 - -44.333333 -10.166667 634 - -44.166667 -10.166667 407 - -44.000000 -10.166667 496 - -43.833333 -10.166667 494 - -43.666667 -10.166667 533 - -43.500000 -10.166667 486 - -43.333333 -10.166667 528 - -43.166667 -10.166667 468 - -43.000000 -10.166667 462 - -42.833333 -10.166667 433 - -42.666667 -10.166667 405 - -42.500000 -10.166667 394 - -42.333333 -10.166667 446 - -42.166667 -10.166667 396 - -42.000000 -10.166667 401 - -41.833333 -10.166667 448 - -41.666667 -10.166667 432 - -41.500000 -10.166667 683 - -41.333333 -10.166667 873 - -41.166667 -10.166667 1153 - -41.000000 -10.166667 696 - -40.833333 -10.166667 528 - -40.666667 -10.166667 554 - -40.500000 -10.166667 767 - -40.333333 -10.166667 804 - -40.166667 -10.166667 645 - -40.000000 -10.166667 485 - -65.000000 -10.333333 161 - -64.833333 -10.333333 173 - -64.666667 -10.333333 203 - -64.500000 -10.333333 154 - -64.333333 -10.333333 218 - -64.166667 -10.333333 169 - -64.000000 -10.333333 215 - -63.833333 -10.333333 188 - -63.666667 -10.333333 160 - -63.500000 -10.333333 253 - -63.333333 -10.333333 170 - -63.166667 -10.333333 150 - -63.000000 -10.333333 165 - -62.833333 -10.333333 177 - -62.666667 -10.333333 228 - -62.500000 -10.333333 169 - -62.333333 -10.333333 142 - -62.166667 -10.333333 155 - -62.000000 -10.333333 181 - -61.833333 -10.333333 136 - -61.666667 -10.333333 260 - -61.500000 -10.333333 225 - -61.333333 -10.333333 301 - -61.166667 -10.333333 206 - -61.000000 -10.333333 146 - -60.833333 -10.333333 173 - -60.666667 -10.333333 162 - -60.500000 -10.333333 166 - -60.333333 -10.333333 175 - -60.166667 -10.333333 198 - -60.000000 -10.333333 314 - -59.833333 -10.333333 228 - -59.666667 -10.333333 220 - -59.500000 -10.333333 264 - -59.333333 -10.333333 320 - -59.166667 -10.333333 430 - -59.000000 -10.333333 383 - -58.833333 -10.333333 190 - -58.666667 -10.333333 226 - -58.500000 -10.333333 238 - -58.333333 -10.333333 217 - -58.166667 -10.333333 275 - -58.000000 -10.333333 315 - -57.833333 -10.333333 360 - -57.666667 -10.333333 377 - -57.500000 -10.333333 437 - -57.333333 -10.333333 341 - -57.166667 -10.333333 451 - -57.000000 -10.333333 284 - -56.833333 -10.333333 301 - -56.666667 -10.333333 309 - -56.500000 -10.333333 300 - -56.333333 -10.333333 347 - -56.166667 -10.333333 297 - -56.000000 -10.333333 290 - -55.833333 -10.333333 280 - -55.666667 -10.333333 253 - -55.500000 -10.333333 272 - -55.333333 -10.333333 297 - -55.166667 -10.333333 267 - -55.000000 -10.333333 282 - -54.833333 -10.333333 263 - -54.666667 -10.333333 288 - -54.500000 -10.333333 280 - -54.333333 -10.333333 330 - -54.166667 -10.333333 457 - -54.000000 -10.333333 469 - -53.833333 -10.333333 342 - -53.666667 -10.333333 344 - -53.500000 -10.333333 322 - -53.333333 -10.333333 341 - -53.166667 -10.333333 312 - -53.000000 -10.333333 268 - -52.833333 -10.333333 292 - -52.666667 -10.333333 318 - -52.500000 -10.333333 306 - -52.333333 -10.333333 283 - -52.166667 -10.333333 259 - -52.000000 -10.333333 264 - -51.833333 -10.333333 269 - -51.666667 -10.333333 319 - -51.500000 -10.333333 297 - -51.333333 -10.333333 300 - -51.166667 -10.333333 235 - -51.000000 -10.333333 220 - -50.833333 -10.333333 233 - -50.666667 -10.333333 198 - -50.500000 -10.333333 180 - -50.333333 -10.333333 176 - -50.166667 -10.333333 174 - -50.000000 -10.333333 175 - -49.833333 -10.333333 179 - -49.666667 -10.333333 186 - -49.500000 -10.333333 201 - -49.333333 -10.333333 202 - -49.166667 -10.333333 293 - -49.000000 -10.333333 345 - -48.833333 -10.333333 357 - -48.666667 -10.333333 245 - -48.500000 -10.333333 239 - -48.333333 -10.333333 245 - -48.166667 -10.333333 563 - -48.000000 -10.333333 373 - -47.833333 -10.333333 353 - -47.666667 -10.333333 341 - -47.500000 -10.333333 329 - -47.333333 -10.333333 330 - -47.166667 -10.333333 387 - -47.000000 -10.333333 421 - -46.833333 -10.333333 369 - -46.666667 -10.333333 408 - -46.500000 -10.333333 446 - -46.333333 -10.333333 631 - -46.166667 -10.333333 745 - -46.000000 -10.333333 798 - -45.833333 -10.333333 785 - -45.666667 -10.333333 793 - -45.500000 -10.333333 806 - -45.333333 -10.333333 515 - -45.166667 -10.333333 523 - -45.000000 -10.333333 452 - -44.833333 -10.333333 403 - -44.666667 -10.333333 393 - -44.500000 -10.333333 427 - -44.333333 -10.333333 524 - -44.166667 -10.333333 515 - -44.000000 -10.333333 555 - -43.833333 -10.333333 605 - -43.666667 -10.333333 645 - -43.500000 -10.333333 510 - -43.333333 -10.333333 514 - -43.166667 -10.333333 529 - -43.000000 -10.333333 509 - -42.833333 -10.333333 462 - -42.666667 -10.333333 422 - -42.500000 -10.333333 435 - -42.333333 -10.333333 396 - -42.166667 -10.333333 403 - -42.000000 -10.333333 410 - -41.833333 -10.333333 411 - -41.666667 -10.333333 561 - -41.500000 -10.333333 1131 - -41.333333 -10.333333 1003 - -41.166667 -10.333333 910 - -41.000000 -10.333333 752 - -40.833333 -10.333333 526 - -40.666667 -10.333333 563 - -40.500000 -10.333333 791 - -40.333333 -10.333333 731 - -40.166667 -10.333333 593 - -40.000000 -10.333333 435 - -65.000000 -10.500000 157 - -64.833333 -10.500000 167 - -64.666667 -10.500000 191 - -64.500000 -10.500000 192 - -64.333333 -10.500000 230 - -64.166667 -10.500000 296 - -64.000000 -10.500000 161 - -63.833333 -10.500000 259 - -63.666667 -10.500000 189 - -63.500000 -10.500000 268 - -63.333333 -10.500000 178 - -63.166667 -10.500000 186 - -63.000000 -10.500000 319 - -62.833333 -10.500000 231 - -62.666667 -10.500000 208 - -62.500000 -10.500000 166 - -62.333333 -10.500000 201 - -62.166667 -10.500000 178 - -62.000000 -10.500000 203 - -61.833333 -10.500000 203 - -61.666667 -10.500000 214 - -61.500000 -10.500000 240 - -61.333333 -10.500000 251 - -61.166667 -10.500000 170 - -61.000000 -10.500000 195 - -60.833333 -10.500000 202 - -60.666667 -10.500000 178 - -60.500000 -10.500000 216 - -60.333333 -10.500000 347 - -60.166667 -10.500000 298 - -60.000000 -10.500000 257 - -59.833333 -10.500000 269 - -59.666667 -10.500000 282 - -59.500000 -10.500000 274 - -59.333333 -10.500000 300 - -59.166667 -10.500000 394 - -59.000000 -10.500000 433 - -58.833333 -10.500000 356 - -58.666667 -10.500000 238 - -58.500000 -10.500000 341 - -58.333333 -10.500000 244 - -58.166667 -10.500000 271 - -58.000000 -10.500000 350 - -57.833333 -10.500000 381 - -57.666667 -10.500000 394 - -57.500000 -10.500000 367 - -57.333333 -10.500000 313 - -57.166667 -10.500000 324 - -57.000000 -10.500000 323 - -56.833333 -10.500000 336 - -56.666667 -10.500000 319 - -56.500000 -10.500000 397 - -56.333333 -10.500000 338 - -56.166667 -10.500000 319 - -56.000000 -10.500000 265 - -55.833333 -10.500000 269 - -55.666667 -10.500000 264 - -55.500000 -10.500000 286 - -55.333333 -10.500000 264 - -55.166667 -10.500000 284 - -55.000000 -10.500000 350 - -54.833333 -10.500000 416 - -54.666667 -10.500000 283 - -54.500000 -10.500000 312 - -54.333333 -10.500000 401 - -54.166667 -10.500000 439 - -54.000000 -10.500000 444 - -53.833333 -10.500000 378 - -53.666667 -10.500000 349 - -53.500000 -10.500000 315 - -53.333333 -10.500000 294 - -53.166667 -10.500000 314 - -53.000000 -10.500000 308 - -52.833333 -10.500000 302 - -52.666667 -10.500000 301 - -52.500000 -10.500000 309 - -52.333333 -10.500000 284 - -52.166667 -10.500000 266 - -52.000000 -10.500000 293 - -51.833333 -10.500000 280 - -51.666667 -10.500000 222 - -51.500000 -10.500000 318 - -51.333333 -10.500000 404 - -51.166667 -10.500000 409 - -51.000000 -10.500000 225 - -50.833333 -10.500000 279 - -50.666667 -10.500000 227 - -50.500000 -10.500000 176 - -50.333333 -10.500000 176 - -50.166667 -10.500000 176 - -50.000000 -10.500000 177 - -49.833333 -10.500000 178 - -49.666667 -10.500000 183 - -49.500000 -10.500000 193 - -49.333333 -10.500000 205 - -49.166667 -10.500000 265 - -49.000000 -10.500000 314 - -48.833333 -10.500000 268 - -48.666667 -10.500000 512 - -48.500000 -10.500000 337 - -48.333333 -10.500000 237 - -48.166667 -10.500000 367 - -48.000000 -10.500000 481 - -47.833333 -10.500000 288 - -47.666667 -10.500000 366 - -47.500000 -10.500000 342 - -47.333333 -10.500000 354 - -47.166667 -10.500000 322 - -47.000000 -10.500000 482 - -46.833333 -10.500000 411 - -46.666667 -10.500000 427 - -46.500000 -10.500000 495 - -46.333333 -10.500000 613 - -46.166667 -10.500000 748 - -46.000000 -10.500000 722 - -45.833333 -10.500000 775 - -45.666667 -10.500000 775 - -45.500000 -10.500000 798 - -45.333333 -10.500000 661 - -45.166667 -10.500000 470 - -45.000000 -10.500000 440 - -44.833333 -10.500000 406 - -44.666667 -10.500000 454 - -44.500000 -10.500000 478 - -44.333333 -10.500000 673 - -44.166667 -10.500000 508 - -44.000000 -10.500000 630 - -43.833333 -10.500000 612 - -43.666667 -10.500000 655 - -43.500000 -10.500000 505 - -43.333333 -10.500000 576 - -43.166667 -10.500000 541 - -43.000000 -10.500000 491 - -42.833333 -10.500000 486 - -42.666667 -10.500000 496 - -42.500000 -10.500000 411 - -42.333333 -10.500000 404 - -42.166667 -10.500000 408 - -42.000000 -10.500000 416 - -41.833333 -10.500000 437 - -41.666667 -10.500000 830 - -41.500000 -10.500000 1016 - -41.333333 -10.500000 825 - -41.166667 -10.500000 938 - -41.000000 -10.500000 550 - -40.833333 -10.500000 531 - -40.666667 -10.500000 623 - -40.500000 -10.500000 824 - -40.333333 -10.500000 565 - -40.166667 -10.500000 477 - -40.000000 -10.500000 408 - -65.000000 -10.666667 191 - -64.833333 -10.666667 260 - -64.666667 -10.666667 173 - -64.500000 -10.666667 189 - -64.333333 -10.666667 359 - -64.166667 -10.666667 311 - -64.000000 -10.666667 244 - -63.833333 -10.666667 263 - -63.666667 -10.666667 300 - -63.500000 -10.666667 380 - -63.333333 -10.666667 219 - -63.166667 -10.666667 203 - -63.000000 -10.666667 277 - -62.833333 -10.666667 206 - -62.666667 -10.666667 171 - -62.500000 -10.666667 188 - -62.333333 -10.666667 240 - -62.166667 -10.666667 200 - -62.000000 -10.666667 173 - -61.833333 -10.666667 134 - -61.666667 -10.666667 289 - -61.500000 -10.666667 278 - -61.333333 -10.666667 285 - -61.166667 -10.666667 161 - -61.000000 -10.666667 177 - -60.833333 -10.666667 170 - -60.666667 -10.666667 157 - -60.500000 -10.666667 157 - -60.333333 -10.666667 177 - -60.166667 -10.666667 318 - -60.000000 -10.666667 250 - -59.833333 -10.666667 308 - -59.666667 -10.666667 359 - -59.500000 -10.666667 253 - -59.333333 -10.666667 302 - -59.166667 -10.666667 456 - -59.000000 -10.666667 457 - -58.833333 -10.666667 340 - -58.666667 -10.666667 248 - -58.500000 -10.666667 251 - -58.333333 -10.666667 236 - -58.166667 -10.666667 256 - -58.000000 -10.666667 230 - -57.833333 -10.666667 383 - -57.666667 -10.666667 490 - -57.500000 -10.666667 388 - -57.333333 -10.666667 399 - -57.166667 -10.666667 331 - -57.000000 -10.666667 332 - -56.833333 -10.666667 323 - -56.666667 -10.666667 308 - -56.500000 -10.666667 317 - -56.333333 -10.666667 302 - -56.166667 -10.666667 281 - -56.000000 -10.666667 280 - -55.833333 -10.666667 265 - -55.666667 -10.666667 299 - -55.500000 -10.666667 298 - -55.333333 -10.666667 298 - -55.166667 -10.666667 312 - -55.000000 -10.666667 394 - -54.833333 -10.666667 299 - -54.666667 -10.666667 381 - -54.500000 -10.666667 349 - -54.333333 -10.666667 367 - -54.166667 -10.666667 385 - -54.000000 -10.666667 333 - -53.833333 -10.666667 346 - -53.666667 -10.666667 347 - -53.500000 -10.666667 348 - -53.333333 -10.666667 335 - -53.166667 -10.666667 306 - -53.000000 -10.666667 331 - -52.833333 -10.666667 345 - -52.666667 -10.666667 308 - -52.500000 -10.666667 333 - -52.333333 -10.666667 297 - -52.166667 -10.666667 273 - -52.000000 -10.666667 225 - -51.833333 -10.666667 203 - -51.666667 -10.666667 219 - -51.500000 -10.666667 218 - -51.333333 -10.666667 287 - -51.166667 -10.666667 209 - -51.000000 -10.666667 202 - -50.833333 -10.666667 182 - -50.666667 -10.666667 184 - -50.500000 -10.666667 179 - -50.333333 -10.666667 178 - -50.166667 -10.666667 179 - -50.000000 -10.666667 177 - -49.833333 -10.666667 179 - -49.666667 -10.666667 187 - -49.500000 -10.666667 225 - -49.333333 -10.666667 218 - -49.166667 -10.666667 227 - -49.000000 -10.666667 349 - -48.833333 -10.666667 290 - -48.666667 -10.666667 458 - -48.500000 -10.666667 308 - -48.333333 -10.666667 296 - -48.166667 -10.666667 255 - -48.000000 -10.666667 697 - -47.833333 -10.666667 422 - -47.666667 -10.666667 372 - -47.500000 -10.666667 334 - -47.333333 -10.666667 327 - -47.166667 -10.666667 411 - -47.000000 -10.666667 403 - -46.833333 -10.666667 492 - -46.666667 -10.666667 449 - -46.500000 -10.666667 532 - -46.333333 -10.666667 579 - -46.166667 -10.666667 757 - -46.000000 -10.666667 737 - -45.833333 -10.666667 722 - -45.666667 -10.666667 778 - -45.500000 -10.666667 749 - -45.333333 -10.666667 680 - -45.166667 -10.666667 488 - -45.000000 -10.666667 428 - -44.833333 -10.666667 462 - -44.666667 -10.666667 663 - -44.500000 -10.666667 703 - -44.333333 -10.666667 674 - -44.166667 -10.666667 663 - -44.000000 -10.666667 654 - -43.833333 -10.666667 574 - -43.666667 -10.666667 532 - -43.500000 -10.666667 463 - -43.333333 -10.666667 620 - -43.166667 -10.666667 512 - -43.000000 -10.666667 460 - -42.833333 -10.666667 447 - -42.666667 -10.666667 399 - -42.500000 -10.666667 596 - -42.333333 -10.666667 416 - -42.166667 -10.666667 411 - -42.000000 -10.666667 437 - -41.833333 -10.666667 450 - -41.666667 -10.666667 511 - -41.500000 -10.666667 882 - -41.333333 -10.666667 785 - -41.166667 -10.666667 878 - -41.000000 -10.666667 556 - -40.833333 -10.666667 547 - -40.666667 -10.666667 753 - -40.500000 -10.666667 704 - -40.333333 -10.666667 478 - -40.166667 -10.666667 468 - -40.000000 -10.666667 401 - -65.000000 -10.833333 144 - -64.833333 -10.833333 158 - -64.666667 -10.833333 170 - -64.500000 -10.833333 156 - -64.333333 -10.833333 196 - -64.166667 -10.833333 307 - -64.000000 -10.833333 390 - -63.833333 -10.833333 380 - -63.666667 -10.833333 869 - -63.500000 -10.833333 342 - -63.333333 -10.833333 242 - -63.166667 -10.833333 318 - -63.000000 -10.833333 251 - -62.833333 -10.833333 196 - -62.666667 -10.833333 224 - -62.500000 -10.833333 270 - -62.333333 -10.833333 308 - -62.166667 -10.833333 214 - -62.000000 -10.833333 180 - -61.833333 -10.833333 170 - -61.666667 -10.833333 194 - -61.500000 -10.833333 289 - -61.333333 -10.833333 200 - -61.166667 -10.833333 172 - -61.000000 -10.833333 208 - -60.833333 -10.833333 194 - -60.666667 -10.833333 165 - -60.500000 -10.833333 214 - -60.333333 -10.833333 255 - -60.166667 -10.833333 235 - -60.000000 -10.833333 294 - -59.833333 -10.833333 276 - -59.666667 -10.833333 357 - -59.500000 -10.833333 325 - -59.333333 -10.833333 320 - -59.166667 -10.833333 298 - -59.000000 -10.833333 331 - -58.833333 -10.833333 353 - -58.666667 -10.833333 295 - -58.500000 -10.833333 281 - -58.333333 -10.833333 227 - -58.166667 -10.833333 265 - -58.000000 -10.833333 253 - -57.833333 -10.833333 257 - -57.666667 -10.833333 237 - -57.500000 -10.833333 302 - -57.333333 -10.833333 443 - -57.166667 -10.833333 319 - -57.000000 -10.833333 357 - -56.833333 -10.833333 316 - -56.666667 -10.833333 350 - -56.500000 -10.833333 354 - -56.333333 -10.833333 306 - -56.166667 -10.833333 277 - -56.000000 -10.833333 277 - -55.833333 -10.833333 311 - -55.666667 -10.833333 398 - -55.500000 -10.833333 304 - -55.333333 -10.833333 320 - -55.166667 -10.833333 347 - -55.000000 -10.833333 348 - -54.833333 -10.833333 382 - -54.666667 -10.833333 347 - -54.500000 -10.833333 427 - -54.333333 -10.833333 344 - -54.166667 -10.833333 343 - -54.000000 -10.833333 367 - -53.833333 -10.833333 374 - -53.666667 -10.833333 370 - -53.500000 -10.833333 353 - -53.333333 -10.833333 293 - -53.166667 -10.833333 273 - -53.000000 -10.833333 303 - -52.833333 -10.833333 345 - -52.666667 -10.833333 332 - -52.500000 -10.833333 329 - -52.333333 -10.833333 303 - -52.166667 -10.833333 285 - -52.000000 -10.833333 199 - -51.833333 -10.833333 214 - -51.666667 -10.833333 190 - -51.500000 -10.833333 192 - -51.333333 -10.833333 201 - -51.166667 -10.833333 193 - -51.000000 -10.833333 181 - -50.833333 -10.833333 181 - -50.666667 -10.833333 182 - -50.500000 -10.833333 182 - -50.333333 -10.833333 191 - -50.166667 -10.833333 192 - -50.000000 -10.833333 180 - -49.833333 -10.833333 186 - -49.666667 -10.833333 189 - -49.500000 -10.833333 190 - -49.333333 -10.833333 202 - -49.166667 -10.833333 284 - -49.000000 -10.833333 345 - -48.833333 -10.833333 291 - -48.666667 -10.833333 503 - -48.500000 -10.833333 342 - -48.333333 -10.833333 278 - -48.166667 -10.833333 292 - -48.000000 -10.833333 578 - -47.833333 -10.833333 374 - -47.666667 -10.833333 382 - -47.500000 -10.833333 394 - -47.333333 -10.833333 370 - -47.166667 -10.833333 401 - -47.000000 -10.833333 468 - -46.833333 -10.833333 597 - -46.666667 -10.833333 508 - -46.500000 -10.833333 764 - -46.333333 -10.833333 639 - -46.166667 -10.833333 661 - -46.000000 -10.833333 687 - -45.833333 -10.833333 555 - -45.666667 -10.833333 758 - -45.500000 -10.833333 746 - -45.333333 -10.833333 747 - -45.166667 -10.833333 613 - -45.000000 -10.833333 514 - -44.833333 -10.833333 567 - -44.666667 -10.833333 558 - -44.500000 -10.833333 548 - -44.333333 -10.833333 512 - -44.166667 -10.833333 496 - -44.000000 -10.833333 541 - -43.833333 -10.833333 570 - -43.666667 -10.833333 510 - -43.500000 -10.833333 440 - -43.333333 -10.833333 453 - -43.166667 -10.833333 468 - -43.000000 -10.833333 459 - -42.833333 -10.833333 402 - -42.666667 -10.833333 436 - -42.500000 -10.833333 478 - -42.333333 -10.833333 440 - -42.166667 -10.833333 428 - -42.000000 -10.833333 461 - -41.833333 -10.833333 490 - -41.666667 -10.833333 473 - -41.500000 -10.833333 764 - -41.333333 -10.833333 697 - -41.166667 -10.833333 615 - -41.000000 -10.833333 560 - -40.833333 -10.833333 566 - -40.666667 -10.833333 808 - -40.500000 -10.833333 603 - -40.333333 -10.833333 462 - -40.166667 -10.833333 404 - -40.000000 -10.833333 375 - -65.000000 -11.000000 163 - -64.833333 -11.000000 175 - -64.666667 -11.000000 160 - -64.500000 -11.000000 190 - -64.333333 -11.000000 191 - -64.166667 -11.000000 207 - -64.000000 -11.000000 185 - -63.833333 -11.000000 294 - -63.666667 -11.000000 857 - -63.500000 -11.000000 368 - -63.333333 -11.000000 301 - -63.166667 -11.000000 310 - -63.000000 -11.000000 309 - -62.833333 -11.000000 283 - -62.666667 -11.000000 257 - -62.500000 -11.000000 390 - -62.333333 -11.000000 211 - -62.166667 -11.000000 172 - -62.000000 -11.000000 177 - -61.833333 -11.000000 215 - -61.666667 -11.000000 281 - -61.500000 -11.000000 312 - -61.333333 -11.000000 207 - -61.166667 -11.000000 188 - -61.000000 -11.000000 194 - -60.833333 -11.000000 192 - -60.666667 -11.000000 241 - -60.500000 -11.000000 216 - -60.333333 -11.000000 215 - -60.166667 -11.000000 253 - -60.000000 -11.000000 273 - -59.833333 -11.000000 396 - -59.666667 -11.000000 380 - -59.500000 -11.000000 376 - -59.333333 -11.000000 276 - -59.166667 -11.000000 311 - -59.000000 -11.000000 339 - -58.833333 -11.000000 311 - -58.666667 -11.000000 269 - -58.500000 -11.000000 284 - -58.333333 -11.000000 251 - -58.166667 -11.000000 245 - -58.000000 -11.000000 289 - -57.833333 -11.000000 243 - -57.666667 -11.000000 264 - -57.500000 -11.000000 294 - -57.333333 -11.000000 255 - -57.166667 -11.000000 312 - -57.000000 -11.000000 316 - -56.833333 -11.000000 340 - -56.666667 -11.000000 431 - -56.500000 -11.000000 304 - -56.333333 -11.000000 332 - -56.166667 -11.000000 299 - -56.000000 -11.000000 306 - -55.833333 -11.000000 280 - -55.666667 -11.000000 291 - -55.500000 -11.000000 290 - -55.333333 -11.000000 322 - -55.166667 -11.000000 410 - -55.000000 -11.000000 424 - -54.833333 -11.000000 401 - -54.666667 -11.000000 355 - -54.500000 -11.000000 354 - -54.333333 -11.000000 317 - -54.166667 -11.000000 342 - -54.000000 -11.000000 318 - -53.833333 -11.000000 307 - -53.666667 -11.000000 317 - -53.500000 -11.000000 322 - -53.333333 -11.000000 276 - -53.166667 -11.000000 330 - -53.000000 -11.000000 304 - -52.833333 -11.000000 308 - -52.666667 -11.000000 325 - -52.500000 -11.000000 369 - -52.333333 -11.000000 310 - -52.166667 -11.000000 300 - -52.000000 -11.000000 239 - -51.833333 -11.000000 223 - -51.666667 -11.000000 191 - -51.500000 -11.000000 188 - -51.333333 -11.000000 187 - -51.166667 -11.000000 182 - -51.000000 -11.000000 182 - -50.833333 -11.000000 183 - -50.666667 -11.000000 185 - -50.500000 -11.000000 184 - -50.333333 -11.000000 190 - -50.166667 -11.000000 191 - -50.000000 -11.000000 184 - -49.833333 -11.000000 188 - -49.666667 -11.000000 189 - -49.500000 -11.000000 213 - -49.333333 -11.000000 219 - -49.166667 -11.000000 296 - -49.000000 -11.000000 277 - -48.833333 -11.000000 252 - -48.666667 -11.000000 381 - -48.500000 -11.000000 222 - -48.333333 -11.000000 296 - -48.166667 -11.000000 251 - -48.000000 -11.000000 306 - -47.833333 -11.000000 641 - -47.666667 -11.000000 357 - -47.500000 -11.000000 363 - -47.333333 -11.000000 364 - -47.166667 -11.000000 468 - -47.000000 -11.000000 465 - -46.833333 -11.000000 560 - -46.666667 -11.000000 589 - -46.500000 -11.000000 547 - -46.333333 -11.000000 807 - -46.166667 -11.000000 779 - -46.000000 -11.000000 678 - -45.833333 -11.000000 763 - -45.666667 -11.000000 739 - -45.500000 -11.000000 536 - -45.333333 -11.000000 689 - -45.166667 -11.000000 539 - -45.000000 -11.000000 532 - -44.833333 -11.000000 500 - -44.666667 -11.000000 467 - -44.500000 -11.000000 445 - -44.333333 -11.000000 454 - -44.166667 -11.000000 458 - -44.000000 -11.000000 698 - -43.833333 -11.000000 532 - -43.666667 -11.000000 480 - -43.500000 -11.000000 431 - -43.333333 -11.000000 419 - -43.166667 -11.000000 411 - -43.000000 -11.000000 403 - -42.833333 -11.000000 438 - -42.666667 -11.000000 531 - -42.500000 -11.000000 694 - -42.333333 -11.000000 445 - -42.166667 -11.000000 490 - -42.000000 -11.000000 551 - -41.833333 -11.000000 618 - -41.666667 -11.000000 766 - -41.500000 -11.000000 579 - -41.333333 -11.000000 792 - -41.166667 -11.000000 594 - -41.000000 -11.000000 586 - -40.833333 -11.000000 688 - -40.666667 -11.000000 773 - -40.500000 -11.000000 843 - -40.333333 -11.000000 460 - -40.166667 -11.000000 400 - -40.000000 -11.000000 350 - -65.000000 -11.166667 138 - -64.833333 -11.166667 153 - -64.666667 -11.166667 164 - -64.500000 -11.166667 183 - -64.333333 -11.166667 176 - -64.166667 -11.166667 176 - -64.000000 -11.166667 199 - -63.833333 -11.166667 221 - -63.666667 -11.166667 266 - -63.500000 -11.166667 253 - -63.333333 -11.166667 414 - -63.166667 -11.166667 256 - -63.000000 -11.166667 264 - -62.833333 -11.166667 251 - -62.666667 -11.166667 246 - -62.500000 -11.166667 244 - -62.333333 -11.166667 202 - -62.166667 -11.166667 234 - -62.000000 -11.166667 193 - -61.833333 -11.166667 200 - -61.666667 -11.166667 284 - -61.500000 -11.166667 270 - -61.333333 -11.166667 218 - -61.166667 -11.166667 229 - -61.000000 -11.166667 292 - -60.833333 -11.166667 492 - -60.666667 -11.166667 300 - -60.500000 -11.166667 241 - -60.333333 -11.166667 424 - -60.166667 -11.166667 292 - -60.000000 -11.166667 280 - -59.833333 -11.166667 473 - -59.666667 -11.166667 369 - -59.500000 -11.166667 306 - -59.333333 -11.166667 367 - -59.166667 -11.166667 410 - -59.000000 -11.166667 346 - -58.833333 -11.166667 359 - -58.666667 -11.166667 332 - -58.500000 -11.166667 332 - -58.333333 -11.166667 241 - -58.166667 -11.166667 297 - -58.000000 -11.166667 288 - -57.833333 -11.166667 277 - -57.666667 -11.166667 232 - -57.500000 -11.166667 291 - -57.333333 -11.166667 250 - -57.166667 -11.166667 346 - -57.000000 -11.166667 325 - -56.833333 -11.166667 365 - -56.666667 -11.166667 326 - -56.500000 -11.166667 417 - -56.333333 -11.166667 448 - -56.166667 -11.166667 444 - -56.000000 -11.166667 409 - -55.833333 -11.166667 315 - -55.666667 -11.166667 355 - -55.500000 -11.166667 342 - -55.333333 -11.166667 311 - -55.166667 -11.166667 333 - -55.000000 -11.166667 355 - -54.833333 -11.166667 330 - -54.666667 -11.166667 312 - -54.500000 -11.166667 309 - -54.333333 -11.166667 325 - -54.166667 -11.166667 348 - -54.000000 -11.166667 351 - -53.833333 -11.166667 324 - -53.666667 -11.166667 281 - -53.500000 -11.166667 323 - -53.333333 -11.166667 305 - -53.166667 -11.166667 328 - -53.000000 -11.166667 300 - -52.833333 -11.166667 327 - -52.666667 -11.166667 340 - -52.500000 -11.166667 359 - -52.333333 -11.166667 323 - -52.166667 -11.166667 327 - -52.000000 -11.166667 239 - -51.833333 -11.166667 224 - -51.666667 -11.166667 221 - -51.500000 -11.166667 193 - -51.333333 -11.166667 200 - -51.166667 -11.166667 188 - -51.000000 -11.166667 188 - -50.833333 -11.166667 187 - -50.666667 -11.166667 184 - -50.500000 -11.166667 185 - -50.333333 -11.166667 185 - -50.166667 -11.166667 187 - -50.000000 -11.166667 185 - -49.833333 -11.166667 185 - -49.666667 -11.166667 189 - -49.500000 -11.166667 196 - -49.333333 -11.166667 239 - -49.166667 -11.166667 302 - -49.000000 -11.166667 261 - -48.833333 -11.166667 258 - -48.666667 -11.166667 259 - -48.500000 -11.166667 226 - -48.333333 -11.166667 321 - -48.166667 -11.166667 273 - -48.000000 -11.166667 278 - -47.833333 -11.166667 330 - -47.666667 -11.166667 452 - -47.500000 -11.166667 510 - -47.333333 -11.166667 398 - -47.166667 -11.166667 450 - -47.000000 -11.166667 494 - -46.833333 -11.166667 591 - -46.666667 -11.166667 742 - -46.500000 -11.166667 851 - -46.333333 -11.166667 713 - -46.166667 -11.166667 661 - -46.000000 -11.166667 729 - -45.833333 -11.166667 767 - -45.666667 -11.166667 758 - -45.500000 -11.166667 545 - -45.333333 -11.166667 594 - -45.166667 -11.166667 602 - -45.000000 -11.166667 584 - -44.833333 -11.166667 527 - -44.666667 -11.166667 519 - -44.500000 -11.166667 499 - -44.333333 -11.166667 445 - -44.166667 -11.166667 432 - -44.000000 -11.166667 430 - -43.833333 -11.166667 455 - -43.666667 -11.166667 427 - -43.500000 -11.166667 413 - -43.333333 -11.166667 418 - -43.166667 -11.166667 408 - -43.000000 -11.166667 412 - -42.833333 -11.166667 409 - -42.666667 -11.166667 907 - -42.500000 -11.166667 773 - -42.333333 -11.166667 488 - -42.166667 -11.166667 512 - -42.000000 -11.166667 760 - -41.833333 -11.166667 779 - -41.666667 -11.166667 807 - -41.500000 -11.166667 766 - -41.333333 -11.166667 849 - -41.166667 -11.166667 751 - -41.000000 -11.166667 705 - -40.833333 -11.166667 711 - -40.666667 -11.166667 698 - -40.500000 -11.166667 707 - -40.333333 -11.166667 525 - -40.166667 -11.166667 389 - -40.000000 -11.166667 345 - -65.000000 -11.333333 166 - -64.833333 -11.333333 141 - -64.666667 -11.333333 167 - -64.500000 -11.333333 175 - -64.333333 -11.333333 186 - -64.166667 -11.333333 196 - -64.000000 -11.333333 218 - -63.833333 -11.333333 239 - -63.666667 -11.333333 325 - -63.500000 -11.333333 240 - -63.333333 -11.333333 223 - -63.166667 -11.333333 248 - -63.000000 -11.333333 290 - -62.833333 -11.333333 303 - -62.666667 -11.333333 259 - -62.500000 -11.333333 241 - -62.333333 -11.333333 214 - -62.166667 -11.333333 187 - -62.000000 -11.333333 167 - -61.833333 -11.333333 173 - -61.666667 -11.333333 259 - -61.500000 -11.333333 244 - -61.333333 -11.333333 261 - -61.166667 -11.333333 260 - -61.000000 -11.333333 416 - -60.833333 -11.333333 366 - -60.666667 -11.333333 375 - -60.500000 -11.333333 261 - -60.333333 -11.333333 296 - -60.166667 -11.333333 345 - -60.000000 -11.333333 355 - -59.833333 -11.333333 421 - -59.666667 -11.333333 423 - -59.500000 -11.333333 341 - -59.333333 -11.333333 327 - -59.166667 -11.333333 355 - -59.000000 -11.333333 409 - -58.833333 -11.333333 381 - -58.666667 -11.333333 364 - -58.500000 -11.333333 309 - -58.333333 -11.333333 256 - -58.166667 -11.333333 300 - -58.000000 -11.333333 300 - -57.833333 -11.333333 317 - -57.666667 -11.333333 281 - -57.500000 -11.333333 275 - -57.333333 -11.333333 312 - -57.166667 -11.333333 313 - -57.000000 -11.333333 350 - -56.833333 -11.333333 331 - -56.666667 -11.333333 361 - -56.500000 -11.333333 341 - -56.333333 -11.333333 350 - -56.166667 -11.333333 395 - -56.000000 -11.333333 349 - -55.833333 -11.333333 419 - -55.666667 -11.333333 339 - -55.500000 -11.333333 335 - -55.333333 -11.333333 346 - -55.166667 -11.333333 322 - -55.000000 -11.333333 315 - -54.833333 -11.333333 312 - -54.666667 -11.333333 331 - -54.500000 -11.333333 384 - -54.333333 -11.333333 355 - -54.166667 -11.333333 305 - -54.000000 -11.333333 365 - -53.833333 -11.333333 294 - -53.666667 -11.333333 332 - -53.500000 -11.333333 318 - -53.333333 -11.333333 275 - -53.166667 -11.333333 275 - -53.000000 -11.333333 306 - -52.833333 -11.333333 310 - -52.666667 -11.333333 328 - -52.500000 -11.333333 355 - -52.333333 -11.333333 362 - -52.166667 -11.333333 338 - -52.000000 -11.333333 276 - -51.833333 -11.333333 261 - -51.666667 -11.333333 239 - -51.500000 -11.333333 227 - -51.333333 -11.333333 200 - -51.166667 -11.333333 197 - -51.000000 -11.333333 188 - -50.833333 -11.333333 192 - -50.666667 -11.333333 188 - -50.500000 -11.333333 188 - -50.333333 -11.333333 187 - -50.166667 -11.333333 190 - -50.000000 -11.333333 189 - -49.833333 -11.333333 188 - -49.666667 -11.333333 191 - -49.500000 -11.333333 202 - -49.333333 -11.333333 239 - -49.166667 -11.333333 220 - -49.000000 -11.333333 288 - -48.833333 -11.333333 260 - -48.666667 -11.333333 308 - -48.500000 -11.333333 260 - -48.333333 -11.333333 256 - -48.166667 -11.333333 274 - -48.000000 -11.333333 282 - -47.833333 -11.333333 408 - -47.666667 -11.333333 467 - -47.500000 -11.333333 512 - -47.333333 -11.333333 531 - -47.166667 -11.333333 420 - -47.000000 -11.333333 550 - -46.833333 -11.333333 561 - -46.666667 -11.333333 723 - -46.500000 -11.333333 698 - -46.333333 -11.333333 718 - -46.166667 -11.333333 820 - -46.000000 -11.333333 803 - -45.833333 -11.333333 773 - -45.666667 -11.333333 768 - -45.500000 -11.333333 635 - -45.333333 -11.333333 646 - -45.166667 -11.333333 642 - -45.000000 -11.333333 751 - -44.833333 -11.333333 548 - -44.666667 -11.333333 490 - -44.500000 -11.333333 450 - -44.333333 -11.333333 435 - -44.166667 -11.333333 432 - -44.000000 -11.333333 427 - -43.833333 -11.333333 514 - -43.666667 -11.333333 520 - -43.500000 -11.333333 448 - -43.333333 -11.333333 432 - -43.166667 -11.333333 409 - -43.000000 -11.333333 417 - -42.833333 -11.333333 426 - -42.666667 -11.333333 980 - -42.500000 -11.333333 991 - -42.333333 -11.333333 499 - -42.166667 -11.333333 955 - -42.000000 -11.333333 698 - -41.833333 -11.333333 782 - -41.666667 -11.333333 818 - -41.500000 -11.333333 779 - -41.333333 -11.333333 952 - -41.166667 -11.333333 982 - -41.000000 -11.333333 889 - -40.833333 -11.333333 861 - -40.666667 -11.333333 523 - -40.500000 -11.333333 690 - -40.333333 -11.333333 450 - -40.166667 -11.333333 396 - -40.000000 -11.333333 398 - -65.000000 -11.500000 171 - -64.833333 -11.500000 159 - -64.666667 -11.500000 155 - -64.500000 -11.500000 168 - -64.333333 -11.500000 171 - -64.166667 -11.500000 175 - -64.000000 -11.500000 210 - -63.833333 -11.500000 202 - -63.666667 -11.500000 234 - -63.500000 -11.500000 239 - -63.333333 -11.500000 288 - -63.166667 -11.500000 298 - -63.000000 -11.500000 220 - -62.833333 -11.500000 288 - -62.666667 -11.500000 245 - -62.500000 -11.500000 286 - -62.333333 -11.500000 215 - -62.166667 -11.500000 203 - -62.000000 -11.500000 206 - -61.833333 -11.500000 182 - -61.666667 -11.500000 226 - -61.500000 -11.500000 207 - -61.333333 -11.500000 180 - -61.166667 -11.500000 222 - -61.000000 -11.500000 286 - -60.833333 -11.500000 237 - -60.666667 -11.500000 410 - -60.500000 -11.500000 320 - -60.333333 -11.500000 362 - -60.166667 -11.500000 424 - -60.000000 -11.500000 341 - -59.833333 -11.500000 342 - -59.666667 -11.500000 373 - -59.500000 -11.500000 370 - -59.333333 -11.500000 364 - -59.166667 -11.500000 342 - -59.000000 -11.500000 348 - -58.833333 -11.500000 335 - -58.666667 -11.500000 302 - -58.500000 -11.500000 305 - -58.333333 -11.500000 245 - -58.166667 -11.500000 251 - -58.000000 -11.500000 316 - -57.833333 -11.500000 299 - -57.666667 -11.500000 294 - -57.500000 -11.500000 264 - -57.333333 -11.500000 285 - -57.166667 -11.500000 275 - -57.000000 -11.500000 327 - -56.833333 -11.500000 340 - -56.666667 -11.500000 361 - -56.500000 -11.500000 365 - -56.333333 -11.500000 340 - -56.166667 -11.500000 356 - -56.000000 -11.500000 411 - -55.833333 -11.500000 413 - -55.666667 -11.500000 333 - -55.500000 -11.500000 339 - -55.333333 -11.500000 355 - -55.166667 -11.500000 371 - -55.000000 -11.500000 317 - -54.833333 -11.500000 328 - -54.666667 -11.500000 315 - -54.500000 -11.500000 384 - -54.333333 -11.500000 335 - -54.166667 -11.500000 359 - -54.000000 -11.500000 351 - -53.833333 -11.500000 312 - -53.666667 -11.500000 331 - -53.500000 -11.500000 278 - -53.333333 -11.500000 312 - -53.166667 -11.500000 312 - -53.000000 -11.500000 289 - -52.833333 -11.500000 317 - -52.666667 -11.500000 318 - -52.500000 -11.500000 329 - -52.333333 -11.500000 325 - -52.166667 -11.500000 369 - -52.000000 -11.500000 312 - -51.833333 -11.500000 295 - -51.666667 -11.500000 253 - -51.500000 -11.500000 267 - -51.333333 -11.500000 230 - -51.166667 -11.500000 222 - -51.000000 -11.500000 190 - -50.833333 -11.500000 191 - -50.666667 -11.500000 190 - -50.500000 -11.500000 191 - -50.333333 -11.500000 189 - -50.166667 -11.500000 191 - -50.000000 -11.500000 189 - -49.833333 -11.500000 190 - -49.666667 -11.500000 201 - -49.500000 -11.500000 217 - -49.333333 -11.500000 278 - -49.166667 -11.500000 262 - -49.000000 -11.500000 263 - -48.833333 -11.500000 287 - -48.666667 -11.500000 271 - -48.500000 -11.500000 254 - -48.333333 -11.500000 260 - -48.166667 -11.500000 267 - -48.000000 -11.500000 333 - -47.833333 -11.500000 339 - -47.666667 -11.500000 349 - -47.500000 -11.500000 451 - -47.333333 -11.500000 353 - -47.166667 -11.500000 420 - -47.000000 -11.500000 462 - -46.833333 -11.500000 546 - -46.666667 -11.500000 619 - -46.500000 -11.500000 903 - -46.333333 -11.500000 867 - -46.166667 -11.500000 838 - -46.000000 -11.500000 810 - -45.833333 -11.500000 788 - -45.666667 -11.500000 779 - -45.500000 -11.500000 770 - -45.333333 -11.500000 758 - -45.166667 -11.500000 654 - -45.000000 -11.500000 660 - -44.833333 -11.500000 474 - -44.666667 -11.500000 455 - -44.500000 -11.500000 441 - -44.333333 -11.500000 428 - -44.166667 -11.500000 428 - -44.000000 -11.500000 415 - -43.833333 -11.500000 438 - -43.666667 -11.500000 496 - -43.500000 -11.500000 456 - -43.333333 -11.500000 415 - -43.166667 -11.500000 416 - -43.000000 -11.500000 435 - -42.833333 -11.500000 512 - -42.666667 -11.500000 921 - -42.500000 -11.500000 1024 - -42.333333 -11.500000 775 - -42.166667 -11.500000 968 - -42.000000 -11.500000 773 - -41.833333 -11.500000 794 - -41.666667 -11.500000 789 - -41.500000 -11.500000 693 - -41.333333 -11.500000 927 - -41.166667 -11.500000 1078 - -41.000000 -11.500000 837 - -40.833333 -11.500000 888 - -40.666667 -11.500000 608 - -40.500000 -11.500000 589 - -40.333333 -11.500000 489 - -40.166667 -11.500000 398 - -40.000000 -11.500000 351 - -65.000000 -11.666667 157 - -64.833333 -11.666667 162 - -64.666667 -11.666667 161 - -64.500000 -11.666667 203 - -64.333333 -11.666667 206 - -64.166667 -11.666667 206 - -64.000000 -11.666667 399 - -63.833333 -11.666667 194 - -63.666667 -11.666667 203 - -63.500000 -11.666667 330 - -63.333333 -11.666667 240 - -63.166667 -11.666667 205 - -63.000000 -11.666667 205 - -62.833333 -11.666667 181 - -62.666667 -11.666667 208 - -62.500000 -11.666667 233 - -62.333333 -11.666667 258 - -62.166667 -11.666667 240 - -62.000000 -11.666667 221 - -61.833333 -11.666667 241 - -61.666667 -11.666667 234 - -61.500000 -11.666667 215 - -61.333333 -11.666667 238 - -61.166667 -11.666667 181 - -61.000000 -11.666667 226 - -60.833333 -11.666667 259 - -60.666667 -11.666667 359 - -60.500000 -11.666667 390 - -60.333333 -11.666667 355 - -60.166667 -11.666667 339 - -60.000000 -11.666667 346 - -59.833333 -11.666667 389 - -59.666667 -11.666667 349 - -59.500000 -11.666667 390 - -59.333333 -11.666667 352 - -59.166667 -11.666667 356 - -59.000000 -11.666667 362 - -58.833333 -11.666667 320 - -58.666667 -11.666667 326 - -58.500000 -11.666667 292 - -58.333333 -11.666667 295 - -58.166667 -11.666667 269 - -58.000000 -11.666667 299 - -57.833333 -11.666667 294 - -57.666667 -11.666667 314 - -57.500000 -11.666667 292 - -57.333333 -11.666667 280 - -57.166667 -11.666667 287 - -57.000000 -11.666667 307 - -56.833333 -11.666667 326 - -56.666667 -11.666667 368 - -56.500000 -11.666667 385 - -56.333333 -11.666667 352 - -56.166667 -11.666667 376 - -56.000000 -11.666667 396 - -55.833333 -11.666667 372 - -55.666667 -11.666667 351 - -55.500000 -11.666667 391 - -55.333333 -11.666667 377 - -55.166667 -11.666667 376 - -55.000000 -11.666667 317 - -54.833333 -11.666667 310 - -54.666667 -11.666667 332 - -54.500000 -11.666667 344 - -54.333333 -11.666667 345 - -54.166667 -11.666667 300 - -54.000000 -11.666667 330 - -53.833333 -11.666667 326 - -53.666667 -11.666667 320 - -53.500000 -11.666667 316 - -53.333333 -11.666667 326 - -53.166667 -11.666667 278 - -53.000000 -11.666667 320 - -52.833333 -11.666667 303 - -52.666667 -11.666667 281 - -52.500000 -11.666667 309 - -52.333333 -11.666667 344 - -52.166667 -11.666667 351 - -52.000000 -11.666667 343 - -51.833333 -11.666667 317 - -51.666667 -11.666667 321 - -51.500000 -11.666667 272 - -51.333333 -11.666667 235 - -51.166667 -11.666667 213 - -51.000000 -11.666667 195 - -50.833333 -11.666667 202 - -50.666667 -11.666667 191 - -50.500000 -11.666667 192 - -50.333333 -11.666667 191 - -50.166667 -11.666667 193 - -50.000000 -11.666667 191 - -49.833333 -11.666667 198 - -49.666667 -11.666667 194 - -49.500000 -11.666667 203 - -49.333333 -11.666667 285 - -49.166667 -11.666667 341 - -49.000000 -11.666667 286 - -48.833333 -11.666667 321 - -48.666667 -11.666667 238 - -48.500000 -11.666667 264 - -48.333333 -11.666667 262 - -48.166667 -11.666667 252 - -48.000000 -11.666667 311 - -47.833333 -11.666667 343 - -47.666667 -11.666667 426 - -47.500000 -11.666667 488 - -47.333333 -11.666667 372 - -47.166667 -11.666667 394 - -47.000000 -11.666667 407 - -46.833333 -11.666667 725 - -46.666667 -11.666667 592 - -46.500000 -11.666667 638 - -46.333333 -11.666667 803 - -46.166667 -11.666667 838 - -46.000000 -11.666667 813 - -45.833333 -11.666667 762 - -45.666667 -11.666667 779 - -45.500000 -11.666667 766 - -45.333333 -11.666667 667 - -45.166667 -11.666667 759 - -45.000000 -11.666667 769 - -44.833333 -11.666667 483 - -44.666667 -11.666667 444 - -44.500000 -11.666667 440 - -44.333333 -11.666667 434 - -44.166667 -11.666667 420 - -44.000000 -11.666667 426 - -43.833333 -11.666667 430 - -43.666667 -11.666667 539 - -43.500000 -11.666667 432 - -43.333333 -11.666667 411 - -43.166667 -11.666667 483 - -43.000000 -11.666667 558 - -42.833333 -11.666667 843 - -42.666667 -11.666667 856 - -42.500000 -11.666667 1323 - -42.333333 -11.666667 640 - -42.166667 -11.666667 738 - -42.000000 -11.666667 749 - -41.833333 -11.666667 742 - -41.666667 -11.666667 702 - -41.500000 -11.666667 760 - -41.333333 -11.666667 974 - -41.166667 -11.666667 961 - -41.000000 -11.666667 854 - -40.833333 -11.666667 712 - -40.666667 -11.666667 610 - -40.500000 -11.666667 554 - -40.333333 -11.666667 444 - -40.166667 -11.666667 467 - -40.000000 -11.666667 415 - -65.000000 -11.833333 163 - -64.833333 -11.833333 166 - -64.666667 -11.833333 169 - -64.500000 -11.833333 171 - -64.333333 -11.833333 201 - -64.166667 -11.833333 180 - -64.000000 -11.833333 217 - -63.833333 -11.833333 219 - -63.666667 -11.833333 238 - -63.500000 -11.833333 205 - -63.333333 -11.833333 193 - -63.166667 -11.833333 192 - -63.000000 -11.833333 183 - -62.833333 -11.833333 179 - -62.666667 -11.833333 204 - -62.500000 -11.833333 202 - -62.333333 -11.833333 277 - -62.166667 -11.833333 313 - -62.000000 -11.833333 283 - -61.833333 -11.833333 280 - -61.666667 -11.833333 240 - -61.500000 -11.833333 216 - -61.333333 -11.833333 231 - -61.166667 -11.833333 201 - -61.000000 -11.833333 209 - -60.833333 -11.833333 227 - -60.666667 -11.833333 328 - -60.500000 -11.833333 341 - -60.333333 -11.833333 371 - -60.166667 -11.833333 427 - -60.000000 -11.833333 423 - -59.833333 -11.833333 390 - -59.666667 -11.833333 334 - -59.500000 -11.833333 361 - -59.333333 -11.833333 388 - -59.166667 -11.833333 407 - -59.000000 -11.833333 425 - -58.833333 -11.833333 410 - -58.666667 -11.833333 289 - -58.500000 -11.833333 338 - -58.333333 -11.833333 276 - -58.166667 -11.833333 290 - -58.000000 -11.833333 285 - -57.833333 -11.833333 310 - -57.666667 -11.833333 337 - -57.500000 -11.833333 313 - -57.333333 -11.833333 290 - -57.166667 -11.833333 298 - -57.000000 -11.833333 315 - -56.833333 -11.833333 331 - -56.666667 -11.833333 333 - -56.500000 -11.833333 362 - -56.333333 -11.833333 372 - -56.166667 -11.833333 384 - -56.000000 -11.833333 373 - -55.833333 -11.833333 330 - -55.666667 -11.833333 323 - -55.500000 -11.833333 373 - -55.333333 -11.833333 353 - -55.166667 -11.833333 343 - -55.000000 -11.833333 354 - -54.833333 -11.833333 373 - -54.666667 -11.833333 376 - -54.500000 -11.833333 381 - -54.333333 -11.833333 339 - -54.166667 -11.833333 339 - -54.000000 -11.833333 349 - -53.833333 -11.833333 345 - -53.666667 -11.833333 316 - -53.500000 -11.833333 311 - -53.333333 -11.833333 329 - -53.166667 -11.833333 303 - -53.000000 -11.833333 325 - -52.833333 -11.833333 317 - -52.666667 -11.833333 326 - -52.500000 -11.833333 308 - -52.333333 -11.833333 345 - -52.166667 -11.833333 318 - -52.000000 -11.833333 375 - -51.833333 -11.833333 389 - -51.666667 -11.833333 319 - -51.500000 -11.833333 360 - -51.333333 -11.833333 246 - -51.166667 -11.833333 209 - -51.000000 -11.833333 195 - -50.833333 -11.833333 196 - -50.666667 -11.833333 195 - -50.500000 -11.833333 195 - -50.333333 -11.833333 194 - -50.166667 -11.833333 195 - -50.000000 -11.833333 194 - -49.833333 -11.833333 190 - -49.666667 -11.833333 192 - -49.500000 -11.833333 238 - -49.333333 -11.833333 233 - -49.166667 -11.833333 286 - -49.000000 -11.833333 255 - -48.833333 -11.833333 245 - -48.666667 -11.833333 244 - -48.500000 -11.833333 277 - -48.333333 -11.833333 274 - -48.166667 -11.833333 311 - -48.000000 -11.833333 303 - -47.833333 -11.833333 310 - -47.666667 -11.833333 302 - -47.500000 -11.833333 312 - -47.333333 -11.833333 353 - -47.166667 -11.833333 343 - -47.000000 -11.833333 384 - -46.833333 -11.833333 461 - -46.666667 -11.833333 639 - -46.500000 -11.833333 609 - -46.333333 -11.833333 864 - -46.166667 -11.833333 821 - -46.000000 -11.833333 781 - -45.833333 -11.833333 781 - -45.666667 -11.833333 766 - -45.500000 -11.833333 752 - -45.333333 -11.833333 609 - -45.166667 -11.833333 481 - -45.000000 -11.833333 673 - -44.833333 -11.833333 493 - -44.666667 -11.833333 448 - -44.500000 -11.833333 438 - -44.333333 -11.833333 430 - -44.166667 -11.833333 434 - -44.000000 -11.833333 446 - -43.833333 -11.833333 448 - -43.666667 -11.833333 677 - -43.500000 -11.833333 448 - -43.333333 -11.833333 413 - -43.166667 -11.833333 426 - -43.000000 -11.833333 434 - -42.833333 -11.833333 593 - -42.666667 -11.833333 732 - -42.500000 -11.833333 988 - -42.333333 -11.833333 1078 - -42.166667 -11.833333 878 - -42.000000 -11.833333 795 - -41.833333 -11.833333 786 - -41.666667 -11.833333 812 - -41.500000 -11.833333 791 - -41.333333 -11.833333 946 - -41.166667 -11.833333 946 - -41.000000 -11.833333 784 - -40.833333 -11.833333 805 - -40.666667 -11.833333 606 - -40.500000 -11.833333 665 - -40.333333 -11.833333 465 - -40.166667 -11.833333 425 - -40.000000 -11.833333 338 - -65.000000 -12.000000 132 - -64.833333 -12.000000 160 - -64.666667 -12.000000 167 - -64.500000 -12.000000 174 - -64.333333 -12.000000 168 - -64.166667 -12.000000 186 - -64.000000 -12.000000 181 - -63.833333 -12.000000 168 - -63.666667 -12.000000 198 - -63.500000 -12.000000 182 - -63.333333 -12.000000 210 - -63.166667 -12.000000 176 - -63.000000 -12.000000 165 - -62.833333 -12.000000 174 - -62.666667 -12.000000 334 - -62.500000 -12.000000 175 - -62.333333 -12.000000 327 - -62.166667 -12.000000 403 - -62.000000 -12.000000 398 - -61.833333 -12.000000 381 - -61.666667 -12.000000 337 - -61.500000 -12.000000 262 - -61.333333 -12.000000 213 - -61.166667 -12.000000 216 - -61.000000 -12.000000 283 - -60.833333 -12.000000 308 - -60.666667 -12.000000 275 - -60.500000 -12.000000 351 - -60.333333 -12.000000 370 - -60.166667 -12.000000 435 - -60.000000 -12.000000 395 - -59.833333 -12.000000 447 - -59.666667 -12.000000 427 - -59.500000 -12.000000 394 - -59.333333 -12.000000 469 - -59.166667 -12.000000 354 - -59.000000 -12.000000 354 - -58.833333 -12.000000 302 - -58.666667 -12.000000 284 - -58.500000 -12.000000 305 - -58.333333 -12.000000 325 - -58.166667 -12.000000 298 - -58.000000 -12.000000 273 - -57.833333 -12.000000 293 - -57.666667 -12.000000 332 - -57.500000 -12.000000 361 - -57.333333 -12.000000 326 - -57.166667 -12.000000 281 - -57.000000 -12.000000 318 - -56.833333 -12.000000 350 - -56.666667 -12.000000 344 - -56.500000 -12.000000 348 - -56.333333 -12.000000 378 - -56.166667 -12.000000 390 - -56.000000 -12.000000 351 - -55.833333 -12.000000 376 - -55.666667 -12.000000 360 - -55.500000 -12.000000 362 - -55.333333 -12.000000 357 - -55.166667 -12.000000 377 - -55.000000 -12.000000 313 - -54.833333 -12.000000 389 - -54.666667 -12.000000 371 - -54.500000 -12.000000 310 - -54.333333 -12.000000 351 - -54.166667 -12.000000 360 - -54.000000 -12.000000 324 - -53.833333 -12.000000 317 - -53.666667 -12.000000 290 - -53.500000 -12.000000 295 - -53.333333 -12.000000 318 - -53.166667 -12.000000 324 - -53.000000 -12.000000 327 - -52.833333 -12.000000 323 - -52.666667 -12.000000 318 - -52.500000 -12.000000 341 - -52.333333 -12.000000 301 - -52.166667 -12.000000 339 - -52.000000 -12.000000 333 - -51.833333 -12.000000 373 - -51.666667 -12.000000 298 - -51.500000 -12.000000 322 - -51.333333 -12.000000 270 - -51.166667 -12.000000 227 - -51.000000 -12.000000 200 - -50.833333 -12.000000 197 - -50.666667 -12.000000 198 - -50.500000 -12.000000 196 - -50.333333 -12.000000 195 - -50.166667 -12.000000 196 - -50.000000 -12.000000 197 - -49.833333 -12.000000 195 - -49.666667 -12.000000 196 - -49.500000 -12.000000 245 - -49.333333 -12.000000 282 - -49.166667 -12.000000 274 - -49.000000 -12.000000 264 - -48.833333 -12.000000 271 - -48.666667 -12.000000 241 - -48.500000 -12.000000 245 - -48.333333 -12.000000 326 - -48.166667 -12.000000 329 - -48.000000 -12.000000 386 - -47.833333 -12.000000 520 - -47.666667 -12.000000 342 - -47.500000 -12.000000 329 - -47.333333 -12.000000 322 - -47.166667 -12.000000 352 - -47.000000 -12.000000 375 - -46.833333 -12.000000 436 - -46.666667 -12.000000 393 - -46.500000 -12.000000 470 - -46.333333 -12.000000 846 - -46.166667 -12.000000 846 - -46.000000 -12.000000 807 - -45.833333 -12.000000 772 - -45.666667 -12.000000 766 - -45.500000 -12.000000 748 - -45.333333 -12.000000 739 - -45.166667 -12.000000 742 - -45.000000 -12.000000 457 - -44.833333 -12.000000 458 - -44.666667 -12.000000 470 - -44.500000 -12.000000 475 - -44.333333 -12.000000 482 - -44.166667 -12.000000 483 - -44.000000 -12.000000 716 - -43.833333 -12.000000 502 - -43.666667 -12.000000 469 - -43.500000 -12.000000 620 - -43.333333 -12.000000 415 - -43.166667 -12.000000 548 - -43.000000 -12.000000 445 - -42.833333 -12.000000 467 - -42.666667 -12.000000 913 - -42.500000 -12.000000 872 - -42.333333 -12.000000 1082 - -42.166667 -12.000000 1175 - -42.000000 -12.000000 833 - -41.833333 -12.000000 806 - -41.666667 -12.000000 843 - -41.500000 -12.000000 1030 - -41.333333 -12.000000 950 - -41.166667 -12.000000 810 - -41.000000 -12.000000 640 - -40.833333 -12.000000 710 - -40.666667 -12.000000 540 - -40.500000 -12.000000 459 - -40.333333 -12.000000 372 - -40.166667 -12.000000 341 - -40.000000 -12.000000 307 - -65.000000 -12.166667 145 - -64.833333 -12.166667 157 - -64.666667 -12.166667 132 - -64.500000 -12.166667 149 - -64.333333 -12.166667 165 - -64.166667 -12.166667 163 - -64.000000 -12.166667 172 - -63.833333 -12.166667 226 - -63.666667 -12.166667 189 - -63.500000 -12.166667 163 - -63.333333 -12.166667 162 - -63.166667 -12.166667 166 - -63.000000 -12.166667 175 - -62.833333 -12.166667 185 - -62.666667 -12.166667 193 - -62.500000 -12.166667 189 - -62.333333 -12.166667 436 - -62.166667 -12.166667 450 - -62.000000 -12.166667 445 - -61.833333 -12.166667 414 - -61.666667 -12.166667 335 - -61.500000 -12.166667 302 - -61.333333 -12.166667 273 - -61.166667 -12.166667 252 - -61.000000 -12.166667 306 - -60.833333 -12.166667 312 - -60.666667 -12.166667 322 - -60.500000 -12.166667 326 - -60.333333 -12.166667 371 - -60.166667 -12.166667 420 - -60.000000 -12.166667 440 - -59.833333 -12.166667 413 - -59.666667 -12.166667 469 - -59.500000 -12.166667 377 - -59.333333 -12.166667 337 - -59.166667 -12.166667 401 - -59.000000 -12.166667 344 - -58.833333 -12.166667 293 - -58.666667 -12.166667 290 - -58.500000 -12.166667 278 - -58.333333 -12.166667 343 - -58.166667 -12.166667 278 - -58.000000 -12.166667 287 - -57.833333 -12.166667 277 - -57.666667 -12.166667 279 - -57.500000 -12.166667 302 - -57.333333 -12.166667 377 - -57.166667 -12.166667 308 - -57.000000 -12.166667 322 - -56.833333 -12.166667 333 - -56.666667 -12.166667 305 - -56.500000 -12.166667 355 - -56.333333 -12.166667 400 - -56.166667 -12.166667 371 - -56.000000 -12.166667 374 - -55.833333 -12.166667 375 - -55.666667 -12.166667 370 - -55.500000 -12.166667 342 - -55.333333 -12.166667 371 - -55.166667 -12.166667 356 - -55.000000 -12.166667 389 - -54.833333 -12.166667 325 - -54.666667 -12.166667 352 - -54.500000 -12.166667 379 - -54.333333 -12.166667 356 - -54.166667 -12.166667 339 - -54.000000 -12.166667 346 - -53.833333 -12.166667 289 - -53.666667 -12.166667 311 - -53.500000 -12.166667 326 - -53.333333 -12.166667 288 - -53.166667 -12.166667 313 - -53.000000 -12.166667 313 - -52.833333 -12.166667 312 - -52.666667 -12.166667 331 - -52.500000 -12.166667 345 - -52.333333 -12.166667 312 - -52.166667 -12.166667 289 - -52.000000 -12.166667 333 - -51.833333 -12.166667 330 - -51.666667 -12.166667 332 - -51.500000 -12.166667 267 - -51.333333 -12.166667 266 - -51.166667 -12.166667 224 - -51.000000 -12.166667 201 - -50.833333 -12.166667 199 - -50.666667 -12.166667 201 - -50.500000 -12.166667 203 - -50.333333 -12.166667 199 - -50.166667 -12.166667 197 - -50.000000 -12.166667 199 - -49.833333 -12.166667 216 - -49.666667 -12.166667 213 - -49.500000 -12.166667 239 - -49.333333 -12.166667 306 - -49.166667 -12.166667 270 - -49.000000 -12.166667 290 - -48.833333 -12.166667 307 - -48.666667 -12.166667 258 - -48.500000 -12.166667 245 - -48.333333 -12.166667 295 - -48.166667 -12.166667 305 - -48.000000 -12.166667 367 - -47.833333 -12.166667 627 - -47.666667 -12.166667 470 - -47.500000 -12.166667 356 - -47.333333 -12.166667 381 - -47.166667 -12.166667 386 - -47.000000 -12.166667 617 - -46.833333 -12.166667 364 - -46.666667 -12.166667 394 - -46.500000 -12.166667 472 - -46.333333 -12.166667 886 - -46.166667 -12.166667 816 - -46.000000 -12.166667 756 - -45.833333 -12.166667 774 - -45.666667 -12.166667 726 - -45.500000 -12.166667 699 - -45.333333 -12.166667 730 - -45.166667 -12.166667 539 - -45.000000 -12.166667 455 - -44.833333 -12.166667 693 - -44.666667 -12.166667 752 - -44.500000 -12.166667 765 - -44.333333 -12.166667 789 - -44.166667 -12.166667 766 - -44.000000 -12.166667 785 - -43.833333 -12.166667 859 - -43.666667 -12.166667 461 - -43.500000 -12.166667 478 - -43.333333 -12.166667 497 - -43.166667 -12.166667 465 - -43.000000 -12.166667 867 - -42.833333 -12.166667 446 - -42.666667 -12.166667 546 - -42.500000 -12.166667 559 - -42.333333 -12.166667 1081 - -42.166667 -12.166667 1086 - -42.000000 -12.166667 917 - -41.833333 -12.166667 1013 - -41.666667 -12.166667 783 - -41.500000 -12.166667 799 - -41.333333 -12.166667 887 - -41.166667 -12.166667 535 - -41.000000 -12.166667 672 - -40.833333 -12.166667 612 - -40.666667 -12.166667 536 - -40.500000 -12.166667 435 - -40.333333 -12.166667 361 - -40.166667 -12.166667 278 - -40.000000 -12.166667 267 - -65.000000 -12.333333 150 - -64.833333 -12.333333 164 - -64.666667 -12.333333 184 - -64.500000 -12.333333 136 - -64.333333 -12.333333 293 - -64.166667 -12.333333 184 - -64.000000 -12.333333 192 - -63.833333 -12.333333 165 - -63.666667 -12.333333 169 - -63.500000 -12.333333 166 - -63.333333 -12.333333 186 - -63.166667 -12.333333 151 - -63.000000 -12.333333 166 - -62.833333 -12.333333 160 - -62.666667 -12.333333 179 - -62.500000 -12.333333 194 - -62.333333 -12.333333 243 - -62.166667 -12.333333 284 - -62.000000 -12.333333 216 - -61.833333 -12.333333 271 - -61.666667 -12.333333 458 - -61.500000 -12.333333 296 - -61.333333 -12.333333 332 - -61.166667 -12.333333 325 - -61.000000 -12.333333 287 - -60.833333 -12.333333 297 - -60.666667 -12.333333 319 - -60.500000 -12.333333 316 - -60.333333 -12.333333 450 - -60.166667 -12.333333 490 - -60.000000 -12.333333 473 - -59.833333 -12.333333 496 - -59.666667 -12.333333 424 - -59.500000 -12.333333 376 - -59.333333 -12.333333 397 - -59.166667 -12.333333 355 - -59.000000 -12.333333 383 - -58.833333 -12.333333 292 - -58.666667 -12.333333 350 - -58.500000 -12.333333 258 - -58.333333 -12.333333 341 - -58.166667 -12.333333 309 - -58.000000 -12.333333 289 - -57.833333 -12.333333 305 - -57.666667 -12.333333 313 - -57.500000 -12.333333 318 - -57.333333 -12.333333 348 - -57.166667 -12.333333 358 - -57.000000 -12.333333 289 - -56.833333 -12.333333 311 - -56.666667 -12.333333 287 - -56.500000 -12.333333 333 - -56.333333 -12.333333 392 - -56.166667 -12.333333 377 - -56.000000 -12.333333 339 - -55.833333 -12.333333 384 - -55.666667 -12.333333 375 - -55.500000 -12.333333 354 - -55.333333 -12.333333 390 - -55.166667 -12.333333 349 - -55.000000 -12.333333 372 - -54.833333 -12.333333 376 - -54.666667 -12.333333 335 - -54.500000 -12.333333 321 - -54.333333 -12.333333 325 - -54.166667 -12.333333 344 - -54.000000 -12.333333 354 - -53.833333 -12.333333 335 - -53.666667 -12.333333 331 - -53.500000 -12.333333 318 - -53.333333 -12.333333 313 - -53.166667 -12.333333 292 - -53.000000 -12.333333 289 - -52.833333 -12.333333 316 - -52.666667 -12.333333 343 - -52.500000 -12.333333 343 - -52.333333 -12.333333 328 - -52.166667 -12.333333 335 - -52.000000 -12.333333 352 - -51.833333 -12.333333 333 - -51.666667 -12.333333 371 - -51.500000 -12.333333 318 - -51.333333 -12.333333 222 - -51.166667 -12.333333 220 - -51.000000 -12.333333 206 - -50.833333 -12.333333 204 - -50.666667 -12.333333 204 - -50.500000 -12.333333 202 - -50.333333 -12.333333 201 - -50.166667 -12.333333 201 - -50.000000 -12.333333 210 - -49.833333 -12.333333 235 - -49.666667 -12.333333 212 - -49.500000 -12.333333 221 - -49.333333 -12.333333 267 - -49.166667 -12.333333 280 - -49.000000 -12.333333 273 - -48.833333 -12.333333 264 - -48.666667 -12.333333 265 - -48.500000 -12.333333 315 - -48.333333 -12.333333 286 - -48.166667 -12.333333 285 - -48.000000 -12.333333 367 - -47.833333 -12.333333 366 - -47.666667 -12.333333 326 - -47.500000 -12.333333 354 - -47.333333 -12.333333 380 - -47.166667 -12.333333 354 - -47.000000 -12.333333 362 - -46.833333 -12.333333 359 - -46.666667 -12.333333 398 - -46.500000 -12.333333 492 - -46.333333 -12.333333 899 - -46.166667 -12.333333 859 - -46.000000 -12.333333 813 - -45.833333 -12.333333 752 - -45.666667 -12.333333 726 - -45.500000 -12.333333 711 - -45.333333 -12.333333 700 - -45.166667 -12.333333 730 - -45.000000 -12.333333 522 - -44.833333 -12.333333 682 - -44.666667 -12.333333 668 - -44.500000 -12.333333 734 - -44.333333 -12.333333 755 - -44.166667 -12.333333 795 - -44.000000 -12.333333 856 - -43.833333 -12.333333 615 - -43.666667 -12.333333 494 - -43.500000 -12.333333 492 - -43.333333 -12.333333 452 - -43.166667 -12.333333 469 - -43.000000 -12.333333 1018 - -42.833333 -12.333333 486 - -42.666667 -12.333333 470 - -42.500000 -12.333333 495 - -42.333333 -12.333333 1157 - -42.166667 -12.333333 1082 - -42.000000 -12.333333 1046 - -41.833333 -12.333333 1092 - -41.666667 -12.333333 744 - -41.500000 -12.333333 692 - -41.333333 -12.333333 810 - -41.166667 -12.333333 458 - -41.000000 -12.333333 637 - -40.833333 -12.333333 620 - -40.666667 -12.333333 503 - -40.500000 -12.333333 601 - -40.333333 -12.333333 343 - -40.166667 -12.333333 269 - -40.000000 -12.333333 291 - -65.000000 -12.500000 140 - -64.833333 -12.500000 159 - -64.666667 -12.500000 154 - -64.500000 -12.500000 143 - -64.333333 -12.500000 135 - -64.166667 -12.500000 136 - -64.000000 -12.500000 138 - -63.833333 -12.500000 141 - -63.666667 -12.500000 143 - -63.500000 -12.500000 146 - -63.333333 -12.500000 139 - -63.166667 -12.500000 140 - -63.000000 -12.500000 159 - -62.833333 -12.500000 179 - -62.666667 -12.500000 183 - -62.500000 -12.500000 301 - -62.333333 -12.500000 256 - -62.166667 -12.500000 193 - -62.000000 -12.500000 205 - -61.833333 -12.500000 243 - -61.666667 -12.500000 469 - -61.500000 -12.500000 428 - -61.333333 -12.500000 407 - -61.166667 -12.500000 344 - -61.000000 -12.500000 263 - -60.833333 -12.500000 342 - -60.666667 -12.500000 448 - -60.500000 -12.500000 461 - -60.333333 -12.500000 473 - -60.166667 -12.500000 518 - -60.000000 -12.500000 596 - -59.833333 -12.500000 505 - -59.666667 -12.500000 368 - -59.500000 -12.500000 337 - -59.333333 -12.500000 365 - -59.166667 -12.500000 367 - -59.000000 -12.500000 412 - -58.833333 -12.500000 370 - -58.666667 -12.500000 352 - -58.500000 -12.500000 314 - -58.333333 -12.500000 322 - -58.166667 -12.500000 354 - -58.000000 -12.500000 333 - -57.833333 -12.500000 330 - -57.666667 -12.500000 271 - -57.500000 -12.500000 329 - -57.333333 -12.500000 302 - -57.166667 -12.500000 342 - -57.000000 -12.500000 304 - -56.833333 -12.500000 317 - -56.666667 -12.500000 353 - -56.500000 -12.500000 323 - -56.333333 -12.500000 345 - -56.166667 -12.500000 382 - -56.000000 -12.500000 369 - -55.833333 -12.500000 362 - -55.666667 -12.500000 384 - -55.500000 -12.500000 356 - -55.333333 -12.500000 408 - -55.166667 -12.500000 409 - -55.000000 -12.500000 402 - -54.833333 -12.500000 356 - -54.666667 -12.500000 345 - -54.500000 -12.500000 335 - -54.333333 -12.500000 362 - -54.166667 -12.500000 320 - -54.000000 -12.500000 321 - -53.833333 -12.500000 349 - -53.666667 -12.500000 323 - -53.500000 -12.500000 301 - -53.333333 -12.500000 321 - -53.166667 -12.500000 317 - -53.000000 -12.500000 326 - -52.833333 -12.500000 333 - -52.666667 -12.500000 334 - -52.500000 -12.500000 352 - -52.333333 -12.500000 320 - -52.166667 -12.500000 345 - -52.000000 -12.500000 325 - -51.833333 -12.500000 356 - -51.666667 -12.500000 387 - -51.500000 -12.500000 323 - -51.333333 -12.500000 231 - -51.166667 -12.500000 213 - -51.000000 -12.500000 207 - -50.833333 -12.500000 207 - -50.666667 -12.500000 205 - -50.500000 -12.500000 206 - -50.333333 -12.500000 207 - -50.166667 -12.500000 225 - -50.000000 -12.500000 226 - -49.833333 -12.500000 306 - -49.666667 -12.500000 260 - -49.500000 -12.500000 245 - -49.333333 -12.500000 226 - -49.166667 -12.500000 268 - -49.000000 -12.500000 262 - -48.833333 -12.500000 268 - -48.666667 -12.500000 286 - -48.500000 -12.500000 319 - -48.333333 -12.500000 316 - -48.166667 -12.500000 269 - -48.000000 -12.500000 308 - -47.833333 -12.500000 339 - -47.666667 -12.500000 320 - -47.500000 -12.500000 328 - -47.333333 -12.500000 336 - -47.166667 -12.500000 353 - -47.000000 -12.500000 396 - -46.833333 -12.500000 362 - -46.666667 -12.500000 411 - -46.500000 -12.500000 470 - -46.333333 -12.500000 553 - -46.166667 -12.500000 788 - -46.000000 -12.500000 821 - -45.833333 -12.500000 779 - -45.666667 -12.500000 732 - -45.500000 -12.500000 723 - -45.333333 -12.500000 709 - -45.166667 -12.500000 732 - -45.000000 -12.500000 696 - -44.833333 -12.500000 706 - -44.666667 -12.500000 740 - -44.500000 -12.500000 776 - -44.333333 -12.500000 786 - -44.166667 -12.500000 833 - -44.000000 -12.500000 632 - -43.833333 -12.500000 471 - -43.666667 -12.500000 450 - -43.500000 -12.500000 453 - -43.333333 -12.500000 583 - -43.166667 -12.500000 440 - -43.000000 -12.500000 532 - -42.833333 -12.500000 653 - -42.666667 -12.500000 474 - -42.500000 -12.500000 504 - -42.333333 -12.500000 864 - -42.166667 -12.500000 966 - -42.000000 -12.500000 1179 - -41.833333 -12.500000 993 - -41.666667 -12.500000 964 - -41.500000 -12.500000 991 - -41.333333 -12.500000 402 - -41.166667 -12.500000 462 - -41.000000 -12.500000 621 - -40.833333 -12.500000 546 - -40.666667 -12.500000 540 - -40.500000 -12.500000 359 - -40.333333 -12.500000 334 - -40.166667 -12.500000 251 - -40.000000 -12.500000 233 - -65.000000 -12.666667 134 - -64.833333 -12.666667 133 - -64.666667 -12.666667 158 - -64.500000 -12.666667 143 - -64.333333 -12.666667 144 - -64.166667 -12.666667 150 - -64.000000 -12.666667 131 - -63.833333 -12.666667 154 - -63.666667 -12.666667 151 - -63.500000 -12.666667 155 - -63.333333 -12.666667 142 - -63.166667 -12.666667 147 - -63.000000 -12.666667 141 - -62.833333 -12.666667 143 - -62.666667 -12.666667 174 - -62.500000 -12.666667 192 - -62.333333 -12.666667 190 - -62.166667 -12.666667 177 - -62.000000 -12.666667 192 - -61.833333 -12.666667 204 - -61.666667 -12.666667 349 - -61.500000 -12.666667 201 - -61.333333 -12.666667 378 - -61.166667 -12.666667 333 - -61.000000 -12.666667 309 - -60.833333 -12.666667 295 - -60.666667 -12.666667 333 - -60.500000 -12.666667 483 - -60.333333 -12.666667 552 - -60.166667 -12.666667 522 - -60.000000 -12.666667 507 - -59.833333 -12.666667 429 - -59.666667 -12.666667 322 - -59.500000 -12.666667 438 - -59.333333 -12.666667 354 - -59.166667 -12.666667 449 - -59.000000 -12.666667 353 - -58.833333 -12.666667 421 - -58.666667 -12.666667 353 - -58.500000 -12.666667 331 - -58.333333 -12.666667 321 - -58.166667 -12.666667 398 - -58.000000 -12.666667 411 - -57.833333 -12.666667 345 - -57.666667 -12.666667 328 - -57.500000 -12.666667 340 - -57.333333 -12.666667 339 - -57.166667 -12.666667 326 - -57.000000 -12.666667 322 - -56.833333 -12.666667 291 - -56.666667 -12.666667 326 - -56.500000 -12.666667 344 - -56.333333 -12.666667 397 - -56.166667 -12.666667 347 - -56.000000 -12.666667 406 - -55.833333 -12.666667 378 - -55.666667 -12.666667 373 - -55.500000 -12.666667 393 - -55.333333 -12.666667 419 - -55.166667 -12.666667 423 - -55.000000 -12.666667 379 - -54.833333 -12.666667 355 - -54.666667 -12.666667 338 - -54.500000 -12.666667 350 - -54.333333 -12.666667 317 - -54.166667 -12.666667 347 - -54.000000 -12.666667 358 - -53.833333 -12.666667 315 - -53.666667 -12.666667 340 - -53.500000 -12.666667 336 - -53.333333 -12.666667 326 - -53.166667 -12.666667 330 - -53.000000 -12.666667 309 - -52.833333 -12.666667 329 - -52.666667 -12.666667 306 - -52.500000 -12.666667 347 - -52.333333 -12.666667 319 - -52.166667 -12.666667 368 - -52.000000 -12.666667 373 - -51.833333 -12.666667 356 - -51.666667 -12.666667 313 - -51.500000 -12.666667 273 - -51.333333 -12.666667 228 - -51.166667 -12.666667 212 - -51.000000 -12.666667 212 - -50.833333 -12.666667 209 - -50.666667 -12.666667 208 - -50.500000 -12.666667 210 - -50.333333 -12.666667 209 - -50.166667 -12.666667 214 - -50.000000 -12.666667 235 - -49.833333 -12.666667 280 - -49.666667 -12.666667 274 - -49.500000 -12.666667 257 - -49.333333 -12.666667 223 - -49.166667 -12.666667 245 - -49.000000 -12.666667 273 - -48.833333 -12.666667 287 - -48.666667 -12.666667 564 - -48.500000 -12.666667 420 - -48.333333 -12.666667 338 - -48.166667 -12.666667 361 - -48.000000 -12.666667 323 - -47.833333 -12.666667 282 - -47.666667 -12.666667 339 - -47.500000 -12.666667 341 - -47.333333 -12.666667 384 - -47.166667 -12.666667 377 - -47.000000 -12.666667 535 - -46.833333 -12.666667 423 - -46.666667 -12.666667 384 - -46.500000 -12.666667 443 - -46.333333 -12.666667 533 - -46.166667 -12.666667 886 - -46.000000 -12.666667 835 - -45.833333 -12.666667 765 - -45.666667 -12.666667 759 - -45.500000 -12.666667 731 - -45.333333 -12.666667 737 - -45.166667 -12.666667 722 - -45.000000 -12.666667 708 - -44.833333 -12.666667 741 - -44.666667 -12.666667 778 - -44.500000 -12.666667 786 - -44.333333 -12.666667 782 - -44.166667 -12.666667 767 - -44.000000 -12.666667 528 - -43.833333 -12.666667 486 - -43.666667 -12.666667 460 - -43.500000 -12.666667 440 - -43.333333 -12.666667 441 - -43.166667 -12.666667 427 - -43.000000 -12.666667 474 - -42.833333 -12.666667 984 - -42.666667 -12.666667 519 - -42.500000 -12.666667 526 - -42.333333 -12.666667 572 - -42.166667 -12.666667 1225 - -42.000000 -12.666667 1197 - -41.833333 -12.666667 1030 - -41.666667 -12.666667 953 - -41.500000 -12.666667 1307 - -41.333333 -12.666667 346 - -41.166667 -12.666667 411 - -41.000000 -12.666667 598 - -40.833333 -12.666667 512 - -40.666667 -12.666667 349 - -40.500000 -12.666667 436 - -40.333333 -12.666667 280 - -40.166667 -12.666667 251 - -40.000000 -12.666667 227 - -65.000000 -12.833333 139 - -64.833333 -12.833333 141 - -64.666667 -12.833333 153 - -64.500000 -12.833333 141 - -64.333333 -12.833333 138 - -64.166667 -12.833333 175 - -64.000000 -12.833333 146 - -63.833333 -12.833333 138 - -63.666667 -12.833333 154 - -63.500000 -12.833333 158 - -63.333333 -12.833333 182 - -63.166667 -12.833333 154 - -63.000000 -12.833333 150 - -62.833333 -12.833333 143 - -62.666667 -12.833333 145 - -62.500000 -12.833333 149 - -62.333333 -12.833333 160 - -62.166667 -12.833333 188 - -62.000000 -12.833333 167 - -61.833333 -12.833333 163 - -61.666667 -12.833333 186 - -61.500000 -12.833333 193 - -61.333333 -12.833333 236 - -61.166667 -12.833333 294 - -61.000000 -12.833333 299 - -60.833333 -12.833333 301 - -60.666667 -12.833333 374 - -60.500000 -12.833333 338 - -60.333333 -12.833333 502 - -60.166667 -12.833333 570 - -60.000000 -12.833333 589 - -59.833333 -12.833333 521 - -59.666667 -12.833333 481 - -59.500000 -12.833333 457 - -59.333333 -12.833333 439 - -59.166667 -12.833333 366 - -59.000000 -12.833333 427 - -58.833333 -12.833333 387 - -58.666667 -12.833333 345 - -58.500000 -12.833333 391 - -58.333333 -12.833333 326 - -58.166667 -12.833333 408 - -58.000000 -12.833333 408 - -57.833333 -12.833333 413 - -57.666667 -12.833333 340 - -57.500000 -12.833333 335 - -57.333333 -12.833333 319 - -57.166667 -12.833333 354 - -57.000000 -12.833333 338 - -56.833333 -12.833333 322 - -56.666667 -12.833333 298 - -56.500000 -12.833333 380 - -56.333333 -12.833333 404 - -56.166667 -12.833333 369 - -56.000000 -12.833333 366 - -55.833333 -12.833333 403 - -55.666667 -12.833333 337 - -55.500000 -12.833333 417 - -55.333333 -12.833333 427 - -55.166667 -12.833333 415 - -55.000000 -12.833333 378 - -54.833333 -12.833333 363 - -54.666667 -12.833333 348 - -54.500000 -12.833333 381 - -54.333333 -12.833333 317 - -54.166667 -12.833333 316 - -54.000000 -12.833333 352 - -53.833333 -12.833333 338 - -53.666667 -12.833333 360 - -53.500000 -12.833333 357 - -53.333333 -12.833333 344 - -53.166667 -12.833333 342 - -53.000000 -12.833333 307 - -52.833333 -12.833333 304 - -52.666667 -12.833333 347 - -52.500000 -12.833333 335 - -52.333333 -12.833333 348 - -52.166667 -12.833333 377 - -52.000000 -12.833333 350 - -51.833333 -12.833333 382 - -51.666667 -12.833333 294 - -51.500000 -12.833333 242 - -51.333333 -12.833333 224 - -51.166667 -12.833333 214 - -51.000000 -12.833333 214 - -50.833333 -12.833333 210 - -50.666667 -12.833333 213 - -50.500000 -12.833333 214 - -50.333333 -12.833333 212 - -50.166667 -12.833333 285 - -50.000000 -12.833333 293 - -49.833333 -12.833333 315 - -49.666667 -12.833333 261 - -49.500000 -12.833333 265 - -49.333333 -12.833333 244 - -49.166667 -12.833333 261 - -49.000000 -12.833333 296 - -48.833333 -12.833333 308 - -48.666667 -12.833333 409 - -48.500000 -12.833333 429 - -48.333333 -12.833333 348 - -48.166667 -12.833333 441 - -48.000000 -12.833333 910 - -47.833333 -12.833333 317 - -47.666667 -12.833333 336 - -47.500000 -12.833333 371 - -47.333333 -12.833333 407 - -47.166667 -12.833333 444 - -47.000000 -12.833333 572 - -46.833333 -12.833333 733 - -46.666667 -12.833333 622 - -46.500000 -12.833333 425 - -46.333333 -12.833333 559 - -46.166667 -12.833333 905 - -46.000000 -12.833333 790 - -45.833333 -12.833333 807 - -45.666667 -12.833333 749 - -45.500000 -12.833333 756 - -45.333333 -12.833333 720 - -45.166667 -12.833333 741 - -45.000000 -12.833333 735 - -44.833333 -12.833333 767 - -44.666667 -12.833333 749 - -44.500000 -12.833333 788 - -44.333333 -12.833333 812 - -44.166667 -12.833333 829 - -44.000000 -12.833333 720 - -43.833333 -12.833333 505 - -43.666667 -12.833333 465 - -43.500000 -12.833333 442 - -43.333333 -12.833333 424 - -43.166667 -12.833333 447 - -43.000000 -12.833333 628 - -42.833333 -12.833333 866 - -42.666667 -12.833333 590 - -42.500000 -12.833333 501 - -42.333333 -12.833333 541 - -42.166667 -12.833333 873 - -42.000000 -12.833333 1155 - -41.833333 -12.833333 1103 - -41.666667 -12.833333 1260 - -41.500000 -12.833333 1154 - -41.333333 -12.833333 533 - -41.166667 -12.833333 363 - -41.000000 -12.833333 536 - -40.833333 -12.833333 652 - -40.666667 -12.833333 368 - -40.500000 -12.833333 450 - -40.333333 -12.833333 413 - -40.166667 -12.833333 300 - -40.000000 -12.833333 292 - -65.000000 -13.000000 143 - -64.833333 -13.000000 138 - -64.666667 -13.000000 138 - -64.500000 -13.000000 146 - -64.333333 -13.000000 134 - -64.166667 -13.000000 135 - -64.000000 -13.000000 146 - -63.833333 -13.000000 144 - -63.666667 -13.000000 175 - -63.500000 -13.000000 169 - -63.333333 -13.000000 179 - -63.166667 -13.000000 139 - -63.000000 -13.000000 149 - -62.833333 -13.000000 157 - -62.666667 -13.000000 158 - -62.500000 -13.000000 156 - -62.333333 -13.000000 220 - -62.166667 -13.000000 151 - -62.000000 -13.000000 160 - -61.833333 -13.000000 159 - -61.666667 -13.000000 179 - -61.500000 -13.000000 168 - -61.333333 -13.000000 205 - -61.166667 -13.000000 221 - -61.000000 -13.000000 253 - -60.833333 -13.000000 263 - -60.666667 -13.000000 554 - -60.500000 -13.000000 362 - -60.333333 -13.000000 322 - -60.166667 -13.000000 372 - -60.000000 -13.000000 566 - -59.833333 -13.000000 555 - -59.666667 -13.000000 535 - -59.500000 -13.000000 478 - -59.333333 -13.000000 449 - -59.166667 -13.000000 391 - -59.000000 -13.000000 431 - -58.833333 -13.000000 425 - -58.666667 -13.000000 457 - -58.500000 -13.000000 386 - -58.333333 -13.000000 378 - -58.166667 -13.000000 398 - -58.000000 -13.000000 415 - -57.833333 -13.000000 425 - -57.666667 -13.000000 375 - -57.500000 -13.000000 339 - -57.333333 -13.000000 319 - -57.166667 -13.000000 331 - -57.000000 -13.000000 386 - -56.833333 -13.000000 331 - -56.666667 -13.000000 300 - -56.500000 -13.000000 340 - -56.333333 -13.000000 371 - -56.166667 -13.000000 402 - -56.000000 -13.000000 405 - -55.833333 -13.000000 410 - -55.666667 -13.000000 356 - -55.500000 -13.000000 415 - -55.333333 -13.000000 418 - -55.166667 -13.000000 445 - -55.000000 -13.000000 403 - -54.833333 -13.000000 357 - -54.666667 -13.000000 347 - -54.500000 -13.000000 380 - -54.333333 -13.000000 365 - -54.166667 -13.000000 362 - -54.000000 -13.000000 325 - -53.833333 -13.000000 382 - -53.666667 -13.000000 359 - -53.500000 -13.000000 371 - -53.333333 -13.000000 343 - -53.166667 -13.000000 364 - -53.000000 -13.000000 335 - -52.833333 -13.000000 344 - -52.666667 -13.000000 367 - -52.500000 -13.000000 367 - -52.333333 -13.000000 355 - -52.166667 -13.000000 342 - -52.000000 -13.000000 397 - -51.833333 -13.000000 360 - -51.666667 -13.000000 261 - -51.500000 -13.000000 236 - -51.333333 -13.000000 224 - -51.166667 -13.000000 219 - -51.000000 -13.000000 217 - -50.833333 -13.000000 215 - -50.666667 -13.000000 216 - -50.500000 -13.000000 212 - -50.333333 -13.000000 221 - -50.166667 -13.000000 259 - -50.000000 -13.000000 270 - -49.833333 -13.000000 277 - -49.666667 -13.000000 294 - -49.500000 -13.000000 244 - -49.333333 -13.000000 285 - -49.166667 -13.000000 304 - -49.000000 -13.000000 409 - -48.833333 -13.000000 306 - -48.666667 -13.000000 344 - -48.500000 -13.000000 774 - -48.333333 -13.000000 432 - -48.166667 -13.000000 302 - -48.000000 -13.000000 743 - -47.833333 -13.000000 371 - -47.666667 -13.000000 335 - -47.500000 -13.000000 353 - -47.333333 -13.000000 404 - -47.166667 -13.000000 409 - -47.000000 -13.000000 584 - -46.833333 -13.000000 579 - -46.666667 -13.000000 638 - -46.500000 -13.000000 693 - -46.333333 -13.000000 684 - -46.166667 -13.000000 922 - -46.000000 -13.000000 841 - -45.833333 -13.000000 828 - -45.666667 -13.000000 777 - -45.500000 -13.000000 764 - -45.333333 -13.000000 762 - -45.166667 -13.000000 754 - -45.000000 -13.000000 752 - -44.833333 -13.000000 650 - -44.666667 -13.000000 702 - -44.500000 -13.000000 747 - -44.333333 -13.000000 783 - -44.166667 -13.000000 631 - -44.000000 -13.000000 522 - -43.833333 -13.000000 473 - -43.666667 -13.000000 461 - -43.500000 -13.000000 439 - -43.333333 -13.000000 430 - -43.166667 -13.000000 452 - -43.000000 -13.000000 883 - -42.833333 -13.000000 922 - -42.666667 -13.000000 634 - -42.500000 -13.000000 544 - -42.333333 -13.000000 554 - -42.166667 -13.000000 884 - -42.000000 -13.000000 1263 - -41.833333 -13.000000 1279 - -41.666667 -13.000000 1242 - -41.500000 -13.000000 1087 - -41.333333 -13.000000 982 - -41.166667 -13.000000 445 - -41.000000 -13.000000 604 - -40.833333 -13.000000 320 - -40.666667 -13.000000 281 - -40.500000 -13.000000 296 - -40.333333 -13.000000 718 - -40.166667 -13.000000 542 - -40.000000 -13.000000 538 - -65.000000 -13.166667 136 - -64.833333 -13.166667 134 - -64.666667 -13.166667 138 - -64.500000 -13.166667 139 - -64.333333 -13.166667 136 - -64.166667 -13.166667 137 - -64.000000 -13.166667 141 - -63.833333 -13.166667 140 - -63.666667 -13.166667 153 - -63.500000 -13.166667 198 - -63.333333 -13.166667 164 - -63.166667 -13.166667 148 - -63.000000 -13.166667 141 - -62.833333 -13.166667 188 - -62.666667 -13.166667 169 - -62.500000 -13.166667 175 - -62.333333 -13.166667 162 - -62.166667 -13.166667 165 - -62.000000 -13.166667 160 - -61.833333 -13.166667 158 - -61.666667 -13.166667 166 - -61.500000 -13.166667 174 - -61.333333 -13.166667 185 - -61.166667 -13.166667 193 - -61.000000 -13.166667 232 - -60.833333 -13.166667 255 - -60.666667 -13.166667 269 - -60.500000 -13.166667 412 - -60.333333 -13.166667 274 - -60.166667 -13.166667 291 - -60.000000 -13.166667 469 - -59.833333 -13.166667 559 - -59.666667 -13.166667 501 - -59.500000 -13.166667 438 - -59.333333 -13.166667 423 - -59.166667 -13.166667 437 - -59.000000 -13.166667 374 - -58.833333 -13.166667 487 - -58.666667 -13.166667 513 - -58.500000 -13.166667 444 - -58.333333 -13.166667 429 - -58.166667 -13.166667 415 - -58.000000 -13.166667 483 - -57.833333 -13.166667 478 - -57.666667 -13.166667 392 - -57.500000 -13.166667 313 - -57.333333 -13.166667 376 - -57.166667 -13.166667 308 - -57.000000 -13.166667 377 - -56.833333 -13.166667 351 - -56.666667 -13.166667 320 - -56.500000 -13.166667 397 - -56.333333 -13.166667 367 - -56.166667 -13.166667 415 - -56.000000 -13.166667 410 - -55.833333 -13.166667 405 - -55.666667 -13.166667 349 - -55.500000 -13.166667 431 - -55.333333 -13.166667 439 - -55.166667 -13.166667 437 - -55.000000 -13.166667 432 - -54.833333 -13.166667 354 - -54.666667 -13.166667 400 - -54.500000 -13.166667 383 - -54.333333 -13.166667 390 - -54.166667 -13.166667 352 - -54.000000 -13.166667 325 - -53.833333 -13.166667 392 - -53.666667 -13.166667 357 - -53.500000 -13.166667 356 - -53.333333 -13.166667 378 - -53.166667 -13.166667 399 - -53.000000 -13.166667 390 - -52.833333 -13.166667 379 - -52.666667 -13.166667 318 - -52.500000 -13.166667 360 - -52.333333 -13.166667 366 - -52.166667 -13.166667 353 - -52.000000 -13.166667 333 - -51.833333 -13.166667 386 - -51.666667 -13.166667 309 - -51.500000 -13.166667 250 - -51.333333 -13.166667 230 - -51.166667 -13.166667 218 - -51.000000 -13.166667 219 - -50.833333 -13.166667 216 - -50.666667 -13.166667 214 - -50.500000 -13.166667 214 - -50.333333 -13.166667 255 - -50.166667 -13.166667 350 - -50.000000 -13.166667 312 - -49.833333 -13.166667 296 - -49.666667 -13.166667 284 - -49.500000 -13.166667 253 - -49.333333 -13.166667 312 - -49.166667 -13.166667 313 - -49.000000 -13.166667 327 - -48.833333 -13.166667 313 - -48.666667 -13.166667 519 - -48.500000 -13.166667 660 - -48.333333 -13.166667 444 - -48.166667 -13.166667 310 - -48.000000 -13.166667 551 - -47.833333 -13.166667 878 - -47.666667 -13.166667 332 - -47.500000 -13.166667 341 - -47.333333 -13.166667 415 - -47.166667 -13.166667 424 - -47.000000 -13.166667 490 - -46.833333 -13.166667 677 - -46.666667 -13.166667 543 - -46.500000 -13.166667 608 - -46.333333 -13.166667 745 - -46.166667 -13.166667 942 - -46.000000 -13.166667 869 - -45.833333 -13.166667 841 - -45.666667 -13.166667 801 - -45.500000 -13.166667 761 - -45.333333 -13.166667 735 - -45.166667 -13.166667 760 - -45.000000 -13.166667 675 - -44.833333 -13.166667 734 - -44.666667 -13.166667 611 - -44.500000 -13.166667 694 - -44.333333 -13.166667 781 - -44.166667 -13.166667 642 - -44.000000 -13.166667 517 - -43.833333 -13.166667 472 - -43.666667 -13.166667 436 - -43.500000 -13.166667 436 - -43.333333 -13.166667 442 - -43.166667 -13.166667 450 - -43.000000 -13.166667 493 - -42.833333 -13.166667 659 - -42.666667 -13.166667 680 - -42.500000 -13.166667 622 - -42.333333 -13.166667 568 - -42.166667 -13.166667 908 - -42.000000 -13.166667 1185 - -41.833333 -13.166667 1349 - -41.666667 -13.166667 906 - -41.500000 -13.166667 1146 - -41.333333 -13.166667 1387 - -41.166667 -13.166667 835 - -41.000000 -13.166667 572 - -40.833333 -13.166667 391 - -40.666667 -13.166667 323 - -40.500000 -13.166667 629 - -40.333333 -13.166667 819 - -40.166667 -13.166667 842 - -40.000000 -13.166667 596 - -65.000000 -13.333333 137 - -64.833333 -13.333333 140 - -64.666667 -13.333333 138 - -64.500000 -13.333333 135 - -64.333333 -13.333333 137 - -64.166667 -13.333333 140 - -64.000000 -13.333333 140 - -63.833333 -13.333333 140 - -63.666667 -13.333333 142 - -63.500000 -13.333333 152 - -63.333333 -13.333333 143 - -63.166667 -13.333333 143 - -63.000000 -13.333333 147 - -62.833333 -13.333333 164 - -62.666667 -13.333333 210 - -62.500000 -13.333333 213 - -62.333333 -13.333333 152 - -62.166667 -13.333333 159 - -62.000000 -13.333333 166 - -61.833333 -13.333333 156 - -61.666667 -13.333333 161 - -61.500000 -13.333333 164 - -61.333333 -13.333333 166 - -61.166667 -13.333333 179 - -61.000000 -13.333333 193 - -60.833333 -13.333333 204 - -60.666667 -13.333333 239 - -60.500000 -13.333333 359 - -60.333333 -13.333333 248 - -60.166667 -13.333333 396 - -60.000000 -13.333333 456 - -59.833333 -13.333333 609 - -59.666667 -13.333333 568 - -59.500000 -13.333333 455 - -59.333333 -13.333333 509 - -59.166667 -13.333333 457 - -59.000000 -13.333333 443 - -58.833333 -13.333333 494 - -58.666667 -13.333333 471 - -58.500000 -13.333333 522 - -58.333333 -13.333333 433 - -58.166667 -13.333333 504 - -58.000000 -13.333333 478 - -57.833333 -13.333333 449 - -57.666667 -13.333333 434 - -57.500000 -13.333333 391 - -57.333333 -13.333333 364 - -57.166667 -13.333333 354 - -57.000000 -13.333333 317 - -56.833333 -13.333333 343 - -56.666667 -13.333333 328 - -56.500000 -13.333333 349 - -56.333333 -13.333333 375 - -56.166667 -13.333333 404 - -56.000000 -13.333333 427 - -55.833333 -13.333333 413 - -55.666667 -13.333333 442 - -55.500000 -13.333333 353 - -55.333333 -13.333333 446 - -55.166667 -13.333333 431 - -55.000000 -13.333333 448 - -54.833333 -13.333333 413 - -54.666667 -13.333333 450 - -54.500000 -13.333333 423 - -54.333333 -13.333333 452 - -54.166667 -13.333333 407 - -54.000000 -13.333333 387 - -53.833333 -13.333333 391 - -53.666667 -13.333333 395 - -53.500000 -13.333333 397 - -53.333333 -13.333333 361 - -53.166667 -13.333333 414 - -53.000000 -13.333333 318 - -52.833333 -13.333333 394 - -52.666667 -13.333333 373 - -52.500000 -13.333333 307 - -52.333333 -13.333333 345 - -52.166667 -13.333333 370 - -52.000000 -13.333333 370 - -51.833333 -13.333333 395 - -51.666667 -13.333333 260 - -51.500000 -13.333333 242 - -51.333333 -13.333333 224 - -51.166667 -13.333333 224 - -51.000000 -13.333333 220 - -50.833333 -13.333333 220 - -50.666667 -13.333333 223 - -50.500000 -13.333333 235 - -50.333333 -13.333333 288 - -50.166667 -13.333333 332 - -50.000000 -13.333333 245 - -49.833333 -13.333333 268 - -49.666667 -13.333333 292 - -49.500000 -13.333333 304 - -49.333333 -13.333333 459 - -49.166667 -13.333333 359 - -49.000000 -13.333333 316 - -48.833333 -13.333333 338 - -48.666667 -13.333333 411 - -48.500000 -13.333333 712 - -48.333333 -13.333333 393 - -48.166667 -13.333333 300 - -48.000000 -13.333333 856 - -47.833333 -13.333333 978 - -47.666667 -13.333333 457 - -47.500000 -13.333333 617 - -47.333333 -13.333333 447 - -47.166667 -13.333333 459 - -47.000000 -13.333333 432 - -46.833333 -13.333333 684 - -46.666667 -13.333333 488 - -46.500000 -13.333333 609 - -46.333333 -13.333333 688 - -46.166667 -13.333333 942 - -46.000000 -13.333333 888 - -45.833333 -13.333333 828 - -45.666667 -13.333333 799 - -45.500000 -13.333333 766 - -45.333333 -13.333333 770 - -45.166667 -13.333333 731 - -45.000000 -13.333333 759 - -44.833333 -13.333333 674 - -44.666667 -13.333333 603 - -44.500000 -13.333333 573 - -44.333333 -13.333333 601 - -44.166667 -13.333333 599 - -44.000000 -13.333333 465 - -43.833333 -13.333333 478 - -43.666667 -13.333333 460 - -43.500000 -13.333333 437 - -43.333333 -13.333333 444 - -43.166667 -13.333333 465 - -43.000000 -13.333333 650 - -42.833333 -13.333333 728 - -42.666667 -13.333333 856 - -42.500000 -13.333333 635 - -42.333333 -13.333333 600 - -42.166667 -13.333333 783 - -42.000000 -13.333333 1014 - -41.833333 -13.333333 1220 - -41.666667 -13.333333 820 - -41.500000 -13.333333 1206 - -41.333333 -13.333333 1084 - -41.166667 -13.333333 689 - -41.000000 -13.333333 695 - -40.833333 -13.333333 488 - -40.666667 -13.333333 477 - -40.500000 -13.333333 898 - -40.333333 -13.333333 807 - -40.166667 -13.333333 644 - -40.000000 -13.333333 696 - -65.000000 -13.500000 137 - -64.833333 -13.500000 136 - -64.666667 -13.500000 139 - -64.500000 -13.500000 138 - -64.333333 -13.500000 142 - -64.166667 -13.500000 140 - -64.000000 -13.500000 140 - -63.833333 -13.500000 144 - -63.666667 -13.500000 143 - -63.500000 -13.500000 142 - -63.333333 -13.500000 143 - -63.166667 -13.500000 145 - -63.000000 -13.500000 145 - -62.833333 -13.500000 149 - -62.666667 -13.500000 200 - -62.500000 -13.500000 205 - -62.333333 -13.500000 173 - -62.166667 -13.500000 178 - -62.000000 -13.500000 175 - -61.833333 -13.500000 170 - -61.666667 -13.500000 162 - -61.500000 -13.500000 174 - -61.333333 -13.500000 170 - -61.166667 -13.500000 171 - -61.000000 -13.500000 170 - -60.833333 -13.500000 189 - -60.666667 -13.500000 205 - -60.500000 -13.500000 207 - -60.333333 -13.500000 243 - -60.166667 -13.500000 259 - -60.000000 -13.500000 486 - -59.833333 -13.500000 633 - -59.666667 -13.500000 634 - -59.500000 -13.500000 553 - -59.333333 -13.500000 546 - -59.166667 -13.500000 530 - -59.000000 -13.500000 513 - -58.833333 -13.500000 527 - -58.666667 -13.500000 543 - -58.500000 -13.500000 550 - -58.333333 -13.500000 469 - -58.166667 -13.500000 539 - -58.000000 -13.500000 508 - -57.833333 -13.500000 529 - -57.666667 -13.500000 428 - -57.500000 -13.500000 499 - -57.333333 -13.500000 350 - -57.166667 -13.500000 376 - -57.000000 -13.500000 351 - -56.833333 -13.500000 390 - -56.666667 -13.500000 337 - -56.500000 -13.500000 341 - -56.333333 -13.500000 361 - -56.166667 -13.500000 388 - -56.000000 -13.500000 411 - -55.833333 -13.500000 435 - -55.666667 -13.500000 421 - -55.500000 -13.500000 431 - -55.333333 -13.500000 361 - -55.166667 -13.500000 470 - -55.000000 -13.500000 451 - -54.833333 -13.500000 455 - -54.666667 -13.500000 407 - -54.500000 -13.500000 427 - -54.333333 -13.500000 489 - -54.166667 -13.500000 426 - -54.000000 -13.500000 483 - -53.833333 -13.500000 466 - -53.666667 -13.500000 350 - -53.500000 -13.500000 416 - -53.333333 -13.500000 369 - -53.166667 -13.500000 371 - -53.000000 -13.500000 381 - -52.833333 -13.500000 414 - -52.666667 -13.500000 356 - -52.500000 -13.500000 348 - -52.333333 -13.500000 399 - -52.166667 -13.500000 385 - -52.000000 -13.500000 408 - -51.833333 -13.500000 459 - -51.666667 -13.500000 275 - -51.500000 -13.500000 238 - -51.333333 -13.500000 228 - -51.166667 -13.500000 225 - -51.000000 -13.500000 223 - -50.833333 -13.500000 222 - -50.666667 -13.500000 223 - -50.500000 -13.500000 225 - -50.333333 -13.500000 249 - -50.166667 -13.500000 246 - -50.000000 -13.500000 235 - -49.833333 -13.500000 247 - -49.666667 -13.500000 301 - -49.500000 -13.500000 405 - -49.333333 -13.500000 437 - -49.166667 -13.500000 351 - -49.000000 -13.500000 335 - -48.833333 -13.500000 338 - -48.666667 -13.500000 472 - -48.500000 -13.500000 807 - -48.333333 -13.500000 384 - -48.166667 -13.500000 341 - -48.000000 -13.500000 444 - -47.833333 -13.500000 697 - -47.666667 -13.500000 1161 - -47.500000 -13.500000 1191 - -47.333333 -13.500000 393 - -47.166667 -13.500000 418 - -47.000000 -13.500000 431 - -46.833333 -13.500000 635 - -46.666667 -13.500000 434 - -46.500000 -13.500000 545 - -46.333333 -13.500000 727 - -46.166667 -13.500000 962 - -46.000000 -13.500000 890 - -45.833333 -13.500000 832 - -45.666667 -13.500000 803 - -45.500000 -13.500000 728 - -45.333333 -13.500000 720 - -45.166667 -13.500000 677 - -45.000000 -13.500000 743 - -44.833333 -13.500000 642 - -44.666667 -13.500000 564 - -44.500000 -13.500000 615 - -44.333333 -13.500000 534 - -44.166667 -13.500000 655 - -44.000000 -13.500000 622 - -43.833333 -13.500000 737 - -43.666667 -13.500000 463 - -43.500000 -13.500000 429 - -43.333333 -13.500000 448 - -43.166667 -13.500000 549 - -43.000000 -13.500000 580 - -42.833333 -13.500000 1033 - -42.666667 -13.500000 756 - -42.500000 -13.500000 797 - -42.333333 -13.500000 659 - -42.166667 -13.500000 796 - -42.000000 -13.500000 1257 - -41.833333 -13.500000 1112 - -41.666667 -13.500000 777 - -41.500000 -13.500000 1312 - -41.333333 -13.500000 1155 - -41.166667 -13.500000 678 - -41.000000 -13.500000 550 - -40.833333 -13.500000 399 - -40.666667 -13.500000 364 - -40.500000 -13.500000 819 - -40.333333 -13.500000 841 - -40.166667 -13.500000 790 - -40.000000 -13.500000 738 - -65.000000 -13.666667 140 - -64.833333 -13.666667 140 - -64.666667 -13.666667 138 - -64.500000 -13.666667 142 - -64.333333 -13.666667 143 - -64.166667 -13.666667 144 - -64.000000 -13.666667 143 - -63.833333 -13.666667 144 - -63.666667 -13.666667 146 - -63.500000 -13.666667 144 - -63.333333 -13.666667 165 - -63.166667 -13.666667 156 - -63.000000 -13.666667 148 - -62.833333 -13.666667 150 - -62.666667 -13.666667 181 - -62.500000 -13.666667 214 - -62.333333 -13.666667 186 - -62.166667 -13.666667 332 - -62.000000 -13.666667 194 - -61.833333 -13.666667 181 - -61.666667 -13.666667 160 - -61.500000 -13.666667 164 - -61.333333 -13.666667 208 - -61.166667 -13.666667 224 - -61.000000 -13.666667 204 - -60.833333 -13.666667 465 - -60.666667 -13.666667 192 - -60.500000 -13.666667 208 - -60.333333 -13.666667 227 - -60.166667 -13.666667 280 - -60.000000 -13.666667 490 - -59.833333 -13.666667 573 - -59.666667 -13.666667 665 - -59.500000 -13.666667 536 - -59.333333 -13.666667 575 - -59.166667 -13.666667 583 - -59.000000 -13.666667 515 - -58.833333 -13.666667 588 - -58.666667 -13.666667 524 - -58.500000 -13.666667 559 - -58.333333 -13.666667 556 - -58.166667 -13.666667 546 - -58.000000 -13.666667 512 - -57.833333 -13.666667 560 - -57.666667 -13.666667 473 - -57.500000 -13.666667 532 - -57.333333 -13.666667 450 - -57.166667 -13.666667 402 - -57.000000 -13.666667 462 - -56.833333 -13.666667 401 - -56.666667 -13.666667 383 - -56.500000 -13.666667 351 - -56.333333 -13.666667 358 - -56.166667 -13.666667 395 - -56.000000 -13.666667 461 - -55.833333 -13.666667 459 - -55.666667 -13.666667 460 - -55.500000 -13.666667 446 - -55.333333 -13.666667 446 - -55.166667 -13.666667 389 - -55.000000 -13.666667 470 - -54.833333 -13.666667 504 - -54.666667 -13.666667 423 - -54.500000 -13.666667 474 - -54.333333 -13.666667 544 - -54.166667 -13.666667 470 - -54.000000 -13.666667 510 - -53.833333 -13.666667 348 - -53.666667 -13.666667 428 - -53.500000 -13.666667 423 - -53.333333 -13.666667 394 - -53.166667 -13.666667 366 - -53.000000 -13.666667 407 - -52.833333 -13.666667 357 - -52.666667 -13.666667 450 - -52.500000 -13.666667 336 - -52.333333 -13.666667 356 - -52.166667 -13.666667 397 - -52.000000 -13.666667 408 - -51.833333 -13.666667 268 - -51.666667 -13.666667 237 - -51.500000 -13.666667 221 - -51.333333 -13.666667 227 - -51.166667 -13.666667 226 - -51.000000 -13.666667 227 - -50.833333 -13.666667 228 - -50.666667 -13.666667 284 - -50.500000 -13.666667 254 - -50.333333 -13.666667 240 - -50.166667 -13.666667 236 - -50.000000 -13.666667 251 - -49.833333 -13.666667 259 - -49.666667 -13.666667 352 - -49.500000 -13.666667 324 - -49.333333 -13.666667 388 - -49.166667 -13.666667 380 - -49.000000 -13.666667 390 - -48.833333 -13.666667 444 - -48.666667 -13.666667 570 - -48.500000 -13.666667 655 - -48.333333 -13.666667 685 - -48.166667 -13.666667 435 - -48.000000 -13.666667 528 - -47.833333 -13.666667 806 - -47.666667 -13.666667 899 - -47.500000 -13.666667 1186 - -47.333333 -13.666667 824 - -47.166667 -13.666667 896 - -47.000000 -13.666667 463 - -46.833333 -13.666667 428 - -46.666667 -13.666667 508 - -46.500000 -13.666667 596 - -46.333333 -13.666667 734 - -46.166667 -13.666667 970 - -46.000000 -13.666667 854 - -45.833333 -13.666667 857 - -45.666667 -13.666667 820 - -45.500000 -13.666667 789 - -45.333333 -13.666667 758 - -45.166667 -13.666667 697 - -45.000000 -13.666667 677 - -44.833333 -13.666667 710 - -44.666667 -13.666667 654 - -44.500000 -13.666667 559 - -44.333333 -13.666667 673 - -44.166667 -13.666667 738 - -44.000000 -13.666667 801 - -43.833333 -13.666667 735 - -43.666667 -13.666667 448 - -43.500000 -13.666667 430 - -43.333333 -13.666667 447 - -43.166667 -13.666667 477 - -43.000000 -13.666667 590 - -42.833333 -13.666667 683 - -42.666667 -13.666667 832 - -42.500000 -13.666667 877 - -42.333333 -13.666667 1056 - -42.166667 -13.666667 943 - -42.000000 -13.666667 749 - -41.833333 -13.666667 472 - -41.666667 -13.666667 553 - -41.500000 -13.666667 1051 - -41.333333 -13.666667 1044 - -41.166667 -13.666667 631 - -41.000000 -13.666667 440 - -40.833333 -13.666667 325 - -40.666667 -13.666667 354 - -40.500000 -13.666667 820 - -40.333333 -13.666667 657 - -40.166667 -13.666667 571 - -40.000000 -13.666667 599 - -65.000000 -13.833333 141 - -64.833333 -13.833333 141 - -64.666667 -13.833333 141 - -64.500000 -13.833333 142 - -64.333333 -13.833333 143 - -64.166667 -13.833333 148 - -64.000000 -13.833333 150 - -63.833333 -13.833333 147 - -63.666667 -13.833333 152 - -63.500000 -13.833333 145 - -63.333333 -13.833333 152 - -63.166667 -13.833333 154 - -63.000000 -13.833333 153 - -62.833333 -13.833333 153 - -62.666667 -13.833333 170 - -62.500000 -13.833333 221 - -62.333333 -13.833333 227 - -62.166667 -13.833333 229 - -62.000000 -13.833333 187 - -61.833333 -13.833333 218 - -61.666667 -13.833333 161 - -61.500000 -13.833333 174 - -61.333333 -13.833333 258 - -61.166667 -13.833333 238 - -61.000000 -13.833333 376 - -60.833333 -13.833333 552 - -60.666667 -13.833333 296 - -60.500000 -13.833333 181 - -60.333333 -13.833333 204 - -60.166667 -13.833333 242 - -60.000000 -13.833333 491 - -59.833333 -13.833333 540 - -59.666667 -13.833333 625 - -59.500000 -13.833333 587 - -59.333333 -13.833333 658 - -59.166667 -13.833333 619 - -59.000000 -13.833333 557 - -58.833333 -13.833333 615 - -58.666667 -13.833333 565 - -58.500000 -13.833333 556 - -58.333333 -13.833333 595 - -58.166667 -13.833333 588 - -58.000000 -13.833333 546 - -57.833333 -13.833333 556 - -57.666667 -13.833333 581 - -57.500000 -13.833333 546 - -57.333333 -13.833333 541 - -57.166667 -13.833333 540 - -57.000000 -13.833333 467 - -56.833333 -13.833333 412 - -56.666667 -13.833333 407 - -56.500000 -13.833333 372 - -56.333333 -13.833333 407 - -56.166667 -13.833333 438 - -56.000000 -13.833333 405 - -55.833333 -13.833333 501 - -55.666667 -13.833333 477 - -55.500000 -13.833333 482 - -55.333333 -13.833333 493 - -55.166667 -13.833333 404 - -55.000000 -13.833333 373 - -54.833333 -13.833333 478 - -54.666667 -13.833333 501 - -54.500000 -13.833333 466 - -54.333333 -13.833333 539 - -54.166667 -13.833333 533 - -54.000000 -13.833333 464 - -53.833333 -13.833333 367 - -53.666667 -13.833333 366 - -53.500000 -13.833333 411 - -53.333333 -13.833333 366 - -53.166667 -13.833333 419 - -53.000000 -13.833333 391 - -52.833333 -13.833333 365 - -52.666667 -13.833333 431 - -52.500000 -13.833333 410 - -52.333333 -13.833333 395 - -52.166667 -13.833333 388 - -52.000000 -13.833333 283 - -51.833333 -13.833333 339 - -51.666667 -13.833333 237 - -51.500000 -13.833333 237 - -51.333333 -13.833333 232 - -51.166667 -13.833333 231 - -51.000000 -13.833333 236 - -50.833333 -13.833333 238 - -50.666667 -13.833333 284 - -50.500000 -13.833333 257 - -50.333333 -13.833333 282 - -50.166667 -13.833333 288 - -50.000000 -13.833333 301 - -49.833333 -13.833333 299 - -49.666667 -13.833333 341 - -49.500000 -13.833333 310 - -49.333333 -13.833333 389 - -49.166667 -13.833333 365 - -49.000000 -13.833333 415 - -48.833333 -13.833333 756 - -48.666667 -13.833333 715 - -48.500000 -13.833333 712 - -48.333333 -13.833333 449 - -48.166667 -13.833333 840 - -48.000000 -13.833333 401 - -47.833333 -13.833333 451 - -47.666667 -13.833333 499 - -47.500000 -13.833333 849 - -47.333333 -13.833333 1116 - -47.166667 -13.833333 736 - -47.000000 -13.833333 990 - -46.833333 -13.833333 421 - -46.666667 -13.833333 459 - -46.500000 -13.833333 598 - -46.333333 -13.833333 682 - -46.166667 -13.833333 972 - -46.000000 -13.833333 911 - -45.833333 -13.833333 808 - -45.666667 -13.833333 826 - -45.500000 -13.833333 733 - -45.333333 -13.833333 755 - -45.166667 -13.833333 768 - -45.000000 -13.833333 708 - -44.833333 -13.833333 680 - -44.666667 -13.833333 720 - -44.500000 -13.833333 694 - -44.333333 -13.833333 731 - -44.166667 -13.833333 721 - -44.000000 -13.833333 484 - -43.833333 -13.833333 461 - -43.666667 -13.833333 450 - -43.500000 -13.833333 441 - -43.333333 -13.833333 455 - -43.166667 -13.833333 488 - -43.000000 -13.833333 500 - -42.833333 -13.833333 702 - -42.666667 -13.833333 929 - -42.500000 -13.833333 1028 - -42.333333 -13.833333 1023 - -42.166667 -13.833333 634 - -42.000000 -13.833333 581 - -41.833333 -13.833333 606 - -41.666667 -13.833333 504 - -41.500000 -13.833333 484 - -41.333333 -13.833333 541 - -41.166667 -13.833333 555 - -41.000000 -13.833333 295 - -40.833333 -13.833333 255 - -40.666667 -13.833333 235 - -40.500000 -13.833333 421 - -40.333333 -13.833333 407 - -40.166667 -13.833333 513 - -40.000000 -13.833333 348 - -65.000000 -14.000000 144 - -64.833333 -14.000000 142 - -64.666667 -14.000000 144 - -64.500000 -14.000000 156 - -64.333333 -14.000000 148 - -64.166667 -14.000000 162 - -64.000000 -14.000000 154 - -63.833333 -14.000000 160 - -63.666667 -14.000000 171 - -63.500000 -14.000000 198 - -63.333333 -14.000000 166 - -63.166667 -14.000000 178 - -63.000000 -14.000000 167 - -62.833333 -14.000000 166 - -62.666667 -14.000000 162 - -62.500000 -14.000000 169 - -62.333333 -14.000000 183 - -62.166667 -14.000000 180 - -62.000000 -14.000000 212 - -61.833333 -14.000000 193 - -61.666667 -14.000000 189 - -61.500000 -14.000000 174 - -61.333333 -14.000000 186 - -61.166667 -14.000000 227 - -61.000000 -14.000000 233 - -60.833333 -14.000000 527 - -60.666667 -14.000000 560 - -60.500000 -14.000000 393 - -60.333333 -14.000000 193 - -60.166667 -14.000000 230 - -60.000000 -14.000000 245 - -59.833333 -14.000000 288 - -59.666667 -14.000000 445 - -59.500000 -14.000000 574 - -59.333333 -14.000000 615 - -59.166667 -14.000000 672 - -59.000000 -14.000000 545 - -58.833333 -14.000000 639 - -58.666667 -14.000000 572 - -58.500000 -14.000000 545 - -58.333333 -14.000000 584 - -58.166667 -14.000000 626 - -58.000000 -14.000000 619 - -57.833333 -14.000000 506 - -57.666667 -14.000000 553 - -57.500000 -14.000000 578 - -57.333333 -14.000000 590 - -57.166667 -14.000000 528 - -57.000000 -14.000000 500 - -56.833333 -14.000000 380 - -56.666667 -14.000000 396 - -56.500000 -14.000000 423 - -56.333333 -14.000000 322 - -56.166667 -14.000000 394 - -56.000000 -14.000000 397 - -55.833333 -14.000000 491 - -55.666667 -14.000000 453 - -55.500000 -14.000000 509 - -55.333333 -14.000000 509 - -55.166667 -14.000000 441 - -55.000000 -14.000000 443 - -54.833333 -14.000000 430 - -54.666667 -14.000000 474 - -54.500000 -14.000000 473 - -54.333333 -14.000000 476 - -54.166667 -14.000000 527 - -54.000000 -14.000000 514 - -53.833333 -14.000000 402 - -53.666667 -14.000000 522 - -53.500000 -14.000000 413 - -53.333333 -14.000000 354 - -53.166667 -14.000000 410 - -53.000000 -14.000000 336 - -52.833333 -14.000000 451 - -52.666667 -14.000000 463 - -52.500000 -14.000000 372 - -52.333333 -14.000000 347 - -52.166667 -14.000000 446 - -52.000000 -14.000000 288 - -51.833333 -14.000000 243 - -51.666667 -14.000000 231 - -51.500000 -14.000000 238 - -51.333333 -14.000000 242 - -51.166667 -14.000000 236 - -51.000000 -14.000000 236 - -50.833333 -14.000000 239 - -50.666667 -14.000000 291 - -50.500000 -14.000000 252 - -50.333333 -14.000000 297 - -50.166667 -14.000000 258 - -50.000000 -14.000000 297 - -49.833333 -14.000000 306 - -49.666667 -14.000000 313 - -49.500000 -14.000000 381 - -49.333333 -14.000000 362 - -49.166667 -14.000000 470 - -49.000000 -14.000000 534 - -48.833333 -14.000000 754 - -48.666667 -14.000000 557 - -48.500000 -14.000000 517 - -48.333333 -14.000000 638 - -48.166667 -14.000000 612 - -48.000000 -14.000000 504 - -47.833333 -14.000000 492 - -47.666667 -14.000000 1132 - -47.500000 -14.000000 1559 - -47.333333 -14.000000 937 - -47.166667 -14.000000 891 - -47.000000 -14.000000 470 - -46.833333 -14.000000 428 - -46.666667 -14.000000 522 - -46.500000 -14.000000 542 - -46.333333 -14.000000 889 - -46.166667 -14.000000 892 - -46.000000 -14.000000 931 - -45.833333 -14.000000 884 - -45.666667 -14.000000 834 - -45.500000 -14.000000 805 - -45.333333 -14.000000 736 - -45.166667 -14.000000 694 - -45.000000 -14.000000 677 - -44.833333 -14.000000 673 - -44.666667 -14.000000 681 - -44.500000 -14.000000 696 - -44.333333 -14.000000 688 - -44.166667 -14.000000 563 - -44.000000 -14.000000 472 - -43.833333 -14.000000 458 - -43.666667 -14.000000 447 - -43.500000 -14.000000 458 - -43.333333 -14.000000 451 - -43.166667 -14.000000 466 - -43.000000 -14.000000 493 - -42.833333 -14.000000 513 - -42.666667 -14.000000 830 - -42.500000 -14.000000 974 - -42.333333 -14.000000 942 - -42.166667 -14.000000 555 - -42.000000 -14.000000 509 - -41.833333 -14.000000 485 - -41.666667 -14.000000 411 - -41.500000 -14.000000 432 - -41.333333 -14.000000 629 - -41.166667 -14.000000 441 - -41.000000 -14.000000 279 - -40.833333 -14.000000 342 - -40.666667 -14.000000 314 - -40.500000 -14.000000 402 - -40.333333 -14.000000 556 - -40.166667 -14.000000 327 - -40.000000 -14.000000 690 - -65.000000 -14.166667 151 - -64.833333 -14.166667 145 - -64.666667 -14.166667 149 - -64.500000 -14.166667 158 - -64.333333 -14.166667 154 - -64.166667 -14.166667 165 - -64.000000 -14.166667 154 - -63.833333 -14.166667 164 - -63.666667 -14.166667 170 - -63.500000 -14.166667 166 - -63.333333 -14.166667 234 - -63.166667 -14.166667 196 - -63.000000 -14.166667 173 - -62.833333 -14.166667 165 - -62.666667 -14.166667 176 - -62.500000 -14.166667 177 - -62.333333 -14.166667 187 - -62.166667 -14.166667 225 - -62.000000 -14.166667 241 - -61.833333 -14.166667 274 - -61.666667 -14.166667 214 - -61.500000 -14.166667 168 - -61.333333 -14.166667 182 - -61.166667 -14.166667 189 - -61.000000 -14.166667 212 - -60.833333 -14.166667 607 - -60.666667 -14.166667 593 - -60.500000 -14.166667 372 - -60.333333 -14.166667 197 - -60.166667 -14.166667 212 - -60.000000 -14.166667 231 - -59.833333 -14.166667 236 - -59.666667 -14.166667 241 - -59.500000 -14.166667 602 - -59.333333 -14.166667 641 - -59.166667 -14.166667 699 - -59.000000 -14.166667 605 - -58.833333 -14.166667 633 - -58.666667 -14.166667 631 - -58.500000 -14.166667 658 - -58.333333 -14.166667 627 - -58.166667 -14.166667 614 - -58.000000 -14.166667 651 - -57.833333 -14.166667 638 - -57.666667 -14.166667 566 - -57.500000 -14.166667 605 - -57.333333 -14.166667 566 - -57.166667 -14.166667 534 - -57.000000 -14.166667 541 - -56.833333 -14.166667 442 - -56.666667 -14.166667 409 - -56.500000 -14.166667 490 - -56.333333 -14.166667 388 - -56.166667 -14.166667 338 - -56.000000 -14.166667 353 - -55.833333 -14.166667 385 - -55.666667 -14.166667 455 - -55.500000 -14.166667 457 - -55.333333 -14.166667 568 - -55.166667 -14.166667 540 - -55.000000 -14.166667 523 - -54.833333 -14.166667 424 - -54.666667 -14.166667 528 - -54.500000 -14.166667 548 - -54.333333 -14.166667 470 - -54.166667 -14.166667 514 - -54.000000 -14.166667 593 - -53.833333 -14.166667 570 - -53.666667 -14.166667 492 - -53.500000 -14.166667 421 - -53.333333 -14.166667 412 - -53.166667 -14.166667 451 - -53.000000 -14.166667 357 - -52.833333 -14.166667 495 - -52.666667 -14.166667 391 - -52.500000 -14.166667 336 - -52.333333 -14.166667 320 - -52.166667 -14.166667 350 - -52.000000 -14.166667 265 - -51.833333 -14.166667 251 - -51.666667 -14.166667 244 - -51.500000 -14.166667 242 - -51.333333 -14.166667 241 - -51.166667 -14.166667 241 - -51.000000 -14.166667 242 - -50.833333 -14.166667 236 - -50.666667 -14.166667 243 - -50.500000 -14.166667 265 - -50.333333 -14.166667 286 - -50.166667 -14.166667 294 - -50.000000 -14.166667 364 - -49.833333 -14.166667 290 - -49.666667 -14.166667 341 - -49.500000 -14.166667 307 - -49.333333 -14.166667 356 - -49.166667 -14.166667 584 - -49.000000 -14.166667 573 - -48.833333 -14.166667 444 - -48.666667 -14.166667 465 - -48.500000 -14.166667 446 - -48.333333 -14.166667 468 - -48.166667 -14.166667 523 - -48.000000 -14.166667 654 - -47.833333 -14.166667 957 - -47.666667 -14.166667 1200 - -47.500000 -14.166667 1349 - -47.333333 -14.166667 776 - -47.166667 -14.166667 492 - -47.000000 -14.166667 445 - -46.833333 -14.166667 469 - -46.666667 -14.166667 528 - -46.500000 -14.166667 705 - -46.333333 -14.166667 835 - -46.166667 -14.166667 848 - -46.000000 -14.166667 937 - -45.833333 -14.166667 890 - -45.666667 -14.166667 829 - -45.500000 -14.166667 812 - -45.333333 -14.166667 793 - -45.166667 -14.166667 757 - -45.000000 -14.166667 740 - -44.833333 -14.166667 614 - -44.666667 -14.166667 560 - -44.500000 -14.166667 596 - -44.333333 -14.166667 531 - -44.166667 -14.166667 490 - -44.000000 -14.166667 474 - -43.833333 -14.166667 462 - -43.666667 -14.166667 439 - -43.500000 -14.166667 455 - -43.333333 -14.166667 458 - -43.166667 -14.166667 492 - -43.000000 -14.166667 529 - -42.833333 -14.166667 507 - -42.666667 -14.166667 746 - -42.500000 -14.166667 1052 - -42.333333 -14.166667 632 - -42.166667 -14.166667 559 - -42.000000 -14.166667 872 - -41.833333 -14.166667 573 - -41.666667 -14.166667 521 - -41.500000 -14.166667 381 - -41.333333 -14.166667 431 - -41.166667 -14.166667 315 - -41.000000 -14.166667 312 - -40.833333 -14.166667 335 - -40.666667 -14.166667 610 - -40.500000 -14.166667 754 - -40.333333 -14.166667 567 - -40.166667 -14.166667 736 - -40.000000 -14.166667 236 - -65.000000 -14.333333 157 - -64.833333 -14.333333 148 - -64.666667 -14.333333 149 - -64.500000 -14.333333 151 - -64.333333 -14.333333 171 - -64.166667 -14.333333 170 - -64.000000 -14.333333 157 - -63.833333 -14.333333 159 - -63.666667 -14.333333 165 - -63.500000 -14.333333 179 - -63.333333 -14.333333 206 - -63.166667 -14.333333 195 - -63.000000 -14.333333 168 - -62.833333 -14.333333 185 - -62.666667 -14.333333 187 - -62.500000 -14.333333 204 - -62.333333 -14.333333 191 - -62.166667 -14.333333 198 - -62.000000 -14.333333 207 - -61.833333 -14.333333 253 - -61.666667 -14.333333 249 - -61.500000 -14.333333 204 - -61.333333 -14.333333 176 - -61.166667 -14.333333 209 - -61.000000 -14.333333 201 - -60.833333 -14.333333 718 - -60.666667 -14.333333 643 - -60.500000 -14.333333 362 - -60.333333 -14.333333 381 - -60.166667 -14.333333 189 - -60.000000 -14.333333 208 - -59.833333 -14.333333 208 - -59.666667 -14.333333 243 - -59.500000 -14.333333 657 - -59.333333 -14.333333 693 - -59.166667 -14.333333 630 - -59.000000 -14.333333 645 - -58.833333 -14.333333 738 - -58.666667 -14.333333 699 - -58.500000 -14.333333 634 - -58.333333 -14.333333 688 - -58.166667 -14.333333 628 - -58.000000 -14.333333 604 - -57.833333 -14.333333 582 - -57.666667 -14.333333 530 - -57.500000 -14.333333 323 - -57.333333 -14.333333 295 - -57.166667 -14.333333 344 - -57.000000 -14.333333 331 - -56.833333 -14.333333 326 - -56.666667 -14.333333 364 - -56.500000 -14.333333 469 - -56.333333 -14.333333 386 - -56.166667 -14.333333 455 - -56.000000 -14.333333 443 - -55.833333 -14.333333 469 - -55.666667 -14.333333 453 - -55.500000 -14.333333 311 - -55.333333 -14.333333 317 - -55.166667 -14.333333 389 - -55.000000 -14.333333 436 - -54.833333 -14.333333 406 - -54.666667 -14.333333 412 - -54.500000 -14.333333 454 - -54.333333 -14.333333 449 - -54.166667 -14.333333 514 - -54.000000 -14.333333 615 - -53.833333 -14.333333 626 - -53.666667 -14.333333 492 - -53.500000 -14.333333 415 - -53.333333 -14.333333 403 - -53.166667 -14.333333 390 - -53.000000 -14.333333 367 - -52.833333 -14.333333 412 - -52.666667 -14.333333 445 - -52.500000 -14.333333 361 - -52.333333 -14.333333 295 - -52.166667 -14.333333 281 - -52.000000 -14.333333 311 - -51.833333 -14.333333 257 - -51.666667 -14.333333 250 - -51.500000 -14.333333 247 - -51.333333 -14.333333 245 - -51.166667 -14.333333 248 - -51.000000 -14.333333 241 - -50.833333 -14.333333 239 - -50.666667 -14.333333 246 - -50.500000 -14.333333 307 - -50.333333 -14.333333 277 - -50.166667 -14.333333 326 - -50.000000 -14.333333 372 - -49.833333 -14.333333 348 - -49.666667 -14.333333 343 - -49.500000 -14.333333 376 - -49.333333 -14.333333 598 - -49.166667 -14.333333 544 - -49.000000 -14.333333 451 - -48.833333 -14.333333 495 - -48.666667 -14.333333 591 - -48.500000 -14.333333 736 - -48.333333 -14.333333 516 - -48.166667 -14.333333 486 - -48.000000 -14.333333 718 - -47.833333 -14.333333 605 - -47.666667 -14.333333 1045 - -47.500000 -14.333333 1127 - -47.333333 -14.333333 1049 - -47.166667 -14.333333 493 - -47.000000 -14.333333 438 - -46.833333 -14.333333 458 - -46.666667 -14.333333 503 - -46.500000 -14.333333 774 - -46.333333 -14.333333 703 - -46.166667 -14.333333 785 - -46.000000 -14.333333 755 - -45.833333 -14.333333 894 - -45.666667 -14.333333 850 - -45.500000 -14.333333 828 - -45.333333 -14.333333 798 - -45.166667 -14.333333 710 - -45.000000 -14.333333 649 - -44.833333 -14.333333 675 - -44.666667 -14.333333 629 - -44.500000 -14.333333 512 - -44.333333 -14.333333 622 - -44.166667 -14.333333 489 - -44.000000 -14.333333 464 - -43.833333 -14.333333 445 - -43.666667 -14.333333 465 - -43.500000 -14.333333 482 - -43.333333 -14.333333 493 - -43.166667 -14.333333 540 - -43.000000 -14.333333 692 - -42.833333 -14.333333 645 - -42.666667 -14.333333 842 - -42.500000 -14.333333 873 - -42.333333 -14.333333 708 - -42.166667 -14.333333 625 - -42.000000 -14.333333 596 - -41.833333 -14.333333 534 - -41.666667 -14.333333 606 - -41.500000 -14.333333 489 - -41.333333 -14.333333 517 - -41.166667 -14.333333 453 - -41.000000 -14.333333 419 - -40.833333 -14.333333 656 - -40.666667 -14.333333 851 - -40.500000 -14.333333 608 - -40.333333 -14.333333 532 - -40.166667 -14.333333 723 - -40.000000 -14.333333 316 - -65.000000 -14.500000 160 - -64.833333 -14.500000 151 - -64.666667 -14.500000 150 - -64.500000 -14.500000 153 - -64.333333 -14.500000 171 - -64.166667 -14.500000 174 - -64.000000 -14.500000 169 - -63.833333 -14.500000 164 - -63.666667 -14.500000 167 - -63.500000 -14.500000 179 - -63.333333 -14.500000 185 - -63.166667 -14.500000 240 - -63.000000 -14.500000 210 - -62.833333 -14.500000 213 - -62.666667 -14.500000 189 - -62.500000 -14.500000 183 - -62.333333 -14.500000 206 - -62.166667 -14.500000 233 - -62.000000 -14.500000 200 - -61.833333 -14.500000 200 - -61.666667 -14.500000 274 - -61.500000 -14.500000 228 - -61.333333 -14.500000 190 - -61.166667 -14.500000 187 - -61.000000 -14.500000 196 - -60.833333 -14.500000 284 - -60.666667 -14.500000 646 - -60.500000 -14.500000 535 - -60.333333 -14.500000 486 - -60.166667 -14.500000 246 - -60.000000 -14.500000 204 - -59.833333 -14.500000 347 - -59.666667 -14.500000 253 - -59.500000 -14.500000 597 - -59.333333 -14.500000 743 - -59.166667 -14.500000 679 - -59.000000 -14.500000 679 - -58.833333 -14.500000 697 - -58.666667 -14.500000 696 - -58.500000 -14.500000 637 - -58.333333 -14.500000 625 - -58.166667 -14.500000 599 - -58.000000 -14.500000 524 - -57.833333 -14.500000 301 - -57.666667 -14.500000 296 - -57.500000 -14.500000 291 - -57.333333 -14.500000 298 - -57.166667 -14.500000 391 - -57.000000 -14.500000 416 - -56.833333 -14.500000 246 - -56.666667 -14.500000 223 - -56.500000 -14.500000 226 - -56.333333 -14.500000 430 - -56.166667 -14.500000 468 - -56.000000 -14.500000 324 - -55.833333 -14.500000 371 - -55.666667 -14.500000 361 - -55.500000 -14.500000 358 - -55.333333 -14.500000 424 - -55.166667 -14.500000 453 - -55.000000 -14.500000 427 - -54.833333 -14.500000 438 - -54.666667 -14.500000 458 - -54.500000 -14.500000 419 - -54.333333 -14.500000 450 - -54.166667 -14.500000 485 - -54.000000 -14.500000 533 - -53.833333 -14.500000 601 - -53.666667 -14.500000 583 - -53.500000 -14.500000 493 - -53.333333 -14.500000 523 - -53.166667 -14.500000 429 - -53.000000 -14.500000 459 - -52.833333 -14.500000 457 - -52.666667 -14.500000 491 - -52.500000 -14.500000 375 - -52.333333 -14.500000 279 - -52.166667 -14.500000 303 - -52.000000 -14.500000 276 - -51.833333 -14.500000 241 - -51.666667 -14.500000 268 - -51.500000 -14.500000 251 - -51.333333 -14.500000 249 - -51.166667 -14.500000 255 - -51.000000 -14.500000 247 - -50.833333 -14.500000 243 - -50.666667 -14.500000 259 - -50.500000 -14.500000 268 - -50.333333 -14.500000 306 - -50.166667 -14.500000 321 - -50.000000 -14.500000 411 - -49.833333 -14.500000 406 - -49.666667 -14.500000 361 - -49.500000 -14.500000 385 - -49.333333 -14.500000 715 - -49.166667 -14.500000 481 - -49.000000 -14.500000 504 - -48.833333 -14.500000 560 - -48.666667 -14.500000 659 - -48.500000 -14.500000 646 - -48.333333 -14.500000 622 - -48.166667 -14.500000 584 - -48.000000 -14.500000 686 - -47.833333 -14.500000 876 - -47.666667 -14.500000 890 - -47.500000 -14.500000 1020 - -47.333333 -14.500000 603 - -47.166667 -14.500000 452 - -47.000000 -14.500000 443 - -46.833333 -14.500000 471 - -46.666667 -14.500000 478 - -46.500000 -14.500000 563 - -46.333333 -14.500000 733 - -46.166667 -14.500000 701 - -46.000000 -14.500000 868 - -45.833333 -14.500000 885 - -45.666667 -14.500000 850 - -45.500000 -14.500000 835 - -45.333333 -14.500000 716 - -45.166667 -14.500000 746 - -45.000000 -14.500000 737 - -44.833333 -14.500000 577 - -44.666667 -14.500000 664 - -44.500000 -14.500000 646 - -44.333333 -14.500000 573 - -44.166667 -14.500000 525 - -44.000000 -14.500000 484 - -43.833333 -14.500000 448 - -43.666667 -14.500000 809 - -43.500000 -14.500000 507 - -43.333333 -14.500000 489 - -43.166667 -14.500000 522 - -43.000000 -14.500000 608 - -42.833333 -14.500000 769 - -42.666667 -14.500000 648 - -42.500000 -14.500000 784 - -42.333333 -14.500000 734 - -42.166667 -14.500000 614 - -42.000000 -14.500000 588 - -41.833333 -14.500000 599 - -41.666667 -14.500000 641 - -41.500000 -14.500000 584 - -41.333333 -14.500000 544 - -41.166667 -14.500000 490 - -41.000000 -14.500000 500 - -40.833333 -14.500000 606 - -40.666667 -14.500000 802 - -40.500000 -14.500000 823 - -40.333333 -14.500000 751 - -40.166667 -14.500000 895 - -40.000000 -14.500000 336 - -65.000000 -14.666667 159 - -64.833333 -14.666667 153 - -64.666667 -14.666667 156 - -64.500000 -14.666667 156 - -64.333333 -14.666667 165 - -64.166667 -14.666667 177 - -64.000000 -14.666667 172 - -63.833333 -14.666667 183 - -63.666667 -14.666667 182 - -63.500000 -14.666667 199 - -63.333333 -14.666667 188 - -63.166667 -14.666667 190 - -63.000000 -14.666667 249 - -62.833333 -14.666667 229 - -62.666667 -14.666667 195 - -62.500000 -14.666667 218 - -62.333333 -14.666667 213 - -62.166667 -14.666667 248 - -62.000000 -14.666667 206 - -61.833333 -14.666667 214 - -61.666667 -14.666667 245 - -61.500000 -14.666667 256 - -61.333333 -14.666667 211 - -61.166667 -14.666667 186 - -61.000000 -14.666667 216 - -60.833333 -14.666667 212 - -60.666667 -14.666667 783 - -60.500000 -14.666667 684 - -60.333333 -14.666667 608 - -60.166667 -14.666667 212 - -60.000000 -14.666667 194 - -59.833333 -14.666667 618 - -59.666667 -14.666667 290 - -59.500000 -14.666667 251 - -59.333333 -14.666667 620 - -59.166667 -14.666667 680 - -59.000000 -14.666667 682 - -58.833333 -14.666667 706 - -58.666667 -14.666667 621 - -58.500000 -14.666667 551 - -58.333333 -14.666667 672 - -58.166667 -14.666667 521 - -58.000000 -14.666667 359 - -57.833333 -14.666667 225 - -57.666667 -14.666667 330 - -57.500000 -14.666667 424 - -57.333333 -14.666667 512 - -57.166667 -14.666667 334 - -57.000000 -14.666667 221 - -56.833333 -14.666667 216 - -56.666667 -14.666667 213 - -56.500000 -14.666667 439 - -56.333333 -14.666667 416 - -56.166667 -14.666667 208 - -56.000000 -14.666667 221 - -55.833333 -14.666667 248 - -55.666667 -14.666667 296 - -55.500000 -14.666667 369 - -55.333333 -14.666667 428 - -55.166667 -14.666667 422 - -55.000000 -14.666667 462 - -54.833333 -14.666667 516 - -54.666667 -14.666667 483 - -54.500000 -14.666667 587 - -54.333333 -14.666667 650 - -54.166667 -14.666667 591 - -54.000000 -14.666667 535 - -53.833333 -14.666667 499 - -53.666667 -14.666667 487 - -53.500000 -14.666667 466 - -53.333333 -14.666667 555 - -53.166667 -14.666667 477 - -53.000000 -14.666667 354 - -52.833333 -14.666667 386 - -52.666667 -14.666667 349 - -52.500000 -14.666667 288 - -52.333333 -14.666667 266 - -52.166667 -14.666667 267 - -52.000000 -14.666667 280 - -51.833333 -14.666667 259 - -51.666667 -14.666667 257 - -51.500000 -14.666667 257 - -51.333333 -14.666667 253 - -51.166667 -14.666667 257 - -51.000000 -14.666667 249 - -50.833333 -14.666667 251 - -50.666667 -14.666667 265 - -50.500000 -14.666667 289 - -50.333333 -14.666667 329 - -50.166667 -14.666667 337 - -50.000000 -14.666667 522 - -49.833333 -14.666667 382 - -49.666667 -14.666667 467 - -49.500000 -14.666667 674 - -49.333333 -14.666667 666 - -49.166667 -14.666667 558 - -49.000000 -14.666667 494 - -48.833333 -14.666667 505 - -48.666667 -14.666667 545 - -48.500000 -14.666667 853 - -48.333333 -14.666667 841 - -48.166667 -14.666667 546 - -48.000000 -14.666667 1096 - -47.833333 -14.666667 1012 - -47.666667 -14.666667 1132 - -47.500000 -14.666667 1006 - -47.333333 -14.666667 504 - -47.166667 -14.666667 458 - -47.000000 -14.666667 454 - -46.833333 -14.666667 485 - -46.666667 -14.666667 489 - -46.500000 -14.666667 1016 - -46.333333 -14.666667 710 - -46.166667 -14.666667 782 - -46.000000 -14.666667 935 - -45.833333 -14.666667 846 - -45.666667 -14.666667 869 - -45.500000 -14.666667 738 - -45.333333 -14.666667 827 - -45.166667 -14.666667 819 - -45.000000 -14.666667 635 - -44.833333 -14.666667 785 - -44.666667 -14.666667 712 - -44.500000 -14.666667 759 - -44.333333 -14.666667 643 - -44.166667 -14.666667 542 - -44.000000 -14.666667 480 - -43.833333 -14.666667 448 - -43.666667 -14.666667 468 - -43.500000 -14.666667 478 - -43.333333 -14.666667 467 - -43.166667 -14.666667 489 - -43.000000 -14.666667 508 - -42.833333 -14.666667 540 - -42.666667 -14.666667 701 - -42.500000 -14.666667 863 - -42.333333 -14.666667 680 - -42.166667 -14.666667 734 - -42.000000 -14.666667 660 - -41.833333 -14.666667 799 - -41.666667 -14.666667 740 - -41.500000 -14.666667 639 - -41.333333 -14.666667 494 - -41.166667 -14.666667 450 - -41.000000 -14.666667 641 - -40.833333 -14.666667 900 - -40.666667 -14.666667 848 - -40.500000 -14.666667 917 - -40.333333 -14.666667 916 - -40.166667 -14.666667 699 - -40.000000 -14.666667 434 - -65.000000 -14.833333 159 - -64.833333 -14.833333 157 - -64.666667 -14.833333 160 - -64.500000 -14.833333 169 - -64.333333 -14.833333 170 - -64.166667 -14.833333 182 - -64.000000 -14.833333 172 - -63.833333 -14.833333 185 - -63.666667 -14.833333 190 - -63.500000 -14.833333 177 - -63.333333 -14.833333 199 - -63.166667 -14.833333 256 - -63.000000 -14.833333 269 - -62.833333 -14.833333 223 - -62.666667 -14.833333 220 - -62.500000 -14.833333 220 - -62.333333 -14.833333 277 - -62.166667 -14.833333 260 - -62.000000 -14.833333 217 - -61.833333 -14.833333 272 - -61.666667 -14.833333 264 - -61.500000 -14.833333 273 - -61.333333 -14.833333 211 - -61.166667 -14.833333 176 - -61.000000 -14.833333 175 - -60.833333 -14.833333 205 - -60.666667 -14.833333 203 - -60.500000 -14.833333 314 - -60.333333 -14.833333 677 - -60.166667 -14.833333 425 - -60.000000 -14.833333 201 - -59.833333 -14.833333 210 - -59.666667 -14.833333 739 - -59.500000 -14.833333 341 - -59.333333 -14.833333 327 - -59.166667 -14.833333 673 - -59.000000 -14.833333 649 - -58.833333 -14.833333 605 - -58.666667 -14.833333 530 - -58.500000 -14.833333 584 - -58.333333 -14.833333 560 - -58.166667 -14.833333 492 - -58.000000 -14.833333 412 - -57.833333 -14.833333 244 - -57.666667 -14.833333 206 - -57.500000 -14.833333 223 - -57.333333 -14.833333 171 - -57.166667 -14.833333 198 - -57.000000 -14.833333 187 - -56.833333 -14.833333 187 - -56.666667 -14.833333 266 - -56.500000 -14.833333 278 - -56.333333 -14.833333 201 - -56.166667 -14.833333 245 - -56.000000 -14.833333 272 - -55.833333 -14.833333 267 - -55.666667 -14.833333 266 - -55.500000 -14.833333 309 - -55.333333 -14.833333 317 - -55.166667 -14.833333 388 - -55.000000 -14.833333 416 - -54.833333 -14.833333 493 - -54.666667 -14.833333 625 - -54.500000 -14.833333 784 - -54.333333 -14.833333 687 - -54.166667 -14.833333 699 - -54.000000 -14.833333 645 - -53.833333 -14.833333 619 - -53.666667 -14.833333 616 - -53.500000 -14.833333 628 - -53.333333 -14.833333 474 - -53.166667 -14.833333 458 - -53.000000 -14.833333 436 - -52.833333 -14.833333 347 - -52.666667 -14.833333 303 - -52.500000 -14.833333 449 - -52.333333 -14.833333 304 - -52.166667 -14.833333 285 - -52.000000 -14.833333 259 - -51.833333 -14.833333 268 - -51.666667 -14.833333 263 - -51.500000 -14.833333 260 - -51.333333 -14.833333 265 - -51.166667 -14.833333 258 - -51.000000 -14.833333 253 - -50.833333 -14.833333 254 - -50.666667 -14.833333 308 - -50.500000 -14.833333 355 - -50.333333 -14.833333 303 - -50.166667 -14.833333 423 - -50.000000 -14.833333 408 - -49.833333 -14.833333 436 - -49.666667 -14.833333 905 - -49.500000 -14.833333 707 - -49.333333 -14.833333 549 - -49.166667 -14.833333 533 - -49.000000 -14.833333 544 - -48.833333 -14.833333 698 - -48.666667 -14.833333 559 - -48.500000 -14.833333 700 - -48.333333 -14.833333 885 - -48.166667 -14.833333 1086 - -48.000000 -14.833333 1048 - -47.833333 -14.833333 1102 - -47.666667 -14.833333 1142 - -47.500000 -14.833333 1144 - -47.333333 -14.833333 525 - -47.166667 -14.833333 484 - -47.000000 -14.833333 480 - -46.833333 -14.833333 504 - -46.666667 -14.833333 534 - -46.500000 -14.833333 972 - -46.333333 -14.833333 875 - -46.166667 -14.833333 787 - -46.000000 -14.833333 882 - -45.833333 -14.833333 812 - -45.666667 -14.833333 862 - -45.500000 -14.833333 776 - -45.333333 -14.833333 752 - -45.166667 -14.833333 800 - -45.000000 -14.833333 727 - -44.833333 -14.833333 743 - -44.666667 -14.833333 781 - -44.500000 -14.833333 782 - -44.333333 -14.833333 636 - -44.166667 -14.833333 673 - -44.000000 -14.833333 484 - -43.833333 -14.833333 467 - -43.666667 -14.833333 471 - -43.500000 -14.833333 463 - -43.333333 -14.833333 534 - -43.166667 -14.833333 525 - -43.000000 -14.833333 649 - -42.833333 -14.833333 744 - -42.666667 -14.833333 792 - -42.500000 -14.833333 1141 - -42.333333 -14.833333 788 - -42.166667 -14.833333 767 - -42.000000 -14.833333 740 - -41.833333 -14.833333 695 - -41.666667 -14.833333 618 - -41.500000 -14.833333 534 - -41.333333 -14.833333 507 - -41.166667 -14.833333 464 - -41.000000 -14.833333 842 - -40.833333 -14.833333 1031 - -40.666667 -14.833333 874 - -40.500000 -14.833333 907 - -40.333333 -14.833333 801 - -40.166667 -14.833333 452 - -40.000000 -14.833333 376 - -65.000000 -15.000000 158 - -64.833333 -15.000000 158 - -64.666667 -15.000000 160 - -64.500000 -15.000000 162 - -64.333333 -15.000000 171 - -64.166667 -15.000000 168 - -64.000000 -15.000000 188 - -63.833333 -15.000000 182 - -63.666667 -15.000000 189 - -63.500000 -15.000000 213 - -63.333333 -15.000000 222 - -63.166667 -15.000000 231 - -63.000000 -15.000000 293 - -62.833333 -15.000000 255 - -62.666667 -15.000000 226 - -62.500000 -15.000000 262 - -62.333333 -15.000000 236 - -62.166667 -15.000000 279 - -62.000000 -15.000000 252 - -61.833333 -15.000000 228 - -61.666667 -15.000000 250 - -61.500000 -15.000000 304 - -61.333333 -15.000000 238 - -61.166667 -15.000000 189 - -61.000000 -15.000000 200 - -60.833333 -15.000000 225 - -60.666667 -15.000000 206 - -60.500000 -15.000000 215 - -60.333333 -15.000000 273 - -60.166667 -15.000000 249 - -60.000000 -15.000000 232 - -59.833333 -15.000000 209 - -59.666667 -15.000000 214 - -59.500000 -15.000000 253 - -59.333333 -15.000000 248 - -59.166667 -15.000000 282 - -59.000000 -15.000000 582 - -58.833333 -15.000000 488 - -58.666667 -15.000000 561 - -58.500000 -15.000000 488 - -58.333333 -15.000000 569 - -58.166667 -15.000000 421 - -58.000000 -15.000000 231 - -57.833333 -15.000000 230 - -57.666667 -15.000000 238 - -57.500000 -15.000000 223 - -57.333333 -15.000000 192 - -57.166667 -15.000000 160 - -57.000000 -15.000000 197 - -56.833333 -15.000000 194 - -56.666667 -15.000000 239 - -56.500000 -15.000000 222 - -56.333333 -15.000000 278 - -56.166667 -15.000000 335 - -56.000000 -15.000000 332 - -55.833333 -15.000000 354 - -55.666667 -15.000000 284 - -55.500000 -15.000000 339 - -55.333333 -15.000000 577 - -55.166667 -15.000000 694 - -55.000000 -15.000000 704 - -54.833333 -15.000000 548 - -54.666667 -15.000000 729 - -54.500000 -15.000000 721 - -54.333333 -15.000000 698 - -54.166667 -15.000000 681 - -54.000000 -15.000000 670 - -53.833333 -15.000000 631 - -53.666667 -15.000000 593 - -53.500000 -15.000000 604 - -53.333333 -15.000000 530 - -53.166667 -15.000000 456 - -53.000000 -15.000000 456 - -52.833333 -15.000000 445 - -52.666667 -15.000000 510 - -52.500000 -15.000000 586 - -52.333333 -15.000000 316 - -52.166667 -15.000000 277 - -52.000000 -15.000000 281 - -51.833333 -15.000000 275 - -51.666667 -15.000000 267 - -51.500000 -15.000000 269 - -51.333333 -15.000000 264 - -51.166667 -15.000000 255 - -51.000000 -15.000000 257 - -50.833333 -15.000000 268 - -50.666667 -15.000000 290 - -50.500000 -15.000000 307 - -50.333333 -15.000000 330 - -50.166667 -15.000000 379 - -50.000000 -15.000000 561 - -49.833333 -15.000000 790 - -49.666667 -15.000000 642 - -49.500000 -15.000000 532 - -49.333333 -15.000000 508 - -49.166667 -15.000000 598 - -49.000000 -15.000000 1079 - -48.833333 -15.000000 551 - -48.666667 -15.000000 562 - -48.500000 -15.000000 843 - -48.333333 -15.000000 721 - -48.166667 -15.000000 782 - -48.000000 -15.000000 894 - -47.833333 -15.000000 877 - -47.666667 -15.000000 1078 - -47.500000 -15.000000 612 - -47.333333 -15.000000 783 - -47.166667 -15.000000 482 - -47.000000 -15.000000 524 - -46.833333 -15.000000 963 - -46.666667 -15.000000 787 - -46.500000 -15.000000 945 - -46.333333 -15.000000 926 - -46.166667 -15.000000 811 - -46.000000 -15.000000 846 - -45.833333 -15.000000 838 - -45.666667 -15.000000 733 - -45.500000 -15.000000 755 - -45.333333 -15.000000 815 - -45.166667 -15.000000 822 - -45.000000 -15.000000 737 - -44.833333 -15.000000 815 - -44.666667 -15.000000 820 - -44.500000 -15.000000 745 - -44.333333 -15.000000 740 - -44.166667 -15.000000 723 - -44.000000 -15.000000 447 - -43.833333 -15.000000 475 - -43.666667 -15.000000 476 - -43.500000 -15.000000 465 - -43.333333 -15.000000 481 - -43.166667 -15.000000 517 - -43.000000 -15.000000 898 - -42.833333 -15.000000 620 - -42.666667 -15.000000 1048 - -42.500000 -15.000000 994 - -42.333333 -15.000000 920 - -42.166667 -15.000000 809 - -42.000000 -15.000000 728 - -41.833333 -15.000000 1000 - -41.666667 -15.000000 746 - -41.500000 -15.000000 741 - -41.333333 -15.000000 588 - -41.166667 -15.000000 847 - -41.000000 -15.000000 832 - -40.833333 -15.000000 866 - -40.666667 -15.000000 658 - -40.500000 -15.000000 593 - -40.333333 -15.000000 406 - -40.166667 -15.000000 663 - -40.000000 -15.000000 410 - -65.000000 -15.166667 162 - -64.833333 -15.166667 160 - -64.666667 -15.166667 159 - -64.500000 -15.166667 162 - -64.333333 -15.166667 166 - -64.166667 -15.166667 180 - -64.000000 -15.166667 187 - -63.833333 -15.166667 186 - -63.666667 -15.166667 190 - -63.500000 -15.166667 188 - -63.333333 -15.166667 196 - -63.166667 -15.166667 213 - -63.000000 -15.166667 296 - -62.833333 -15.166667 259 - -62.666667 -15.166667 286 - -62.500000 -15.166667 236 - -62.333333 -15.166667 280 - -62.166667 -15.166667 306 - -62.000000 -15.166667 249 - -61.833333 -15.166667 263 - -61.666667 -15.166667 280 - -61.500000 -15.166667 287 - -61.333333 -15.166667 330 - -61.166667 -15.166667 234 - -61.000000 -15.166667 182 - -60.833333 -15.166667 203 - -60.666667 -15.166667 216 - -60.500000 -15.166667 196 - -60.333333 -15.166667 225 - -60.166667 -15.166667 259 - -60.000000 -15.166667 209 - -59.833333 -15.166667 211 - -59.666667 -15.166667 216 - -59.500000 -15.166667 271 - -59.333333 -15.166667 268 - -59.166667 -15.166667 352 - -59.000000 -15.166667 358 - -58.833333 -15.166667 524 - -58.666667 -15.166667 493 - -58.500000 -15.166667 511 - -58.333333 -15.166667 296 - -58.166667 -15.166667 310 - -58.000000 -15.166667 407 - -57.833333 -15.166667 217 - -57.666667 -15.166667 183 - -57.500000 -15.166667 201 - -57.333333 -15.166667 198 - -57.166667 -15.166667 155 - -57.000000 -15.166667 192 - -56.833333 -15.166667 303 - -56.666667 -15.166667 269 - -56.500000 -15.166667 250 - -56.333333 -15.166667 205 - -56.166667 -15.166667 309 - -56.000000 -15.166667 348 - -55.833333 -15.166667 441 - -55.666667 -15.166667 322 - -55.500000 -15.166667 330 - -55.333333 -15.166667 463 - -55.166667 -15.166667 701 - -55.000000 -15.166667 775 - -54.833333 -15.166667 710 - -54.666667 -15.166667 632 - -54.500000 -15.166667 711 - -54.333333 -15.166667 617 - -54.166667 -15.166667 611 - -54.000000 -15.166667 594 - -53.833333 -15.166667 554 - -53.666667 -15.166667 556 - -53.500000 -15.166667 525 - -53.333333 -15.166667 554 - -53.166667 -15.166667 380 - -53.000000 -15.166667 450 - -52.833333 -15.166667 399 - -52.666667 -15.166667 587 - -52.500000 -15.166667 694 - -52.333333 -15.166667 490 - -52.166667 -15.166667 307 - -52.000000 -15.166667 288 - -51.833333 -15.166667 276 - -51.666667 -15.166667 272 - -51.500000 -15.166667 268 - -51.333333 -15.166667 276 - -51.166667 -15.166667 255 - -51.000000 -15.166667 271 - -50.833333 -15.166667 347 - -50.666667 -15.166667 299 - -50.500000 -15.166667 331 - -50.333333 -15.166667 378 - -50.166667 -15.166667 437 - -50.000000 -15.166667 742 - -49.833333 -15.166667 663 - -49.666667 -15.166667 579 - -49.500000 -15.166667 533 - -49.333333 -15.166667 616 - -49.166667 -15.166667 734 - -49.000000 -15.166667 761 - -48.833333 -15.166667 612 - -48.666667 -15.166667 651 - -48.500000 -15.166667 611 - -48.333333 -15.166667 612 - -48.166667 -15.166667 684 - -48.000000 -15.166667 736 - -47.833333 -15.166667 908 - -47.666667 -15.166667 998 - -47.500000 -15.166667 698 - -47.333333 -15.166667 814 - -47.166667 -15.166667 527 - -47.000000 -15.166667 537 - -46.833333 -15.166667 936 - -46.666667 -15.166667 961 - -46.500000 -15.166667 942 - -46.333333 -15.166667 961 - -46.166667 -15.166667 803 - -46.000000 -15.166667 782 - -45.833333 -15.166667 773 - -45.666667 -15.166667 785 - -45.500000 -15.166667 781 - -45.333333 -15.166667 792 - -45.166667 -15.166667 733 - -45.000000 -15.166667 682 - -44.833333 -15.166667 663 - -44.666667 -15.166667 716 - -44.500000 -15.166667 817 - -44.333333 -15.166667 754 - -44.166667 -15.166667 471 - -44.000000 -15.166667 465 - -43.833333 -15.166667 475 - -43.666667 -15.166667 468 - -43.500000 -15.166667 485 - -43.333333 -15.166667 476 - -43.166667 -15.166667 501 - -43.000000 -15.166667 1015 - -42.833333 -15.166667 687 - -42.666667 -15.166667 984 - -42.500000 -15.166667 929 - -42.333333 -15.166667 996 - -42.166667 -15.166667 939 - -42.000000 -15.166667 1056 - -41.833333 -15.166667 895 - -41.666667 -15.166667 885 - -41.500000 -15.166667 890 - -41.333333 -15.166667 821 - -41.166667 -15.166667 844 - -41.000000 -15.166667 788 - -40.833333 -15.166667 810 - -40.666667 -15.166667 364 - -40.500000 -15.166667 365 - -40.333333 -15.166667 289 - -40.166667 -15.166667 500 - -40.000000 -15.166667 276 - -65.000000 -15.333333 170 - -64.833333 -15.333333 164 - -64.666667 -15.333333 164 - -64.500000 -15.333333 167 - -64.333333 -15.333333 168 - -64.166667 -15.333333 173 - -64.000000 -15.333333 183 - -63.833333 -15.333333 191 - -63.666667 -15.333333 182 - -63.500000 -15.333333 196 - -63.333333 -15.333333 192 - -63.166667 -15.333333 220 - -63.000000 -15.333333 308 - -62.833333 -15.333333 309 - -62.666667 -15.333333 350 - -62.500000 -15.333333 306 - -62.333333 -15.333333 257 - -62.166667 -15.333333 290 - -62.000000 -15.333333 295 - -61.833333 -15.333333 281 - -61.666667 -15.333333 291 - -61.500000 -15.333333 285 - -61.333333 -15.333333 312 - -61.166667 -15.333333 251 - -61.000000 -15.333333 232 - -60.833333 -15.333333 201 - -60.666667 -15.333333 226 - -60.500000 -15.333333 195 - -60.333333 -15.333333 227 - -60.166667 -15.333333 221 - -60.000000 -15.333333 203 - -59.833333 -15.333333 209 - -59.666667 -15.333333 222 - -59.500000 -15.333333 232 - -59.333333 -15.333333 336 - -59.166667 -15.333333 329 - -59.000000 -15.333333 363 - -58.833333 -15.333333 427 - -58.666667 -15.333333 207 - -58.500000 -15.333333 357 - -58.333333 -15.333333 238 - -58.166667 -15.333333 435 - -58.000000 -15.333333 180 - -57.833333 -15.333333 205 - -57.666667 -15.333333 201 - -57.500000 -15.333333 177 - -57.333333 -15.333333 182 - -57.166667 -15.333333 161 - -57.000000 -15.333333 221 - -56.833333 -15.333333 477 - -56.666667 -15.333333 275 - -56.500000 -15.333333 255 - -56.333333 -15.333333 220 - -56.166667 -15.333333 218 - -56.000000 -15.333333 276 - -55.833333 -15.333333 376 - -55.666667 -15.333333 575 - -55.500000 -15.333333 433 - -55.333333 -15.333333 572 - -55.166667 -15.333333 710 - -55.000000 -15.333333 635 - -54.833333 -15.333333 651 - -54.666667 -15.333333 644 - -54.500000 -15.333333 689 - -54.333333 -15.333333 574 - -54.166667 -15.333333 573 - -54.000000 -15.333333 557 - -53.833333 -15.333333 547 - -53.666667 -15.333333 522 - -53.500000 -15.333333 530 - -53.333333 -15.333333 461 - -53.166667 -15.333333 440 - -53.000000 -15.333333 388 - -52.833333 -15.333333 392 - -52.666667 -15.333333 670 - -52.500000 -15.333333 806 - -52.333333 -15.333333 775 - -52.166667 -15.333333 350 - -52.000000 -15.333333 296 - -51.833333 -15.333333 278 - -51.666667 -15.333333 286 - -51.500000 -15.333333 286 - -51.333333 -15.333333 280 - -51.166667 -15.333333 259 - -51.000000 -15.333333 271 - -50.833333 -15.333333 343 - -50.666667 -15.333333 344 - -50.500000 -15.333333 315 - -50.333333 -15.333333 398 - -50.166667 -15.333333 470 - -50.000000 -15.333333 666 - -49.833333 -15.333333 605 - -49.666667 -15.333333 624 - -49.500000 -15.333333 704 - -49.333333 -15.333333 568 - -49.166667 -15.333333 621 - -49.000000 -15.333333 653 - -48.833333 -15.333333 652 - -48.666667 -15.333333 682 - -48.500000 -15.333333 691 - -48.333333 -15.333333 774 - -48.166667 -15.333333 729 - -48.000000 -15.333333 776 - -47.833333 -15.333333 930 - -47.666667 -15.333333 984 - -47.500000 -15.333333 1110 - -47.333333 -15.333333 778 - -47.166667 -15.333333 930 - -47.000000 -15.333333 805 - -46.833333 -15.333333 1002 - -46.666667 -15.333333 948 - -46.500000 -15.333333 927 - -46.333333 -15.333333 555 - -46.166667 -15.333333 734 - -46.000000 -15.333333 844 - -45.833333 -15.333333 787 - -45.666667 -15.333333 859 - -45.500000 -15.333333 708 - -45.333333 -15.333333 633 - -45.166667 -15.333333 675 - -45.000000 -15.333333 586 - -44.833333 -15.333333 601 - -44.666667 -15.333333 651 - -44.500000 -15.333333 669 - -44.333333 -15.333333 613 - -44.166667 -15.333333 450 - -44.000000 -15.333333 497 - -43.833333 -15.333333 533 - -43.666667 -15.333333 474 - -43.500000 -15.333333 491 - -43.333333 -15.333333 488 - -43.166667 -15.333333 483 - -43.000000 -15.333333 501 - -42.833333 -15.333333 571 - -42.666667 -15.333333 962 - -42.500000 -15.333333 874 - -42.333333 -15.333333 986 - -42.166667 -15.333333 860 - -42.000000 -15.333333 861 - -41.833333 -15.333333 903 - -41.666667 -15.333333 934 - -41.500000 -15.333333 821 - -41.333333 -15.333333 830 - -41.166667 -15.333333 743 - -41.000000 -15.333333 813 - -40.833333 -15.333333 613 - -40.666667 -15.333333 502 - -40.500000 -15.333333 406 - -40.333333 -15.333333 309 - -40.166667 -15.333333 247 - -40.000000 -15.333333 210 - -65.000000 -15.500000 163 - -64.833333 -15.500000 171 - -64.666667 -15.500000 174 - -64.500000 -15.500000 171 - -64.333333 -15.500000 171 - -64.166667 -15.500000 174 - -64.000000 -15.500000 179 - -63.833333 -15.500000 184 - -63.666667 -15.500000 192 - -63.500000 -15.500000 202 - -63.333333 -15.500000 202 - -63.166667 -15.500000 197 - -63.000000 -15.500000 204 - -62.833333 -15.500000 251 - -62.666667 -15.500000 288 - -62.500000 -15.500000 344 - -62.333333 -15.500000 319 - -62.166667 -15.500000 305 - -62.000000 -15.500000 388 - -61.833333 -15.500000 359 - -61.666667 -15.500000 362 - -61.500000 -15.500000 282 - -61.333333 -15.500000 318 - -61.166667 -15.500000 278 - -61.000000 -15.500000 227 - -60.833333 -15.500000 220 - -60.666667 -15.500000 335 - -60.500000 -15.500000 235 - -60.333333 -15.500000 227 - -60.166667 -15.500000 210 - -60.000000 -15.500000 200 - -59.833333 -15.500000 209 - -59.666667 -15.500000 220 - -59.500000 -15.500000 245 - -59.333333 -15.500000 236 - -59.166667 -15.500000 343 - -59.000000 -15.500000 338 - -58.833333 -15.500000 316 - -58.666667 -15.500000 264 - -58.500000 -15.500000 215 - -58.333333 -15.500000 208 - -58.166667 -15.500000 194 - -58.000000 -15.500000 184 - -57.833333 -15.500000 150 - -57.666667 -15.500000 177 - -57.500000 -15.500000 159 - -57.333333 -15.500000 147 - -57.166667 -15.500000 203 - -57.000000 -15.500000 381 - -56.833333 -15.500000 317 - -56.666667 -15.500000 272 - -56.500000 -15.500000 230 - -56.333333 -15.500000 189 - -56.166667 -15.500000 169 - -56.000000 -15.500000 215 - -55.833333 -15.500000 343 - -55.666667 -15.500000 368 - -55.500000 -15.500000 726 - -55.333333 -15.500000 735 - -55.166667 -15.500000 701 - -55.000000 -15.500000 654 - -54.833333 -15.500000 668 - -54.666667 -15.500000 622 - -54.500000 -15.500000 644 - -54.333333 -15.500000 610 - -54.166667 -15.500000 625 - -54.000000 -15.500000 587 - -53.833333 -15.500000 594 - -53.666667 -15.500000 582 - -53.500000 -15.500000 568 - -53.333333 -15.500000 476 - -53.166667 -15.500000 513 - -53.000000 -15.500000 445 - -52.833333 -15.500000 467 - -52.666667 -15.500000 462 - -52.500000 -15.500000 687 - -52.333333 -15.500000 391 - -52.166667 -15.500000 318 - -52.000000 -15.500000 309 - -51.833333 -15.500000 300 - -51.666667 -15.500000 280 - -51.500000 -15.500000 294 - -51.333333 -15.500000 286 - -51.166667 -15.500000 284 - -51.000000 -15.500000 287 - -50.833333 -15.500000 287 - -50.666667 -15.500000 338 - -50.500000 -15.500000 425 - -50.333333 -15.500000 418 - -50.166667 -15.500000 678 - -50.000000 -15.500000 734 - -49.833333 -15.500000 734 - -49.666667 -15.500000 611 - -49.500000 -15.500000 585 - -49.333333 -15.500000 751 - -49.166667 -15.500000 628 - -49.000000 -15.500000 767 - -48.833333 -15.500000 856 - -48.666667 -15.500000 674 - -48.500000 -15.500000 693 - -48.333333 -15.500000 740 - -48.166667 -15.500000 894 - -48.000000 -15.500000 854 - -47.833333 -15.500000 751 - -47.666667 -15.500000 932 - -47.500000 -15.500000 1129 - -47.333333 -15.500000 847 - -47.166667 -15.500000 1007 - -47.000000 -15.500000 873 - -46.833333 -15.500000 757 - -46.666667 -15.500000 833 - -46.500000 -15.500000 940 - -46.333333 -15.500000 593 - -46.166667 -15.500000 711 - -46.000000 -15.500000 723 - -45.833333 -15.500000 803 - -45.666667 -15.500000 704 - -45.500000 -15.500000 694 - -45.333333 -15.500000 638 - -45.166667 -15.500000 593 - -45.000000 -15.500000 613 - -44.833333 -15.500000 593 - -44.666667 -15.500000 608 - -44.500000 -15.500000 562 - -44.333333 -15.500000 456 - -44.166667 -15.500000 486 - -44.000000 -15.500000 748 - -43.833333 -15.500000 579 - -43.666667 -15.500000 480 - -43.500000 -15.500000 530 - -43.333333 -15.500000 508 - -43.166667 -15.500000 518 - -43.000000 -15.500000 525 - -42.833333 -15.500000 740 - -42.666667 -15.500000 947 - -42.500000 -15.500000 926 - -42.333333 -15.500000 921 - -42.166667 -15.500000 961 - -42.000000 -15.500000 760 - -41.833333 -15.500000 775 - -41.666667 -15.500000 729 - -41.500000 -15.500000 767 - -41.333333 -15.500000 683 - -41.166667 -15.500000 729 - -41.000000 -15.500000 763 - -40.833333 -15.500000 819 - -40.666667 -15.500000 785 - -40.500000 -15.500000 348 - -40.333333 -15.500000 304 - -40.166667 -15.500000 418 - -40.000000 -15.500000 238 - -65.000000 -15.666667 165 - -64.833333 -15.666667 167 - -64.666667 -15.666667 180 - -64.500000 -15.666667 178 - -64.333333 -15.666667 187 - -64.166667 -15.666667 182 - -64.000000 -15.666667 178 - -63.833333 -15.666667 187 - -63.666667 -15.666667 202 - -63.500000 -15.666667 199 - -63.333333 -15.666667 208 - -63.166667 -15.666667 190 - -63.000000 -15.666667 236 - -62.833333 -15.666667 304 - -62.666667 -15.666667 372 - -62.500000 -15.666667 517 - -62.333333 -15.666667 390 - -62.166667 -15.666667 342 - -62.000000 -15.666667 341 - -61.833333 -15.666667 418 - -61.666667 -15.666667 422 - -61.500000 -15.666667 411 - -61.333333 -15.666667 350 - -61.166667 -15.666667 319 - -61.000000 -15.666667 269 - -60.833333 -15.666667 235 - -60.666667 -15.666667 288 - -60.500000 -15.666667 254 - -60.333333 -15.666667 240 - -60.166667 -15.666667 205 - -60.000000 -15.666667 209 - -59.833333 -15.666667 210 - -59.666667 -15.666667 228 - -59.500000 -15.666667 450 - -59.333333 -15.666667 400 - -59.166667 -15.666667 379 - -59.000000 -15.666667 274 - -58.833333 -15.666667 311 - -58.666667 -15.666667 190 - -58.500000 -15.666667 222 - -58.333333 -15.666667 213 - -58.166667 -15.666667 228 - -58.000000 -15.666667 237 - -57.833333 -15.666667 158 - -57.666667 -15.666667 157 - -57.500000 -15.666667 134 - -57.333333 -15.666667 249 - -57.166667 -15.666667 570 - -57.000000 -15.666667 448 - -56.833333 -15.666667 313 - -56.666667 -15.666667 365 - -56.500000 -15.666667 244 - -56.333333 -15.666667 259 - -56.166667 -15.666667 206 - -56.000000 -15.666667 191 - -55.833333 -15.666667 173 - -55.666667 -15.666667 195 - -55.500000 -15.666667 614 - -55.333333 -15.666667 794 - -55.166667 -15.666667 727 - -55.000000 -15.666667 432 - -54.833333 -15.666667 381 - -54.666667 -15.666667 542 - -54.500000 -15.666667 564 - -54.333333 -15.666667 452 - -54.166667 -15.666667 716 - -54.000000 -15.666667 622 - -53.833333 -15.666667 675 - -53.666667 -15.666667 566 - -53.500000 -15.666667 524 - -53.333333 -15.666667 448 - -53.166667 -15.666667 402 - -53.000000 -15.666667 410 - -52.833333 -15.666667 400 - -52.666667 -15.666667 452 - -52.500000 -15.666667 711 - -52.333333 -15.666667 408 - -52.166667 -15.666667 337 - -52.000000 -15.666667 348 - -51.833333 -15.666667 344 - -51.666667 -15.666667 312 - -51.500000 -15.666667 310 - -51.333333 -15.666667 315 - -51.166667 -15.666667 308 - -51.000000 -15.666667 301 - -50.833333 -15.666667 364 - -50.666667 -15.666667 347 - -50.500000 -15.666667 431 - -50.333333 -15.666667 518 - -50.166667 -15.666667 549 - -50.000000 -15.666667 768 - -49.833333 -15.666667 707 - -49.666667 -15.666667 613 - -49.500000 -15.666667 638 - -49.333333 -15.666667 713 - -49.166667 -15.666667 756 - -49.000000 -15.666667 843 - -48.833333 -15.666667 992 - -48.666667 -15.666667 844 - -48.500000 -15.666667 716 - -48.333333 -15.666667 941 - -48.166667 -15.666667 1212 - -48.000000 -15.666667 1091 - -47.833333 -15.666667 1089 - -47.666667 -15.666667 956 - -47.500000 -15.666667 1160 - -47.333333 -15.666667 874 - -47.166667 -15.666667 919 - -47.000000 -15.666667 720 - -46.833333 -15.666667 906 - -46.666667 -15.666667 637 - -46.500000 -15.666667 623 - -46.333333 -15.666667 586 - -46.166667 -15.666667 550 - -46.000000 -15.666667 545 - -45.833333 -15.666667 737 - -45.666667 -15.666667 697 - -45.500000 -15.666667 657 - -45.333333 -15.666667 648 - -45.166667 -15.666667 598 - -45.000000 -15.666667 534 - -44.833333 -15.666667 502 - -44.666667 -15.666667 463 - -44.500000 -15.666667 456 - -44.333333 -15.666667 490 - -44.166667 -15.666667 779 - -44.000000 -15.666667 710 - -43.833333 -15.666667 562 - -43.666667 -15.666667 508 - -43.500000 -15.666667 530 - -43.333333 -15.666667 523 - -43.166667 -15.666667 551 - -43.000000 -15.666667 546 - -42.833333 -15.666667 1280 - -42.666667 -15.666667 875 - -42.500000 -15.666667 848 - -42.333333 -15.666667 842 - -42.166667 -15.666667 821 - -42.000000 -15.666667 776 - -41.833333 -15.666667 785 - -41.666667 -15.666667 842 - -41.500000 -15.666667 795 - -41.333333 -15.666667 880 - -41.166667 -15.666667 773 - -41.000000 -15.666667 852 - -40.833333 -15.666667 925 - -40.666667 -15.666667 805 - -40.500000 -15.666667 323 - -40.333333 -15.666667 626 - -40.166667 -15.666667 454 - -40.000000 -15.666667 252 - -65.000000 -15.833333 169 - -64.833333 -15.833333 179 - -64.666667 -15.833333 184 - -64.500000 -15.833333 192 - -64.333333 -15.833333 189 - -64.166667 -15.833333 196 - -64.000000 -15.833333 195 - -63.833333 -15.833333 192 - -63.666667 -15.833333 194 - -63.500000 -15.833333 199 - -63.333333 -15.833333 201 - -63.166667 -15.833333 206 - -63.000000 -15.833333 248 - -62.833333 -15.833333 244 - -62.666667 -15.833333 320 - -62.500000 -15.833333 447 - -62.333333 -15.833333 472 - -62.166667 -15.833333 440 - -62.000000 -15.833333 408 - -61.833333 -15.833333 398 - -61.666667 -15.833333 389 - -61.500000 -15.833333 359 - -61.333333 -15.833333 353 - -61.166667 -15.833333 253 - -61.000000 -15.833333 291 - -60.833333 -15.833333 273 - -60.666667 -15.833333 253 - -60.500000 -15.833333 231 - -60.333333 -15.833333 218 - -60.166667 -15.833333 213 - -60.000000 -15.833333 205 - -59.833333 -15.833333 214 - -59.666667 -15.833333 229 - -59.500000 -15.833333 486 - -59.333333 -15.833333 595 - -59.166667 -15.833333 309 - -59.000000 -15.833333 283 - -58.833333 -15.833333 238 - -58.666667 -15.833333 197 - -58.500000 -15.833333 186 - -58.333333 -15.833333 182 - -58.166667 -15.833333 246 - -58.000000 -15.833333 158 - -57.833333 -15.833333 153 - -57.666667 -15.833333 131 - -57.500000 -15.833333 189 - -57.333333 -15.833333 206 - -57.166667 -15.833333 500 - -57.000000 -15.833333 190 - -56.833333 -15.833333 339 - -56.666667 -15.833333 220 - -56.500000 -15.833333 205 - -56.333333 -15.833333 224 - -56.166667 -15.833333 166 - -56.000000 -15.833333 151 - -55.833333 -15.833333 157 - -55.666667 -15.833333 233 - -55.500000 -15.833333 631 - -55.333333 -15.833333 815 - -55.166667 -15.833333 734 - -55.000000 -15.833333 405 - -54.833333 -15.833333 424 - -54.666667 -15.833333 383 - -54.500000 -15.833333 503 - -54.333333 -15.833333 441 - -54.166667 -15.833333 608 - -54.000000 -15.833333 663 - -53.833333 -15.833333 637 - -53.666667 -15.833333 631 - -53.500000 -15.833333 484 - -53.333333 -15.833333 438 - -53.166667 -15.833333 441 - -53.000000 -15.833333 391 - -52.833333 -15.833333 399 - -52.666667 -15.833333 380 - -52.500000 -15.833333 381 - -52.333333 -15.833333 382 - -52.166667 -15.833333 401 - -52.000000 -15.833333 317 - -51.833333 -15.833333 304 - -51.666667 -15.833333 316 - -51.500000 -15.833333 316 - -51.333333 -15.833333 350 - -51.166667 -15.833333 427 - -51.000000 -15.833333 323 - -50.833333 -15.833333 349 - -50.666667 -15.833333 361 - -50.500000 -15.833333 398 - -50.333333 -15.833333 421 - -50.166667 -15.833333 660 - -50.000000 -15.833333 675 - -49.833333 -15.833333 699 - -49.666667 -15.833333 836 - -49.500000 -15.833333 716 - -49.333333 -15.833333 709 - -49.166667 -15.833333 670 - -49.000000 -15.833333 764 - -48.833333 -15.833333 1137 - -48.666667 -15.833333 1211 - -48.500000 -15.833333 984 - -48.333333 -15.833333 1067 - -48.166667 -15.833333 1049 - -48.000000 -15.833333 1073 - -47.833333 -15.833333 1016 - -47.666667 -15.833333 1002 - -47.500000 -15.833333 895 - -47.333333 -15.833333 927 - -47.166667 -15.833333 937 - -47.000000 -15.833333 972 - -46.833333 -15.833333 832 - -46.666667 -15.833333 956 - -46.500000 -15.833333 934 - -46.333333 -15.833333 860 - -46.166667 -15.833333 516 - -46.000000 -15.833333 532 - -45.833333 -15.833333 546 - -45.666667 -15.833333 641 - -45.500000 -15.833333 649 - -45.333333 -15.833333 599 - -45.166667 -15.833333 544 - -45.000000 -15.833333 487 - -44.833333 -15.833333 479 - -44.666667 -15.833333 512 - -44.500000 -15.833333 625 - -44.333333 -15.833333 699 - -44.166667 -15.833333 870 - -44.000000 -15.833333 715 - -43.833333 -15.833333 609 - -43.666667 -15.833333 507 - -43.500000 -15.833333 532 - -43.333333 -15.833333 541 - -43.166667 -15.833333 806 - -43.000000 -15.833333 600 - -42.833333 -15.833333 815 - -42.666667 -15.833333 1032 - -42.500000 -15.833333 817 - -42.333333 -15.833333 960 - -42.166667 -15.833333 802 - -42.000000 -15.833333 917 - -41.833333 -15.833333 829 - -41.666667 -15.833333 844 - -41.500000 -15.833333 860 - -41.333333 -15.833333 737 - -41.166667 -15.833333 728 - -41.000000 -15.833333 874 - -40.833333 -15.833333 721 - -40.666667 -15.833333 545 - -40.500000 -15.833333 611 - -40.333333 -15.833333 308 - -40.166667 -15.833333 222 - -40.000000 -15.833333 194 - -65.000000 -16.000000 175 - -64.833333 -16.000000 181 - -64.666667 -16.000000 181 - -64.500000 -16.000000 181 - -64.333333 -16.000000 197 - -64.166667 -16.000000 192 - -64.000000 -16.000000 188 - -63.833333 -16.000000 204 - -63.666667 -16.000000 205 - -63.500000 -16.000000 207 - -63.333333 -16.000000 209 - -63.166667 -16.000000 211 - -63.000000 -16.000000 298 - -62.833333 -16.000000 357 - -62.666667 -16.000000 404 - -62.500000 -16.000000 419 - -62.333333 -16.000000 476 - -62.166667 -16.000000 465 - -62.000000 -16.000000 455 - -61.833333 -16.000000 386 - -61.666667 -16.000000 418 - -61.500000 -16.000000 401 - -61.333333 -16.000000 404 - -61.166667 -16.000000 348 - -61.000000 -16.000000 348 - -60.833333 -16.000000 339 - -60.666667 -16.000000 269 - -60.500000 -16.000000 235 - -60.333333 -16.000000 231 - -60.166667 -16.000000 223 - -60.000000 -16.000000 222 - -59.833333 -16.000000 226 - -59.666667 -16.000000 244 - -59.500000 -16.000000 478 - -59.333333 -16.000000 737 - -59.166667 -16.000000 232 - -59.000000 -16.000000 219 - -58.833333 -16.000000 220 - -58.666667 -16.000000 231 - -58.500000 -16.000000 178 - -58.333333 -16.000000 156 - -58.166667 -16.000000 175 - -58.000000 -16.000000 130 - -57.833333 -16.000000 132 - -57.666667 -16.000000 124 - -57.500000 -16.000000 346 - -57.333333 -16.000000 305 - -57.166667 -16.000000 139 - -57.000000 -16.000000 155 - -56.833333 -16.000000 174 - -56.666667 -16.000000 195 - -56.500000 -16.000000 145 - -56.333333 -16.000000 155 - -56.166667 -16.000000 146 - -56.000000 -16.000000 150 - -55.833333 -16.000000 138 - -55.666667 -16.000000 164 - -55.500000 -16.000000 322 - -55.333333 -16.000000 701 - -55.166667 -16.000000 580 - -55.000000 -16.000000 323 - -54.833333 -16.000000 324 - -54.666667 -16.000000 351 - -54.500000 -16.000000 462 - -54.333333 -16.000000 338 - -54.166667 -16.000000 388 - -54.000000 -16.000000 383 - -53.833333 -16.000000 507 - -53.666667 -16.000000 537 - -53.500000 -16.000000 589 - -53.333333 -16.000000 458 - -53.166667 -16.000000 461 - -53.000000 -16.000000 461 - -52.833333 -16.000000 368 - -52.666667 -16.000000 506 - -52.500000 -16.000000 454 - -52.333333 -16.000000 351 - -52.166667 -16.000000 358 - -52.000000 -16.000000 345 - -51.833333 -16.000000 311 - -51.666667 -16.000000 360 - -51.500000 -16.000000 396 - -51.333333 -16.000000 385 - -51.166667 -16.000000 350 - -51.000000 -16.000000 535 - -50.833333 -16.000000 488 - -50.666667 -16.000000 413 - -50.500000 -16.000000 401 - -50.333333 -16.000000 550 - -50.166667 -16.000000 519 - -50.000000 -16.000000 725 - -49.833333 -16.000000 733 - -49.666667 -16.000000 765 - -49.500000 -16.000000 777 - -49.333333 -16.000000 729 - -49.166667 -16.000000 713 - -49.000000 -16.000000 822 - -48.833333 -16.000000 1013 - -48.666667 -16.000000 1099 - -48.500000 -16.000000 994 - -48.333333 -16.000000 1030 - -48.166667 -16.000000 1072 - -48.000000 -16.000000 1233 - -47.833333 -16.000000 967 - -47.666667 -16.000000 868 - -47.500000 -16.000000 964 - -47.333333 -16.000000 896 - -47.166667 -16.000000 861 - -47.000000 -16.000000 861 - -46.833333 -16.000000 811 - -46.666667 -16.000000 958 - -46.500000 -16.000000 882 - -46.333333 -16.000000 586 - -46.166667 -16.000000 787 - -46.000000 -16.000000 497 - -45.833333 -16.000000 536 - -45.666667 -16.000000 562 - -45.500000 -16.000000 619 - -45.333333 -16.000000 568 - -45.166667 -16.000000 526 - -45.000000 -16.000000 463 - -44.833333 -16.000000 517 - -44.666667 -16.000000 630 - -44.500000 -16.000000 701 - -44.333333 -16.000000 747 - -44.166667 -16.000000 806 - -44.000000 -16.000000 767 - -43.833333 -16.000000 628 - -43.666667 -16.000000 509 - -43.500000 -16.000000 546 - -43.333333 -16.000000 644 - -43.166667 -16.000000 682 - -43.000000 -16.000000 859 - -42.833333 -16.000000 817 - -42.666667 -16.000000 852 - -42.500000 -16.000000 857 - -42.333333 -16.000000 612 - -42.166667 -16.000000 620 - -42.000000 -16.000000 917 - -41.833333 -16.000000 855 - -41.666667 -16.000000 917 - -41.500000 -16.000000 776 - -41.333333 -16.000000 676 - -41.166667 -16.000000 764 - -41.000000 -16.000000 437 - -40.833333 -16.000000 366 - -40.666667 -16.000000 517 - -40.500000 -16.000000 300 - -40.333333 -16.000000 231 - -40.166667 -16.000000 197 - -40.000000 -16.000000 138 - -65.000000 -16.166667 181 - -64.833333 -16.166667 184 - -64.666667 -16.166667 188 - -64.500000 -16.166667 193 - -64.333333 -16.166667 187 - -64.166667 -16.166667 207 - -64.000000 -16.166667 204 - -63.833333 -16.166667 195 - -63.666667 -16.166667 203 - -63.500000 -16.166667 213 - -63.333333 -16.166667 217 - -63.166667 -16.166667 220 - -63.000000 -16.166667 310 - -62.833333 -16.166667 406 - -62.666667 -16.166667 652 - -62.500000 -16.166667 482 - -62.333333 -16.166667 506 - -62.166667 -16.166667 612 - -62.000000 -16.166667 505 - -61.833333 -16.166667 445 - -61.666667 -16.166667 412 - -61.500000 -16.166667 434 - -61.333333 -16.166667 410 - -61.166667 -16.166667 372 - -61.000000 -16.166667 382 - -60.833333 -16.166667 378 - -60.666667 -16.166667 310 - -60.500000 -16.166667 251 - -60.333333 -16.166667 276 - -60.166667 -16.166667 238 - -60.000000 -16.166667 259 - -59.833333 -16.166667 247 - -59.666667 -16.166667 250 - -59.500000 -16.166667 444 - -59.333333 -16.166667 226 - -59.166667 -16.166667 180 - -59.000000 -16.166667 166 - -58.833333 -16.166667 146 - -58.666667 -16.166667 194 - -58.500000 -16.166667 152 - -58.333333 -16.166667 137 - -58.166667 -16.166667 228 - -58.000000 -16.166667 128 - -57.833333 -16.166667 120 - -57.666667 -16.166667 154 - -57.500000 -16.166667 451 - -57.333333 -16.166667 179 - -57.166667 -16.166667 122 - -57.000000 -16.166667 122 - -56.833333 -16.166667 133 - -56.666667 -16.166667 156 - -56.500000 -16.166667 127 - -56.333333 -16.166667 133 - -56.166667 -16.166667 139 - -56.000000 -16.166667 135 - -55.833333 -16.166667 135 - -55.666667 -16.166667 143 - -55.500000 -16.166667 170 - -55.333333 -16.166667 732 - -55.166667 -16.166667 633 - -55.000000 -16.166667 461 - -54.833333 -16.166667 277 - -54.666667 -16.166667 298 - -54.500000 -16.166667 417 - -54.333333 -16.166667 318 - -54.166667 -16.166667 391 - -54.000000 -16.166667 371 - -53.833333 -16.166667 609 - -53.666667 -16.166667 527 - -53.500000 -16.166667 485 - -53.333333 -16.166667 536 - -53.166667 -16.166667 433 - -53.000000 -16.166667 393 - -52.833333 -16.166667 459 - -52.666667 -16.166667 423 - -52.500000 -16.166667 362 - -52.333333 -16.166667 374 - -52.166667 -16.166667 448 - -52.000000 -16.166667 383 - -51.833333 -16.166667 360 - -51.666667 -16.166667 346 - -51.500000 -16.166667 446 - -51.333333 -16.166667 500 - -51.166667 -16.166667 364 - -51.000000 -16.166667 366 - -50.833333 -16.166667 419 - -50.666667 -16.166667 451 - -50.500000 -16.166667 654 - -50.333333 -16.166667 538 - -50.166667 -16.166667 654 - -50.000000 -16.166667 839 - -49.833333 -16.166667 746 - -49.666667 -16.166667 897 - -49.500000 -16.166667 923 - -49.333333 -16.166667 785 - -49.166667 -16.166667 1084 - -49.000000 -16.166667 1056 - -48.833333 -16.166667 1054 - -48.666667 -16.166667 905 - -48.500000 -16.166667 903 - -48.333333 -16.166667 1006 - -48.166667 -16.166667 945 - -48.000000 -16.166667 906 - -47.833333 -16.166667 963 - -47.666667 -16.166667 996 - -47.500000 -16.166667 961 - -47.333333 -16.166667 832 - -47.166667 -16.166667 701 - -47.000000 -16.166667 693 - -46.833333 -16.166667 759 - -46.666667 -16.166667 798 - -46.500000 -16.166667 919 - -46.333333 -16.166667 815 - -46.166667 -16.166667 563 - -46.000000 -16.166667 529 - -45.833333 -16.166667 499 - -45.666667 -16.166667 483 - -45.500000 -16.166667 542 - -45.333333 -16.166667 588 - -45.166667 -16.166667 469 - -45.000000 -16.166667 510 - -44.833333 -16.166667 664 - -44.666667 -16.166667 690 - -44.500000 -16.166667 813 - -44.333333 -16.166667 847 - -44.166667 -16.166667 801 - -44.000000 -16.166667 669 - -43.833333 -16.166667 548 - -43.666667 -16.166667 678 - -43.500000 -16.166667 555 - -43.333333 -16.166667 687 - -43.166667 -16.166667 862 - -43.000000 -16.166667 801 - -42.833333 -16.166667 782 - -42.666667 -16.166667 682 - -42.500000 -16.166667 887 - -42.333333 -16.166667 564 - -42.166667 -16.166667 704 - -42.000000 -16.166667 872 - -41.833333 -16.166667 638 - -41.666667 -16.166667 780 - -41.500000 -16.166667 706 - -41.333333 -16.166667 657 - -41.166667 -16.166667 823 - -41.000000 -16.166667 770 - -40.833333 -16.166667 357 - -40.666667 -16.166667 186 - -40.500000 -16.166667 228 - -40.333333 -16.166667 209 - -40.166667 -16.166667 238 - -40.000000 -16.166667 214 - -65.000000 -16.333333 186 - -64.833333 -16.333333 200 - -64.666667 -16.333333 193 - -64.500000 -16.333333 198 - -64.333333 -16.333333 205 - -64.166667 -16.333333 193 - -64.000000 -16.333333 201 - -63.833333 -16.333333 210 - -63.666667 -16.333333 211 - -63.500000 -16.333333 209 - -63.333333 -16.333333 222 - -63.166667 -16.333333 224 - -63.000000 -16.333333 238 - -62.833333 -16.333333 249 - -62.666667 -16.333333 471 - -62.500000 -16.333333 445 - -62.333333 -16.333333 464 - -62.166667 -16.333333 635 - -62.000000 -16.333333 534 - -61.833333 -16.333333 506 - -61.666667 -16.333333 467 - -61.500000 -16.333333 450 - -61.333333 -16.333333 441 - -61.166667 -16.333333 440 - -61.000000 -16.333333 402 - -60.833333 -16.333333 381 - -60.666667 -16.333333 330 - -60.500000 -16.333333 309 - -60.333333 -16.333333 341 - -60.166667 -16.333333 316 - -60.000000 -16.333333 308 - -59.833333 -16.333333 274 - -59.666667 -16.333333 227 - -59.500000 -16.333333 210 - -59.333333 -16.333333 200 - -59.166667 -16.333333 199 - -59.000000 -16.333333 129 - -58.833333 -16.333333 124 - -58.666667 -16.333333 146 - -58.500000 -16.333333 160 - -58.333333 -16.333333 157 - -58.166667 -16.333333 217 - -58.000000 -16.333333 122 - -57.833333 -16.333333 117 - -57.666667 -16.333333 239 - -57.500000 -16.333333 617 - -57.333333 -16.333333 136 - -57.166667 -16.333333 138 - -57.000000 -16.333333 109 - -56.833333 -16.333333 127 - -56.666667 -16.333333 126 - -56.500000 -16.333333 126 - -56.333333 -16.333333 130 - -56.166667 -16.333333 129 - -56.000000 -16.333333 131 - -55.833333 -16.333333 134 - -55.666667 -16.333333 143 - -55.500000 -16.333333 154 - -55.333333 -16.333333 530 - -55.166667 -16.333333 498 - -55.000000 -16.333333 435 - -54.833333 -16.333333 274 - -54.666667 -16.333333 357 - -54.500000 -16.333333 314 - -54.333333 -16.333333 241 - -54.166667 -16.333333 310 - -54.000000 -16.333333 368 - -53.833333 -16.333333 445 - -53.666667 -16.333333 500 - -53.500000 -16.333333 655 - -53.333333 -16.333333 705 - -53.166667 -16.333333 567 - -53.000000 -16.333333 584 - -52.833333 -16.333333 493 - -52.666667 -16.333333 445 - -52.500000 -16.333333 692 - -52.333333 -16.333333 938 - -52.166667 -16.333333 499 - -52.000000 -16.333333 367 - -51.833333 -16.333333 340 - -51.666667 -16.333333 393 - -51.500000 -16.333333 522 - -51.333333 -16.333333 462 - -51.166667 -16.333333 757 - -51.000000 -16.333333 477 - -50.833333 -16.333333 411 - -50.666667 -16.333333 595 - -50.500000 -16.333333 484 - -50.333333 -16.333333 633 - -50.166667 -16.333333 707 - -50.000000 -16.333333 841 - -49.833333 -16.333333 775 - -49.666667 -16.333333 733 - -49.500000 -16.333333 768 - -49.333333 -16.333333 828 - -49.166667 -16.333333 927 - -49.000000 -16.333333 950 - -48.833333 -16.333333 982 - -48.666667 -16.333333 940 - -48.500000 -16.333333 903 - -48.333333 -16.333333 844 - -48.166667 -16.333333 794 - -48.000000 -16.333333 892 - -47.833333 -16.333333 977 - -47.666667 -16.333333 928 - -47.500000 -16.333333 949 - -47.333333 -16.333333 882 - -47.166667 -16.333333 901 - -47.000000 -16.333333 621 - -46.833333 -16.333333 616 - -46.666667 -16.333333 726 - -46.500000 -16.333333 946 - -46.333333 -16.333333 897 - -46.166667 -16.333333 831 - -46.000000 -16.333333 710 - -45.833333 -16.333333 623 - -45.666667 -16.333333 525 - -45.500000 -16.333333 497 - -45.333333 -16.333333 488 - -45.166667 -16.333333 498 - -45.000000 -16.333333 542 - -44.833333 -16.333333 617 - -44.666667 -16.333333 627 - -44.500000 -16.333333 737 - -44.333333 -16.333333 758 - -44.166667 -16.333333 838 - -44.000000 -16.333333 755 - -43.833333 -16.333333 718 - -43.666667 -16.333333 596 - -43.500000 -16.333333 635 - -43.333333 -16.333333 917 - -43.166667 -16.333333 925 - -43.000000 -16.333333 908 - -42.833333 -16.333333 792 - -42.666667 -16.333333 888 - -42.500000 -16.333333 626 - -42.333333 -16.333333 537 - -42.166667 -16.333333 782 - -42.000000 -16.333333 545 - -41.833333 -16.333333 714 - -41.666667 -16.333333 656 - -41.500000 -16.333333 794 - -41.333333 -16.333333 606 - -41.166667 -16.333333 696 - -41.000000 -16.333333 976 - -40.833333 -16.333333 213 - -40.666667 -16.333333 519 - -40.500000 -16.333333 232 - -40.333333 -16.333333 571 - -40.166667 -16.333333 499 - -40.000000 -16.333333 732 - -65.000000 -16.500000 197 - -64.833333 -16.500000 201 - -64.666667 -16.500000 195 - -64.500000 -16.500000 205 - -64.333333 -16.500000 211 - -64.166667 -16.500000 206 - -64.000000 -16.500000 216 - -63.833333 -16.500000 203 - -63.666667 -16.500000 211 - -63.500000 -16.500000 216 - -63.333333 -16.500000 216 - -63.166667 -16.500000 222 - -63.000000 -16.500000 227 - -62.833333 -16.500000 240 - -62.666667 -16.500000 248 - -62.500000 -16.500000 281 - -62.333333 -16.500000 353 - -62.166667 -16.500000 482 - -62.000000 -16.500000 648 - -61.833333 -16.500000 441 - -61.666667 -16.500000 420 - -61.500000 -16.500000 450 - -61.333333 -16.500000 438 - -61.166667 -16.500000 468 - -61.000000 -16.500000 467 - -60.833333 -16.500000 487 - -60.666667 -16.500000 409 - -60.500000 -16.500000 396 - -60.333333 -16.500000 306 - -60.166667 -16.500000 270 - -60.000000 -16.500000 211 - -59.833333 -16.500000 213 - -59.666667 -16.500000 188 - -59.500000 -16.500000 173 - -59.333333 -16.500000 193 - -59.166667 -16.500000 182 - -59.000000 -16.500000 119 - -58.833333 -16.500000 112 - -58.666667 -16.500000 109 - -58.500000 -16.500000 104 - -58.333333 -16.500000 100 - -58.166667 -16.500000 160 - -58.000000 -16.500000 114 - -57.833333 -16.500000 113 - -57.666667 -16.500000 329 - -57.500000 -16.500000 368 - -57.333333 -16.500000 112 - -57.166667 -16.500000 129 - -57.000000 -16.500000 112 - -56.833333 -16.500000 118 - -56.666667 -16.500000 123 - -56.500000 -16.500000 124 - -56.333333 -16.500000 127 - -56.166667 -16.500000 133 - -56.000000 -16.500000 135 - -55.833333 -16.500000 138 - -55.666667 -16.500000 147 - -55.500000 -16.500000 156 - -55.333333 -16.500000 176 - -55.166667 -16.500000 422 - -55.000000 -16.500000 189 - -54.833333 -16.500000 224 - -54.666667 -16.500000 237 - -54.500000 -16.500000 241 - -54.333333 -16.500000 278 - -54.166667 -16.500000 272 - -54.000000 -16.500000 336 - -53.833333 -16.500000 542 - -53.666667 -16.500000 509 - -53.500000 -16.500000 575 - -53.333333 -16.500000 565 - -53.166667 -16.500000 724 - -53.000000 -16.500000 615 - -52.833333 -16.500000 552 - -52.666667 -16.500000 520 - -52.500000 -16.500000 495 - -52.333333 -16.500000 616 - -52.166667 -16.500000 767 - -52.000000 -16.500000 651 - -51.833333 -16.500000 385 - -51.666667 -16.500000 475 - -51.500000 -16.500000 713 - -51.333333 -16.500000 484 - -51.166667 -16.500000 531 - -51.000000 -16.500000 460 - -50.833333 -16.500000 637 - -50.666667 -16.500000 562 - -50.500000 -16.500000 450 - -50.333333 -16.500000 578 - -50.166667 -16.500000 611 - -50.000000 -16.500000 792 - -49.833333 -16.500000 703 - -49.666667 -16.500000 634 - -49.500000 -16.500000 750 - -49.333333 -16.500000 751 - -49.166667 -16.500000 819 - -49.000000 -16.500000 956 - -48.833333 -16.500000 1016 - -48.666667 -16.500000 904 - -48.500000 -16.500000 903 - -48.333333 -16.500000 1019 - -48.166667 -16.500000 930 - -48.000000 -16.500000 809 - -47.833333 -16.500000 808 - -47.666667 -16.500000 887 - -47.500000 -16.500000 881 - -47.333333 -16.500000 958 - -47.166667 -16.500000 917 - -47.000000 -16.500000 872 - -46.833333 -16.500000 583 - -46.666667 -16.500000 562 - -46.500000 -16.500000 578 - -46.333333 -16.500000 909 - -46.166667 -16.500000 846 - -46.000000 -16.500000 749 - -45.833333 -16.500000 603 - -45.666667 -16.500000 564 - -45.500000 -16.500000 611 - -45.333333 -16.500000 522 - -45.166667 -16.500000 509 - -45.000000 -16.500000 530 - -44.833333 -16.500000 574 - -44.666667 -16.500000 603 - -44.500000 -16.500000 725 - -44.333333 -16.500000 794 - -44.166667 -16.500000 841 - -44.000000 -16.500000 902 - -43.833333 -16.500000 703 - -43.666667 -16.500000 595 - -43.500000 -16.500000 663 - -43.333333 -16.500000 945 - -43.166667 -16.500000 908 - -43.000000 -16.500000 822 - -42.833333 -16.500000 670 - -42.666667 -16.500000 946 - -42.500000 -16.500000 632 - -42.333333 -16.500000 730 - -42.166667 -16.500000 776 - -42.000000 -16.500000 866 - -41.833333 -16.500000 566 - -41.666667 -16.500000 459 - -41.500000 -16.500000 336 - -41.333333 -16.500000 311 - -41.166667 -16.500000 729 - -41.000000 -16.500000 519 - -40.833333 -16.500000 557 - -40.666667 -16.500000 542 - -40.500000 -16.500000 409 - -40.333333 -16.500000 723 - -40.166667 -16.500000 548 - -40.000000 -16.500000 277 - -65.000000 -16.666667 215 - -64.833333 -16.666667 208 - -64.666667 -16.666667 201 - -64.500000 -16.666667 209 - -64.333333 -16.666667 209 - -64.166667 -16.666667 234 - -64.000000 -16.666667 227 - -63.833333 -16.666667 224 - -63.666667 -16.666667 213 - -63.500000 -16.666667 222 - -63.333333 -16.666667 220 - -63.166667 -16.666667 230 - -63.000000 -16.666667 235 - -62.833333 -16.666667 235 - -62.666667 -16.666667 241 - -62.500000 -16.666667 244 - -62.333333 -16.666667 447 - -62.166667 -16.666667 554 - -62.000000 -16.666667 442 - -61.833333 -16.666667 357 - -61.666667 -16.666667 441 - -61.500000 -16.666667 488 - -61.333333 -16.666667 451 - -61.166667 -16.666667 426 - -61.000000 -16.666667 453 - -60.833333 -16.666667 518 - -60.666667 -16.666667 464 - -60.500000 -16.666667 422 - -60.333333 -16.666667 269 - -60.166667 -16.666667 281 - -60.000000 -16.666667 259 - -59.833333 -16.666667 225 - -59.666667 -16.666667 227 - -59.500000 -16.666667 177 - -59.333333 -16.666667 169 - -59.166667 -16.666667 128 - -59.000000 -16.666667 144 - -58.833333 -16.666667 147 - -58.666667 -16.666667 103 - -58.500000 -16.666667 101 - -58.333333 -16.666667 107 - -58.166667 -16.666667 108 - -58.000000 -16.666667 128 - -57.833333 -16.666667 145 - -57.666667 -16.666667 141 - -57.500000 -16.666667 103 - -57.333333 -16.666667 104 - -57.166667 -16.666667 107 - -57.000000 -16.666667 114 - -56.833333 -16.666667 115 - -56.666667 -16.666667 119 - -56.500000 -16.666667 124 - -56.333333 -16.666667 129 - -56.166667 -16.666667 131 - -56.000000 -16.666667 142 - -55.833333 -16.666667 144 - -55.666667 -16.666667 148 - -55.500000 -16.666667 183 - -55.333333 -16.666667 171 - -55.166667 -16.666667 176 - -55.000000 -16.666667 371 - -54.833333 -16.666667 528 - -54.666667 -16.666667 464 - -54.500000 -16.666667 330 - -54.333333 -16.666667 317 - -54.166667 -16.666667 540 - -54.000000 -16.666667 499 - -53.833333 -16.666667 602 - -53.666667 -16.666667 677 - -53.500000 -16.666667 599 - -53.333333 -16.666667 541 - -53.166667 -16.666667 686 - -53.000000 -16.666667 596 - -52.833333 -16.666667 525 - -52.666667 -16.666667 533 - -52.500000 -16.666667 537 - -52.333333 -16.666667 543 - -52.166667 -16.666667 661 - -52.000000 -16.666667 712 - -51.833333 -16.666667 630 - -51.666667 -16.666667 668 - -51.500000 -16.666667 675 - -51.333333 -16.666667 611 - -51.166667 -16.666667 598 - -51.000000 -16.666667 581 - -50.833333 -16.666667 555 - -50.666667 -16.666667 787 - -50.500000 -16.666667 500 - -50.333333 -16.666667 620 - -50.166667 -16.666667 649 - -50.000000 -16.666667 681 - -49.833333 -16.666667 625 - -49.666667 -16.666667 609 - -49.500000 -16.666667 787 - -49.333333 -16.666667 789 - -49.166667 -16.666667 752 - -49.000000 -16.666667 866 - -48.833333 -16.666667 903 - -48.666667 -16.666667 992 - -48.500000 -16.666667 862 - -48.333333 -16.666667 820 - -48.166667 -16.666667 926 - -48.000000 -16.666667 840 - -47.833333 -16.666667 839 - -47.666667 -16.666667 976 - -47.500000 -16.666667 951 - -47.333333 -16.666667 908 - -47.166667 -16.666667 926 - -47.000000 -16.666667 850 - -46.833333 -16.666667 590 - -46.666667 -16.666667 592 - -46.500000 -16.666667 531 - -46.333333 -16.666667 627 - -46.166667 -16.666667 748 - -46.000000 -16.666667 703 - -45.833333 -16.666667 752 - -45.666667 -16.666667 649 - -45.500000 -16.666667 583 - -45.333333 -16.666667 533 - -45.166667 -16.666667 478 - -45.000000 -16.666667 506 - -44.833333 -16.666667 531 - -44.666667 -16.666667 715 - -44.500000 -16.666667 742 - -44.333333 -16.666667 835 - -44.166667 -16.666667 801 - -44.000000 -16.666667 826 - -43.833333 -16.666667 604 - -43.666667 -16.666667 603 - -43.500000 -16.666667 780 - -43.333333 -16.666667 967 - -43.166667 -16.666667 782 - -43.000000 -16.666667 806 - -42.833333 -16.666667 637 - -42.666667 -16.666667 786 - -42.500000 -16.666667 484 - -42.333333 -16.666667 432 - -42.166667 -16.666667 398 - -42.000000 -16.666667 444 - -41.833333 -16.666667 306 - -41.666667 -16.666667 712 - -41.500000 -16.666667 370 - -41.333333 -16.666667 708 - -41.166667 -16.666667 677 - -41.000000 -16.666667 284 - -40.833333 -16.666667 596 - -40.666667 -16.666667 639 - -40.500000 -16.666667 825 - -40.333333 -16.666667 840 - -40.166667 -16.666667 444 - -40.000000 -16.666667 468 - -65.000000 -16.833333 215 - -64.833333 -16.833333 200 - -64.666667 -16.833333 201 - -64.500000 -16.833333 205 - -64.333333 -16.833333 226 - -64.166667 -16.833333 239 - -64.000000 -16.833333 233 - -63.833333 -16.833333 224 - -63.666667 -16.833333 221 - -63.500000 -16.833333 219 - -63.333333 -16.833333 228 - -63.166667 -16.833333 239 - -63.000000 -16.833333 240 - -62.833333 -16.833333 243 - -62.666667 -16.833333 255 - -62.500000 -16.833333 253 - -62.333333 -16.833333 247 - -62.166667 -16.833333 379 - -62.000000 -16.833333 334 - -61.833333 -16.833333 398 - -61.666667 -16.833333 418 - -61.500000 -16.833333 401 - -61.333333 -16.833333 389 - -61.166667 -16.833333 431 - -61.000000 -16.833333 388 - -60.833333 -16.833333 401 - -60.666667 -16.833333 392 - -60.500000 -16.833333 337 - -60.333333 -16.833333 308 - -60.166667 -16.833333 289 - -60.000000 -16.833333 291 - -59.833333 -16.833333 212 - -59.666667 -16.833333 203 - -59.500000 -16.833333 171 - -59.333333 -16.833333 158 - -59.166667 -16.833333 132 - -59.000000 -16.833333 120 - -58.833333 -16.833333 111 - -58.666667 -16.833333 106 - -58.500000 -16.833333 99 - -58.333333 -16.833333 103 - -58.166667 -16.833333 105 - -58.000000 -16.833333 106 - -57.833333 -16.833333 108 - -57.666667 -16.833333 102 - -57.500000 -16.833333 107 - -57.333333 -16.833333 103 - -57.166667 -16.833333 108 - -57.000000 -16.833333 111 - -56.833333 -16.833333 113 - -56.666667 -16.833333 120 - -56.500000 -16.833333 122 - -56.333333 -16.833333 131 - -56.166667 -16.833333 138 - -56.000000 -16.833333 134 - -55.833333 -16.833333 139 - -55.666667 -16.833333 150 - -55.500000 -16.833333 155 - -55.333333 -16.833333 163 - -55.166667 -16.833333 168 - -55.000000 -16.833333 193 - -54.833333 -16.833333 475 - -54.666667 -16.833333 439 - -54.500000 -16.833333 321 - -54.333333 -16.833333 359 - -54.166667 -16.833333 416 - -54.000000 -16.833333 709 - -53.833333 -16.833333 747 - -53.666667 -16.833333 758 - -53.500000 -16.833333 690 - -53.333333 -16.833333 549 - -53.166667 -16.833333 496 - -53.000000 -16.833333 507 - -52.833333 -16.833333 456 - -52.666667 -16.833333 566 - -52.500000 -16.833333 606 - -52.333333 -16.833333 566 - -52.166667 -16.833333 582 - -52.000000 -16.833333 714 - -51.833333 -16.833333 658 - -51.666667 -16.833333 640 - -51.500000 -16.833333 818 - -51.333333 -16.833333 645 - -51.166667 -16.833333 531 - -51.000000 -16.833333 748 - -50.833333 -16.833333 583 - -50.666667 -16.833333 637 - -50.500000 -16.833333 743 - -50.333333 -16.833333 578 - -50.166667 -16.833333 665 - -50.000000 -16.833333 601 - -49.833333 -16.833333 654 - -49.666667 -16.833333 763 - -49.500000 -16.833333 748 - -49.333333 -16.833333 894 - -49.166667 -16.833333 698 - -49.000000 -16.833333 764 - -48.833333 -16.833333 874 - -48.666667 -16.833333 902 - -48.500000 -16.833333 955 - -48.333333 -16.833333 906 - -48.166667 -16.833333 948 - -48.000000 -16.833333 959 - -47.833333 -16.833333 852 - -47.666667 -16.833333 1140 - -47.500000 -16.833333 974 - -47.333333 -16.833333 925 - -47.166667 -16.833333 870 - -47.000000 -16.833333 826 - -46.833333 -16.833333 628 - -46.666667 -16.833333 545 - -46.500000 -16.833333 536 - -46.333333 -16.833333 539 - -46.166667 -16.833333 550 - -46.000000 -16.833333 644 - -45.833333 -16.833333 737 - -45.666667 -16.833333 678 - -45.500000 -16.833333 562 - -45.333333 -16.833333 531 - -45.166667 -16.833333 547 - -45.000000 -16.833333 515 - -44.833333 -16.833333 535 - -44.666667 -16.833333 694 - -44.500000 -16.833333 727 - -44.333333 -16.833333 880 - -44.166667 -16.833333 918 - -44.000000 -16.833333 901 - -43.833333 -16.833333 885 - -43.666667 -16.833333 662 - -43.500000 -16.833333 1112 - -43.333333 -16.833333 1159 - -43.166667 -16.833333 845 - -43.000000 -16.833333 813 - -42.833333 -16.833333 671 - -42.666667 -16.833333 725 - -42.500000 -16.833333 712 - -42.333333 -16.833333 381 - -42.166667 -16.833333 430 - -42.000000 -16.833333 313 - -41.833333 -16.833333 375 - -41.666667 -16.833333 811 - -41.500000 -16.833333 791 - -41.333333 -16.833333 759 - -41.166667 -16.833333 814 - -41.000000 -16.833333 409 - -40.833333 -16.833333 586 - -40.666667 -16.833333 851 - -40.500000 -16.833333 492 - -40.333333 -16.833333 448 - -40.166667 -16.833333 316 - -40.000000 -16.833333 191 - -65.000000 -17.000000 235 - -64.833333 -17.000000 215 - -64.666667 -17.000000 211 - -64.500000 -17.000000 219 - -64.333333 -17.000000 231 - -64.166667 -17.000000 236 - -64.000000 -17.000000 251 - -63.833333 -17.000000 249 - -63.666667 -17.000000 304 - -63.500000 -17.000000 237 - -63.333333 -17.000000 245 - -63.166667 -17.000000 240 - -63.000000 -17.000000 252 - -62.833333 -17.000000 249 - -62.666667 -17.000000 248 - -62.500000 -17.000000 251 - -62.333333 -17.000000 249 - -62.166667 -17.000000 256 - -62.000000 -17.000000 291 - -61.833333 -17.000000 320 - -61.666667 -17.000000 324 - -61.500000 -17.000000 435 - -61.333333 -17.000000 435 - -61.166667 -17.000000 380 - -61.000000 -17.000000 363 - -60.833333 -17.000000 315 - -60.666667 -17.000000 301 - -60.500000 -17.000000 320 - -60.333333 -17.000000 342 - -60.166667 -17.000000 369 - -60.000000 -17.000000 247 - -59.833333 -17.000000 223 - -59.666667 -17.000000 242 - -59.500000 -17.000000 234 - -59.333333 -17.000000 154 - -59.166667 -17.000000 134 - -59.000000 -17.000000 122 - -58.833333 -17.000000 119 - -58.666667 -17.000000 104 - -58.500000 -17.000000 99 - -58.333333 -17.000000 98 - -58.166667 -17.000000 100 - -58.000000 -17.000000 102 - -57.833333 -17.000000 103 - -57.666667 -17.000000 103 - -57.500000 -17.000000 101 - -57.333333 -17.000000 100 - -57.166667 -17.000000 104 - -57.000000 -17.000000 111 - -56.833333 -17.000000 115 - -56.666667 -17.000000 112 - -56.500000 -17.000000 115 - -56.333333 -17.000000 118 - -56.166667 -17.000000 127 - -56.000000 -17.000000 134 - -55.833333 -17.000000 134 - -55.666667 -17.000000 143 - -55.500000 -17.000000 150 - -55.333333 -17.000000 156 - -55.166667 -17.000000 157 - -55.000000 -17.000000 177 - -54.833333 -17.000000 457 - -54.666667 -17.000000 467 - -54.500000 -17.000000 339 - -54.333333 -17.000000 393 - -54.166667 -17.000000 747 - -54.000000 -17.000000 639 - -53.833333 -17.000000 649 - -53.666667 -17.000000 693 - -53.500000 -17.000000 819 - -53.333333 -17.000000 819 - -53.166667 -17.000000 522 - -53.000000 -17.000000 524 - -52.833333 -17.000000 481 - -52.666667 -17.000000 542 - -52.500000 -17.000000 608 - -52.333333 -17.000000 591 - -52.166667 -17.000000 646 - -52.000000 -17.000000 643 - -51.833333 -17.000000 738 - -51.666667 -17.000000 810 - -51.500000 -17.000000 600 - -51.333333 -17.000000 714 - -51.166667 -17.000000 538 - -51.000000 -17.000000 751 - -50.833333 -17.000000 829 - -50.666667 -17.000000 676 - -50.500000 -17.000000 691 - -50.333333 -17.000000 585 - -50.166667 -17.000000 672 - -50.000000 -17.000000 561 - -49.833333 -17.000000 634 - -49.666667 -17.000000 705 - -49.500000 -17.000000 758 - -49.333333 -17.000000 866 - -49.166667 -17.000000 759 - -49.000000 -17.000000 744 - -48.833333 -17.000000 834 - -48.666667 -17.000000 937 - -48.500000 -17.000000 830 - -48.333333 -17.000000 860 - -48.166667 -17.000000 821 - -48.000000 -17.000000 859 - -47.833333 -17.000000 816 - -47.666667 -17.000000 954 - -47.500000 -17.000000 921 - -47.333333 -17.000000 865 - -47.166667 -17.000000 836 - -47.000000 -17.000000 881 - -46.833333 -17.000000 590 - -46.666667 -17.000000 584 - -46.500000 -17.000000 527 - -46.333333 -17.000000 529 - -46.166667 -17.000000 502 - -46.000000 -17.000000 559 - -45.833333 -17.000000 591 - -45.666667 -17.000000 608 - -45.500000 -17.000000 509 - -45.333333 -17.000000 523 - -45.166667 -17.000000 657 - -45.000000 -17.000000 679 - -44.833333 -17.000000 479 - -44.666667 -17.000000 652 - -44.500000 -17.000000 675 - -44.333333 -17.000000 786 - -44.166667 -17.000000 853 - -44.000000 -17.000000 912 - -43.833333 -17.000000 817 - -43.666667 -17.000000 793 - -43.500000 -17.000000 1034 - -43.333333 -17.000000 1273 - -43.166667 -17.000000 897 - -43.000000 -17.000000 880 - -42.833333 -17.000000 799 - -42.666667 -17.000000 780 - -42.500000 -17.000000 550 - -42.333333 -17.000000 436 - -42.166667 -17.000000 422 - -42.000000 -17.000000 602 - -41.833333 -17.000000 599 - -41.666667 -17.000000 940 - -41.500000 -17.000000 877 - -41.333333 -17.000000 861 - -41.166667 -17.000000 769 - -41.000000 -17.000000 362 - -40.833333 -17.000000 335 - -40.666667 -17.000000 338 - -40.500000 -17.000000 286 - -40.333333 -17.000000 625 - -40.166667 -17.000000 624 - -40.000000 -17.000000 411 - -65.000000 -17.166667 349 - -64.833333 -17.166667 243 - -64.666667 -17.166667 230 - -64.500000 -17.166667 229 - -64.333333 -17.166667 242 - -64.166667 -17.166667 252 - -64.000000 -17.166667 262 - -63.833333 -17.166667 265 - -63.666667 -17.166667 265 - -63.500000 -17.166667 255 - -63.333333 -17.166667 265 - -63.166667 -17.166667 263 - -63.000000 -17.166667 255 - -62.833333 -17.166667 259 - -62.666667 -17.166667 265 - -62.500000 -17.166667 260 - -62.333333 -17.166667 259 - -62.166667 -17.166667 261 - -62.000000 -17.166667 257 - -61.833333 -17.166667 266 - -61.666667 -17.166667 252 - -61.500000 -17.166667 300 - -61.333333 -17.166667 351 - -61.166667 -17.166667 316 - -61.000000 -17.166667 291 - -60.833333 -17.166667 290 - -60.666667 -17.166667 338 - -60.500000 -17.166667 308 - -60.333333 -17.166667 330 - -60.166667 -17.166667 356 - -60.000000 -17.166667 413 - -59.833333 -17.166667 284 - -59.666667 -17.166667 256 - -59.500000 -17.166667 191 - -59.333333 -17.166667 166 - -59.166667 -17.166667 147 - -59.000000 -17.166667 131 - -58.833333 -17.166667 123 - -58.666667 -17.166667 116 - -58.500000 -17.166667 105 - -58.333333 -17.166667 97 - -58.166667 -17.166667 99 - -58.000000 -17.166667 98 - -57.833333 -17.166667 98 - -57.666667 -17.166667 99 - -57.500000 -17.166667 99 - -57.333333 -17.166667 100 - -57.166667 -17.166667 103 - -57.000000 -17.166667 109 - -56.833333 -17.166667 109 - -56.666667 -17.166667 110 - -56.500000 -17.166667 112 - -56.333333 -17.166667 119 - -56.166667 -17.166667 121 - -56.000000 -17.166667 122 - -55.833333 -17.166667 131 - -55.666667 -17.166667 138 - -55.500000 -17.166667 144 - -55.333333 -17.166667 145 - -55.166667 -17.166667 155 - -55.000000 -17.166667 166 - -54.833333 -17.166667 442 - -54.666667 -17.166667 510 - -54.500000 -17.166667 591 - -54.333333 -17.166667 646 - -54.166667 -17.166667 556 - -54.000000 -17.166667 525 - -53.833333 -17.166667 613 - -53.666667 -17.166667 704 - -53.500000 -17.166667 760 - -53.333333 -17.166667 736 - -53.166667 -17.166667 676 - -53.000000 -17.166667 745 - -52.833333 -17.166667 516 - -52.666667 -17.166667 548 - -52.500000 -17.166667 565 - -52.333333 -17.166667 643 - -52.166667 -17.166667 656 - -52.000000 -17.166667 776 - -51.833333 -17.166667 827 - -51.666667 -17.166667 931 - -51.500000 -17.166667 703 - -51.333333 -17.166667 608 - -51.166667 -17.166667 813 - -51.000000 -17.166667 774 - -50.833333 -17.166667 698 - -50.666667 -17.166667 625 - -50.500000 -17.166667 639 - -50.333333 -17.166667 550 - -50.166667 -17.166667 581 - -50.000000 -17.166667 585 - -49.833333 -17.166667 682 - -49.666667 -17.166667 554 - -49.500000 -17.166667 839 - -49.333333 -17.166667 758 - -49.166667 -17.166667 735 - -49.000000 -17.166667 776 - -48.833333 -17.166667 905 - -48.666667 -17.166667 745 - -48.500000 -17.166667 864 - -48.333333 -17.166667 885 - -48.166667 -17.166667 748 - -48.000000 -17.166667 717 - -47.833333 -17.166667 828 - -47.666667 -17.166667 852 - -47.500000 -17.166667 886 - -47.333333 -17.166667 801 - -47.166667 -17.166667 686 - -47.000000 -17.166667 768 - -46.833333 -17.166667 602 - -46.666667 -17.166667 576 - -46.500000 -17.166667 539 - -46.333333 -17.166667 561 - -46.166667 -17.166667 525 - -46.000000 -17.166667 690 - -45.833333 -17.166667 505 - -45.666667 -17.166667 541 - -45.500000 -17.166667 588 - -45.333333 -17.166667 629 - -45.166667 -17.166667 696 - -45.000000 -17.166667 700 - -44.833333 -17.166667 479 - -44.666667 -17.166667 493 - -44.500000 -17.166667 537 - -44.333333 -17.166667 659 - -44.166667 -17.166667 890 - -44.000000 -17.166667 656 - -43.833333 -17.166667 708 - -43.666667 -17.166667 760 - -43.500000 -17.166667 729 - -43.333333 -17.166667 1126 - -43.166667 -17.166667 942 - -43.000000 -17.166667 643 - -42.833333 -17.166667 903 - -42.666667 -17.166667 663 - -42.500000 -17.166667 628 - -42.333333 -17.166667 765 - -42.166667 -17.166667 793 - -42.000000 -17.166667 715 - -41.833333 -17.166667 874 - -41.666667 -17.166667 906 - -41.500000 -17.166667 659 - -41.333333 -17.166667 872 - -41.166667 -17.166667 589 - -41.000000 -17.166667 430 - -40.833333 -17.166667 287 - -40.666667 -17.166667 327 - -40.500000 -17.166667 296 - -40.333333 -17.166667 193 - -40.166667 -17.166667 259 - -40.000000 -17.166667 169 - -65.000000 -17.333333 843 - -64.833333 -17.333333 766 - -64.666667 -17.333333 974 - -64.500000 -17.333333 429 - -64.333333 -17.333333 298 - -64.166667 -17.333333 267 - -64.000000 -17.333333 285 - -63.833333 -17.333333 295 - -63.666667 -17.333333 295 - -63.500000 -17.333333 287 - -63.333333 -17.333333 290 - -63.166667 -17.333333 295 - -63.000000 -17.333333 276 - -62.833333 -17.333333 266 - -62.666667 -17.333333 270 - -62.500000 -17.333333 273 - -62.333333 -17.333333 269 - -62.166667 -17.333333 266 - -62.000000 -17.333333 267 - -61.833333 -17.333333 267 - -61.666667 -17.333333 264 - -61.500000 -17.333333 259 - -61.333333 -17.333333 377 - -61.166667 -17.333333 260 - -61.000000 -17.333333 262 - -60.833333 -17.333333 341 - -60.666667 -17.333333 275 - -60.500000 -17.333333 333 - -60.333333 -17.333333 323 - -60.166667 -17.333333 349 - -60.000000 -17.333333 402 - -59.833333 -17.333333 382 - -59.666667 -17.333333 291 - -59.500000 -17.333333 257 - -59.333333 -17.333333 222 - -59.166667 -17.333333 157 - -59.000000 -17.333333 144 - -58.833333 -17.333333 129 - -58.666667 -17.333333 113 - -58.500000 -17.333333 100 - -58.333333 -17.333333 97 - -58.166667 -17.333333 94 - -58.000000 -17.333333 96 - -57.833333 -17.333333 95 - -57.666667 -17.333333 95 - -57.500000 -17.333333 97 - -57.333333 -17.333333 103 - -57.166667 -17.333333 100 - -57.000000 -17.333333 107 - -56.833333 -17.333333 106 - -56.666667 -17.333333 114 - -56.500000 -17.333333 116 - -56.333333 -17.333333 115 - -56.166667 -17.333333 119 - -56.000000 -17.333333 126 - -55.833333 -17.333333 129 - -55.666667 -17.333333 133 - -55.500000 -17.333333 136 - -55.333333 -17.333333 142 - -55.166667 -17.333333 150 - -55.000000 -17.333333 170 - -54.833333 -17.333333 463 - -54.666667 -17.333333 543 - -54.500000 -17.333333 514 - -54.333333 -17.333333 554 - -54.166667 -17.333333 578 - -54.000000 -17.333333 671 - -53.833333 -17.333333 648 - -53.666667 -17.333333 718 - -53.500000 -17.333333 702 - -53.333333 -17.333333 682 - -53.166667 -17.333333 726 - -53.000000 -17.333333 745 - -52.833333 -17.333333 876 - -52.666667 -17.333333 883 - -52.500000 -17.333333 938 - -52.333333 -17.333333 898 - -52.166667 -17.333333 818 - -52.000000 -17.333333 763 - -51.833333 -17.333333 954 - -51.666667 -17.333333 998 - -51.500000 -17.333333 934 - -51.333333 -17.333333 800 - -51.166667 -17.333333 854 - -51.000000 -17.333333 693 - -50.833333 -17.333333 743 - -50.666667 -17.333333 590 - -50.500000 -17.333333 582 - -50.333333 -17.333333 591 - -50.166667 -17.333333 522 - -50.000000 -17.333333 527 - -49.833333 -17.333333 568 - -49.666667 -17.333333 565 - -49.500000 -17.333333 743 - -49.333333 -17.333333 686 - -49.166667 -17.333333 668 - -49.000000 -17.333333 748 - -48.833333 -17.333333 775 - -48.666667 -17.333333 780 - -48.500000 -17.333333 719 - -48.333333 -17.333333 775 - -48.166667 -17.333333 728 - -48.000000 -17.333333 943 - -47.833333 -17.333333 958 - -47.666667 -17.333333 902 - -47.500000 -17.333333 797 - -47.333333 -17.333333 870 - -47.166667 -17.333333 855 - -47.000000 -17.333333 603 - -46.833333 -17.333333 681 - -46.666667 -17.333333 652 - -46.500000 -17.333333 517 - -46.333333 -17.333333 539 - -46.166667 -17.333333 528 - -46.000000 -17.333333 538 - -45.833333 -17.333333 578 - -45.666667 -17.333333 705 - -45.500000 -17.333333 617 - -45.333333 -17.333333 638 - -45.166667 -17.333333 744 - -45.000000 -17.333333 530 - -44.833333 -17.333333 585 - -44.666667 -17.333333 557 - -44.500000 -17.333333 564 - -44.333333 -17.333333 624 - -44.166667 -17.333333 637 - -44.000000 -17.333333 710 - -43.833333 -17.333333 881 - -43.666667 -17.333333 857 - -43.500000 -17.333333 832 - -43.333333 -17.333333 655 - -43.166667 -17.333333 720 - -43.000000 -17.333333 820 - -42.833333 -17.333333 617 - -42.666667 -17.333333 824 - -42.500000 -17.333333 822 - -42.333333 -17.333333 586 - -42.166667 -17.333333 807 - -42.000000 -17.333333 881 - -41.833333 -17.333333 914 - -41.666667 -17.333333 744 - -41.500000 -17.333333 687 - -41.333333 -17.333333 387 - -41.166667 -17.333333 483 - -41.000000 -17.333333 303 - -40.833333 -17.333333 330 - -40.666667 -17.333333 228 - -40.500000 -17.333333 230 - -40.333333 -17.333333 217 - -40.166667 -17.333333 215 - -40.000000 -17.333333 196 - -65.000000 -17.500000 1156 - -64.833333 -17.500000 1576 - -64.666667 -17.500000 775 - -64.500000 -17.500000 1004 - -64.333333 -17.500000 705 - -64.166667 -17.500000 1079 - -64.000000 -17.500000 441 - -63.833333 -17.500000 345 - -63.666667 -17.500000 349 - -63.500000 -17.500000 338 - -63.333333 -17.500000 347 - -63.166667 -17.500000 332 - -63.000000 -17.500000 313 - -62.833333 -17.500000 289 - -62.666667 -17.500000 277 - -62.500000 -17.500000 277 - -62.333333 -17.500000 275 - -62.166667 -17.500000 274 - -62.000000 -17.500000 278 - -61.833333 -17.500000 272 - -61.666667 -17.500000 270 - -61.500000 -17.500000 254 - -61.333333 -17.500000 251 - -61.166667 -17.500000 262 - -61.000000 -17.500000 265 - -60.833333 -17.500000 256 - -60.666667 -17.500000 267 - -60.500000 -17.500000 301 - -60.333333 -17.500000 324 - -60.166667 -17.500000 409 - -60.000000 -17.500000 364 - -59.833333 -17.500000 379 - -59.666667 -17.500000 336 - -59.500000 -17.500000 295 - -59.333333 -17.500000 236 - -59.166667 -17.500000 564 - -59.000000 -17.500000 153 - -58.833333 -17.500000 138 - -58.666667 -17.500000 173 - -58.500000 -17.500000 118 - -58.333333 -17.500000 103 - -58.166667 -17.500000 106 - -58.000000 -17.500000 95 - -57.833333 -17.500000 93 - -57.666667 -17.500000 95 - -57.500000 -17.500000 94 - -57.333333 -17.500000 96 - -57.166667 -17.500000 98 - -57.000000 -17.500000 108 - -56.833333 -17.500000 105 - -56.666667 -17.500000 110 - -56.500000 -17.500000 116 - -56.333333 -17.500000 118 - -56.166667 -17.500000 120 - -56.000000 -17.500000 125 - -55.833333 -17.500000 132 - -55.666667 -17.500000 135 - -55.500000 -17.500000 138 - -55.333333 -17.500000 142 - -55.166667 -17.500000 325 - -55.000000 -17.500000 214 - -54.833333 -17.500000 491 - -54.666667 -17.500000 417 - -54.500000 -17.500000 498 - -54.333333 -17.500000 589 - -54.166667 -17.500000 669 - -54.000000 -17.500000 630 - -53.833333 -17.500000 648 - -53.666667 -17.500000 733 - -53.500000 -17.500000 613 - -53.333333 -17.500000 756 - -53.166667 -17.500000 745 - -53.000000 -17.500000 720 - -52.833333 -17.500000 927 - -52.666667 -17.500000 856 - -52.500000 -17.500000 779 - -52.333333 -17.500000 910 - -52.166667 -17.500000 843 - -52.000000 -17.500000 785 - -51.833333 -17.500000 860 - -51.666667 -17.500000 918 - -51.500000 -17.500000 926 - -51.333333 -17.500000 930 - -51.166667 -17.500000 883 - -51.000000 -17.500000 814 - -50.833333 -17.500000 705 - -50.666667 -17.500000 602 - -50.500000 -17.500000 540 - -50.333333 -17.500000 498 - -50.166667 -17.500000 492 - -50.000000 -17.500000 496 - -49.833333 -17.500000 589 - -49.666667 -17.500000 507 - -49.500000 -17.500000 647 - -49.333333 -17.500000 657 - -49.166667 -17.500000 685 - -49.000000 -17.500000 734 - -48.833333 -17.500000 745 - -48.666667 -17.500000 731 - -48.500000 -17.500000 673 - -48.333333 -17.500000 770 - -48.166667 -17.500000 818 - -48.000000 -17.500000 878 - -47.833333 -17.500000 923 - -47.666667 -17.500000 850 - -47.500000 -17.500000 860 - -47.333333 -17.500000 983 - -47.166667 -17.500000 955 - -47.000000 -17.500000 628 - -46.833333 -17.500000 579 - -46.666667 -17.500000 567 - -46.500000 -17.500000 529 - -46.333333 -17.500000 554 - -46.166667 -17.500000 556 - -46.000000 -17.500000 550 - -45.833333 -17.500000 685 - -45.666667 -17.500000 613 - -45.500000 -17.500000 722 - -45.333333 -17.500000 866 - -45.166667 -17.500000 881 - -45.000000 -17.500000 521 - -44.833333 -17.500000 628 - -44.666667 -17.500000 516 - -44.500000 -17.500000 993 - -44.333333 -17.500000 740 - -44.166667 -17.500000 950 - -44.000000 -17.500000 625 - -43.833333 -17.500000 666 - -43.666667 -17.500000 949 - -43.500000 -17.500000 653 - -43.333333 -17.500000 651 - -43.166667 -17.500000 861 - -43.000000 -17.500000 722 - -42.833333 -17.500000 763 - -42.666667 -17.500000 669 - -42.500000 -17.500000 817 - -42.333333 -17.500000 998 - -42.166667 -17.500000 681 - -42.000000 -17.500000 827 - -41.833333 -17.500000 963 - -41.666667 -17.500000 810 - -41.500000 -17.500000 581 - -41.333333 -17.500000 293 - -41.166667 -17.500000 439 - -41.000000 -17.500000 278 - -40.833333 -17.500000 327 - -40.666667 -17.500000 230 - -40.500000 -17.500000 317 - -40.333333 -17.500000 241 - -40.166667 -17.500000 203 - -40.000000 -17.500000 168 - -65.000000 -17.666667 3295 - -64.833333 -17.666667 3692 - -64.666667 -17.666667 2116 - -64.500000 -17.666667 1733 - -64.333333 -17.666667 1817 - -64.166667 -17.666667 1102 - -64.000000 -17.666667 957 - -63.833333 -17.666667 899 - -63.666667 -17.666667 420 - -63.500000 -17.666667 422 - -63.333333 -17.666667 403 - -63.166667 -17.666667 387 - -63.000000 -17.666667 352 - -62.833333 -17.666667 306 - -62.666667 -17.666667 289 - -62.500000 -17.666667 289 - -62.333333 -17.666667 282 - -62.166667 -17.666667 286 - -62.000000 -17.666667 278 - -61.833333 -17.666667 278 - -61.666667 -17.666667 274 - -61.500000 -17.666667 272 - -61.333333 -17.666667 270 - -61.166667 -17.666667 267 - -61.000000 -17.666667 267 - -60.833333 -17.666667 258 - -60.666667 -17.666667 272 - -60.500000 -17.666667 287 - -60.333333 -17.666667 310 - -60.166667 -17.666667 330 - -60.000000 -17.666667 296 - -59.833333 -17.666667 332 - -59.666667 -17.666667 312 - -59.500000 -17.666667 268 - -59.333333 -17.666667 318 - -59.166667 -17.666667 282 - -59.000000 -17.666667 184 - -58.833333 -17.666667 163 - -58.666667 -17.666667 154 - -58.500000 -17.666667 129 - -58.333333 -17.666667 125 - -58.166667 -17.666667 149 - -58.000000 -17.666667 150 - -57.833333 -17.666667 134 - -57.666667 -17.666667 94 - -57.500000 -17.666667 93 - -57.333333 -17.666667 97 - -57.166667 -17.666667 99 - -57.000000 -17.666667 103 - -56.833333 -17.666667 107 - -56.666667 -17.666667 115 - -56.500000 -17.666667 120 - -56.333333 -17.666667 122 - -56.166667 -17.666667 126 - -56.000000 -17.666667 130 - -55.833333 -17.666667 134 - -55.666667 -17.666667 142 - -55.500000 -17.666667 146 - -55.333333 -17.666667 147 - -55.166667 -17.666667 151 - -55.000000 -17.666667 159 - -54.833333 -17.666667 434 - -54.666667 -17.666667 501 - -54.500000 -17.666667 551 - -54.333333 -17.666667 478 - -54.166667 -17.666667 620 - -54.000000 -17.666667 493 - -53.833333 -17.666667 422 - -53.666667 -17.666667 713 - -53.500000 -17.666667 695 - -53.333333 -17.666667 846 - -53.166667 -17.666667 824 - -53.000000 -17.666667 758 - -52.833333 -17.666667 814 - -52.666667 -17.666667 828 - -52.500000 -17.666667 669 - -52.333333 -17.666667 707 - -52.166667 -17.666667 856 - -52.000000 -17.666667 719 - -51.833333 -17.666667 811 - -51.666667 -17.666667 890 - -51.500000 -17.666667 881 - -51.333333 -17.666667 846 - -51.166667 -17.666667 847 - -51.000000 -17.666667 788 - -50.833333 -17.666667 724 - -50.666667 -17.666667 616 - -50.500000 -17.666667 535 - -50.333333 -17.666667 519 - -50.166667 -17.666667 458 - -50.000000 -17.666667 483 - -49.833333 -17.666667 528 - -49.666667 -17.666667 567 - -49.500000 -17.666667 698 - -49.333333 -17.666667 728 - -49.166667 -17.666667 710 - -49.000000 -17.666667 853 - -48.833333 -17.666667 634 - -48.666667 -17.666667 741 - -48.500000 -17.666667 832 - -48.333333 -17.666667 785 - -48.166667 -17.666667 848 - -48.000000 -17.666667 875 - -47.833333 -17.666667 895 - -47.666667 -17.666667 792 - -47.500000 -17.666667 930 - -47.333333 -17.666667 860 - -47.166667 -17.666667 872 - -47.000000 -17.666667 670 - -46.833333 -17.666667 563 - -46.666667 -17.666667 583 - -46.500000 -17.666667 563 - -46.333333 -17.666667 563 - -46.166667 -17.666667 634 - -46.000000 -17.666667 673 - -45.833333 -17.666667 760 - -45.666667 -17.666667 651 - -45.500000 -17.666667 765 - -45.333333 -17.666667 872 - -45.166667 -17.666667 717 - -45.000000 -17.666667 545 - -44.833333 -17.666667 651 - -44.666667 -17.666667 498 - -44.500000 -17.666667 851 - -44.333333 -17.666667 1142 - -44.166667 -17.666667 705 - -44.000000 -17.666667 693 - -43.833333 -17.666667 996 - -43.666667 -17.666667 683 - -43.500000 -17.666667 824 - -43.333333 -17.666667 741 - -43.166667 -17.666667 795 - -43.000000 -17.666667 726 - -42.833333 -17.666667 911 - -42.666667 -17.666667 751 - -42.500000 -17.666667 966 - -42.333333 -17.666667 930 - -42.166667 -17.666667 861 - -42.000000 -17.666667 892 - -41.833333 -17.666667 536 - -41.666667 -17.666667 454 - -41.500000 -17.666667 447 - -41.333333 -17.666667 445 - -41.166667 -17.666667 321 - -41.000000 -17.666667 270 - -40.833333 -17.666667 260 - -40.666667 -17.666667 256 - -40.500000 -17.666667 227 - -40.333333 -17.666667 238 - -40.166667 -17.666667 218 - -40.000000 -17.666667 132 - -65.000000 -17.833333 2490 - -64.833333 -17.833333 2706 - -64.666667 -17.833333 2420 - -64.500000 -17.833333 2319 - -64.333333 -17.833333 2304 - -64.166667 -17.833333 1652 - -64.000000 -17.833333 1047 - -63.833333 -17.833333 805 - -63.666667 -17.833333 1520 - -63.500000 -17.833333 584 - -63.333333 -17.833333 518 - -63.166667 -17.833333 425 - -63.000000 -17.833333 369 - -62.833333 -17.833333 319 - -62.666667 -17.833333 301 - -62.500000 -17.833333 298 - -62.333333 -17.833333 290 - -62.166667 -17.833333 291 - -62.000000 -17.833333 291 - -61.833333 -17.833333 284 - -61.666667 -17.833333 281 - -61.500000 -17.833333 277 - -61.333333 -17.833333 272 - -61.166667 -17.833333 268 - -61.000000 -17.833333 353 - -60.833333 -17.833333 325 - -60.666667 -17.833333 293 - -60.500000 -17.833333 339 - -60.333333 -17.833333 387 - -60.166667 -17.833333 404 - -60.000000 -17.833333 297 - -59.833333 -17.833333 252 - -59.666667 -17.833333 294 - -59.500000 -17.833333 577 - -59.333333 -17.833333 493 - -59.166667 -17.833333 554 - -59.000000 -17.833333 490 - -58.833333 -17.833333 220 - -58.666667 -17.833333 457 - -58.500000 -17.833333 175 - -58.333333 -17.833333 147 - -58.166667 -17.833333 194 - -58.000000 -17.833333 194 - -57.833333 -17.833333 126 - -57.666667 -17.833333 178 - -57.500000 -17.833333 92 - -57.333333 -17.833333 97 - -57.166667 -17.833333 101 - -57.000000 -17.833333 104 - -56.833333 -17.833333 109 - -56.666667 -17.833333 113 - -56.500000 -17.833333 118 - -56.333333 -17.833333 125 - -56.166667 -17.833333 130 - -56.000000 -17.833333 135 - -55.833333 -17.833333 138 - -55.666667 -17.833333 145 - -55.500000 -17.833333 150 - -55.333333 -17.833333 155 - -55.166667 -17.833333 160 - -55.000000 -17.833333 167 - -54.833333 -17.833333 477 - -54.666667 -17.833333 277 - -54.500000 -17.833333 264 - -54.333333 -17.833333 294 - -54.166667 -17.833333 360 - -54.000000 -17.833333 333 - -53.833333 -17.833333 357 - -53.666667 -17.833333 437 - -53.500000 -17.833333 836 - -53.333333 -17.833333 859 - -53.166667 -17.833333 789 - -53.000000 -17.833333 886 - -52.833333 -17.833333 739 - -52.666667 -17.833333 653 - -52.500000 -17.833333 681 - -52.333333 -17.833333 596 - -52.166667 -17.833333 882 - -52.000000 -17.833333 836 - -51.833333 -17.833333 679 - -51.666667 -17.833333 760 - -51.500000 -17.833333 855 - -51.333333 -17.833333 779 - -51.166667 -17.833333 836 - -51.000000 -17.833333 726 - -50.833333 -17.833333 713 - -50.666667 -17.833333 627 - -50.500000 -17.833333 524 - -50.333333 -17.833333 506 - -50.166667 -17.833333 484 - -50.000000 -17.833333 498 - -49.833333 -17.833333 667 - -49.666667 -17.833333 785 - -49.500000 -17.833333 588 - -49.333333 -17.833333 750 - -49.166667 -17.833333 881 - -49.000000 -17.833333 736 - -48.833333 -17.833333 580 - -48.666667 -17.833333 905 - -48.500000 -17.833333 703 - -48.333333 -17.833333 736 - -48.166667 -17.833333 714 - -48.000000 -17.833333 814 - -47.833333 -17.833333 845 - -47.666667 -17.833333 724 - -47.500000 -17.833333 864 - -47.333333 -17.833333 790 - -47.166667 -17.833333 947 - -47.000000 -17.833333 731 - -46.833333 -17.833333 653 - -46.666667 -17.833333 624 - -46.500000 -17.833333 579 - -46.333333 -17.833333 598 - -46.166667 -17.833333 839 - -46.000000 -17.833333 802 - -45.833333 -17.833333 752 - -45.666667 -17.833333 773 - -45.500000 -17.833333 818 - -45.333333 -17.833333 784 - -45.166667 -17.833333 573 - -45.000000 -17.833333 687 - -44.833333 -17.833333 802 - -44.666667 -17.833333 752 - -44.500000 -17.833333 743 - -44.333333 -17.833333 1181 - -44.166667 -17.833333 667 - -44.000000 -17.833333 624 - -43.833333 -17.833333 1100 - -43.666667 -17.833333 1037 - -43.500000 -17.833333 723 - -43.333333 -17.833333 904 - -43.166667 -17.833333 836 - -43.000000 -17.833333 900 - -42.833333 -17.833333 1041 - -42.666667 -17.833333 802 - -42.500000 -17.833333 978 - -42.333333 -17.833333 565 - -42.166667 -17.833333 585 - -42.000000 -17.833333 761 - -41.833333 -17.833333 566 - -41.666667 -17.833333 628 - -41.500000 -17.833333 374 - -41.333333 -17.833333 386 - -41.166667 -17.833333 273 - -41.000000 -17.833333 393 - -40.833333 -17.833333 288 - -40.666667 -17.833333 250 - -40.500000 -17.833333 207 - -40.333333 -17.833333 129 - -40.166667 -17.833333 157 - -40.000000 -17.833333 107 - -65.000000 -18.000000 2040 - -64.833333 -18.000000 1834 - -64.666667 -18.000000 1624 - -64.500000 -18.000000 2060 - -64.333333 -18.000000 1898 - -64.166667 -18.000000 1668 - -64.000000 -18.000000 1505 - -63.833333 -18.000000 1347 - -63.666667 -18.000000 1530 - -63.500000 -18.000000 714 - -63.333333 -18.000000 622 - -63.166667 -18.000000 447 - -63.000000 -18.000000 365 - -62.833333 -18.000000 322 - -62.666667 -18.000000 318 - -62.500000 -18.000000 308 - -62.333333 -18.000000 308 - -62.166667 -18.000000 300 - -62.000000 -18.000000 296 - -61.833333 -18.000000 288 - -61.666667 -18.000000 285 - -61.500000 -18.000000 278 - -61.333333 -18.000000 275 - -61.166667 -18.000000 274 - -61.000000 -18.000000 321 - -60.833333 -18.000000 364 - -60.666667 -18.000000 406 - -60.500000 -18.000000 422 - -60.333333 -18.000000 421 - -60.166667 -18.000000 403 - -60.000000 -18.000000 430 - -59.833333 -18.000000 318 - -59.666667 -18.000000 240 - -59.500000 -18.000000 371 - -59.333333 -18.000000 658 - -59.166667 -18.000000 670 - -59.000000 -18.000000 452 - -58.833333 -18.000000 244 - -58.666667 -18.000000 313 - -58.500000 -18.000000 181 - -58.333333 -18.000000 204 - -58.166667 -18.000000 174 - -58.000000 -18.000000 203 - -57.833333 -18.000000 264 - -57.666667 -18.000000 174 - -57.500000 -18.000000 200 - -57.333333 -18.000000 94 - -57.166667 -18.000000 98 - -57.000000 -18.000000 102 - -56.833333 -18.000000 108 - -56.666667 -18.000000 113 - -56.500000 -18.000000 119 - -56.333333 -18.000000 123 - -56.166667 -18.000000 132 - -56.000000 -18.000000 137 - -55.833333 -18.000000 143 - -55.666667 -18.000000 148 - -55.500000 -18.000000 158 - -55.333333 -18.000000 162 - -55.166667 -18.000000 168 - -55.000000 -18.000000 170 - -54.833333 -18.000000 183 - -54.666667 -18.000000 349 - -54.500000 -18.000000 280 - -54.333333 -18.000000 315 - -54.166667 -18.000000 370 - -54.000000 -18.000000 322 - -53.833333 -18.000000 371 - -53.666667 -18.000000 349 - -53.500000 -18.000000 431 - -53.333333 -18.000000 554 - -53.166667 -18.000000 856 - -53.000000 -18.000000 879 - -52.833333 -18.000000 760 - -52.666667 -18.000000 710 - -52.500000 -18.000000 685 - -52.333333 -18.000000 642 - -52.166667 -18.000000 857 - -52.000000 -18.000000 790 - -51.833333 -18.000000 691 - -51.666667 -18.000000 609 - -51.500000 -18.000000 743 - -51.333333 -18.000000 727 - -51.166667 -18.000000 755 - -51.000000 -18.000000 710 - -50.833333 -18.000000 702 - -50.666667 -18.000000 659 - -50.500000 -18.000000 580 - -50.333333 -18.000000 504 - -50.166667 -18.000000 480 - -50.000000 -18.000000 588 - -49.833333 -18.000000 616 - -49.666667 -18.000000 707 - -49.500000 -18.000000 531 - -49.333333 -18.000000 810 - -49.166667 -18.000000 726 - -49.000000 -18.000000 635 - -48.833333 -18.000000 589 - -48.666667 -18.000000 676 - -48.500000 -18.000000 737 - -48.333333 -18.000000 727 - -48.166667 -18.000000 681 - -48.000000 -18.000000 784 - -47.833333 -18.000000 825 - -47.666667 -18.000000 753 - -47.500000 -18.000000 849 - -47.333333 -18.000000 759 - -47.166667 -18.000000 986 - -47.000000 -18.000000 730 - -46.833333 -18.000000 646 - -46.666667 -18.000000 563 - -46.500000 -18.000000 806 - -46.333333 -18.000000 819 - -46.166667 -18.000000 831 - -46.000000 -18.000000 797 - -45.833333 -18.000000 770 - -45.666667 -18.000000 792 - -45.500000 -18.000000 762 - -45.333333 -18.000000 758 - -45.166667 -18.000000 579 - -45.000000 -18.000000 706 - -44.833333 -18.000000 850 - -44.666667 -18.000000 800 - -44.500000 -18.000000 657 - -44.333333 -18.000000 1047 - -44.166667 -18.000000 566 - -44.000000 -18.000000 1196 - -43.833333 -18.000000 1172 - -43.666667 -18.000000 957 - -43.500000 -18.000000 968 - -43.333333 -18.000000 930 - -43.166667 -18.000000 918 - -43.000000 -18.000000 1013 - -42.833333 -18.000000 917 - -42.666667 -18.000000 827 - -42.500000 -18.000000 621 - -42.333333 -18.000000 482 - -42.166667 -18.000000 361 - -42.000000 -18.000000 578 - -41.833333 -18.000000 619 - -41.666667 -18.000000 582 - -41.500000 -18.000000 430 - -41.333333 -18.000000 645 - -41.166667 -18.000000 353 - -41.000000 -18.000000 290 - -40.833333 -18.000000 295 - -40.666667 -18.000000 322 - -40.500000 -18.000000 224 - -40.333333 -18.000000 167 - -40.166667 -18.000000 137 - -40.000000 -18.000000 54 - -65.000000 -18.166667 2211 - -64.833333 -18.166667 1757 - -64.666667 -18.166667 1735 - -64.500000 -18.166667 1611 - -64.333333 -18.166667 2015 - -64.166667 -18.166667 1799 - -64.000000 -18.166667 1708 - -63.833333 -18.166667 1624 - -63.666667 -18.166667 1591 - -63.500000 -18.166667 641 - -63.333333 -18.166667 723 - -63.166667 -18.166667 481 - -63.000000 -18.166667 375 - -62.833333 -18.166667 343 - -62.666667 -18.166667 330 - -62.500000 -18.166667 324 - -62.333333 -18.166667 315 - -62.166667 -18.166667 307 - -62.000000 -18.166667 303 - -61.833333 -18.166667 297 - -61.666667 -18.166667 288 - -61.500000 -18.166667 281 - -61.333333 -18.166667 279 - -61.166667 -18.166667 278 - -61.000000 -18.166667 279 - -60.833333 -18.166667 330 - -60.666667 -18.166667 425 - -60.500000 -18.166667 418 - -60.333333 -18.166667 484 - -60.166667 -18.166667 622 - -60.000000 -18.166667 391 - -59.833333 -18.166667 429 - -59.666667 -18.166667 288 - -59.500000 -18.166667 220 - -59.333333 -18.166667 222 - -59.166667 -18.166667 249 - -59.000000 -18.166667 356 - -58.833333 -18.166667 499 - -58.666667 -18.166667 334 - -58.500000 -18.166667 519 - -58.333333 -18.166667 341 - -58.166667 -18.166667 188 - -58.000000 -18.166667 218 - -57.833333 -18.166667 280 - -57.666667 -18.166667 315 - -57.500000 -18.166667 92 - -57.333333 -18.166667 93 - -57.166667 -18.166667 97 - -57.000000 -18.166667 102 - -56.833333 -18.166667 108 - -56.666667 -18.166667 114 - -56.500000 -18.166667 118 - -56.333333 -18.166667 125 - -56.166667 -18.166667 132 - -56.000000 -18.166667 139 - -55.833333 -18.166667 146 - -55.666667 -18.166667 152 - -55.500000 -18.166667 158 - -55.333333 -18.166667 165 - -55.166667 -18.166667 174 - -55.000000 -18.166667 180 - -54.833333 -18.166667 414 - -54.666667 -18.166667 340 - -54.500000 -18.166667 258 - -54.333333 -18.166667 321 - -54.166667 -18.166667 322 - -54.000000 -18.166667 316 - -53.833333 -18.166667 346 - -53.666667 -18.166667 688 - -53.500000 -18.166667 424 - -53.333333 -18.166667 604 - -53.166667 -18.166667 863 - -53.000000 -18.166667 809 - -52.833333 -18.166667 846 - -52.666667 -18.166667 779 - -52.500000 -18.166667 654 - -52.333333 -18.166667 601 - -52.166667 -18.166667 611 - -52.000000 -18.166667 852 - -51.833333 -18.166667 757 - -51.666667 -18.166667 721 - -51.500000 -18.166667 648 - -51.333333 -18.166667 637 - -51.166667 -18.166667 658 - -51.000000 -18.166667 761 - -50.833333 -18.166667 847 - -50.666667 -18.166667 680 - -50.500000 -18.166667 641 - -50.333333 -18.166667 580 - -50.166667 -18.166667 439 - -50.000000 -18.166667 517 - -49.833333 -18.166667 598 - -49.666667 -18.166667 702 - -49.500000 -18.166667 498 - -49.333333 -18.166667 641 - -49.166667 -18.166667 718 - -49.000000 -18.166667 756 - -48.833333 -18.166667 582 - -48.666667 -18.166667 573 - -48.500000 -18.166667 685 - -48.333333 -18.166667 767 - -48.166667 -18.166667 640 - -48.000000 -18.166667 824 - -47.833333 -18.166667 861 - -47.666667 -18.166667 703 - -47.500000 -18.166667 738 - -47.333333 -18.166667 782 - -47.166667 -18.166667 776 - -47.000000 -18.166667 848 - -46.833333 -18.166667 843 - -46.666667 -18.166667 727 - -46.500000 -18.166667 1001 - -46.333333 -18.166667 774 - -46.166667 -18.166667 765 - -46.000000 -18.166667 840 - -45.833333 -18.166667 834 - -45.666667 -18.166667 733 - -45.500000 -18.166667 676 - -45.333333 -18.166667 709 - -45.166667 -18.166667 573 - -45.000000 -18.166667 768 - -44.833333 -18.166667 863 - -44.666667 -18.166667 642 - -44.500000 -18.166667 602 - -44.333333 -18.166667 573 - -44.166667 -18.166667 630 - -44.000000 -18.166667 1126 - -43.833333 -18.166667 1119 - -43.666667 -18.166667 1087 - -43.500000 -18.166667 884 - -43.333333 -18.166667 1189 - -43.166667 -18.166667 1014 - -43.000000 -18.166667 770 - -42.833333 -18.166667 736 - -42.666667 -18.166667 645 - -42.500000 -18.166667 520 - -42.333333 -18.166667 505 - -42.166667 -18.166667 319 - -42.000000 -18.166667 380 - -41.833333 -18.166667 554 - -41.666667 -18.166667 424 - -41.500000 -18.166667 400 - -41.333333 -18.166667 390 - -41.166667 -18.166667 365 - -41.000000 -18.166667 248 - -40.833333 -18.166667 254 - -40.666667 -18.166667 255 - -40.500000 -18.166667 255 - -40.333333 -18.166667 183 - -40.166667 -18.166667 117 - -40.000000 -18.166667 76 - -65.000000 -18.333333 2450 - -64.833333 -18.333333 2577 - -64.666667 -18.333333 2094 - -64.500000 -18.333333 1691 - -64.333333 -18.333333 2410 - -64.166667 -18.333333 1656 - -64.000000 -18.333333 2061 - -63.833333 -18.333333 1653 - -63.666667 -18.333333 1255 - -63.500000 -18.333333 1098 - -63.333333 -18.333333 698 - -63.166667 -18.333333 502 - -63.000000 -18.333333 396 - -62.833333 -18.333333 358 - -62.666667 -18.333333 341 - -62.500000 -18.333333 328 - -62.333333 -18.333333 320 - -62.166667 -18.333333 315 - -62.000000 -18.333333 305 - -61.833333 -18.333333 298 - -61.666667 -18.333333 290 - -61.500000 -18.333333 287 - -61.333333 -18.333333 284 - -61.166667 -18.333333 281 - -61.000000 -18.333333 280 - -60.833333 -18.333333 304 - -60.666667 -18.333333 382 - -60.500000 -18.333333 450 - -60.333333 -18.333333 421 - -60.166667 -18.333333 426 - -60.000000 -18.333333 414 - -59.833333 -18.333333 285 - -59.666667 -18.333333 558 - -59.500000 -18.333333 286 - -59.333333 -18.333333 202 - -59.166667 -18.333333 192 - -59.000000 -18.333333 217 - -58.833333 -18.333333 591 - -58.666667 -18.333333 534 - -58.500000 -18.333333 383 - -58.333333 -18.333333 396 - -58.166667 -18.333333 369 - -58.000000 -18.333333 333 - -57.833333 -18.333333 352 - -57.666667 -18.333333 273 - -57.500000 -18.333333 90 - -57.333333 -18.333333 93 - -57.166667 -18.333333 96 - -57.000000 -18.333333 103 - -56.833333 -18.333333 106 - -56.666667 -18.333333 112 - -56.500000 -18.333333 119 - -56.333333 -18.333333 125 - -56.166667 -18.333333 133 - -56.000000 -18.333333 137 - -55.833333 -18.333333 142 - -55.666667 -18.333333 150 - -55.500000 -18.333333 157 - -55.333333 -18.333333 169 - -55.166667 -18.333333 180 - -55.000000 -18.333333 187 - -54.833333 -18.333333 391 - -54.666667 -18.333333 266 - -54.500000 -18.333333 262 - -54.333333 -18.333333 410 - -54.166667 -18.333333 421 - -54.000000 -18.333333 434 - -53.833333 -18.333333 379 - -53.666667 -18.333333 410 - -53.500000 -18.333333 446 - -53.333333 -18.333333 720 - -53.166667 -18.333333 704 - -53.000000 -18.333333 832 - -52.833333 -18.333333 848 - -52.666667 -18.333333 786 - -52.500000 -18.333333 743 - -52.333333 -18.333333 617 - -52.166667 -18.333333 637 - -52.000000 -18.333333 652 - -51.833333 -18.333333 708 - -51.666667 -18.333333 611 - -51.500000 -18.333333 622 - -51.333333 -18.333333 586 - -51.166667 -18.333333 597 - -51.000000 -18.333333 678 - -50.833333 -18.333333 567 - -50.666667 -18.333333 588 - -50.500000 -18.333333 763 - -50.333333 -18.333333 599 - -50.166667 -18.333333 453 - -50.000000 -18.333333 461 - -49.833333 -18.333333 542 - -49.666667 -18.333333 537 - -49.500000 -18.333333 606 - -49.333333 -18.333333 622 - -49.166667 -18.333333 489 - -49.000000 -18.333333 522 - -48.833333 -18.333333 518 - -48.666667 -18.333333 517 - -48.500000 -18.333333 573 - -48.333333 -18.333333 551 - -48.166667 -18.333333 622 - -48.000000 -18.333333 738 - -47.833333 -18.333333 685 - -47.666667 -18.333333 655 - -47.500000 -18.333333 770 - -47.333333 -18.333333 829 - -47.166667 -18.333333 803 - -47.000000 -18.333333 769 - -46.833333 -18.333333 788 - -46.666667 -18.333333 855 - -46.500000 -18.333333 925 - -46.333333 -18.333333 775 - -46.166667 -18.333333 769 - -46.000000 -18.333333 909 - -45.833333 -18.333333 794 - -45.666667 -18.333333 753 - -45.500000 -18.333333 745 - -45.333333 -18.333333 570 - -45.166667 -18.333333 734 - -45.000000 -18.333333 764 - -44.833333 -18.333333 880 - -44.666667 -18.333333 614 - -44.500000 -18.333333 652 - -44.333333 -18.333333 568 - -44.166667 -18.333333 650 - -44.000000 -18.333333 972 - -43.833333 -18.333333 1160 - -43.666667 -18.333333 1294 - -43.500000 -18.333333 968 - -43.333333 -18.333333 1158 - -43.166667 -18.333333 751 - -43.000000 -18.333333 757 - -42.833333 -18.333333 686 - -42.666667 -18.333333 672 - -42.500000 -18.333333 594 - -42.333333 -18.333333 345 - -42.166667 -18.333333 486 - -42.000000 -18.333333 286 - -41.833333 -18.333333 304 - -41.666667 -18.333333 452 - -41.500000 -18.333333 342 - -41.333333 -18.333333 354 - -41.166667 -18.333333 321 - -41.000000 -18.333333 292 - -40.833333 -18.333333 333 - -40.666667 -18.333333 219 - -40.500000 -18.333333 188 - -40.333333 -18.333333 158 - -40.166667 -18.333333 106 - -40.000000 -18.333333 62 - -65.000000 -18.500000 2215 - -64.833333 -18.500000 1515 - -64.666667 -18.500000 1553 - -64.500000 -18.500000 2147 - -64.333333 -18.500000 1148 - -64.166667 -18.500000 2011 - -64.000000 -18.500000 2016 - -63.833333 -18.500000 1865 - -63.666667 -18.500000 1495 - -63.500000 -18.500000 856 - -63.333333 -18.500000 710 - -63.166667 -18.500000 467 - -63.000000 -18.500000 375 - -62.833333 -18.500000 360 - -62.666667 -18.500000 348 - -62.500000 -18.500000 335 - -62.333333 -18.500000 329 - -62.166667 -18.500000 321 - -62.000000 -18.500000 311 - -61.833333 -18.500000 301 - -61.666667 -18.500000 298 - -61.500000 -18.500000 290 - -61.333333 -18.500000 288 - -61.166667 -18.500000 287 - -61.000000 -18.500000 280 - -60.833333 -18.500000 305 - -60.666667 -18.500000 307 - -60.500000 -18.500000 369 - -60.333333 -18.500000 387 - -60.166667 -18.500000 346 - -60.000000 -18.500000 437 - -59.833333 -18.500000 265 - -59.666667 -18.500000 224 - -59.500000 -18.500000 207 - -59.333333 -18.500000 250 - -59.166667 -18.500000 454 - -59.000000 -18.500000 168 - -58.833333 -18.500000 199 - -58.666667 -18.500000 235 - -58.500000 -18.500000 215 - -58.333333 -18.500000 226 - -58.166667 -18.500000 331 - -58.000000 -18.500000 242 - -57.833333 -18.500000 265 - -57.666667 -18.500000 211 - -57.500000 -18.500000 91 - -57.333333 -18.500000 94 - -57.166667 -18.500000 98 - -57.000000 -18.500000 101 - -56.833333 -18.500000 108 - -56.666667 -18.500000 111 - -56.500000 -18.500000 116 - -56.333333 -18.500000 120 - -56.166667 -18.500000 125 - -56.000000 -18.500000 134 - -55.833333 -18.500000 144 - -55.666667 -18.500000 151 - -55.500000 -18.500000 161 - -55.333333 -18.500000 171 - -55.166667 -18.500000 180 - -55.000000 -18.500000 197 - -54.833333 -18.500000 385 - -54.666667 -18.500000 211 - -54.500000 -18.500000 306 - -54.333333 -18.500000 342 - -54.166667 -18.500000 348 - -54.000000 -18.500000 329 - -53.833333 -18.500000 363 - -53.666667 -18.500000 343 - -53.500000 -18.500000 532 - -53.333333 -18.500000 609 - -53.166667 -18.500000 712 - -53.000000 -18.500000 822 - -52.833333 -18.500000 806 - -52.666667 -18.500000 826 - -52.500000 -18.500000 818 - -52.333333 -18.500000 708 - -52.166667 -18.500000 680 - -52.000000 -18.500000 702 - -51.833333 -18.500000 575 - -51.666667 -18.500000 516 - -51.500000 -18.500000 564 - -51.333333 -18.500000 596 - -51.166667 -18.500000 481 - -51.000000 -18.500000 587 - -50.833333 -18.500000 566 - -50.666667 -18.500000 553 - -50.500000 -18.500000 477 - -50.333333 -18.500000 478 - -50.166667 -18.500000 462 - -50.000000 -18.500000 435 - -49.833333 -18.500000 595 - -49.666667 -18.500000 510 - -49.500000 -18.500000 425 - -49.333333 -18.500000 498 - -49.166667 -18.500000 498 - -49.000000 -18.500000 630 - -48.833333 -18.500000 768 - -48.666667 -18.500000 656 - -48.500000 -18.500000 849 - -48.333333 -18.500000 668 - -48.166667 -18.500000 813 - -48.000000 -18.500000 668 - -47.833333 -18.500000 640 - -47.666667 -18.500000 712 - -47.500000 -18.500000 777 - -47.333333 -18.500000 775 - -47.166667 -18.500000 947 - -47.000000 -18.500000 826 - -46.833333 -18.500000 960 - -46.666667 -18.500000 934 - -46.500000 -18.500000 853 - -46.333333 -18.500000 995 - -46.166667 -18.500000 917 - -46.000000 -18.500000 901 - -45.833333 -18.500000 774 - -45.666667 -18.500000 753 - -45.500000 -18.500000 591 - -45.333333 -18.500000 578 - -45.166667 -18.500000 715 - -45.000000 -18.500000 820 - -44.833333 -18.500000 866 - -44.666667 -18.500000 633 - -44.500000 -18.500000 642 - -44.333333 -18.500000 626 - -44.166667 -18.500000 570 - -44.000000 -18.500000 1015 - -43.833333 -18.500000 1111 - -43.666667 -18.500000 1166 - -43.500000 -18.500000 976 - -43.333333 -18.500000 805 - -43.166667 -18.500000 833 - -43.000000 -18.500000 774 - -42.833333 -18.500000 768 - -42.666667 -18.500000 669 - -42.500000 -18.500000 675 - -42.333333 -18.500000 671 - -42.166667 -18.500000 391 - -42.000000 -18.500000 251 - -41.833333 -18.500000 358 - -41.666667 -18.500000 306 - -41.500000 -18.500000 537 - -41.333333 -18.500000 485 - -41.166667 -18.500000 851 - -41.000000 -18.500000 341 - -40.833333 -18.500000 518 - -40.666667 -18.500000 195 - -40.500000 -18.500000 168 - -40.333333 -18.500000 134 - -40.166667 -18.500000 93 - -40.000000 -18.500000 83 - -65.000000 -18.666667 2264 - -64.833333 -18.666667 1928 - -64.666667 -18.666667 1696 - -64.500000 -18.666667 1106 - -64.333333 -18.666667 1025 - -64.166667 -18.666667 2231 - -64.000000 -18.666667 1740 - -63.833333 -18.666667 1628 - -63.666667 -18.666667 765 - -63.500000 -18.666667 697 - -63.333333 -18.666667 566 - -63.166667 -18.666667 451 - -63.000000 -18.666667 390 - -62.833333 -18.666667 367 - -62.666667 -18.666667 351 - -62.500000 -18.666667 346 - -62.333333 -18.666667 333 - -62.166667 -18.666667 327 - -62.000000 -18.666667 318 - -61.833333 -18.666667 310 - -61.666667 -18.666667 302 - -61.500000 -18.666667 297 - -61.333333 -18.666667 292 - -61.166667 -18.666667 287 - -61.000000 -18.666667 360 - -60.833333 -18.666667 312 - -60.666667 -18.666667 403 - -60.500000 -18.666667 373 - -60.333333 -18.666667 353 - -60.166667 -18.666667 314 - -60.000000 -18.666667 365 - -59.833333 -18.666667 331 - -59.666667 -18.666667 241 - -59.500000 -18.666667 201 - -59.333333 -18.666667 179 - -59.166667 -18.666667 167 - -59.000000 -18.666667 151 - -58.833333 -18.666667 201 - -58.666667 -18.666667 161 - -58.500000 -18.666667 165 - -58.333333 -18.666667 152 - -58.166667 -18.666667 139 - -58.000000 -18.666667 137 - -57.833333 -18.666667 139 - -57.666667 -18.666667 128 - -57.500000 -18.666667 89 - -57.333333 -18.666667 90 - -57.166667 -18.666667 98 - -57.000000 -18.666667 102 - -56.833333 -18.666667 104 - -56.666667 -18.666667 108 - -56.500000 -18.666667 111 - -56.333333 -18.666667 117 - -56.166667 -18.666667 126 - -56.000000 -18.666667 133 - -55.833333 -18.666667 140 - -55.666667 -18.666667 152 - -55.500000 -18.666667 159 - -55.333333 -18.666667 166 - -55.166667 -18.666667 170 - -55.000000 -18.666667 210 - -54.833333 -18.666667 465 - -54.666667 -18.666667 285 - -54.500000 -18.666667 279 - -54.333333 -18.666667 312 - -54.166667 -18.666667 391 - -54.000000 -18.666667 411 - -53.833333 -18.666667 346 - -53.666667 -18.666667 395 - -53.500000 -18.666667 562 - -53.333333 -18.666667 607 - -53.166667 -18.666667 708 - -53.000000 -18.666667 711 - -52.833333 -18.666667 826 - -52.666667 -18.666667 824 - -52.500000 -18.666667 698 - -52.333333 -18.666667 692 - -52.166667 -18.666667 681 - -52.000000 -18.666667 699 - -51.833333 -18.666667 582 - -51.666667 -18.666667 572 - -51.500000 -18.666667 579 - -51.333333 -18.666667 454 - -51.166667 -18.666667 571 - -51.000000 -18.666667 510 - -50.833333 -18.666667 522 - -50.666667 -18.666667 551 - -50.500000 -18.666667 530 - -50.333333 -18.666667 427 - -50.166667 -18.666667 399 - -50.000000 -18.666667 422 - -49.833333 -18.666667 435 - -49.666667 -18.666667 494 - -49.500000 -18.666667 567 - -49.333333 -18.666667 473 - -49.166667 -18.666667 706 - -49.000000 -18.666667 751 - -48.833333 -18.666667 767 - -48.666667 -18.666667 896 - -48.500000 -18.666667 657 - -48.333333 -18.666667 575 - -48.166667 -18.666667 944 - -48.000000 -18.666667 915 - -47.833333 -18.666667 933 - -47.666667 -18.666667 820 - -47.500000 -18.666667 845 - -47.333333 -18.666667 787 - -47.166667 -18.666667 921 - -47.000000 -18.666667 998 - -46.833333 -18.666667 1163 - -46.666667 -18.666667 903 - -46.500000 -18.666667 841 - -46.333333 -18.666667 957 - -46.166667 -18.666667 813 - -46.000000 -18.666667 804 - -45.833333 -18.666667 810 - -45.666667 -18.666667 835 - -45.500000 -18.666667 704 - -45.333333 -18.666667 583 - -45.166667 -18.666667 570 - -45.000000 -18.666667 599 - -44.833333 -18.666667 732 - -44.666667 -18.666667 716 - -44.500000 -18.666667 635 - -44.333333 -18.666667 603 - -44.166667 -18.666667 570 - -44.000000 -18.666667 586 - -43.833333 -18.666667 990 - -43.666667 -18.666667 1021 - -43.500000 -18.666667 1239 - -43.333333 -18.666667 761 - -43.166667 -18.666667 789 - -43.000000 -18.666667 888 - -42.833333 -18.666667 833 - -42.666667 -18.666667 898 - -42.500000 -18.666667 846 - -42.333333 -18.666667 871 - -42.166667 -18.666667 396 - -42.000000 -18.666667 377 - -41.833333 -18.666667 192 - -41.666667 -18.666667 279 - -41.500000 -18.666667 409 - -41.333333 -18.666667 315 - -41.166667 -18.666667 242 - -41.000000 -18.666667 202 - -40.833333 -18.666667 200 - -40.666667 -18.666667 201 - -40.500000 -18.666667 121 - -40.333333 -18.666667 175 - -40.166667 -18.666667 30 - -40.000000 -18.666667 21 - -65.000000 -18.833333 2211 - -64.833333 -18.833333 2342 - -64.666667 -18.833333 2599 - -64.500000 -18.833333 1519 - -64.333333 -18.833333 2040 - -64.166667 -18.833333 2257 - -64.000000 -18.833333 2008 - -63.833333 -18.833333 1125 - -63.666667 -18.833333 763 - -63.500000 -18.833333 723 - -63.333333 -18.833333 429 - -63.166667 -18.833333 421 - -63.000000 -18.833333 392 - -62.833333 -18.833333 376 - -62.666667 -18.833333 360 - -62.500000 -18.833333 345 - -62.333333 -18.833333 337 - -62.166667 -18.833333 334 - -62.000000 -18.833333 329 - -61.833333 -18.833333 312 - -61.666667 -18.833333 343 - -61.500000 -18.833333 335 - -61.333333 -18.833333 356 - -61.166667 -18.833333 338 - -61.000000 -18.833333 351 - -60.833333 -18.833333 416 - -60.666667 -18.833333 406 - -60.500000 -18.833333 425 - -60.333333 -18.833333 310 - -60.166667 -18.833333 310 - -60.000000 -18.833333 271 - -59.833333 -18.833333 336 - -59.666667 -18.833333 335 - -59.500000 -18.833333 240 - -59.333333 -18.833333 208 - -59.166667 -18.833333 167 - -59.000000 -18.833333 170 - -58.833333 -18.833333 136 - -58.666667 -18.833333 129 - -58.500000 -18.833333 121 - -58.333333 -18.833333 109 - -58.166667 -18.833333 104 - -58.000000 -18.833333 90 - -57.833333 -18.833333 87 - -57.666667 -18.833333 87 - -57.500000 -18.833333 90 - -57.333333 -18.833333 88 - -57.166667 -18.833333 92 - -57.000000 -18.833333 95 - -56.833333 -18.833333 101 - -56.666667 -18.833333 103 - -56.500000 -18.833333 109 - -56.333333 -18.833333 116 - -56.166667 -18.833333 125 - -56.000000 -18.833333 130 - -55.833333 -18.833333 140 - -55.666667 -18.833333 145 - -55.500000 -18.833333 154 - -55.333333 -18.833333 157 - -55.166667 -18.833333 159 - -55.000000 -18.833333 255 - -54.833333 -18.833333 324 - -54.666667 -18.833333 382 - -54.500000 -18.833333 342 - -54.333333 -18.833333 347 - -54.166667 -18.833333 406 - -54.000000 -18.833333 451 - -53.833333 -18.833333 537 - -53.666667 -18.833333 607 - -53.500000 -18.833333 709 - -53.333333 -18.833333 527 - -53.166667 -18.833333 710 - -53.000000 -18.833333 688 - -52.833333 -18.833333 736 - -52.666667 -18.833333 827 - -52.500000 -18.833333 822 - -52.333333 -18.833333 563 - -52.166667 -18.833333 571 - -52.000000 -18.833333 619 - -51.833333 -18.833333 578 - -51.666667 -18.833333 509 - -51.500000 -18.833333 485 - -51.333333 -18.833333 619 - -51.166667 -18.833333 466 - -51.000000 -18.833333 486 - -50.833333 -18.833333 524 - -50.666667 -18.833333 525 - -50.500000 -18.833333 481 - -50.333333 -18.833333 444 - -50.166667 -18.833333 507 - -50.000000 -18.833333 422 - -49.833333 -18.833333 454 - -49.666667 -18.833333 563 - -49.500000 -18.833333 610 - -49.333333 -18.833333 630 - -49.166667 -18.833333 668 - -49.000000 -18.833333 687 - -48.833333 -18.833333 821 - -48.666667 -18.833333 822 - -48.500000 -18.833333 809 - -48.333333 -18.833333 872 - -48.166667 -18.833333 733 - -48.000000 -18.833333 903 - -47.833333 -18.833333 992 - -47.666667 -18.833333 891 - -47.500000 -18.833333 1030 - -47.333333 -18.833333 999 - -47.166667 -18.833333 944 - -47.000000 -18.833333 1016 - -46.833333 -18.833333 903 - -46.666667 -18.833333 858 - -46.500000 -18.833333 850 - -46.333333 -18.833333 869 - -46.166667 -18.833333 853 - -46.000000 -18.833333 860 - -45.833333 -18.833333 1015 - -45.666667 -18.833333 696 - -45.500000 -18.833333 633 - -45.333333 -18.833333 579 - -45.166667 -18.833333 574 - -45.000000 -18.833333 581 - -44.833333 -18.833333 612 - -44.666667 -18.833333 694 - -44.500000 -18.833333 727 - -44.333333 -18.833333 687 - -44.166667 -18.833333 630 - -44.000000 -18.833333 701 - -43.833333 -18.833333 1322 - -43.666667 -18.833333 1090 - -43.500000 -18.833333 719 - -43.333333 -18.833333 669 - -43.166667 -18.833333 745 - -43.000000 -18.833333 822 - -42.833333 -18.833333 933 - -42.666667 -18.833333 866 - -42.500000 -18.833333 803 - -42.333333 -18.833333 764 - -42.166667 -18.833333 420 - -42.000000 -18.833333 231 - -41.833333 -18.833333 232 - -41.666667 -18.833333 257 - -41.500000 -18.833333 290 - -41.333333 -18.833333 514 - -41.166667 -18.833333 485 - -41.000000 -18.833333 467 - -40.833333 -18.833333 308 - -40.666667 -18.833333 407 - -40.500000 -18.833333 162 - -40.333333 -18.833333 150 - -40.166667 -18.833333 92 - -40.000000 -18.833333 65 - -65.000000 -19.000000 2682 - -64.833333 -19.000000 2802 - -64.666667 -19.000000 2641 - -64.500000 -19.000000 1791 - -64.333333 -19.000000 2621 - -64.166667 -19.000000 1560 - -64.000000 -19.000000 1408 - -63.833333 -19.000000 1086 - -63.666667 -19.000000 744 - -63.500000 -19.000000 1049 - -63.333333 -19.000000 517 - -63.166667 -19.000000 498 - -63.000000 -19.000000 408 - -62.833333 -19.000000 378 - -62.666667 -19.000000 363 - -62.500000 -19.000000 353 - -62.333333 -19.000000 343 - -62.166667 -19.000000 343 - -62.000000 -19.000000 357 - -61.833333 -19.000000 368 - -61.666667 -19.000000 388 - -61.500000 -19.000000 391 - -61.333333 -19.000000 369 - -61.166667 -19.000000 363 - -61.000000 -19.000000 414 - -60.833333 -19.000000 394 - -60.666667 -19.000000 377 - -60.500000 -19.000000 360 - -60.333333 -19.000000 291 - -60.166667 -19.000000 285 - -60.000000 -19.000000 241 - -59.833333 -19.000000 244 - -59.666667 -19.000000 292 - -59.500000 -19.000000 378 - -59.333333 -19.000000 334 - -59.166667 -19.000000 229 - -59.000000 -19.000000 172 - -58.833333 -19.000000 133 - -58.666667 -19.000000 122 - -58.500000 -19.000000 110 - -58.333333 -19.000000 102 - -58.166667 -19.000000 100 - -58.000000 -19.000000 110 - -57.833333 -19.000000 158 - -57.666667 -19.000000 107 - -57.500000 -19.000000 87 - -57.333333 -19.000000 89 - -57.166667 -19.000000 89 - -57.000000 -19.000000 93 - -56.833333 -19.000000 95 - -56.666667 -19.000000 102 - -56.500000 -19.000000 109 - -56.333333 -19.000000 117 - -56.166667 -19.000000 121 - -56.000000 -19.000000 130 - -55.833333 -19.000000 134 - -55.666667 -19.000000 138 - -55.500000 -19.000000 143 - -55.333333 -19.000000 149 - -55.166667 -19.000000 158 - -55.000000 -19.000000 616 - -54.833333 -19.000000 504 - -54.666667 -19.000000 544 - -54.500000 -19.000000 456 - -54.333333 -19.000000 316 - -54.166667 -19.000000 337 - -54.000000 -19.000000 446 - -53.833333 -19.000000 423 - -53.666667 -19.000000 539 - -53.500000 -19.000000 554 - -53.333333 -19.000000 658 - -53.166667 -19.000000 544 - -53.000000 -19.000000 604 - -52.833333 -19.000000 690 - -52.666667 -19.000000 670 - -52.500000 -19.000000 537 - -52.333333 -19.000000 578 - -52.166667 -19.000000 599 - -52.000000 -19.000000 555 - -51.833333 -19.000000 587 - -51.666667 -19.000000 646 - -51.500000 -19.000000 530 - -51.333333 -19.000000 457 - -51.166667 -19.000000 454 - -51.000000 -19.000000 477 - -50.833333 -19.000000 450 - -50.666667 -19.000000 418 - -50.500000 -19.000000 399 - -50.333333 -19.000000 405 - -50.166667 -19.000000 621 - -50.000000 -19.000000 536 - -49.833333 -19.000000 523 - -49.666667 -19.000000 548 - -49.500000 -19.000000 584 - -49.333333 -19.000000 638 - -49.166667 -19.000000 637 - -49.000000 -19.000000 687 - -48.833333 -19.000000 725 - -48.666667 -19.000000 768 - -48.500000 -19.000000 796 - -48.333333 -19.000000 875 - -48.166667 -19.000000 871 - -48.000000 -19.000000 727 - -47.833333 -19.000000 930 - -47.666667 -19.000000 1008 - -47.500000 -19.000000 1001 - -47.333333 -19.000000 944 - -47.166667 -19.000000 905 - -47.000000 -19.000000 980 - -46.833333 -19.000000 972 - -46.666667 -19.000000 903 - -46.500000 -19.000000 881 - -46.333333 -19.000000 1038 - -46.166667 -19.000000 1078 - -46.000000 -19.000000 923 - -45.833333 -19.000000 925 - -45.666667 -19.000000 838 - -45.500000 -19.000000 593 - -45.333333 -19.000000 600 - -45.166667 -19.000000 674 - -45.000000 -19.000000 678 - -44.833333 -19.000000 733 - -44.666667 -19.000000 766 - -44.500000 -19.000000 792 - -44.333333 -19.000000 725 - -44.166667 -19.000000 667 - -44.000000 -19.000000 654 - -43.833333 -19.000000 742 - -43.666667 -19.000000 1399 - -43.500000 -19.000000 754 - -43.333333 -19.000000 688 - -43.166667 -19.000000 825 - -43.000000 -19.000000 592 - -42.833333 -19.000000 728 - -42.666667 -19.000000 780 - -42.500000 -19.000000 626 - -42.333333 -19.000000 301 - -42.166667 -19.000000 207 - -42.000000 -19.000000 240 - -41.833333 -19.000000 254 - -41.666667 -19.000000 220 - -41.500000 -19.000000 280 - -41.333333 -19.000000 431 - -41.166667 -19.000000 264 - -41.000000 -19.000000 765 - -40.833333 -19.000000 231 - -40.666667 -19.000000 227 - -40.500000 -19.000000 155 - -40.333333 -19.000000 134 - -40.166667 -19.000000 91 - -40.000000 -19.000000 34 - -65.000000 -19.166667 3130 - -64.833333 -19.166667 3160 - -64.666667 -19.166667 2620 - -64.500000 -19.166667 2213 - -64.333333 -19.166667 2274 - -64.166667 -19.166667 2025 - -64.000000 -19.166667 1173 - -63.833333 -19.166667 1560 - -63.666667 -19.166667 586 - -63.500000 -19.166667 810 - -63.333333 -19.166667 749 - -63.166667 -19.166667 594 - -63.000000 -19.166667 514 - -62.833333 -19.166667 428 - -62.666667 -19.166667 375 - -62.500000 -19.166667 374 - -62.333333 -19.166667 367 - -62.166667 -19.166667 356 - -62.000000 -19.166667 346 - -61.833333 -19.166667 352 - -61.666667 -19.166667 326 - -61.500000 -19.166667 364 - -61.333333 -19.166667 314 - -61.166667 -19.166667 314 - -61.000000 -19.166667 272 - -60.833333 -19.166667 300 - -60.666667 -19.166667 323 - -60.500000 -19.166667 312 - -60.333333 -19.166667 284 - -60.166667 -19.166667 227 - -60.000000 -19.166667 200 - -59.833333 -19.166667 236 - -59.666667 -19.166667 258 - -59.500000 -19.166667 271 - -59.333333 -19.166667 290 - -59.166667 -19.166667 330 - -59.000000 -19.166667 218 - -58.833333 -19.166667 164 - -58.666667 -19.166667 123 - -58.500000 -19.166667 112 - -58.333333 -19.166667 102 - -58.166667 -19.166667 96 - -58.000000 -19.166667 103 - -57.833333 -19.166667 108 - -57.666667 -19.166667 149 - -57.500000 -19.166667 561 - -57.333333 -19.166667 87 - -57.166667 -19.166667 85 - -57.000000 -19.166667 90 - -56.833333 -19.166667 95 - -56.666667 -19.166667 101 - -56.500000 -19.166667 106 - -56.333333 -19.166667 113 - -56.166667 -19.166667 118 - -56.000000 -19.166667 126 - -55.833333 -19.166667 128 - -55.666667 -19.166667 135 - -55.500000 -19.166667 138 - -55.333333 -19.166667 139 - -55.166667 -19.166667 155 - -55.000000 -19.166667 429 - -54.833333 -19.166667 523 - -54.666667 -19.166667 699 - -54.500000 -19.166667 657 - -54.333333 -19.166667 418 - -54.166667 -19.166667 356 - -54.000000 -19.166667 401 - -53.833333 -19.166667 583 - -53.666667 -19.166667 578 - -53.500000 -19.166667 564 - -53.333333 -19.166667 641 - -53.166667 -19.166667 623 - -53.000000 -19.166667 575 - -52.833333 -19.166667 599 - -52.666667 -19.166667 584 - -52.500000 -19.166667 566 - -52.333333 -19.166667 504 - -52.166667 -19.166667 524 - -52.000000 -19.166667 581 - -51.833333 -19.166667 697 - -51.666667 -19.166667 445 - -51.500000 -19.166667 417 - -51.333333 -19.166667 428 - -51.166667 -19.166667 433 - -51.000000 -19.166667 358 - -50.833333 -19.166667 455 - -50.666667 -19.166667 345 - -50.500000 -19.166667 449 - -50.333333 -19.166667 446 - -50.166667 -19.166667 478 - -50.000000 -19.166667 477 - -49.833333 -19.166667 529 - -49.666667 -19.166667 552 - -49.500000 -19.166667 566 - -49.333333 -19.166667 624 - -49.166667 -19.166667 649 - -49.000000 -19.166667 696 - -48.833333 -19.166667 706 - -48.666667 -19.166667 710 - -48.500000 -19.166667 774 - -48.333333 -19.166667 826 - -48.166667 -19.166667 885 - -48.000000 -19.166667 929 - -47.833333 -19.166667 849 - -47.666667 -19.166667 891 - -47.500000 -19.166667 938 - -47.333333 -19.166667 832 - -47.166667 -19.166667 809 - -47.000000 -19.166667 962 - -46.833333 -19.166667 904 - -46.666667 -19.166667 1012 - -46.500000 -19.166667 1023 - -46.333333 -19.166667 890 - -46.166667 -19.166667 1014 - -46.000000 -19.166667 1054 - -45.833333 -19.166667 831 - -45.666667 -19.166667 709 - -45.500000 -19.166667 627 - -45.333333 -19.166667 668 - -45.166667 -19.166667 669 - -45.000000 -19.166667 669 - -44.833333 -19.166667 696 - -44.666667 -19.166667 675 - -44.500000 -19.166667 732 - -44.333333 -19.166667 807 - -44.166667 -19.166667 704 - -44.000000 -19.166667 720 - -43.833333 -19.166667 1022 - -43.666667 -19.166667 1119 - -43.500000 -19.166667 1240 - -43.333333 -19.166667 561 - -43.166667 -19.166667 749 - -43.000000 -19.166667 731 - -42.833333 -19.166667 464 - -42.666667 -19.166667 418 - -42.500000 -19.166667 286 - -42.333333 -19.166667 266 - -42.166667 -19.166667 239 - -42.000000 -19.166667 407 - -41.833333 -19.166667 386 - -41.666667 -19.166667 331 - -41.500000 -19.166667 185 - -41.333333 -19.166667 387 - -41.166667 -19.166667 214 - -41.000000 -19.166667 268 - -40.833333 -19.166667 402 - -40.666667 -19.166667 179 - -40.500000 -19.166667 149 - -40.333333 -19.166667 142 - -40.166667 -19.166667 80 - -40.000000 -19.166667 48 - -65.000000 -19.333333 2222 - -64.833333 -19.333333 2792 - -64.666667 -19.333333 3224 - -64.500000 -19.333333 2332 - -64.333333 -19.333333 2112 - -64.166667 -19.333333 1769 - -64.000000 -19.333333 920 - -63.833333 -19.333333 1550 - -63.666667 -19.333333 845 - -63.500000 -19.333333 1062 - -63.333333 -19.333333 1364 - -63.166667 -19.333333 673 - -63.000000 -19.333333 571 - -62.833333 -19.333333 491 - -62.666667 -19.333333 400 - -62.500000 -19.333333 394 - -62.333333 -19.333333 383 - -62.166667 -19.333333 372 - -62.000000 -19.333333 353 - -61.833333 -19.333333 339 - -61.666667 -19.333333 331 - -61.500000 -19.333333 338 - -61.333333 -19.333333 321 - -61.166667 -19.333333 296 - -61.000000 -19.333333 269 - -60.833333 -19.333333 269 - -60.666667 -19.333333 246 - -60.500000 -19.333333 283 - -60.333333 -19.333333 272 - -60.166667 -19.333333 207 - -60.000000 -19.333333 176 - -59.833333 -19.333333 180 - -59.666667 -19.333333 203 - -59.500000 -19.333333 186 - -59.333333 -19.333333 245 - -59.166667 -19.333333 271 - -59.000000 -19.333333 311 - -58.833333 -19.333333 205 - -58.666667 -19.333333 135 - -58.500000 -19.333333 107 - -58.333333 -19.333333 100 - -58.166667 -19.333333 100 - -58.000000 -19.333333 84 - -57.833333 -19.333333 83 - -57.666667 -19.333333 83 - -57.500000 -19.333333 288 - -57.333333 -19.333333 86 - -57.166667 -19.333333 84 - -57.000000 -19.333333 90 - -56.833333 -19.333333 95 - -56.666667 -19.333333 99 - -56.500000 -19.333333 104 - -56.333333 -19.333333 108 - -56.166667 -19.333333 115 - -56.000000 -19.333333 118 - -55.833333 -19.333333 124 - -55.666667 -19.333333 127 - -55.500000 -19.333333 133 - -55.333333 -19.333333 145 - -55.166667 -19.333333 166 - -55.000000 -19.333333 255 - -54.833333 -19.333333 393 - -54.666667 -19.333333 638 - -54.500000 -19.333333 707 - -54.333333 -19.333333 390 - -54.166667 -19.333333 344 - -54.000000 -19.333333 398 - -53.833333 -19.333333 585 - -53.666667 -19.333333 490 - -53.500000 -19.333333 561 - -53.333333 -19.333333 562 - -53.166667 -19.333333 669 - -53.000000 -19.333333 605 - -52.833333 -19.333333 576 - -52.666667 -19.333333 441 - -52.500000 -19.333333 518 - -52.333333 -19.333333 507 - -52.166667 -19.333333 531 - -52.000000 -19.333333 500 - -51.833333 -19.333333 676 - -51.666667 -19.333333 486 - -51.500000 -19.333333 587 - -51.333333 -19.333333 477 - -51.166667 -19.333333 390 - -51.000000 -19.333333 388 - -50.833333 -19.333333 325 - -50.666667 -19.333333 447 - -50.500000 -19.333333 418 - -50.333333 -19.333333 463 - -50.166667 -19.333333 450 - -50.000000 -19.333333 470 - -49.833333 -19.333333 513 - -49.666667 -19.333333 662 - -49.500000 -19.333333 562 - -49.333333 -19.333333 544 - -49.166667 -19.333333 583 - -49.000000 -19.333333 609 - -48.833333 -19.333333 652 - -48.666667 -19.333333 715 - -48.500000 -19.333333 747 - -48.333333 -19.333333 749 - -48.166667 -19.333333 791 - -48.000000 -19.333333 971 - -47.833333 -19.333333 978 - -47.666667 -19.333333 907 - -47.500000 -19.333333 999 - -47.333333 -19.333333 994 - -47.166667 -19.333333 875 - -47.000000 -19.333333 884 - -46.833333 -19.333333 868 - -46.666667 -19.333333 874 - -46.500000 -19.333333 924 - -46.333333 -19.333333 998 - -46.166667 -19.333333 1145 - -46.000000 -19.333333 1107 - -45.833333 -19.333333 816 - -45.666667 -19.333333 674 - -45.500000 -19.333333 648 - -45.333333 -19.333333 623 - -45.166667 -19.333333 658 - -45.000000 -19.333333 657 - -44.833333 -19.333333 689 - -44.666667 -19.333333 716 - -44.500000 -19.333333 689 - -44.333333 -19.333333 819 - -44.166667 -19.333333 679 - -44.000000 -19.333333 641 - -43.833333 -19.333333 777 - -43.666667 -19.333333 784 - -43.500000 -19.333333 1039 - -43.333333 -19.333333 727 - -43.166667 -19.333333 661 - -43.000000 -19.333333 571 - -42.833333 -19.333333 829 - -42.666667 -19.333333 848 - -42.500000 -19.333333 288 - -42.333333 -19.333333 255 - -42.166667 -19.333333 233 - -42.000000 -19.333333 282 - -41.833333 -19.333333 320 - -41.666667 -19.333333 661 - -41.500000 -19.333333 761 - -41.333333 -19.333333 500 - -41.166667 -19.333333 230 - -41.000000 -19.333333 252 - -40.833333 -19.333333 560 - -40.666667 -19.333333 146 - -40.500000 -19.333333 509 - -40.333333 -19.333333 152 - -40.166667 -19.333333 46 - -40.000000 -19.333333 21 - -65.000000 -19.500000 2720 - -64.833333 -19.500000 2525 - -64.666667 -19.500000 3614 - -64.500000 -19.500000 2307 - -64.333333 -19.500000 2252 - -64.166667 -19.500000 2187 - -64.000000 -19.500000 1181 - -63.833333 -19.500000 1194 - -63.666667 -19.500000 841 - -63.500000 -19.500000 901 - -63.333333 -19.500000 1056 - -63.166667 -19.500000 748 - -63.000000 -19.500000 597 - -62.833333 -19.500000 505 - -62.666667 -19.500000 444 - -62.500000 -19.500000 417 - -62.333333 -19.500000 403 - -62.166667 -19.500000 384 - -62.000000 -19.500000 366 - -61.833333 -19.500000 344 - -61.666667 -19.500000 327 - -61.500000 -19.500000 309 - -61.333333 -19.500000 302 - -61.166667 -19.500000 303 - -61.000000 -19.500000 296 - -60.833333 -19.500000 257 - -60.666667 -19.500000 218 - -60.500000 -19.500000 217 - -60.333333 -19.500000 240 - -60.166667 -19.500000 228 - -60.000000 -19.500000 157 - -59.833333 -19.500000 155 - -59.666667 -19.500000 142 - -59.500000 -19.500000 139 - -59.333333 -19.500000 186 - -59.166667 -19.500000 224 - -59.000000 -19.500000 304 - -58.833333 -19.500000 193 - -58.666667 -19.500000 122 - -58.500000 -19.500000 96 - -58.333333 -19.500000 94 - -58.166667 -19.500000 85 - -58.000000 -19.500000 83 - -57.833333 -19.500000 83 - -57.666667 -19.500000 81 - -57.500000 -19.500000 83 - -57.333333 -19.500000 85 - -57.166667 -19.500000 89 - -57.000000 -19.500000 90 - -56.833333 -19.500000 93 - -56.666667 -19.500000 98 - -56.500000 -19.500000 102 - -56.333333 -19.500000 106 - -56.166667 -19.500000 112 - -56.000000 -19.500000 115 - -55.833333 -19.500000 118 - -55.666667 -19.500000 121 - -55.500000 -19.500000 125 - -55.333333 -19.500000 142 - -55.166667 -19.500000 451 - -55.000000 -19.500000 291 - -54.833333 -19.500000 469 - -54.666667 -19.500000 459 - -54.500000 -19.500000 692 - -54.333333 -19.500000 584 - -54.166667 -19.500000 388 - -54.000000 -19.500000 508 - -53.833333 -19.500000 654 - -53.666667 -19.500000 558 - -53.500000 -19.500000 522 - -53.333333 -19.500000 573 - -53.166667 -19.500000 515 - -53.000000 -19.500000 554 - -52.833333 -19.500000 488 - -52.666667 -19.500000 454 - -52.500000 -19.500000 431 - -52.333333 -19.500000 445 - -52.166667 -19.500000 436 - -52.000000 -19.500000 479 - -51.833333 -19.500000 717 - -51.666667 -19.500000 513 - -51.500000 -19.500000 438 - -51.333333 -19.500000 409 - -51.166667 -19.500000 426 - -51.000000 -19.500000 378 - -50.833333 -19.500000 341 - -50.666667 -19.500000 385 - -50.500000 -19.500000 464 - -50.333333 -19.500000 463 - -50.166667 -19.500000 451 - -50.000000 -19.500000 492 - -49.833333 -19.500000 606 - -49.666667 -19.500000 507 - -49.500000 -19.500000 520 - -49.333333 -19.500000 549 - -49.166667 -19.500000 665 - -49.000000 -19.500000 620 - -48.833333 -19.500000 675 - -48.666667 -19.500000 676 - -48.500000 -19.500000 752 - -48.333333 -19.500000 834 - -48.166667 -19.500000 819 - -48.000000 -19.500000 876 - -47.833333 -19.500000 985 - -47.666667 -19.500000 1010 - -47.500000 -19.500000 921 - -47.333333 -19.500000 1088 - -47.166667 -19.500000 907 - -47.000000 -19.500000 877 - -46.833333 -19.500000 986 - -46.666667 -19.500000 958 - -46.500000 -19.500000 908 - -46.333333 -19.500000 1007 - -46.166667 -19.500000 1071 - -46.000000 -19.500000 905 - -45.833333 -19.500000 693 - -45.666667 -19.500000 652 - -45.500000 -19.500000 696 - -45.333333 -19.500000 712 - -45.166667 -19.500000 693 - -45.000000 -19.500000 639 - -44.833333 -19.500000 666 - -44.666667 -19.500000 772 - -44.500000 -19.500000 702 - -44.333333 -19.500000 762 - -44.166667 -19.500000 783 - -44.000000 -19.500000 681 - -43.833333 -19.500000 706 - -43.666667 -19.500000 855 - -43.500000 -19.500000 1471 - -43.333333 -19.500000 630 - -43.166667 -19.500000 701 - -43.000000 -19.500000 861 - -42.833333 -19.500000 929 - -42.666667 -19.500000 587 - -42.500000 -19.500000 247 - -42.333333 -19.500000 479 - -42.166667 -19.500000 467 - -42.000000 -19.500000 726 - -41.833333 -19.500000 522 - -41.666667 -19.500000 336 - -41.500000 -19.500000 277 - -41.333333 -19.500000 199 - -41.166667 -19.500000 156 - -41.000000 -19.500000 67 - -40.833333 -19.500000 451 - -40.666667 -19.500000 152 - -40.500000 -19.500000 126 - -40.333333 -19.500000 32 - -40.166667 -19.500000 30 - -40.000000 -19.500000 17 - -65.000000 -19.666667 3089 - -64.833333 -19.666667 2206 - -64.666667 -19.666667 3192 - -64.500000 -19.666667 2169 - -64.333333 -19.666667 1820 - -64.166667 -19.666667 2088 - -64.000000 -19.666667 1807 - -63.833333 -19.666667 1043 - -63.666667 -19.666667 927 - -63.500000 -19.666667 1012 - -63.333333 -19.666667 1411 - -63.166667 -19.666667 772 - -63.000000 -19.666667 616 - -62.833333 -19.666667 529 - -62.666667 -19.666667 467 - -62.500000 -19.666667 444 - -62.333333 -19.666667 420 - -62.166667 -19.666667 396 - -62.000000 -19.666667 371 - -61.833333 -19.666667 425 - -61.666667 -19.666667 393 - -61.500000 -19.666667 346 - -61.333333 -19.666667 290 - -61.166667 -19.666667 273 - -61.000000 -19.666667 269 - -60.833333 -19.666667 237 - -60.666667 -19.666667 221 - -60.500000 -19.666667 207 - -60.333333 -19.666667 189 - -60.166667 -19.666667 209 - -60.000000 -19.666667 164 - -59.833333 -19.666667 137 - -59.666667 -19.666667 129 - -59.500000 -19.666667 119 - -59.333333 -19.666667 136 - -59.166667 -19.666667 168 - -59.000000 -19.666667 203 - -58.833333 -19.666667 176 - -58.666667 -19.666667 111 - -58.500000 -19.666667 84 - -58.333333 -19.666667 82 - -58.166667 -19.666667 81 - -58.000000 -19.666667 82 - -57.833333 -19.666667 81 - -57.666667 -19.666667 83 - -57.500000 -19.666667 84 - -57.333333 -19.666667 87 - -57.166667 -19.666667 89 - -57.000000 -19.666667 99 - -56.833333 -19.666667 93 - -56.666667 -19.666667 96 - -56.500000 -19.666667 101 - -56.333333 -19.666667 106 - -56.166667 -19.666667 109 - -56.000000 -19.666667 111 - -55.833333 -19.666667 117 - -55.666667 -19.666667 117 - -55.500000 -19.666667 119 - -55.333333 -19.666667 230 - -55.166667 -19.666667 354 - -55.000000 -19.666667 388 - -54.833333 -19.666667 535 - -54.666667 -19.666667 367 - -54.500000 -19.666667 472 - -54.333333 -19.666667 679 - -54.166667 -19.666667 600 - -54.000000 -19.666667 536 - -53.833333 -19.666667 632 - -53.666667 -19.666667 554 - -53.500000 -19.666667 442 - -53.333333 -19.666667 556 - -53.166667 -19.666667 475 - -53.000000 -19.666667 521 - -52.833333 -19.666667 424 - -52.666667 -19.666667 406 - -52.500000 -19.666667 428 - -52.333333 -19.666667 358 - -52.166667 -19.666667 407 - -52.000000 -19.666667 532 - -51.833333 -19.666667 497 - -51.666667 -19.666667 493 - -51.500000 -19.666667 471 - -51.333333 -19.666667 402 - -51.166667 -19.666667 390 - -51.000000 -19.666667 379 - -50.833333 -19.666667 446 - -50.666667 -19.666667 467 - -50.500000 -19.666667 450 - -50.333333 -19.666667 437 - -50.166667 -19.666667 447 - -50.000000 -19.666667 465 - -49.833333 -19.666667 510 - -49.666667 -19.666667 492 - -49.500000 -19.666667 481 - -49.333333 -19.666667 539 - -49.166667 -19.666667 588 - -49.000000 -19.666667 698 - -48.833333 -19.666667 734 - -48.666667 -19.666667 629 - -48.500000 -19.666667 683 - -48.333333 -19.666667 704 - -48.166667 -19.666667 716 - -48.000000 -19.666667 768 - -47.833333 -19.666667 833 - -47.666667 -19.666667 1021 - -47.500000 -19.666667 1045 - -47.333333 -19.666667 1070 - -47.166667 -19.666667 1169 - -47.000000 -19.666667 982 - -46.833333 -19.666667 1042 - -46.666667 -19.666667 937 - -46.500000 -19.666667 993 - -46.333333 -19.666667 1013 - -46.166667 -19.666667 1101 - -46.000000 -19.666667 1049 - -45.833333 -19.666667 688 - -45.666667 -19.666667 648 - -45.500000 -19.666667 632 - -45.333333 -19.666667 667 - -45.166667 -19.666667 760 - -45.000000 -19.666667 766 - -44.833333 -19.666667 878 - -44.666667 -19.666667 989 - -44.500000 -19.666667 703 - -44.333333 -19.666667 793 - -44.166667 -19.666667 878 - -44.000000 -19.666667 727 - -43.833333 -19.666667 840 - -43.666667 -19.666667 766 - -43.500000 -19.666667 742 - -43.333333 -19.666667 946 - -43.166667 -19.666667 863 - -43.000000 -19.666667 689 - -42.833333 -19.666667 520 - -42.666667 -19.666667 437 - -42.500000 -19.666667 262 - -42.333333 -19.666667 511 - -42.166667 -19.666667 689 - -42.000000 -19.666667 704 - -41.833333 -19.666667 384 - -41.666667 -19.666667 596 - -41.500000 -19.666667 233 - -41.333333 -19.666667 304 - -41.166667 -19.666667 425 - -41.000000 -19.666667 354 - -40.833333 -19.666667 172 - -40.666667 -19.666667 144 - -40.500000 -19.666667 317 - -40.333333 -19.666667 144 - -40.166667 -19.666667 47 - -40.000000 -19.666667 1 - -65.000000 -19.833333 3042 - -64.833333 -19.833333 3440 - -64.666667 -19.833333 2244 - -64.500000 -19.833333 2388 - -64.333333 -19.833333 2023 - -64.166667 -19.833333 2005 - -64.000000 -19.833333 1204 - -63.833333 -19.833333 1341 - -63.666667 -19.833333 1169 - -63.500000 -19.833333 1308 - -63.333333 -19.833333 1239 - -63.166667 -19.833333 769 - -63.000000 -19.833333 620 - -62.833333 -19.833333 538 - -62.666667 -19.833333 490 - -62.500000 -19.833333 456 - -62.333333 -19.833333 427 - -62.166667 -19.833333 400 - -62.000000 -19.833333 375 - -61.833333 -19.833333 360 - -61.666667 -19.833333 388 - -61.500000 -19.833333 343 - -61.333333 -19.833333 308 - -61.166667 -19.833333 263 - -61.000000 -19.833333 231 - -60.833333 -19.833333 216 - -60.666667 -19.833333 212 - -60.500000 -19.833333 199 - -60.333333 -19.833333 187 - -60.166667 -19.833333 174 - -60.000000 -19.833333 163 - -59.833333 -19.833333 138 - -59.666667 -19.833333 127 - -59.500000 -19.833333 118 - -59.333333 -19.833333 111 - -59.166667 -19.833333 112 - -59.000000 -19.833333 122 - -58.833333 -19.833333 118 - -58.666667 -19.833333 95 - -58.500000 -19.833333 91 - -58.333333 -19.833333 81 - -58.166667 -19.833333 79 - -58.000000 -19.833333 80 - -57.833333 -19.833333 101 - -57.666667 -19.833333 84 - -57.500000 -19.833333 84 - -57.333333 -19.833333 88 - -57.166667 -19.833333 96 - -57.000000 -19.833333 108 - -56.833333 -19.833333 95 - -56.666667 -19.833333 99 - -56.500000 -19.833333 103 - -56.333333 -19.833333 111 - -56.166667 -19.833333 115 - -56.000000 -19.833333 118 - -55.833333 -19.833333 123 - -55.666667 -19.833333 129 - -55.500000 -19.833333 144 - -55.333333 -19.833333 338 - -55.166667 -19.833333 357 - -55.000000 -19.833333 362 - -54.833333 -19.833333 294 - -54.666667 -19.833333 326 - -54.500000 -19.833333 350 - -54.333333 -19.833333 652 - -54.166667 -19.833333 637 - -54.000000 -19.833333 526 - -53.833333 -19.833333 598 - -53.666667 -19.833333 573 - -53.500000 -19.833333 488 - -53.333333 -19.833333 487 - -53.166667 -19.833333 402 - -53.000000 -19.833333 457 - -52.833333 -19.833333 483 - -52.666667 -19.833333 439 - -52.500000 -19.833333 475 - -52.333333 -19.833333 417 - -52.166667 -19.833333 413 - -52.000000 -19.833333 442 - -51.833333 -19.833333 493 - -51.666667 -19.833333 520 - -51.500000 -19.833333 447 - -51.333333 -19.833333 446 - -51.166667 -19.833333 430 - -51.000000 -19.833333 344 - -50.833333 -19.833333 386 - -50.666667 -19.833333 387 - -50.500000 -19.833333 415 - -50.333333 -19.833333 420 - -50.166667 -19.833333 423 - -50.000000 -19.833333 426 - -49.833333 -19.833333 477 - -49.666667 -19.833333 419 - -49.500000 -19.833333 461 - -49.333333 -19.833333 523 - -49.166667 -19.833333 536 - -49.000000 -19.833333 576 - -48.833333 -19.833333 585 - -48.666667 -19.833333 569 - -48.500000 -19.833333 638 - -48.333333 -19.833333 559 - -48.166667 -19.833333 669 - -48.000000 -19.833333 756 - -47.833333 -19.833333 694 - -47.666667 -19.833333 735 - -47.500000 -19.833333 959 - -47.333333 -19.833333 1104 - -47.166667 -19.833333 1040 - -47.000000 -19.833333 1142 - -46.833333 -19.833333 1184 - -46.666667 -19.833333 1202 - -46.500000 -19.833333 1062 - -46.333333 -19.833333 1182 - -46.166667 -19.833333 986 - -46.000000 -19.833333 693 - -45.833333 -19.833333 675 - -45.666667 -19.833333 694 - -45.500000 -19.833333 624 - -45.333333 -19.833333 736 - -45.166667 -19.833333 777 - -45.000000 -19.833333 804 - -44.833333 -19.833333 699 - -44.666667 -19.833333 848 - -44.500000 -19.833333 832 - -44.333333 -19.833333 752 - -44.166667 -19.833333 917 - -44.000000 -19.833333 836 - -43.833333 -19.833333 795 - -43.666667 -19.833333 1185 - -43.500000 -19.833333 812 - -43.333333 -19.833333 710 - -43.166667 -19.833333 873 - -43.000000 -19.833333 654 - -42.833333 -19.833333 799 - -42.666667 -19.833333 333 - -42.500000 -19.833333 276 - -42.333333 -19.833333 576 - -42.166667 -19.833333 799 - -42.000000 -19.833333 931 - -41.833333 -19.833333 583 - -41.666667 -19.833333 481 - -41.500000 -19.833333 275 - -41.333333 -19.833333 649 - -41.166667 -19.833333 376 - -41.000000 -19.833333 361 - -40.833333 -19.833333 270 - -40.666667 -19.833333 177 - -40.500000 -19.833333 674 - -40.333333 -19.833333 65 - -40.166667 -19.833333 45 - -40.000000 -19.833333 -19 - -65.000000 -20.000000 3229 - -64.833333 -20.000000 3833 - -64.666667 -20.000000 2391 - -64.500000 -20.000000 2972 - -64.333333 -20.000000 2600 - -64.166667 -20.000000 1973 - -64.000000 -20.000000 1261 - -63.833333 -20.000000 1532 - -63.666667 -20.000000 1013 - -63.500000 -20.000000 914 - -63.333333 -20.000000 844 - -63.166667 -20.000000 616 - -63.000000 -20.000000 572 - -62.833333 -20.000000 534 - -62.666667 -20.000000 493 - -62.500000 -20.000000 457 - -62.333333 -20.000000 427 - -62.166667 -20.000000 395 - -62.000000 -20.000000 370 - -61.833333 -20.000000 368 - -61.666667 -20.000000 356 - -61.500000 -20.000000 358 - -61.333333 -20.000000 326 - -61.166667 -20.000000 257 - -61.000000 -20.000000 250 - -60.833333 -20.000000 218 - -60.666667 -20.000000 198 - -60.500000 -20.000000 189 - -60.333333 -20.000000 181 - -60.166667 -20.000000 168 - -60.000000 -20.000000 155 - -59.833333 -20.000000 143 - -59.666667 -20.000000 132 - -59.500000 -20.000000 117 - -59.333333 -20.000000 114 - -59.166667 -20.000000 106 - -59.000000 -20.000000 101 - -58.833333 -20.000000 93 - -58.666667 -20.000000 92 - -58.500000 -20.000000 92 - -58.333333 -20.000000 85 - -58.166667 -20.000000 80 - -58.000000 -20.000000 83 - -57.833333 -20.000000 81 - -57.666667 -20.000000 81 - -57.500000 -20.000000 84 - -57.333333 -20.000000 87 - -57.166667 -20.000000 156 - -57.000000 -20.000000 273 - -56.833333 -20.000000 149 - -56.666667 -20.000000 105 - -56.500000 -20.000000 106 - -56.333333 -20.000000 160 - -56.166667 -20.000000 121 - -56.000000 -20.000000 125 - -55.833333 -20.000000 133 - -55.666667 -20.000000 141 - -55.500000 -20.000000 434 - -55.333333 -20.000000 211 - -55.166667 -20.000000 290 - -55.000000 -20.000000 310 - -54.833333 -20.000000 325 - -54.666667 -20.000000 290 - -54.500000 -20.000000 434 - -54.333333 -20.000000 631 - -54.166667 -20.000000 578 - -54.000000 -20.000000 504 - -53.833333 -20.000000 533 - -53.666667 -20.000000 556 - -53.500000 -20.000000 489 - -53.333333 -20.000000 457 - -53.166667 -20.000000 388 - -53.000000 -20.000000 421 - -52.833333 -20.000000 432 - -52.666667 -20.000000 417 - -52.500000 -20.000000 419 - -52.333333 -20.000000 407 - -52.166667 -20.000000 339 - -52.000000 -20.000000 408 - -51.833333 -20.000000 497 - -51.666667 -20.000000 415 - -51.500000 -20.000000 429 - -51.333333 -20.000000 400 - -51.166667 -20.000000 379 - -51.000000 -20.000000 323 - -50.833333 -20.000000 370 - -50.666667 -20.000000 386 - -50.500000 -20.000000 420 - -50.333333 -20.000000 473 - -50.166667 -20.000000 415 - -50.000000 -20.000000 389 - -49.833333 -20.000000 450 - -49.666667 -20.000000 445 - -49.500000 -20.000000 417 - -49.333333 -20.000000 444 - -49.166667 -20.000000 467 - -49.000000 -20.000000 524 - -48.833333 -20.000000 581 - -48.666667 -20.000000 487 - -48.500000 -20.000000 505 - -48.333333 -20.000000 553 - -48.166667 -20.000000 561 - -48.000000 -20.000000 534 - -47.833333 -20.000000 533 - -47.666667 -20.000000 549 - -47.500000 -20.000000 547 - -47.333333 -20.000000 946 - -47.166667 -20.000000 1150 - -47.000000 -20.000000 1065 - -46.833333 -20.000000 1173 - -46.666667 -20.000000 1139 - -46.500000 -20.000000 988 - -46.333333 -20.000000 981 - -46.166667 -20.000000 815 - -46.000000 -20.000000 677 - -45.833333 -20.000000 694 - -45.666667 -20.000000 667 - -45.500000 -20.000000 672 - -45.333333 -20.000000 844 - -45.166667 -20.000000 790 - -45.000000 -20.000000 768 - -44.833333 -20.000000 754 - -44.666667 -20.000000 772 - -44.500000 -20.000000 907 - -44.333333 -20.000000 800 - -44.166667 -20.000000 783 - -44.000000 -20.000000 1013 - -43.833333 -20.000000 799 - -43.666667 -20.000000 1334 - -43.500000 -20.000000 858 - -43.333333 -20.000000 730 - -43.166667 -20.000000 700 - -43.000000 -20.000000 855 - -42.833333 -20.000000 613 - -42.666667 -20.000000 276 - -42.500000 -20.000000 289 - -42.333333 -20.000000 520 - -42.166667 -20.000000 918 - -42.000000 -20.000000 793 - -41.833333 -20.000000 656 - -41.666667 -20.000000 494 - -41.500000 -20.000000 418 - -41.333333 -20.000000 665 - -41.166667 -20.000000 507 - -41.000000 -20.000000 396 - -40.833333 -20.000000 895 - -40.666667 -20.000000 750 - -40.500000 -20.000000 482 - -40.333333 -20.000000 17 - -40.166667 -20.000000 22 - -40.000000 -20.000000 -32 - -65.000000 -20.166667 3270 - -64.833333 -20.166667 4052 - -64.666667 -20.166667 2538 - -64.500000 -20.166667 2521 - -64.333333 -20.166667 2269 - -64.166667 -20.166667 1632 - -64.000000 -20.166667 1188 - -63.833333 -20.166667 989 - -63.666667 -20.166667 970 - -63.500000 -20.166667 886 - -63.333333 -20.166667 942 - -63.166667 -20.166667 838 - -63.000000 -20.166667 601 - -62.833333 -20.166667 523 - -62.666667 -20.166667 485 - -62.500000 -20.166667 450 - -62.333333 -20.166667 420 - -62.166667 -20.166667 393 - -62.000000 -20.166667 367 - -61.833333 -20.166667 347 - -61.666667 -20.166667 316 - -61.500000 -20.166667 293 - -61.333333 -20.166667 283 - -61.166667 -20.166667 252 - -61.000000 -20.166667 232 - -60.833333 -20.166667 215 - -60.666667 -20.166667 198 - -60.500000 -20.166667 184 - -60.333333 -20.166667 172 - -60.166667 -20.166667 160 - -60.000000 -20.166667 150 - -59.833333 -20.166667 139 - -59.666667 -20.166667 128 - -59.500000 -20.166667 121 - -59.333333 -20.166667 111 - -59.166667 -20.166667 106 - -59.000000 -20.166667 102 - -58.833333 -20.166667 97 - -58.666667 -20.166667 90 - -58.500000 -20.166667 90 - -58.333333 -20.166667 87 - -58.166667 -20.166667 80 - -58.000000 -20.166667 81 - -57.833333 -20.166667 80 - -57.666667 -20.166667 82 - -57.500000 -20.166667 85 - -57.333333 -20.166667 84 - -57.166667 -20.166667 123 - -57.000000 -20.166667 542 - -56.833333 -20.166667 304 - -56.666667 -20.166667 115 - -56.500000 -20.166667 114 - -56.333333 -20.166667 156 - -56.166667 -20.166667 157 - -56.000000 -20.166667 131 - -55.833333 -20.166667 141 - -55.666667 -20.166667 213 - -55.500000 -20.166667 212 - -55.333333 -20.166667 457 - -55.166667 -20.166667 221 - -55.000000 -20.166667 237 - -54.833333 -20.166667 273 - -54.666667 -20.166667 435 - -54.500000 -20.166667 615 - -54.333333 -20.166667 616 - -54.166667 -20.166667 573 - -54.000000 -20.166667 546 - -53.833333 -20.166667 461 - -53.666667 -20.166667 439 - -53.500000 -20.166667 516 - -53.333333 -20.166667 493 - -53.166667 -20.166667 398 - -53.000000 -20.166667 360 - -52.833333 -20.166667 426 - -52.666667 -20.166667 439 - -52.500000 -20.166667 367 - -52.333333 -20.166667 401 - -52.166667 -20.166667 362 - -52.000000 -20.166667 399 - -51.833333 -20.166667 444 - -51.666667 -20.166667 368 - -51.500000 -20.166667 396 - -51.333333 -20.166667 427 - -51.166667 -20.166667 336 - -51.000000 -20.166667 343 - -50.833333 -20.166667 425 - -50.666667 -20.166667 429 - -50.500000 -20.166667 460 - -50.333333 -20.166667 475 - -50.166667 -20.166667 469 - -50.000000 -20.166667 460 - -49.833333 -20.166667 476 - -49.666667 -20.166667 420 - -49.500000 -20.166667 472 - -49.333333 -20.166667 446 - -49.166667 -20.166667 458 - -49.000000 -20.166667 455 - -48.833333 -20.166667 446 - -48.666667 -20.166667 442 - -48.500000 -20.166667 499 - -48.333333 -20.166667 492 - -48.166667 -20.166667 542 - -48.000000 -20.166667 542 - -47.833333 -20.166667 570 - -47.666667 -20.166667 726 - -47.500000 -20.166667 690 - -47.333333 -20.166667 670 - -47.166667 -20.166667 903 - -47.000000 -20.166667 1017 - -46.833333 -20.166667 1208 - -46.666667 -20.166667 1303 - -46.500000 -20.166667 1046 - -46.333333 -20.166667 780 - -46.166667 -20.166667 798 - -46.000000 -20.166667 774 - -45.833333 -20.166667 671 - -45.666667 -20.166667 665 - -45.500000 -20.166667 744 - -45.333333 -20.166667 1003 - -45.166667 -20.166667 844 - -45.000000 -20.166667 843 - -44.833333 -20.166667 779 - -44.666667 -20.166667 880 - -44.500000 -20.166667 995 - -44.333333 -20.166667 841 - -44.166667 -20.166667 783 - -44.000000 -20.166667 1030 - -43.833333 -20.166667 965 - -43.666667 -20.166667 1139 - -43.500000 -20.166667 1032 - -43.333333 -20.166667 832 - -43.166667 -20.166667 798 - -43.000000 -20.166667 571 - -42.833333 -20.166667 357 - -42.666667 -20.166667 419 - -42.500000 -20.166667 425 - -42.333333 -20.166667 612 - -42.166667 -20.166667 1071 - -42.000000 -20.166667 667 - -41.833333 -20.166667 716 - -41.666667 -20.166667 616 - -41.500000 -20.166667 825 - -41.333333 -20.166667 1046 - -41.166667 -20.166667 584 - -41.000000 -20.166667 1113 - -40.833333 -20.166667 955 - -40.666667 -20.166667 763 - -40.500000 -20.166667 106 - -40.333333 -20.166667 186 - -40.166667 -20.166667 -10 - -40.000000 -20.166667 -38 - -65.000000 -20.333333 3307 - -64.833333 -20.333333 2577 - -64.666667 -20.333333 2513 - -64.500000 -20.333333 1672 - -64.333333 -20.333333 2138 - -64.166667 -20.333333 1365 - -64.000000 -20.333333 1213 - -63.833333 -20.333333 1210 - -63.666667 -20.333333 1305 - -63.500000 -20.333333 1128 - -63.333333 -20.333333 914 - -63.166667 -20.333333 756 - -63.000000 -20.333333 610 - -62.833333 -20.333333 545 - -62.666667 -20.333333 488 - -62.500000 -20.333333 446 - -62.333333 -20.333333 414 - -62.166667 -20.333333 380 - -62.000000 -20.333333 364 - -61.833333 -20.333333 336 - -61.666667 -20.333333 313 - -61.500000 -20.333333 290 - -61.333333 -20.333333 272 - -61.166667 -20.333333 248 - -61.000000 -20.333333 228 - -60.833333 -20.333333 211 - -60.666667 -20.333333 196 - -60.500000 -20.333333 181 - -60.333333 -20.333333 550 - -60.166667 -20.333333 153 - -60.000000 -20.333333 145 - -59.833333 -20.333333 137 - -59.666667 -20.333333 126 - -59.500000 -20.333333 121 - -59.333333 -20.333333 111 - -59.166667 -20.333333 108 - -59.000000 -20.333333 101 - -58.833333 -20.333333 98 - -58.666667 -20.333333 96 - -58.500000 -20.333333 89 - -58.333333 -20.333333 91 - -58.166667 -20.333333 88 - -58.000000 -20.333333 80 - -57.833333 -20.333333 80 - -57.666667 -20.333333 82 - -57.500000 -20.333333 82 - -57.333333 -20.333333 84 - -57.166667 -20.333333 158 - -57.000000 -20.333333 263 - -56.833333 -20.333333 157 - -56.666667 -20.333333 125 - -56.500000 -20.333333 138 - -56.333333 -20.333333 141 - -56.166667 -20.333333 198 - -56.000000 -20.333333 146 - -55.833333 -20.333333 144 - -55.666667 -20.333333 398 - -55.500000 -20.333333 237 - -55.333333 -20.333333 213 - -55.166667 -20.333333 222 - -55.000000 -20.333333 269 - -54.833333 -20.333333 346 - -54.666667 -20.333333 524 - -54.500000 -20.333333 603 - -54.333333 -20.333333 618 - -54.166667 -20.333333 560 - -54.000000 -20.333333 497 - -53.833333 -20.333333 446 - -53.666667 -20.333333 481 - -53.500000 -20.333333 504 - -53.333333 -20.333333 437 - -53.166667 -20.333333 411 - -53.000000 -20.333333 356 - -52.833333 -20.333333 362 - -52.666667 -20.333333 442 - -52.500000 -20.333333 416 - -52.333333 -20.333333 404 - -52.166667 -20.333333 315 - -52.000000 -20.333333 402 - -51.833333 -20.333333 402 - -51.666667 -20.333333 379 - -51.500000 -20.333333 360 - -51.333333 -20.333333 325 - -51.166667 -20.333333 323 - -51.000000 -20.333333 359 - -50.833333 -20.333333 351 - -50.666667 -20.333333 433 - -50.500000 -20.333333 446 - -50.333333 -20.333333 442 - -50.166667 -20.333333 483 - -50.000000 -20.333333 496 - -49.833333 -20.333333 526 - -49.666667 -20.333333 481 - -49.500000 -20.333333 517 - -49.333333 -20.333333 484 - -49.166667 -20.333333 462 - -49.000000 -20.333333 494 - -48.833333 -20.333333 490 - -48.666667 -20.333333 517 - -48.500000 -20.333333 459 - -48.333333 -20.333333 512 - -48.166667 -20.333333 551 - -48.000000 -20.333333 535 - -47.833333 -20.333333 623 - -47.666667 -20.333333 769 - -47.500000 -20.333333 943 - -47.333333 -20.333333 753 - -47.166667 -20.333333 845 - -47.000000 -20.333333 669 - -46.833333 -20.333333 717 - -46.666667 -20.333333 915 - -46.500000 -20.333333 869 - -46.333333 -20.333333 851 - -46.166667 -20.333333 809 - -46.000000 -20.333333 715 - -45.833333 -20.333333 710 - -45.666667 -20.333333 689 - -45.500000 -20.333333 818 - -45.333333 -20.333333 1062 - -45.166667 -20.333333 905 - -45.000000 -20.333333 800 - -44.833333 -20.333333 795 - -44.666667 -20.333333 778 - -44.500000 -20.333333 1068 - -44.333333 -20.333333 845 - -44.166667 -20.333333 919 - -44.000000 -20.333333 1125 - -43.833333 -20.333333 1033 - -43.666667 -20.333333 1069 - -43.500000 -20.333333 1200 - -43.333333 -20.333333 790 - -43.166667 -20.333333 600 - -43.000000 -20.333333 574 - -42.833333 -20.333333 502 - -42.666667 -20.333333 414 - -42.500000 -20.333333 719 - -42.333333 -20.333333 695 - -42.166667 -20.333333 841 - -42.000000 -20.333333 949 - -41.833333 -20.333333 798 - -41.666667 -20.333333 926 - -41.500000 -20.333333 896 - -41.333333 -20.333333 1155 - -41.166667 -20.333333 863 - -41.000000 -20.333333 1038 - -40.833333 -20.333333 896 - -40.666667 -20.333333 659 - -40.500000 -20.333333 450 - -40.333333 -20.333333 15 - -40.166667 -20.333333 -27 - -40.000000 -20.333333 -43 - -65.000000 -20.500000 3395 - -64.833333 -20.500000 3448 - -64.666667 -20.500000 1533 - -64.500000 -20.500000 1812 - -64.333333 -20.500000 1735 - -64.166667 -20.500000 1089 - -64.000000 -20.500000 1263 - -63.833333 -20.500000 1221 - -63.666667 -20.500000 1513 - -63.500000 -20.500000 1058 - -63.333333 -20.500000 973 - -63.166667 -20.500000 778 - -63.000000 -20.500000 651 - -62.833333 -20.500000 524 - -62.666667 -20.500000 482 - -62.500000 -20.500000 437 - -62.333333 -20.500000 402 - -62.166667 -20.500000 369 - -62.000000 -20.500000 348 - -61.833333 -20.500000 324 - -61.666667 -20.500000 301 - -61.500000 -20.500000 276 - -61.333333 -20.500000 254 - -61.166667 -20.500000 229 - -61.000000 -20.500000 220 - -60.833333 -20.500000 201 - -60.666667 -20.500000 189 - -60.500000 -20.500000 174 - -60.333333 -20.500000 162 - -60.166667 -20.500000 151 - -60.000000 -20.500000 138 - -59.833333 -20.500000 132 - -59.666667 -20.500000 126 - -59.500000 -20.500000 119 - -59.333333 -20.500000 111 - -59.166667 -20.500000 107 - -59.000000 -20.500000 103 - -58.833333 -20.500000 98 - -58.666667 -20.500000 95 - -58.500000 -20.500000 93 - -58.333333 -20.500000 94 - -58.166667 -20.500000 89 - -58.000000 -20.500000 79 - -57.833333 -20.500000 80 - -57.666667 -20.500000 79 - -57.500000 -20.500000 83 - -57.333333 -20.500000 96 - -57.166667 -20.500000 210 - -57.000000 -20.500000 159 - -56.833333 -20.500000 323 - -56.666667 -20.500000 200 - -56.500000 -20.500000 183 - -56.333333 -20.500000 128 - -56.166667 -20.500000 215 - -56.000000 -20.500000 212 - -55.833333 -20.500000 158 - -55.666667 -20.500000 185 - -55.500000 -20.500000 281 - -55.333333 -20.500000 302 - -55.166667 -20.500000 248 - -55.000000 -20.500000 283 - -54.833333 -20.500000 493 - -54.666667 -20.500000 527 - -54.500000 -20.500000 632 - -54.333333 -20.500000 499 - -54.166667 -20.500000 490 - -54.000000 -20.500000 551 - -53.833333 -20.500000 453 - -53.666667 -20.500000 414 - -53.500000 -20.500000 426 - -53.333333 -20.500000 459 - -53.166667 -20.500000 370 - -53.000000 -20.500000 370 - -52.833333 -20.500000 315 - -52.666667 -20.500000 399 - -52.500000 -20.500000 400 - -52.333333 -20.500000 402 - -52.166667 -20.500000 387 - -52.000000 -20.500000 369 - -51.833333 -20.500000 382 - -51.666667 -20.500000 321 - -51.500000 -20.500000 311 - -51.333333 -20.500000 361 - -51.166667 -20.500000 326 - -51.000000 -20.500000 365 - -50.833333 -20.500000 375 - -50.666667 -20.500000 359 - -50.500000 -20.500000 352 - -50.333333 -20.500000 408 - -50.166667 -20.500000 396 - -50.000000 -20.500000 458 - -49.833333 -20.500000 499 - -49.666667 -20.500000 489 - -49.500000 -20.500000 452 - -49.333333 -20.500000 538 - -49.166667 -20.500000 482 - -49.000000 -20.500000 508 - -48.833333 -20.500000 493 - -48.666667 -20.500000 568 - -48.500000 -20.500000 513 - -48.333333 -20.500000 493 - -48.166667 -20.500000 566 - -48.000000 -20.500000 602 - -47.833333 -20.500000 573 - -47.666667 -20.500000 794 - -47.500000 -20.500000 924 - -47.333333 -20.500000 826 - -47.166667 -20.500000 1100 - -47.000000 -20.500000 1066 - -46.833333 -20.500000 740 - -46.666667 -20.500000 709 - -46.500000 -20.500000 1044 - -46.333333 -20.500000 945 - -46.166667 -20.500000 822 - -46.000000 -20.500000 814 - -45.833333 -20.500000 795 - -45.666667 -20.500000 853 - -45.500000 -20.500000 811 - -45.333333 -20.500000 936 - -45.166667 -20.500000 870 - -45.000000 -20.500000 806 - -44.833333 -20.500000 841 - -44.666667 -20.500000 898 - -44.500000 -20.500000 803 - -44.333333 -20.500000 1094 - -44.166667 -20.500000 1045 - -44.000000 -20.500000 858 - -43.833333 -20.500000 944 - -43.666667 -20.500000 1300 - -43.500000 -20.500000 1015 - -43.333333 -20.500000 750 - -43.166667 -20.500000 734 - -43.000000 -20.500000 540 - -42.833333 -20.500000 668 - -42.666667 -20.500000 480 - -42.500000 -20.500000 839 - -42.333333 -20.500000 1033 - -42.166667 -20.500000 1105 - -42.000000 -20.500000 1056 - -41.833333 -20.500000 1750 - -41.666667 -20.500000 854 - -41.500000 -20.500000 423 - -41.333333 -20.500000 473 - -41.166667 -20.500000 555 - -41.000000 -20.500000 1089 - -40.833333 -20.500000 662 - -40.666667 -20.500000 673 - -40.500000 -20.500000 21 - -40.333333 -20.500000 -8 - -40.166667 -20.500000 -32 - -40.000000 -20.500000 -60 - -65.000000 -20.666667 3663 - -64.833333 -20.666667 3133 - -64.666667 -20.666667 3147 - -64.500000 -20.666667 2796 - -64.333333 -20.666667 1655 - -64.166667 -20.666667 1054 - -64.000000 -20.666667 1024 - -63.833333 -20.666667 1425 - -63.666667 -20.666667 1098 - -63.500000 -20.666667 1017 - -63.333333 -20.666667 840 - -63.166667 -20.666667 732 - -63.000000 -20.666667 587 - -62.833333 -20.666667 510 - -62.666667 -20.666667 454 - -62.500000 -20.666667 421 - -62.333333 -20.666667 389 - -62.166667 -20.666667 353 - -62.000000 -20.666667 334 - -61.833333 -20.666667 315 - -61.666667 -20.666667 285 - -61.500000 -20.666667 265 - -61.333333 -20.666667 246 - -61.166667 -20.666667 227 - -61.000000 -20.666667 211 - -60.833333 -20.666667 195 - -60.666667 -20.666667 178 - -60.500000 -20.666667 170 - -60.333333 -20.666667 156 - -60.166667 -20.666667 146 - -60.000000 -20.666667 136 - -59.833333 -20.666667 128 - -59.666667 -20.666667 123 - -59.500000 -20.666667 116 - -59.333333 -20.666667 113 - -59.166667 -20.666667 106 - -59.000000 -20.666667 104 - -58.833333 -20.666667 101 - -58.666667 -20.666667 99 - -58.500000 -20.666667 95 - -58.333333 -20.666667 90 - -58.166667 -20.666667 91 - -58.000000 -20.666667 81 - -57.833333 -20.666667 80 - -57.666667 -20.666667 81 - -57.500000 -20.666667 195 - -57.333333 -20.666667 131 - -57.166667 -20.666667 158 - -57.000000 -20.666667 351 - -56.833333 -20.666667 536 - -56.666667 -20.666667 347 - -56.500000 -20.666667 166 - -56.333333 -20.666667 200 - -56.166667 -20.666667 153 - -56.000000 -20.666667 205 - -55.833333 -20.666667 187 - -55.666667 -20.666667 286 - -55.500000 -20.666667 286 - -55.333333 -20.666667 247 - -55.166667 -20.666667 291 - -55.000000 -20.666667 305 - -54.833333 -20.666667 506 - -54.666667 -20.666667 482 - -54.500000 -20.666667 560 - -54.333333 -20.666667 595 - -54.166667 -20.666667 567 - -54.000000 -20.666667 471 - -53.833333 -20.666667 445 - -53.666667 -20.666667 370 - -53.500000 -20.666667 388 - -53.333333 -20.666667 433 - -53.166667 -20.666667 442 - -53.000000 -20.666667 404 - -52.833333 -20.666667 431 - -52.666667 -20.666667 296 - -52.500000 -20.666667 392 - -52.333333 -20.666667 351 - -52.166667 -20.666667 386 - -52.000000 -20.666667 308 - -51.833333 -20.666667 299 - -51.666667 -20.666667 315 - -51.500000 -20.666667 278 - -51.333333 -20.666667 310 - -51.166667 -20.666667 324 - -51.000000 -20.666667 344 - -50.833333 -20.666667 375 - -50.666667 -20.666667 435 - -50.500000 -20.666667 422 - -50.333333 -20.666667 435 - -50.166667 -20.666667 498 - -50.000000 -20.666667 454 - -49.833333 -20.666667 458 - -49.666667 -20.666667 528 - -49.500000 -20.666667 521 - -49.333333 -20.666667 511 - -49.166667 -20.666667 513 - -49.000000 -20.666667 518 - -48.833333 -20.666667 558 - -48.666667 -20.666667 566 - -48.500000 -20.666667 541 - -48.333333 -20.666667 470 - -48.166667 -20.666667 532 - -48.000000 -20.666667 649 - -47.833333 -20.666667 757 - -47.666667 -20.666667 666 - -47.500000 -20.666667 752 - -47.333333 -20.666667 719 - -47.166667 -20.666667 881 - -47.000000 -20.666667 796 - -46.833333 -20.666667 707 - -46.666667 -20.666667 787 - -46.500000 -20.666667 673 - -46.333333 -20.666667 689 - -46.166667 -20.666667 912 - -46.000000 -20.666667 781 - -45.833333 -20.666667 770 - -45.666667 -20.666667 809 - -45.500000 -20.666667 809 - -45.333333 -20.666667 829 - -45.166667 -20.666667 1024 - -45.000000 -20.666667 983 - -44.833333 -20.666667 959 - -44.666667 -20.666667 953 - -44.500000 -20.666667 1005 - -44.333333 -20.666667 1057 - -44.166667 -20.666667 1014 - -44.000000 -20.666667 972 - -43.833333 -20.666667 996 - -43.666667 -20.666667 860 - -43.500000 -20.666667 804 - -43.333333 -20.666667 745 - -43.166667 -20.666667 728 - -43.000000 -20.666667 642 - -42.833333 -20.666667 714 - -42.666667 -20.666667 654 - -42.500000 -20.666667 1189 - -42.333333 -20.666667 863 - -42.166667 -20.666667 758 - -42.000000 -20.666667 834 - -41.833333 -20.666667 819 - -41.666667 -20.666667 761 - -41.500000 -20.666667 264 - -41.333333 -20.666667 421 - -41.166667 -20.666667 125 - -41.000000 -20.666667 664 - -40.833333 -20.666667 648 - -40.666667 -20.666667 43 - -40.500000 -20.666667 2 - -40.333333 -20.666667 -16 - -40.166667 -20.666667 -39 - -40.000000 -20.666667 -61 - -65.000000 -20.833333 2933 - -64.833333 -20.833333 2787 - -64.666667 -20.833333 2036 - -64.500000 -20.833333 2620 - -64.333333 -20.833333 1310 - -64.166667 -20.833333 927 - -64.000000 -20.833333 1071 - -63.833333 -20.833333 1135 - -63.666667 -20.833333 840 - -63.500000 -20.833333 1145 - -63.333333 -20.833333 634 - -63.166667 -20.833333 647 - -63.000000 -20.833333 558 - -62.833333 -20.833333 475 - -62.666667 -20.833333 430 - -62.500000 -20.833333 390 - -62.333333 -20.833333 373 - -62.166667 -20.833333 354 - -62.000000 -20.833333 323 - -61.833333 -20.833333 302 - -61.666667 -20.833333 280 - -61.500000 -20.833333 257 - -61.333333 -20.833333 240 - -61.166667 -20.833333 220 - -61.000000 -20.833333 202 - -60.833333 -20.833333 190 - -60.666667 -20.833333 173 - -60.500000 -20.833333 161 - -60.333333 -20.833333 149 - -60.166667 -20.833333 142 - -60.000000 -20.833333 135 - -59.833333 -20.833333 128 - -59.666667 -20.833333 122 - -59.500000 -20.833333 117 - -59.333333 -20.833333 112 - -59.166667 -20.833333 106 - -59.000000 -20.833333 101 - -58.833333 -20.833333 98 - -58.666667 -20.833333 96 - -58.500000 -20.833333 91 - -58.333333 -20.833333 89 - -58.166667 -20.833333 87 - -58.000000 -20.833333 84 - -57.833333 -20.833333 80 - -57.666667 -20.833333 86 - -57.500000 -20.833333 104 - -57.333333 -20.833333 114 - -57.166667 -20.833333 137 - -57.000000 -20.833333 214 - -56.833333 -20.833333 607 - -56.666667 -20.833333 529 - -56.500000 -20.833333 257 - -56.333333 -20.833333 331 - -56.166667 -20.833333 187 - -56.000000 -20.833333 157 - -55.833333 -20.833333 236 - -55.666667 -20.833333 211 - -55.500000 -20.833333 307 - -55.333333 -20.833333 308 - -55.166667 -20.833333 257 - -55.000000 -20.833333 319 - -54.833333 -20.833333 510 - -54.666667 -20.833333 463 - -54.500000 -20.833333 504 - -54.333333 -20.833333 514 - -54.166667 -20.833333 526 - -54.000000 -20.833333 460 - -53.833333 -20.833333 439 - -53.666667 -20.833333 450 - -53.500000 -20.833333 372 - -53.333333 -20.833333 412 - -53.166667 -20.833333 393 - -53.000000 -20.833333 421 - -52.833333 -20.833333 408 - -52.666667 -20.833333 378 - -52.500000 -20.833333 328 - -52.333333 -20.833333 339 - -52.166667 -20.833333 335 - -52.000000 -20.833333 395 - -51.833333 -20.833333 323 - -51.666667 -20.833333 273 - -51.500000 -20.833333 363 - -51.333333 -20.833333 356 - -51.166667 -20.833333 396 - -51.000000 -20.833333 341 - -50.833333 -20.833333 321 - -50.666667 -20.833333 339 - -50.500000 -20.833333 390 - -50.333333 -20.833333 378 - -50.166667 -20.833333 420 - -50.000000 -20.833333 443 - -49.833333 -20.833333 474 - -49.666667 -20.833333 504 - -49.500000 -20.833333 542 - -49.333333 -20.833333 501 - -49.166667 -20.833333 507 - -49.000000 -20.833333 506 - -48.833333 -20.833333 525 - -48.666667 -20.833333 543 - -48.500000 -20.833333 573 - -48.333333 -20.833333 539 - -48.166667 -20.833333 522 - -48.000000 -20.833333 569 - -47.833333 -20.833333 642 - -47.666667 -20.833333 830 - -47.500000 -20.833333 794 - -47.333333 -20.833333 762 - -47.166667 -20.833333 814 - -47.000000 -20.833333 848 - -46.833333 -20.833333 816 - -46.666667 -20.833333 907 - -46.500000 -20.833333 853 - -46.333333 -20.833333 832 - -46.166667 -20.833333 766 - -46.000000 -20.833333 958 - -45.833333 -20.833333 840 - -45.666667 -20.833333 789 - -45.500000 -20.833333 834 - -45.333333 -20.833333 890 - -45.166667 -20.833333 888 - -45.000000 -20.833333 966 - -44.833333 -20.833333 1072 - -44.666667 -20.833333 1056 - -44.500000 -20.833333 1103 - -44.333333 -20.833333 1116 - -44.166667 -20.833333 1052 - -44.000000 -20.833333 951 - -43.833333 -20.833333 1026 - -43.666667 -20.833333 760 - -43.500000 -20.833333 805 - -43.333333 -20.833333 750 - -43.166667 -20.833333 656 - -43.000000 -20.833333 759 - -42.833333 -20.833333 759 - -42.666667 -20.833333 788 - -42.500000 -20.833333 1201 - -42.333333 -20.833333 615 - -42.166667 -20.833333 725 - -42.000000 -20.833333 366 - -41.833333 -20.833333 699 - -41.666667 -20.833333 672 - -41.500000 -20.833333 619 - -41.333333 -20.833333 207 - -41.166667 -20.833333 79 - -41.000000 -20.833333 94 - -40.833333 -20.833333 49 - -40.666667 -20.833333 -1 - -40.500000 -20.833333 -19 - -40.333333 -20.833333 -30 - -40.166667 -20.833333 -47 - -40.000000 -20.833333 -969 - -65.000000 -21.000000 2325 - -64.833333 -21.000000 3578 - -64.666667 -21.000000 2465 - -64.500000 -21.000000 2479 - -64.333333 -21.000000 1388 - -64.166667 -21.000000 1020 - -64.000000 -21.000000 623 - -63.833333 -21.000000 763 - -63.666667 -21.000000 700 - -63.500000 -21.000000 941 - -63.333333 -21.000000 550 - -63.166667 -21.000000 565 - -63.000000 -21.000000 552 - -62.833333 -21.000000 438 - -62.666667 -21.000000 393 - -62.500000 -21.000000 365 - -62.333333 -21.000000 348 - -62.166667 -21.000000 330 - -62.000000 -21.000000 313 - -61.833333 -21.000000 291 - -61.666667 -21.000000 266 - -61.500000 -21.000000 249 - -61.333333 -21.000000 228 - -61.166667 -21.000000 211 - -61.000000 -21.000000 194 - -60.833333 -21.000000 179 - -60.666667 -21.000000 168 - -60.500000 -21.000000 157 - -60.333333 -21.000000 148 - -60.166667 -21.000000 142 - -60.000000 -21.000000 134 - -59.833333 -21.000000 128 - -59.666667 -21.000000 124 - -59.500000 -21.000000 120 - -59.333333 -21.000000 112 - -59.166667 -21.000000 106 - -59.000000 -21.000000 104 - -58.833333 -21.000000 98 - -58.666667 -21.000000 97 - -58.500000 -21.000000 95 - -58.333333 -21.000000 90 - -58.166667 -21.000000 85 - -58.000000 -21.000000 84 - -57.833333 -21.000000 78 - -57.666667 -21.000000 91 - -57.500000 -21.000000 101 - -57.333333 -21.000000 340 - -57.166667 -21.000000 154 - -57.000000 -21.000000 211 - -56.833333 -21.000000 602 - -56.666667 -21.000000 647 - -56.500000 -21.000000 368 - -56.333333 -21.000000 273 - -56.166667 -21.000000 218 - -56.000000 -21.000000 191 - -55.833333 -21.000000 280 - -55.666667 -21.000000 290 - -55.500000 -21.000000 250 - -55.333333 -21.000000 442 - -55.166667 -21.000000 534 - -55.000000 -21.000000 452 - -54.833333 -21.000000 489 - -54.666667 -21.000000 493 - -54.500000 -21.000000 402 - -54.333333 -21.000000 472 - -54.166667 -21.000000 446 - -54.000000 -21.000000 443 - -53.833333 -21.000000 416 - -53.666667 -21.000000 429 - -53.500000 -21.000000 434 - -53.333333 -21.000000 373 - -53.166667 -21.000000 359 - -53.000000 -21.000000 435 - -52.833333 -21.000000 428 - -52.666667 -21.000000 405 - -52.500000 -21.000000 357 - -52.333333 -21.000000 363 - -52.166667 -21.000000 295 - -52.000000 -21.000000 310 - -51.833333 -21.000000 381 - -51.666667 -21.000000 273 - -51.500000 -21.000000 348 - -51.333333 -21.000000 380 - -51.166667 -21.000000 441 - -51.000000 -21.000000 349 - -50.833333 -21.000000 346 - -50.666667 -21.000000 387 - -50.500000 -21.000000 360 - -50.333333 -21.000000 367 - -50.166667 -21.000000 428 - -50.000000 -21.000000 451 - -49.833333 -21.000000 428 - -49.666667 -21.000000 468 - -49.500000 -21.000000 478 - -49.333333 -21.000000 471 - -49.166667 -21.000000 522 - -49.000000 -21.000000 557 - -48.833333 -21.000000 526 - -48.666667 -21.000000 539 - -48.500000 -21.000000 581 - -48.333333 -21.000000 619 - -48.166667 -21.000000 506 - -48.000000 -21.000000 510 - -47.833333 -21.000000 534 - -47.666667 -21.000000 828 - -47.500000 -21.000000 786 - -47.333333 -21.000000 770 - -47.166667 -21.000000 827 - -47.000000 -21.000000 1105 - -46.833333 -21.000000 1045 - -46.666667 -21.000000 958 - -46.500000 -21.000000 1031 - -46.333333 -21.000000 1110 - -46.166667 -21.000000 838 - -46.000000 -21.000000 768 - -45.833333 -21.000000 946 - -45.666667 -21.000000 1138 - -45.500000 -21.000000 775 - -45.333333 -21.000000 893 - -45.166667 -21.000000 850 - -45.000000 -21.000000 923 - -44.833333 -21.000000 943 - -44.666667 -21.000000 911 - -44.500000 -21.000000 963 - -44.333333 -21.000000 1094 - -44.166667 -21.000000 1055 - -44.000000 -21.000000 1038 - -43.833333 -21.000000 1126 - -43.666667 -21.000000 885 - -43.500000 -21.000000 736 - -43.333333 -21.000000 845 - -43.166667 -21.000000 760 - -43.000000 -21.000000 816 - -42.833333 -21.000000 382 - -42.666667 -21.000000 407 - -42.500000 -21.000000 706 - -42.333333 -21.000000 410 - -42.166667 -21.000000 445 - -42.000000 -21.000000 237 - -41.833333 -21.000000 266 - -41.666667 -21.000000 422 - -41.500000 -21.000000 555 - -41.333333 -21.000000 599 - -41.166667 -21.000000 176 - -41.000000 -21.000000 7 - -40.833333 -21.000000 5 - -40.666667 -21.000000 -9 - -40.500000 -21.000000 -20 - -40.333333 -21.000000 -34 - -40.166667 -21.000000 -498 - -40.000000 -21.000000 -1446 - -65.000000 -21.166667 2972 - -64.833333 -21.166667 2756 - -64.666667 -21.166667 3049 - -64.500000 -21.166667 1738 - -64.333333 -21.166667 1164 - -64.166667 -21.166667 1512 - -64.000000 -21.166667 728 - -63.833333 -21.166667 821 - -63.666667 -21.166667 569 - -63.500000 -21.166667 898 - -63.333333 -21.166667 435 - -63.166667 -21.166667 472 - -63.000000 -21.166667 572 - -62.833333 -21.166667 403 - -62.666667 -21.166667 361 - -62.500000 -21.166667 333 - -62.333333 -21.166667 320 - -62.166667 -21.166667 306 - -62.000000 -21.166667 294 - -61.833333 -21.166667 277 - -61.666667 -21.166667 259 - -61.500000 -21.166667 238 - -61.333333 -21.166667 219 - -61.166667 -21.166667 202 - -61.000000 -21.166667 188 - -60.833333 -21.166667 175 - -60.666667 -21.166667 164 - -60.500000 -21.166667 154 - -60.333333 -21.166667 147 - -60.166667 -21.166667 141 - -60.000000 -21.166667 139 - -59.833333 -21.166667 134 - -59.666667 -21.166667 126 - -59.500000 -21.166667 118 - -59.333333 -21.166667 113 - -59.166667 -21.166667 111 - -59.000000 -21.166667 106 - -58.833333 -21.166667 100 - -58.666667 -21.166667 99 - -58.500000 -21.166667 95 - -58.333333 -21.166667 89 - -58.166667 -21.166667 86 - -58.000000 -21.166667 84 - -57.833333 -21.166667 84 - -57.666667 -21.166667 97 - -57.500000 -21.166667 118 - -57.333333 -21.166667 160 - -57.166667 -21.166667 176 - -57.000000 -21.166667 252 - -56.833333 -21.166667 628 - -56.666667 -21.166667 589 - -56.500000 -21.166667 332 - -56.333333 -21.166667 274 - -56.166667 -21.166667 234 - -56.000000 -21.166667 301 - -55.833333 -21.166667 195 - -55.666667 -21.166667 262 - -55.500000 -21.166667 470 - -55.333333 -21.166667 487 - -55.166667 -21.166667 548 - -55.000000 -21.166667 442 - -54.833333 -21.166667 422 - -54.666667 -21.166667 468 - -54.500000 -21.166667 522 - -54.333333 -21.166667 445 - -54.166667 -21.166667 447 - -54.000000 -21.166667 367 - -53.833333 -21.166667 441 - -53.666667 -21.166667 388 - -53.500000 -21.166667 383 - -53.333333 -21.166667 422 - -53.166667 -21.166667 331 - -53.000000 -21.166667 401 - -52.833333 -21.166667 437 - -52.666667 -21.166667 398 - -52.500000 -21.166667 398 - -52.333333 -21.166667 355 - -52.166667 -21.166667 364 - -52.000000 -21.166667 316 - -51.833333 -21.166667 273 - -51.666667 -21.166667 271 - -51.500000 -21.166667 322 - -51.333333 -21.166667 365 - -51.166667 -21.166667 400 - -51.000000 -21.166667 425 - -50.833333 -21.166667 406 - -50.666667 -21.166667 387 - -50.500000 -21.166667 382 - -50.333333 -21.166667 380 - -50.166667 -21.166667 376 - -50.000000 -21.166667 408 - -49.833333 -21.166667 397 - -49.666667 -21.166667 391 - -49.500000 -21.166667 416 - -49.333333 -21.166667 417 - -49.166667 -21.166667 459 - -49.000000 -21.166667 548 - -48.833333 -21.166667 562 - -48.666667 -21.166667 587 - -48.500000 -21.166667 595 - -48.333333 -21.166667 566 - -48.166667 -21.166667 499 - -48.000000 -21.166667 582 - -47.833333 -21.166667 561 - -47.666667 -21.166667 529 - -47.500000 -21.166667 600 - -47.333333 -21.166667 714 - -47.166667 -21.166667 926 - -47.000000 -21.166667 935 - -46.833333 -21.166667 987 - -46.666667 -21.166667 1107 - -46.500000 -21.166667 1100 - -46.333333 -21.166667 994 - -46.166667 -21.166667 918 - -46.000000 -21.166667 780 - -45.833333 -21.166667 843 - -45.666667 -21.166667 849 - -45.500000 -21.166667 851 - -45.333333 -21.166667 897 - -45.166667 -21.166667 828 - -45.000000 -21.166667 886 - -44.833333 -21.166667 901 - -44.666667 -21.166667 933 - -44.500000 -21.166667 919 - -44.333333 -21.166667 997 - -44.166667 -21.166667 956 - -44.000000 -21.166667 943 - -43.833333 -21.166667 1110 - -43.666667 -21.166667 1186 - -43.500000 -21.166667 836 - -43.333333 -21.166667 747 - -43.166667 -21.166667 605 - -43.000000 -21.166667 388 - -42.833333 -21.166667 327 - -42.666667 -21.166667 684 - -42.500000 -21.166667 265 - -42.333333 -21.166667 272 - -42.166667 -21.166667 196 - -42.000000 -21.166667 260 - -41.833333 -21.166667 158 - -41.666667 -21.166667 104 - -41.500000 -21.166667 149 - -41.333333 -21.166667 46 - -41.166667 -21.166667 58 - -41.000000 -21.166667 21 - -40.833333 -21.166667 -4 - -40.666667 -21.166667 -14 - -40.500000 -21.166667 -18 - -40.333333 -21.166667 -41 - -40.166667 -21.166667 -883 - -40.000000 -21.166667 -1379 - -65.000000 -21.333333 3301 - -64.833333 -21.333333 2623 - -64.666667 -21.333333 2455 - -64.500000 -21.333333 2577 - -64.333333 -21.333333 2549 - -64.166667 -21.333333 1074 - -64.000000 -21.333333 842 - -63.833333 -21.333333 767 - -63.666667 -21.333333 1088 - -63.500000 -21.333333 591 - -63.333333 -21.333333 355 - -63.166667 -21.333333 377 - -63.000000 -21.333333 532 - -62.833333 -21.333333 370 - -62.666667 -21.333333 322 - -62.500000 -21.333333 308 - -62.333333 -21.333333 293 - -62.166667 -21.333333 285 - -62.000000 -21.333333 273 - -61.833333 -21.333333 260 - -61.666667 -21.333333 244 - -61.500000 -21.333333 229 - -61.333333 -21.333333 213 - -61.166667 -21.333333 193 - -61.000000 -21.333333 185 - -60.833333 -21.333333 176 - -60.666667 -21.333333 163 - -60.500000 -21.333333 157 - -60.333333 -21.333333 152 - -60.166667 -21.333333 145 - -60.000000 -21.333333 139 - -59.833333 -21.333333 131 - -59.666667 -21.333333 127 - -59.500000 -21.333333 121 - -59.333333 -21.333333 111 - -59.166667 -21.333333 110 - -59.000000 -21.333333 107 - -58.833333 -21.333333 100 - -58.666667 -21.333333 99 - -58.500000 -21.333333 93 - -58.333333 -21.333333 94 - -58.166667 -21.333333 86 - -58.000000 -21.333333 82 - -57.833333 -21.333333 82 - -57.666667 -21.333333 95 - -57.500000 -21.333333 115 - -57.333333 -21.333333 167 - -57.166667 -21.333333 226 - -57.000000 -21.333333 258 - -56.833333 -21.333333 414 - -56.666667 -21.333333 417 - -56.500000 -21.333333 314 - -56.333333 -21.333333 266 - -56.166667 -21.333333 235 - -56.000000 -21.333333 326 - -55.833333 -21.333333 277 - -55.666667 -21.333333 423 - -55.500000 -21.333333 538 - -55.333333 -21.333333 479 - -55.166667 -21.333333 445 - -55.000000 -21.333333 420 - -54.833333 -21.333333 369 - -54.666667 -21.333333 368 - -54.500000 -21.333333 485 - -54.333333 -21.333333 472 - -54.166667 -21.333333 373 - -54.000000 -21.333333 390 - -53.833333 -21.333333 386 - -53.666667 -21.333333 383 - -53.500000 -21.333333 393 - -53.333333 -21.333333 353 - -53.166667 -21.333333 367 - -53.000000 -21.333333 390 - -52.833333 -21.333333 393 - -52.666667 -21.333333 411 - -52.500000 -21.333333 309 - -52.333333 -21.333333 326 - -52.166667 -21.333333 333 - -52.000000 -21.333333 317 - -51.833333 -21.333333 333 - -51.666667 -21.333333 375 - -51.500000 -21.333333 311 - -51.333333 -21.333333 346 - -51.166667 -21.333333 353 - -51.000000 -21.333333 363 - -50.833333 -21.333333 377 - -50.666667 -21.333333 428 - -50.500000 -21.333333 425 - -50.333333 -21.333333 404 - -50.166667 -21.333333 369 - -50.000000 -21.333333 403 - -49.833333 -21.333333 383 - -49.666667 -21.333333 381 - -49.500000 -21.333333 429 - -49.333333 -21.333333 437 - -49.166667 -21.333333 493 - -49.000000 -21.333333 510 - -48.833333 -21.333333 492 - -48.666667 -21.333333 568 - -48.500000 -21.333333 633 - -48.333333 -21.333333 591 - -48.166667 -21.333333 603 - -48.000000 -21.333333 572 - -47.833333 -21.333333 633 - -47.666667 -21.333333 625 - -47.500000 -21.333333 650 - -47.333333 -21.333333 778 - -47.166667 -21.333333 678 - -47.000000 -21.333333 635 - -46.833333 -21.333333 760 - -46.666667 -21.333333 980 - -46.500000 -21.333333 941 - -46.333333 -21.333333 842 - -46.166667 -21.333333 837 - -46.000000 -21.333333 772 - -45.833333 -21.333333 774 - -45.666667 -21.333333 865 - -45.500000 -21.333333 968 - -45.333333 -21.333333 952 - -45.166667 -21.333333 846 - -45.000000 -21.333333 1153 - -44.833333 -21.333333 915 - -44.666667 -21.333333 958 - -44.500000 -21.333333 951 - -44.333333 -21.333333 1015 - -44.166667 -21.333333 1052 - -44.000000 -21.333333 1054 - -43.833333 -21.333333 1113 - -43.666667 -21.333333 1164 - -43.500000 -21.333333 886 - -43.333333 -21.333333 646 - -43.166667 -21.333333 487 - -43.000000 -21.333333 380 - -42.833333 -21.333333 299 - -42.666667 -21.333333 234 - -42.500000 -21.333333 261 - -42.333333 -21.333333 362 - -42.166667 -21.333333 482 - -42.000000 -21.333333 179 - -41.833333 -21.333333 330 - -41.666667 -21.333333 126 - -41.500000 -21.333333 126 - -41.333333 -21.333333 71 - -41.166667 -21.333333 59 - -41.000000 -21.333333 16 - -40.833333 -21.333333 -12 - -40.666667 -21.333333 -21 - -40.500000 -21.333333 -20 - -40.333333 -21.333333 -42 - -40.166667 -21.333333 -758 - -40.000000 -21.333333 -1286 - -65.000000 -21.500000 3822 - -64.833333 -21.500000 2663 - -64.666667 -21.500000 2197 - -64.500000 -21.500000 2204 - -64.333333 -21.500000 2177 - -64.166667 -21.500000 1296 - -64.000000 -21.500000 1159 - -63.833333 -21.500000 936 - -63.666667 -21.500000 868 - -63.500000 -21.500000 552 - -63.333333 -21.500000 393 - -63.166667 -21.500000 455 - -63.000000 -21.500000 425 - -62.833333 -21.500000 310 - -62.666667 -21.500000 300 - -62.500000 -21.500000 288 - -62.333333 -21.500000 274 - -62.166667 -21.500000 267 - -62.000000 -21.500000 252 - -61.833333 -21.500000 242 - -61.666667 -21.500000 231 - -61.500000 -21.500000 222 - -61.333333 -21.500000 211 - -61.166667 -21.500000 197 - -61.000000 -21.500000 183 - -60.833333 -21.500000 175 - -60.666667 -21.500000 167 - -60.500000 -21.500000 162 - -60.333333 -21.500000 155 - -60.166667 -21.500000 147 - -60.000000 -21.500000 139 - -59.833333 -21.500000 130 - -59.666667 -21.500000 126 - -59.500000 -21.500000 123 - -59.333333 -21.500000 117 - -59.166667 -21.500000 108 - -59.000000 -21.500000 107 - -58.833333 -21.500000 101 - -58.666667 -21.500000 101 - -58.500000 -21.500000 99 - -58.333333 -21.500000 92 - -58.166667 -21.500000 90 - -58.000000 -21.500000 83 - -57.833333 -21.500000 81 - -57.666667 -21.500000 99 - -57.500000 -21.500000 145 - -57.333333 -21.500000 218 - -57.166667 -21.500000 321 - -57.000000 -21.500000 507 - -56.833333 -21.500000 384 - -56.666667 -21.500000 408 - -56.500000 -21.500000 340 - -56.333333 -21.500000 251 - -56.166667 -21.500000 284 - -56.000000 -21.500000 249 - -55.833333 -21.500000 381 - -55.666667 -21.500000 457 - -55.500000 -21.500000 546 - -55.333333 -21.500000 476 - -55.166667 -21.500000 363 - -55.000000 -21.500000 376 - -54.833333 -21.500000 351 - -54.666667 -21.500000 338 - -54.500000 -21.500000 342 - -54.333333 -21.500000 350 - -54.166667 -21.500000 395 - -54.000000 -21.500000 342 - -53.833333 -21.500000 342 - -53.666667 -21.500000 393 - -53.500000 -21.500000 378 - -53.333333 -21.500000 312 - -53.166667 -21.500000 406 - -53.000000 -21.500000 342 - -52.833333 -21.500000 371 - -52.666667 -21.500000 395 - -52.500000 -21.500000 367 - -52.333333 -21.500000 333 - -52.166667 -21.500000 377 - -52.000000 -21.500000 255 - -51.833333 -21.500000 365 - -51.666667 -21.500000 384 - -51.500000 -21.500000 405 - -51.333333 -21.500000 367 - -51.166667 -21.500000 397 - -51.000000 -21.500000 353 - -50.833333 -21.500000 407 - -50.666667 -21.500000 364 - -50.500000 -21.500000 423 - -50.333333 -21.500000 478 - -50.166667 -21.500000 423 - -50.000000 -21.500000 480 - -49.833333 -21.500000 422 - -49.666667 -21.500000 419 - -49.500000 -21.500000 411 - -49.333333 -21.500000 442 - -49.166667 -21.500000 434 - -49.000000 -21.500000 486 - -48.833333 -21.500000 533 - -48.666667 -21.500000 534 - -48.500000 -21.500000 575 - -48.333333 -21.500000 629 - -48.166667 -21.500000 601 - -48.000000 -21.500000 535 - -47.833333 -21.500000 650 - -47.666667 -21.500000 853 - -47.500000 -21.500000 730 - -47.333333 -21.500000 661 - -47.166667 -21.500000 585 - -47.000000 -21.500000 649 - -46.833333 -21.500000 928 - -46.666667 -21.500000 886 - -46.500000 -21.500000 940 - -46.333333 -21.500000 815 - -46.166667 -21.500000 849 - -46.000000 -21.500000 806 - -45.833333 -21.500000 832 - -45.666667 -21.500000 796 - -45.500000 -21.500000 836 - -45.333333 -21.500000 969 - -45.166667 -21.500000 967 - -45.000000 -21.500000 983 - -44.833333 -21.500000 1035 - -44.666667 -21.500000 1006 - -44.500000 -21.500000 1003 - -44.333333 -21.500000 951 - -44.166667 -21.500000 983 - -44.000000 -21.500000 1107 - -43.833333 -21.500000 1179 - -43.666667 -21.500000 809 - -43.500000 -21.500000 848 - -43.333333 -21.500000 542 - -43.166667 -21.500000 410 - -43.000000 -21.500000 388 - -42.833333 -21.500000 291 - -42.666667 -21.500000 238 - -42.500000 -21.500000 304 - -42.333333 -21.500000 188 - -42.166667 -21.500000 139 - -42.000000 -21.500000 354 - -41.833333 -21.500000 150 - -41.666667 -21.500000 100 - -41.500000 -21.500000 83 - -41.333333 -21.500000 54 - -41.166667 -21.500000 18 - -41.000000 -21.500000 -3 - -40.833333 -21.500000 -15 - -40.666667 -21.500000 -22 - -40.500000 -21.500000 -31 - -40.333333 -21.500000 -34 - -40.166667 -21.500000 -531 - -40.000000 -21.500000 -1048 - -65.000000 -21.666667 4023 - -64.833333 -21.666667 2083 - -64.666667 -21.666667 1750 - -64.500000 -21.666667 2185 - -64.333333 -21.666667 1433 - -64.166667 -21.666667 1207 - -64.000000 -21.666667 1480 - -63.833333 -21.666667 1177 - -63.666667 -21.666667 1138 - -63.500000 -21.666667 591 - -63.333333 -21.666667 438 - -63.166667 -21.666667 489 - -63.000000 -21.666667 317 - -62.833333 -21.666667 308 - -62.666667 -21.666667 294 - -62.500000 -21.666667 284 - -62.333333 -21.666667 274 - -62.166667 -21.666667 257 - -62.000000 -21.666667 248 - -61.833333 -21.666667 240 - -61.666667 -21.666667 226 - -61.500000 -21.666667 218 - -61.333333 -21.666667 206 - -61.166667 -21.666667 198 - -61.000000 -21.666667 191 - -60.833333 -21.666667 179 - -60.666667 -21.666667 171 - -60.500000 -21.666667 163 - -60.333333 -21.666667 155 - -60.166667 -21.666667 148 - -60.000000 -21.666667 143 - -59.833333 -21.666667 136 - -59.666667 -21.666667 129 - -59.500000 -21.666667 123 - -59.333333 -21.666667 118 - -59.166667 -21.666667 114 - -59.000000 -21.666667 109 - -58.833333 -21.666667 107 - -58.666667 -21.666667 105 - -58.500000 -21.666667 99 - -58.333333 -21.666667 95 - -58.166667 -21.666667 92 - -58.000000 -21.666667 85 - -57.833333 -21.666667 84 - -57.666667 -21.666667 105 - -57.500000 -21.666667 128 - -57.333333 -21.666667 205 - -57.166667 -21.666667 246 - -57.000000 -21.666667 332 - -56.833333 -21.666667 439 - -56.666667 -21.666667 408 - -56.500000 -21.666667 314 - -56.333333 -21.666667 316 - -56.166667 -21.666667 295 - -56.000000 -21.666667 320 - -55.833333 -21.666667 432 - -55.666667 -21.666667 571 - -55.500000 -21.666667 495 - -55.333333 -21.666667 461 - -55.166667 -21.666667 380 - -55.000000 -21.666667 338 - -54.833333 -21.666667 391 - -54.666667 -21.666667 354 - -54.500000 -21.666667 321 - -54.333333 -21.666667 306 - -54.166667 -21.666667 336 - -54.000000 -21.666667 366 - -53.833333 -21.666667 338 - -53.666667 -21.666667 363 - -53.500000 -21.666667 375 - -53.333333 -21.666667 332 - -53.166667 -21.666667 362 - -53.000000 -21.666667 348 - -52.833333 -21.666667 275 - -52.666667 -21.666667 341 - -52.500000 -21.666667 334 - -52.333333 -21.666667 279 - -52.166667 -21.666667 257 - -52.000000 -21.666667 267 - -51.833333 -21.666667 338 - -51.666667 -21.666667 306 - -51.500000 -21.666667 337 - -51.333333 -21.666667 391 - -51.166667 -21.666667 363 - -51.000000 -21.666667 401 - -50.833333 -21.666667 402 - -50.666667 -21.666667 411 - -50.500000 -21.666667 402 - -50.333333 -21.666667 397 - -50.166667 -21.666667 422 - -50.000000 -21.666667 435 - -49.833333 -21.666667 464 - -49.666667 -21.666667 459 - -49.500000 -21.666667 445 - -49.333333 -21.666667 456 - -49.166667 -21.666667 401 - -49.000000 -21.666667 447 - -48.833333 -21.666667 496 - -48.666667 -21.666667 539 - -48.500000 -21.666667 546 - -48.333333 -21.666667 603 - -48.166667 -21.666667 640 - -48.000000 -21.666667 570 - -47.833333 -21.666667 542 - -47.666667 -21.666667 664 - -47.500000 -21.666667 648 - -47.333333 -21.666667 798 - -47.166667 -21.666667 593 - -47.000000 -21.666667 594 - -46.833333 -21.666667 983 - -46.666667 -21.666667 1229 - -46.500000 -21.666667 906 - -46.333333 -21.666667 1092 - -46.166667 -21.666667 1029 - -46.000000 -21.666667 960 - -45.833333 -21.666667 876 - -45.666667 -21.666667 864 - -45.500000 -21.666667 963 - -45.333333 -21.666667 852 - -45.166667 -21.666667 900 - -45.000000 -21.666667 934 - -44.833333 -21.666667 1064 - -44.666667 -21.666667 1050 - -44.500000 -21.666667 982 - -44.333333 -21.666667 995 - -44.166667 -21.666667 1107 - -44.000000 -21.666667 1093 - -43.833333 -21.666667 936 - -43.666667 -21.666667 770 - -43.500000 -21.666667 752 - -43.333333 -21.666667 853 - -43.166667 -21.666667 775 - -43.000000 -21.666667 583 - -42.833333 -21.666667 578 - -42.666667 -21.666667 422 - -42.500000 -21.666667 260 - -42.333333 -21.666667 174 - -42.166667 -21.666667 101 - -42.000000 -21.666667 120 - -41.833333 -21.666667 164 - -41.666667 -21.666667 197 - -41.500000 -21.666667 30 - -41.333333 -21.666667 15 - -41.166667 -21.666667 3 - -41.000000 -21.666667 -2 - -40.833333 -21.666667 -14 - -40.666667 -21.666667 -19 - -40.500000 -21.666667 -31 - -40.333333 -21.666667 -38 - -40.166667 -21.666667 -139 - -40.000000 -21.666667 -709 - -65.000000 -21.833333 4029 - -64.833333 -21.833333 2192 - -64.666667 -21.833333 2099 - -64.500000 -21.833333 1503 - -64.333333 -21.833333 1092 - -64.166667 -21.833333 1257 - -64.000000 -21.833333 1790 - -63.833333 -21.833333 1293 - -63.666667 -21.833333 903 - -63.500000 -21.833333 562 - -63.333333 -21.833333 446 - -63.166667 -21.833333 365 - -63.000000 -21.833333 308 - -62.833333 -21.833333 302 - -62.666667 -21.833333 290 - -62.500000 -21.833333 279 - -62.333333 -21.833333 264 - -62.166667 -21.833333 255 - -62.000000 -21.833333 249 - -61.833333 -21.833333 235 - -61.666667 -21.833333 225 - -61.500000 -21.833333 213 - -61.333333 -21.833333 204 - -61.166667 -21.833333 198 - -61.000000 -21.833333 189 - -60.833333 -21.833333 180 - -60.666667 -21.833333 174 - -60.500000 -21.833333 163 - -60.333333 -21.833333 153 - -60.166667 -21.833333 151 - -60.000000 -21.833333 144 - -59.833333 -21.833333 134 - -59.666667 -21.833333 130 - -59.500000 -21.833333 124 - -59.333333 -21.833333 117 - -59.166667 -21.833333 112 - -59.000000 -21.833333 110 - -58.833333 -21.833333 109 - -58.666667 -21.833333 99 - -58.500000 -21.833333 98 - -58.333333 -21.833333 94 - -58.166667 -21.833333 89 - -58.000000 -21.833333 83 - -57.833333 -21.833333 78 - -57.666667 -21.833333 96 - -57.500000 -21.833333 153 - -57.333333 -21.833333 261 - -57.166667 -21.833333 182 - -57.000000 -21.833333 384 - -56.833333 -21.833333 387 - -56.666667 -21.833333 272 - -56.500000 -21.833333 283 - -56.333333 -21.833333 288 - -56.166667 -21.833333 374 - -56.000000 -21.833333 457 - -55.833333 -21.833333 579 - -55.666667 -21.833333 612 - -55.500000 -21.833333 465 - -55.333333 -21.833333 435 - -55.166667 -21.833333 408 - -55.000000 -21.833333 324 - -54.833333 -21.833333 302 - -54.666667 -21.833333 316 - -54.500000 -21.833333 293 - -54.333333 -21.833333 380 - -54.166667 -21.833333 381 - -54.000000 -21.833333 301 - -53.833333 -21.833333 301 - -53.666667 -21.833333 334 - -53.500000 -21.833333 297 - -53.333333 -21.833333 368 - -53.166667 -21.833333 401 - -53.000000 -21.833333 435 - -52.833333 -21.833333 424 - -52.666667 -21.833333 377 - -52.500000 -21.833333 380 - -52.333333 -21.833333 254 - -52.166667 -21.833333 276 - -52.000000 -21.833333 350 - -51.833333 -21.833333 353 - -51.666667 -21.833333 334 - -51.500000 -21.833333 323 - -51.333333 -21.833333 332 - -51.166667 -21.833333 341 - -51.000000 -21.833333 411 - -50.833333 -21.833333 443 - -50.666667 -21.833333 440 - -50.500000 -21.833333 463 - -50.333333 -21.833333 438 - -50.166667 -21.833333 437 - -50.000000 -21.833333 454 - -49.833333 -21.833333 494 - -49.666667 -21.833333 497 - -49.500000 -21.833333 456 - -49.333333 -21.833333 448 - -49.166667 -21.833333 461 - -49.000000 -21.833333 427 - -48.833333 -21.833333 422 - -48.666667 -21.833333 420 - -48.500000 -21.833333 533 - -48.333333 -21.833333 573 - -48.166667 -21.833333 666 - -48.000000 -21.833333 713 - -47.833333 -21.833333 688 - -47.666667 -21.833333 670 - -47.500000 -21.833333 544 - -47.333333 -21.833333 621 - -47.166667 -21.833333 625 - -47.000000 -21.833333 744 - -46.833333 -21.833333 857 - -46.666667 -21.833333 1294 - -46.500000 -21.833333 1355 - -46.333333 -21.833333 1115 - -46.166667 -21.833333 1221 - -46.000000 -21.833333 1038 - -45.833333 -21.833333 891 - -45.666667 -21.833333 859 - -45.500000 -21.833333 889 - -45.333333 -21.833333 930 - -45.166667 -21.833333 908 - -45.000000 -21.833333 978 - -44.833333 -21.833333 1089 - -44.666667 -21.833333 1124 - -44.500000 -21.833333 998 - -44.333333 -21.833333 1108 - -44.166667 -21.833333 1217 - -44.000000 -21.833333 982 - -43.833333 -21.833333 828 - -43.666667 -21.833333 892 - -43.500000 -21.833333 707 - -43.333333 -21.833333 592 - -43.166667 -21.833333 653 - -43.000000 -21.833333 526 - -42.833333 -21.833333 569 - -42.666667 -21.833333 282 - -42.500000 -21.833333 282 - -42.333333 -21.833333 342 - -42.166667 -21.833333 155 - -42.000000 -21.833333 110 - -41.833333 -21.833333 1066 - -41.666667 -21.833333 67 - -41.500000 -21.833333 38 - -41.333333 -21.833333 6 - -41.166667 -21.833333 2 - -41.000000 -21.833333 0 - -40.833333 -21.833333 -21 - -40.666667 -21.833333 -20 - -40.500000 -21.833333 -31 - -40.333333 -21.833333 -51 - -40.166667 -21.833333 -83 - -40.000000 -21.833333 -473 - -65.000000 -22.000000 3194 - -64.833333 -22.000000 2374 - -64.666667 -22.000000 1968 - -64.500000 -22.000000 1344 - -64.333333 -22.000000 1166 - -64.166667 -22.000000 862 - -64.000000 -22.000000 835 - -63.833333 -22.000000 750 - -63.666667 -22.000000 636 - -63.500000 -22.000000 521 - -63.333333 -22.000000 405 - -63.166667 -22.000000 349 - -63.000000 -22.000000 303 - -62.833333 -22.000000 288 - -62.666667 -22.000000 281 - -62.500000 -22.000000 274 - -62.333333 -22.000000 261 - -62.166667 -22.000000 254 - -62.000000 -22.000000 244 - -61.833333 -22.000000 234 - -61.666667 -22.000000 224 - -61.500000 -22.000000 212 - -61.333333 -22.000000 204 - -61.166667 -22.000000 195 - -61.000000 -22.000000 187 - -60.833333 -22.000000 177 - -60.666667 -22.000000 168 - -60.500000 -22.000000 163 - -60.333333 -22.000000 157 - -60.166667 -22.000000 147 - -60.000000 -22.000000 140 - -59.833333 -22.000000 134 - -59.666667 -22.000000 130 - -59.500000 -22.000000 123 - -59.333333 -22.000000 115 - -59.166667 -22.000000 112 - -59.000000 -22.000000 109 - -58.833333 -22.000000 102 - -58.666667 -22.000000 100 - -58.500000 -22.000000 97 - -58.333333 -22.000000 92 - -58.166667 -22.000000 87 - -58.000000 -22.000000 74 - -57.833333 -22.000000 84 - -57.666667 -22.000000 93 - -57.500000 -22.000000 150 - -57.333333 -22.000000 143 - -57.166667 -22.000000 193 - -57.000000 -22.000000 263 - -56.833333 -22.000000 332 - -56.666667 -22.000000 213 - -56.500000 -22.000000 207 - -56.333333 -22.000000 225 - -56.166667 -22.000000 286 - -56.000000 -22.000000 487 - -55.833333 -22.000000 648 - -55.666667 -22.000000 615 - -55.500000 -22.000000 572 - -55.333333 -22.000000 425 - -55.166667 -22.000000 386 - -55.000000 -22.000000 406 - -54.833333 -22.000000 313 - -54.666667 -22.000000 305 - -54.500000 -22.000000 291 - -54.333333 -22.000000 290 - -54.166667 -22.000000 291 - -54.000000 -22.000000 338 - -53.833333 -22.000000 337 - -53.666667 -22.000000 313 - -53.500000 -22.000000 309 - -53.333333 -22.000000 395 - -53.166667 -22.000000 375 - -53.000000 -22.000000 346 - -52.833333 -22.000000 425 - -52.666667 -22.000000 399 - -52.500000 -22.000000 293 - -52.333333 -22.000000 252 - -52.166667 -22.000000 345 - -52.000000 -22.000000 349 - -51.833333 -22.000000 388 - -51.666667 -22.000000 394 - -51.500000 -22.000000 384 - -51.333333 -22.000000 389 - -51.166667 -22.000000 410 - -51.000000 -22.000000 407 - -50.833333 -22.000000 386 - -50.666667 -22.000000 447 - -50.500000 -22.000000 430 - -50.333333 -22.000000 488 - -50.166667 -22.000000 471 - -50.000000 -22.000000 460 - -49.833333 -22.000000 467 - -49.666667 -22.000000 467 - -49.500000 -22.000000 550 - -49.333333 -22.000000 530 - -49.166667 -22.000000 476 - -49.000000 -22.000000 505 - -48.833333 -22.000000 480 - -48.666667 -22.000000 478 - -48.500000 -22.000000 525 - -48.333333 -22.000000 511 - -48.166667 -22.000000 583 - -48.000000 -22.000000 790 - -47.833333 -22.000000 879 - -47.666667 -22.000000 745 - -47.500000 -22.000000 746 - -47.333333 -22.000000 600 - -47.166667 -22.000000 594 - -47.000000 -22.000000 612 - -46.833333 -22.000000 726 - -46.666667 -22.000000 1250 - -46.500000 -22.000000 1323 - -46.333333 -22.000000 1174 - -46.166667 -22.000000 1278 - -46.000000 -22.000000 1343 - -45.833333 -22.000000 853 - -45.666667 -22.000000 867 - -45.500000 -22.000000 1157 - -45.333333 -22.000000 914 - -45.166667 -22.000000 921 - -45.000000 -22.000000 908 - -44.833333 -22.000000 956 - -44.666667 -22.000000 1537 - -44.500000 -22.000000 1135 - -44.333333 -22.000000 1158 - -44.166667 -22.000000 1239 - -44.000000 -22.000000 1172 - -43.833333 -22.000000 821 - -43.666667 -22.000000 847 - -43.500000 -22.000000 533 - -43.333333 -22.000000 392 - -43.166667 -22.000000 381 - -43.000000 -22.000000 362 - -42.833333 -22.000000 560 - -42.666667 -22.000000 329 - -42.500000 -22.000000 663 - -42.333333 -22.000000 510 - -42.166667 -22.000000 347 - -42.000000 -22.000000 601 - -41.833333 -22.000000 101 - -41.666667 -22.000000 77 - -41.500000 -22.000000 2 - -41.333333 -22.000000 1 - -41.166667 -22.000000 3 - -41.000000 -22.000000 4 - -40.833333 -22.000000 -16 - -40.666667 -22.000000 -29 - -40.500000 -22.000000 -47 - -40.333333 -22.000000 -53 - -40.166667 -22.000000 -62 - -40.000000 -22.000000 -443 - -65.000000 -22.166667 2897 - -64.833333 -22.166667 2755 - -64.666667 -22.166667 1310 - -64.500000 -22.166667 1199 - -64.333333 -22.166667 873 - -64.166667 -22.166667 691 - -64.000000 -22.166667 615 - -63.833333 -22.166667 740 - -63.666667 -22.166667 587 - -63.500000 -22.166667 429 - -63.333333 -22.166667 379 - -63.166667 -22.166667 336 - -63.000000 -22.166667 296 - -62.833333 -22.166667 275 - -62.666667 -22.166667 269 - -62.500000 -22.166667 264 - -62.333333 -22.166667 258 - -62.166667 -22.166667 248 - -62.000000 -22.166667 237 - -61.833333 -22.166667 229 - -61.666667 -22.166667 217 - -61.500000 -22.166667 210 - -61.333333 -22.166667 202 - -61.166667 -22.166667 192 - -61.000000 -22.166667 185 - -60.833333 -22.166667 173 - -60.666667 -22.166667 168 - -60.500000 -22.166667 160 - -60.333333 -22.166667 153 - -60.166667 -22.166667 145 - -60.000000 -22.166667 137 - -59.833333 -22.166667 131 - -59.666667 -22.166667 124 - -59.500000 -22.166667 122 - -59.333333 -22.166667 117 - -59.166667 -22.166667 113 - -59.000000 -22.166667 108 - -58.833333 -22.166667 104 - -58.666667 -22.166667 104 - -58.500000 -22.166667 96 - -58.333333 -22.166667 94 - -58.166667 -22.166667 86 - -58.000000 -22.166667 80 - -57.833333 -22.166667 86 - -57.666667 -22.166667 95 - -57.500000 -22.166667 108 - -57.333333 -22.166667 126 - -57.166667 -22.166667 157 - -57.000000 -22.166667 221 - -56.833333 -22.166667 260 - -56.666667 -22.166667 195 - -56.500000 -22.166667 198 - -56.333333 -22.166667 249 - -56.166667 -22.166667 325 - -56.000000 -22.166667 537 - -55.833333 -22.166667 635 - -55.666667 -22.166667 494 - -55.500000 -22.166667 480 - -55.333333 -22.166667 435 - -55.166667 -22.166667 412 - -55.000000 -22.166667 455 - -54.833333 -22.166667 424 - -54.666667 -22.166667 354 - -54.500000 -22.166667 354 - -54.333333 -22.166667 315 - -54.166667 -22.166667 325 - -54.000000 -22.166667 372 - -53.833333 -22.166667 360 - -53.666667 -22.166667 285 - -53.500000 -22.166667 388 - -53.333333 -22.166667 397 - -53.166667 -22.166667 344 - -53.000000 -22.166667 337 - -52.833333 -22.166667 371 - -52.666667 -22.166667 284 - -52.500000 -22.166667 258 - -52.333333 -22.166667 392 - -52.166667 -22.166667 335 - -52.000000 -22.166667 412 - -51.833333 -22.166667 369 - -51.666667 -22.166667 398 - -51.500000 -22.166667 356 - -51.333333 -22.166667 418 - -51.166667 -22.166667 479 - -51.000000 -22.166667 445 - -50.833333 -22.166667 474 - -50.666667 -22.166667 477 - -50.500000 -22.166667 408 - -50.333333 -22.166667 409 - -50.166667 -22.166667 486 - -50.000000 -22.166667 612 - -49.833333 -22.166667 536 - -49.666667 -22.166667 622 - -49.500000 -22.166667 568 - -49.333333 -22.166667 477 - -49.166667 -22.166667 499 - -49.000000 -22.166667 553 - -48.833333 -22.166667 497 - -48.666667 -22.166667 531 - -48.500000 -22.166667 640 - -48.333333 -22.166667 507 - -48.166667 -22.166667 676 - -48.000000 -22.166667 789 - -47.833333 -22.166667 775 - -47.666667 -22.166667 676 - -47.500000 -22.166667 662 - -47.333333 -22.166667 617 - -47.166667 -22.166667 639 - -47.000000 -22.166667 667 - -46.833333 -22.166667 720 - -46.666667 -22.166667 1032 - -46.500000 -22.166667 1131 - -46.333333 -22.166667 1363 - -46.166667 -22.166667 874 - -46.000000 -22.166667 874 - -45.833333 -22.166667 828 - -45.666667 -22.166667 920 - -45.500000 -22.166667 1072 - -45.333333 -22.166667 974 - -45.166667 -22.166667 1035 - -45.000000 -22.166667 992 - -44.833333 -22.166667 1497 - -44.666667 -22.166667 1236 - -44.500000 -22.166667 1228 - -44.333333 -22.166667 1407 - -44.166667 -22.166667 703 - -44.000000 -22.166667 515 - -43.833333 -22.166667 739 - -43.666667 -22.166667 491 - -43.500000 -22.166667 676 - -43.333333 -22.166667 361 - -43.166667 -22.166667 301 - -43.000000 -22.166667 743 - -42.833333 -22.166667 888 - -42.666667 -22.166667 960 - -42.500000 -22.166667 859 - -42.333333 -22.166667 735 - -42.166667 -22.166667 1055 - -42.000000 -22.166667 150 - -41.833333 -22.166667 133 - -41.666667 -22.166667 43 - -41.500000 -22.166667 8 - -41.333333 -22.166667 5 - -41.166667 -22.166667 -8 - -41.000000 -22.166667 -25 - -40.833333 -22.166667 -48 - -40.666667 -22.166667 -57 - -40.500000 -22.166667 -83 - -40.333333 -22.166667 -44 - -40.166667 -22.166667 -129 - -40.000000 -22.166667 -284 - -65.000000 -22.333333 3308 - -64.833333 -22.333333 2855 - -64.666667 -22.333333 1509 - -64.500000 -22.333333 840 - -64.333333 -22.333333 1268 - -64.166667 -22.333333 827 - -64.000000 -22.333333 836 - -63.833333 -22.333333 898 - -63.666667 -22.333333 463 - -63.500000 -22.333333 410 - -63.333333 -22.333333 362 - -63.166667 -22.333333 320 - -63.000000 -22.333333 290 - -62.833333 -22.333333 266 - -62.666667 -22.333333 262 - -62.500000 -22.333333 255 - -62.333333 -22.333333 247 - -62.166667 -22.333333 240 - -62.000000 -22.333333 233 - -61.833333 -22.333333 227 - -61.666667 -22.333333 214 - -61.500000 -22.333333 206 - -61.333333 -22.333333 199 - -61.166667 -22.333333 190 - -61.000000 -22.333333 184 - -60.833333 -22.333333 174 - -60.666667 -22.333333 166 - -60.500000 -22.333333 157 - -60.333333 -22.333333 150 - -60.166667 -22.333333 142 - -60.000000 -22.333333 135 - -59.833333 -22.333333 130 - -59.666667 -22.333333 124 - -59.500000 -22.333333 122 - -59.333333 -22.333333 115 - -59.166667 -22.333333 108 - -59.000000 -22.333333 103 - -58.833333 -22.333333 104 - -58.666667 -22.333333 102 - -58.500000 -22.333333 97 - -58.333333 -22.333333 94 - -58.166667 -22.333333 86 - -58.000000 -22.333333 81 - -57.833333 -22.333333 88 - -57.666667 -22.333333 99 - -57.500000 -22.333333 265 - -57.333333 -22.333333 140 - -57.166667 -22.333333 168 - -57.000000 -22.333333 182 - -56.833333 -22.333333 170 - -56.666667 -22.333333 209 - -56.500000 -22.333333 226 - -56.333333 -22.333333 300 - -56.166667 -22.333333 358 - -56.000000 -22.333333 357 - -55.833333 -22.333333 686 - -55.666667 -22.333333 635 - -55.500000 -22.333333 518 - -55.333333 -22.333333 479 - -55.166667 -22.333333 413 - -55.000000 -22.333333 353 - -54.833333 -22.333333 388 - -54.666667 -22.333333 351 - -54.500000 -22.333333 324 - -54.333333 -22.333333 327 - -54.166667 -22.333333 411 - -54.000000 -22.333333 410 - -53.833333 -22.333333 380 - -53.666667 -22.333333 376 - -53.500000 -22.333333 262 - -53.333333 -22.333333 309 - -53.166667 -22.333333 276 - -53.000000 -22.333333 273 - -52.833333 -22.333333 252 - -52.666667 -22.333333 332 - -52.500000 -22.333333 369 - -52.333333 -22.333333 428 - -52.166667 -22.333333 390 - -52.000000 -22.333333 388 - -51.833333 -22.333333 337 - -51.666667 -22.333333 391 - -51.500000 -22.333333 453 - -51.333333 -22.333333 457 - -51.166667 -22.333333 441 - -51.000000 -22.333333 411 - -50.833333 -22.333333 481 - -50.666667 -22.333333 519 - -50.500000 -22.333333 530 - -50.333333 -22.333333 498 - -50.166667 -22.333333 458 - -50.000000 -22.333333 468 - -49.833333 -22.333333 612 - -49.666667 -22.333333 667 - -49.500000 -22.333333 554 - -49.333333 -22.333333 516 - -49.166667 -22.333333 517 - -49.000000 -22.333333 579 - -48.833333 -22.333333 558 - -48.666667 -22.333333 471 - -48.500000 -22.333333 559 - -48.333333 -22.333333 728 - -48.166667 -22.333333 567 - -48.000000 -22.333333 685 - -47.833333 -22.333333 721 - -47.666667 -22.333333 604 - -47.500000 -22.333333 622 - -47.333333 -22.333333 627 - -47.166667 -22.333333 602 - -47.000000 -22.333333 596 - -46.833333 -22.333333 635 - -46.666667 -22.333333 798 - -46.500000 -22.333333 1003 - -46.333333 -22.333333 941 - -46.166667 -22.333333 1030 - -46.000000 -22.333333 871 - -45.833333 -22.333333 854 - -45.666667 -22.333333 862 - -45.500000 -22.333333 881 - -45.333333 -22.333333 1180 - -45.166667 -22.333333 1574 - -45.000000 -22.333333 1063 - -44.833333 -22.333333 1078 - -44.666667 -22.333333 2252 - -44.500000 -22.333333 1095 - -44.333333 -22.333333 673 - -44.166667 -22.333333 652 - -44.000000 -22.333333 598 - -43.833333 -22.333333 686 - -43.666667 -22.333333 369 - -43.500000 -22.333333 582 - -43.333333 -22.333333 715 - -43.166667 -22.333333 680 - -43.000000 -22.333333 1039 - -42.833333 -22.333333 1046 - -42.666667 -22.333333 1101 - -42.500000 -22.333333 1135 - -42.333333 -22.333333 818 - -42.166667 -22.333333 642 - -42.000000 -22.333333 36 - -41.833333 -22.333333 26 - -41.666667 -22.333333 -4 - -41.500000 -22.333333 -19 - -41.333333 -22.333333 -23 - -41.166667 -22.333333 -34 - -41.000000 -22.333333 -48 - -40.833333 -22.333333 -59 - -40.666667 -22.333333 -64 - -40.500000 -22.333333 -109 - -40.333333 -22.333333 -126 - -40.166667 -22.333333 -443 - -40.000000 -22.333333 -877 - -65.000000 -22.500000 2806 - -64.833333 -22.500000 1843 - -64.666667 -22.500000 1036 - -64.500000 -22.500000 946 - -64.333333 -22.500000 778 - -64.166667 -22.500000 489 - -64.000000 -22.500000 577 - -63.833333 -22.500000 659 - -63.666667 -22.500000 400 - -63.500000 -22.500000 359 - -63.333333 -22.500000 330 - -63.166667 -22.500000 304 - -63.000000 -22.500000 275 - -62.833333 -22.500000 257 - -62.666667 -22.500000 253 - -62.500000 -22.500000 247 - -62.333333 -22.500000 243 - -62.166667 -22.500000 234 - -62.000000 -22.500000 226 - -61.833333 -22.500000 220 - -61.666667 -22.500000 211 - -61.500000 -22.500000 204 - -61.333333 -22.500000 195 - -61.166667 -22.500000 188 - -61.000000 -22.500000 180 - -60.833333 -22.500000 170 - -60.666667 -22.500000 163 - -60.500000 -22.500000 155 - -60.333333 -22.500000 148 - -60.166667 -22.500000 141 - -60.000000 -22.500000 133 - -59.833333 -22.500000 125 - -59.666667 -22.500000 122 - -59.500000 -22.500000 116 - -59.333333 -22.500000 116 - -59.166667 -22.500000 109 - -59.000000 -22.500000 107 - -58.833333 -22.500000 103 - -58.666667 -22.500000 97 - -58.500000 -22.500000 94 - -58.333333 -22.500000 92 - -58.166667 -22.500000 87 - -58.000000 -22.500000 84 - -57.833333 -22.500000 79 - -57.666667 -22.500000 103 - -57.500000 -22.500000 183 - -57.333333 -22.500000 196 - -57.166667 -22.500000 234 - -57.000000 -22.500000 239 - -56.833333 -22.500000 191 - -56.666667 -22.500000 180 - -56.500000 -22.500000 207 - -56.333333 -22.500000 387 - -56.166667 -22.500000 314 - -56.000000 -22.500000 385 - -55.833333 -22.500000 422 - -55.666667 -22.500000 607 - -55.500000 -22.500000 557 - -55.333333 -22.500000 486 - -55.166667 -22.500000 451 - -55.000000 -22.500000 397 - -54.833333 -22.500000 395 - -54.666667 -22.500000 353 - -54.500000 -22.500000 412 - -54.333333 -22.500000 430 - -54.166667 -22.500000 382 - -54.000000 -22.500000 355 - -53.833333 -22.500000 344 - -53.666667 -22.500000 312 - -53.500000 -22.500000 248 - -53.333333 -22.500000 267 - -53.166667 -22.500000 250 - -53.000000 -22.500000 240 - -52.833333 -22.500000 325 - -52.666667 -22.500000 390 - -52.500000 -22.500000 396 - -52.333333 -22.500000 354 - -52.166667 -22.500000 285 - -52.000000 -22.500000 289 - -51.833333 -22.500000 382 - -51.666667 -22.500000 367 - -51.500000 -22.500000 394 - -51.333333 -22.500000 457 - -51.166667 -22.500000 425 - -51.000000 -22.500000 443 - -50.833333 -22.500000 465 - -50.666667 -22.500000 506 - -50.500000 -22.500000 450 - -50.333333 -22.500000 499 - -50.166667 -22.500000 535 - -50.000000 -22.500000 515 - -49.833333 -22.500000 516 - -49.666667 -22.500000 501 - -49.500000 -22.500000 528 - -49.333333 -22.500000 559 - -49.166667 -22.500000 595 - -49.000000 -22.500000 613 - -48.833333 -22.500000 562 - -48.666667 -22.500000 544 - -48.500000 -22.500000 508 - -48.333333 -22.500000 544 - -48.166667 -22.500000 614 - -48.000000 -22.500000 882 - -47.833333 -22.500000 514 - -47.666667 -22.500000 534 - -47.500000 -22.500000 691 - -47.333333 -22.500000 657 - -47.166667 -22.500000 668 - -47.000000 -22.500000 648 - -46.833333 -22.500000 681 - -46.666667 -22.500000 740 - -46.500000 -22.500000 798 - -46.333333 -22.500000 1327 - -46.166667 -22.500000 1407 - -46.000000 -22.500000 884 - -45.833333 -22.500000 926 - -45.666667 -22.500000 1097 - -45.500000 -22.500000 897 - -45.333333 -22.500000 1251 - -45.166667 -22.500000 1733 - -45.000000 -22.500000 963 - -44.833333 -22.500000 814 - -44.666667 -22.500000 487 - -44.500000 -22.500000 445 - -44.333333 -22.500000 629 - -44.166667 -22.500000 500 - -44.000000 -22.500000 386 - -43.833333 -22.500000 466 - -43.666667 -22.500000 519 - -43.500000 -22.500000 378 - -43.333333 -22.500000 1034 - -43.166667 -22.500000 907 - -43.000000 -22.500000 401 - -42.833333 -22.500000 33 - -42.666667 -22.500000 65 - -42.500000 -22.500000 147 - -42.333333 -22.500000 154 - -42.166667 -22.500000 26 - -42.000000 -22.500000 18 - -41.833333 -22.500000 -17 - -41.666667 -22.500000 -32 - -41.500000 -22.500000 -37 - -41.333333 -22.500000 -43 - -41.166667 -22.500000 -55 - -41.000000 -22.500000 -50 - -40.833333 -22.500000 -65 - -40.666667 -22.500000 -96 - -40.500000 -22.500000 -277 - -40.333333 -22.500000 -712 - -40.166667 -22.500000 -896 - -40.000000 -22.500000 -1179 - -65.000000 -22.666667 2700 - -64.833333 -22.666667 1502 - -64.666667 -22.666667 832 - -64.500000 -22.666667 717 - -64.333333 -22.666667 596 - -64.166667 -22.666667 554 - -64.000000 -22.666667 499 - -63.833333 -22.666667 455 - -63.666667 -22.666667 356 - -63.500000 -22.666667 309 - -63.333333 -22.666667 297 - -63.166667 -22.666667 277 - -63.000000 -22.666667 259 - -62.833333 -22.666667 245 - -62.666667 -22.666667 239 - -62.500000 -22.666667 238 - -62.333333 -22.666667 233 - -62.166667 -22.666667 229 - -62.000000 -22.666667 221 - -61.833333 -22.666667 214 - -61.666667 -22.666667 206 - -61.500000 -22.666667 201 - -61.333333 -22.666667 193 - -61.166667 -22.666667 185 - -61.000000 -22.666667 176 - -60.833333 -22.666667 168 - -60.666667 -22.666667 160 - -60.500000 -22.666667 156 - -60.333333 -22.666667 148 - -60.166667 -22.666667 139 - -60.000000 -22.666667 132 - -59.833333 -22.666667 127 - -59.666667 -22.666667 121 - -59.500000 -22.666667 117 - -59.333333 -22.666667 114 - -59.166667 -22.666667 110 - -59.000000 -22.666667 106 - -58.833333 -22.666667 102 - -58.666667 -22.666667 100 - -58.500000 -22.666667 96 - -58.333333 -22.666667 91 - -58.166667 -22.666667 89 - -58.000000 -22.666667 78 - -57.833333 -22.666667 72 - -57.666667 -22.666667 127 - -57.500000 -22.666667 180 - -57.333333 -22.666667 215 - -57.166667 -22.666667 238 - -57.000000 -22.666667 175 - -56.833333 -22.666667 148 - -56.666667 -22.666667 167 - -56.500000 -22.666667 217 - -56.333333 -22.666667 218 - -56.166667 -22.666667 235 - -56.000000 -22.666667 293 - -55.833333 -22.666667 549 - -55.666667 -22.666667 524 - -55.500000 -22.666667 572 - -55.333333 -22.666667 495 - -55.166667 -22.666667 522 - -55.000000 -22.666667 422 - -54.833333 -22.666667 422 - -54.666667 -22.666667 425 - -54.500000 -22.666667 434 - -54.333333 -22.666667 434 - -54.166667 -22.666667 393 - -54.000000 -22.666667 358 - -53.833333 -22.666667 347 - -53.666667 -22.666667 261 - -53.500000 -22.666667 248 - -53.333333 -22.666667 243 - -53.166667 -22.666667 238 - -53.000000 -22.666667 331 - -52.833333 -22.666667 375 - -52.666667 -22.666667 325 - -52.500000 -22.666667 360 - -52.333333 -22.666667 301 - -52.166667 -22.666667 277 - -52.000000 -22.666667 325 - -51.833333 -22.666667 334 - -51.666667 -22.666667 298 - -51.500000 -22.666667 324 - -51.333333 -22.666667 325 - -51.166667 -22.666667 334 - -51.000000 -22.666667 386 - -50.833333 -22.666667 372 - -50.666667 -22.666667 495 - -50.500000 -22.666667 506 - -50.333333 -22.666667 498 - -50.166667 -22.666667 528 - -50.000000 -22.666667 494 - -49.833333 -22.666667 555 - -49.666667 -22.666667 552 - -49.500000 -22.666667 566 - -49.333333 -22.666667 527 - -49.166667 -22.666667 648 - -49.000000 -22.666667 646 - -48.833333 -22.666667 624 - -48.666667 -22.666667 640 - -48.500000 -22.666667 569 - -48.333333 -22.666667 458 - -48.166667 -22.666667 542 - -48.000000 -22.666667 454 - -47.833333 -22.666667 472 - -47.666667 -22.666667 492 - -47.500000 -22.666667 539 - -47.333333 -22.666667 583 - -47.166667 -22.666667 580 - -47.000000 -22.666667 582 - -46.833333 -22.666667 688 - -46.666667 -22.666667 907 - -46.500000 -22.666667 1061 - -46.333333 -22.666667 1396 - -46.166667 -22.666667 1132 - -46.000000 -22.666667 1252 - -45.833333 -22.666667 1342 - -45.666667 -22.666667 1195 - -45.500000 -22.666667 1493 - -45.333333 -22.666667 1128 - -45.166667 -22.666667 592 - -45.000000 -22.666667 552 - -44.833333 -22.666667 668 - -44.666667 -22.666667 607 - -44.500000 -22.666667 856 - -44.333333 -22.666667 532 - -44.166667 -22.666667 547 - -44.000000 -22.666667 475 - -43.833333 -22.666667 316 - -43.666667 -22.666667 66 - -43.500000 -22.666667 71 - -43.333333 -22.666667 15 - -43.166667 -22.666667 32 - -43.000000 -22.666667 5 - -42.833333 -22.666667 17 - -42.666667 -22.666667 181 - -42.500000 -22.666667 60 - -42.333333 -22.666667 28 - -42.166667 -22.666667 23 - -42.000000 -22.666667 5 - -41.833333 -22.666667 -24 - -41.666667 -22.666667 -47 - -41.500000 -22.666667 -51 - -41.333333 -22.666667 -54 - -41.166667 -22.666667 -60 - -41.000000 -22.666667 -64 - -40.833333 -22.666667 -77 - -40.666667 -22.666667 -131 - -40.500000 -22.666667 -778 - -40.333333 -22.666667 -945 - -40.166667 -22.666667 -1210 - -40.000000 -22.666667 -1910 - -65.000000 -22.833333 1771 - -64.833333 -22.833333 1471 - -64.666667 -22.833333 928 - -64.500000 -22.833333 669 - -64.333333 -22.833333 363 - -64.166667 -22.833333 788 - -64.000000 -22.833333 426 - -63.833333 -22.833333 369 - -63.666667 -22.833333 303 - -63.500000 -22.833333 270 - -63.333333 -22.833333 262 - -63.166667 -22.833333 252 - -63.000000 -22.833333 237 - -62.833333 -22.833333 237 - -62.666667 -22.833333 232 - -62.500000 -22.833333 227 - -62.333333 -22.833333 229 - -62.166667 -22.833333 222 - -62.000000 -22.833333 218 - -61.833333 -22.833333 207 - -61.666667 -22.833333 201 - -61.500000 -22.833333 196 - -61.333333 -22.833333 186 - -61.166667 -22.833333 182 - -61.000000 -22.833333 175 - -60.833333 -22.833333 166 - -60.666667 -22.833333 160 - -60.500000 -22.833333 155 - -60.333333 -22.833333 147 - -60.166667 -22.833333 142 - -60.000000 -22.833333 132 - -59.833333 -22.833333 126 - -59.666667 -22.833333 122 - -59.500000 -22.833333 118 - -59.333333 -22.833333 112 - -59.166667 -22.833333 107 - -59.000000 -22.833333 104 - -58.833333 -22.833333 102 - -58.666667 -22.833333 102 - -58.500000 -22.833333 99 - -58.333333 -22.833333 90 - -58.166667 -22.833333 87 - -58.000000 -22.833333 82 - -57.833333 -22.833333 70 - -57.666667 -22.833333 91 - -57.500000 -22.833333 113 - -57.333333 -22.833333 124 - -57.166667 -22.833333 137 - -57.000000 -22.833333 129 - -56.833333 -22.833333 132 - -56.666667 -22.833333 135 - -56.500000 -22.833333 164 - -56.333333 -22.833333 234 - -56.166667 -22.833333 468 - -56.000000 -22.833333 313 - -55.833333 -22.833333 396 - -55.666667 -22.833333 596 - -55.500000 -22.833333 496 - -55.333333 -22.833333 470 - -55.166667 -22.833333 415 - -55.000000 -22.833333 402 - -54.833333 -22.833333 321 - -54.666667 -22.833333 369 - -54.500000 -22.833333 361 - -54.333333 -22.833333 363 - -54.166667 -22.833333 381 - -54.000000 -22.833333 308 - -53.833333 -22.833333 354 - -53.666667 -22.833333 241 - -53.500000 -22.833333 238 - -53.333333 -22.833333 288 - -53.166667 -22.833333 384 - -53.000000 -22.833333 346 - -52.833333 -22.833333 407 - -52.666667 -22.833333 471 - -52.500000 -22.833333 437 - -52.333333 -22.833333 394 - -52.166667 -22.833333 427 - -52.000000 -22.833333 394 - -51.833333 -22.833333 385 - -51.666667 -22.833333 454 - -51.500000 -22.833333 435 - -51.333333 -22.833333 330 - -51.166667 -22.833333 333 - -51.000000 -22.833333 333 - -50.833333 -22.833333 334 - -50.666667 -22.833333 411 - -50.500000 -22.833333 429 - -50.333333 -22.833333 444 - -50.166667 -22.833333 467 - -50.000000 -22.833333 428 - -49.833333 -22.833333 466 - -49.666667 -22.833333 587 - -49.500000 -22.833333 611 - -49.333333 -22.833333 643 - -49.166667 -22.833333 627 - -49.000000 -22.833333 680 - -48.833333 -22.833333 737 - -48.666667 -22.833333 718 - -48.500000 -22.833333 779 - -48.333333 -22.833333 588 - -48.166667 -22.833333 504 - -48.000000 -22.833333 486 - -47.833333 -22.833333 531 - -47.666667 -22.833333 588 - -47.500000 -22.833333 621 - -47.333333 -22.833333 598 - -47.166667 -22.833333 611 - -47.000000 -22.833333 684 - -46.833333 -22.833333 831 - -46.666667 -22.833333 852 - -46.500000 -22.833333 990 - -46.333333 -22.833333 937 - -46.166667 -22.833333 1207 - -46.000000 -22.833333 1501 - -45.833333 -22.833333 1538 - -45.666667 -22.833333 1160 - -45.500000 -22.833333 733 - -45.333333 -22.833333 553 - -45.166667 -22.833333 599 - -45.000000 -22.833333 1082 - -44.833333 -22.833333 1094 - -44.666667 -22.833333 1594 - -44.500000 -22.833333 1449 - -44.333333 -22.833333 1093 - -44.166667 -22.833333 720 - -44.000000 -22.833333 482 - -43.833333 -22.833333 23 - -43.666667 -22.833333 9 - -43.500000 -22.833333 180 - -43.333333 -22.833333 17 - -43.166667 -22.833333 0 - -43.000000 -22.833333 30 - -42.833333 -22.833333 63 - -42.666667 -22.833333 253 - -42.500000 -22.833333 194 - -42.333333 -22.833333 24 - -42.166667 -22.833333 53 - -42.000000 -22.833333 17 - -41.833333 -22.833333 -39 - -41.666667 -22.833333 -54 - -41.500000 -22.833333 -67 - -41.333333 -22.833333 -67 - -41.166667 -22.833333 -75 - -41.000000 -22.833333 -100 - -40.833333 -22.833333 -100 - -40.666667 -22.833333 -736 - -40.500000 -22.833333 -1232 - -40.333333 -22.833333 -1394 - -40.166667 -22.833333 -2080 - -40.000000 -22.833333 -2607 - -65.000000 -23.000000 4207 - -64.833333 -23.000000 1785 - -64.666667 -23.000000 1216 - -64.500000 -23.000000 703 - -64.333333 -23.000000 336 - -64.166667 -23.000000 519 - -64.000000 -23.000000 385 - -63.833333 -23.000000 322 - -63.666667 -23.000000 273 - -63.500000 -23.000000 253 - -63.333333 -23.000000 243 - -63.166667 -23.000000 237 - -63.000000 -23.000000 229 - -62.833333 -23.000000 228 - -62.666667 -23.000000 225 - -62.500000 -23.000000 221 - -62.333333 -23.000000 220 - -62.166667 -23.000000 214 - -62.000000 -23.000000 211 - -61.833333 -23.000000 207 - -61.666667 -23.000000 196 - -61.500000 -23.000000 193 - -61.333333 -23.000000 183 - -61.166667 -23.000000 181 - -61.000000 -23.000000 171 - -60.833333 -23.000000 164 - -60.666667 -23.000000 158 - -60.500000 -23.000000 153 - -60.333333 -23.000000 147 - -60.166667 -23.000000 139 - -60.000000 -23.000000 133 - -59.833333 -23.000000 127 - -59.666667 -23.000000 120 - -59.500000 -23.000000 117 - -59.333333 -23.000000 113 - -59.166667 -23.000000 108 - -59.000000 -23.000000 106 - -58.833333 -23.000000 103 - -58.666667 -23.000000 99 - -58.500000 -23.000000 96 - -58.333333 -23.000000 92 - -58.166667 -23.000000 91 - -58.000000 -23.000000 86 - -57.833333 -23.000000 77 - -57.666667 -23.000000 79 - -57.500000 -23.000000 101 - -57.333333 -23.000000 91 - -57.166667 -23.000000 141 - -57.000000 -23.000000 119 - -56.833333 -23.000000 129 - -56.666667 -23.000000 134 - -56.500000 -23.000000 237 - -56.333333 -23.000000 351 - -56.166667 -23.000000 278 - -56.000000 -23.000000 241 - -55.833333 -23.000000 339 - -55.666667 -23.000000 306 - -55.500000 -23.000000 482 - -55.333333 -23.000000 410 - -55.166667 -23.000000 402 - -55.000000 -23.000000 385 - -54.833333 -23.000000 429 - -54.666667 -23.000000 296 - -54.500000 -23.000000 285 - -54.333333 -23.000000 328 - -54.166667 -23.000000 339 - -54.000000 -23.000000 295 - -53.833333 -23.000000 309 - -53.666667 -23.000000 235 - -53.500000 -23.000000 332 - -53.333333 -23.000000 344 - -53.166667 -23.000000 419 - -53.000000 -23.000000 383 - -52.833333 -23.000000 429 - -52.666667 -23.000000 453 - -52.500000 -23.000000 466 - -52.333333 -23.000000 425 - -52.166667 -23.000000 462 - -52.000000 -23.000000 383 - -51.833333 -23.000000 422 - -51.666667 -23.000000 499 - -51.500000 -23.000000 586 - -51.333333 -23.000000 404 - -51.166667 -23.000000 573 - -51.000000 -23.000000 366 - -50.833333 -23.000000 428 - -50.666667 -23.000000 378 - -50.500000 -23.000000 390 - -50.333333 -23.000000 428 - -50.166667 -23.000000 438 - -50.000000 -23.000000 471 - -49.833333 -23.000000 500 - -49.666667 -23.000000 507 - -49.500000 -23.000000 670 - -49.333333 -23.000000 717 - -49.166667 -23.000000 691 - -49.000000 -23.000000 709 - -48.833333 -23.000000 723 - -48.666667 -23.000000 758 - -48.500000 -23.000000 859 - -48.333333 -23.000000 800 - -48.166667 -23.000000 571 - -48.000000 -23.000000 501 - -47.833333 -23.000000 528 - -47.666667 -23.000000 515 - -47.500000 -23.000000 519 - -47.333333 -23.000000 604 - -47.166667 -23.000000 622 - -47.000000 -23.000000 719 - -46.833333 -23.000000 772 - -46.666667 -23.000000 778 - -46.500000 -23.000000 888 - -46.333333 -23.000000 878 - -46.166667 -23.000000 1193 - -46.000000 -23.000000 727 - -45.833333 -23.000000 671 - -45.666667 -23.000000 550 - -45.500000 -23.000000 562 - -45.333333 -23.000000 827 - -45.166667 -23.000000 975 - -45.000000 -23.000000 937 - -44.833333 -23.000000 1173 - -44.666667 -23.000000 893 - -44.500000 -23.000000 352 - -44.333333 -23.000000 165 - -44.166667 -23.000000 496 - -44.000000 -23.000000 -1 - -43.833333 -23.000000 -5 - -43.666667 -23.000000 -1 - -43.500000 -23.000000 5 - -43.333333 -23.000000 8 - -43.166667 -23.000000 -23 - -43.000000 -23.000000 -21 - -42.833333 -23.000000 -24 - -42.666667 -23.000000 -40 - -42.500000 -23.000000 -58 - -42.333333 -23.000000 -61 - -42.166667 -23.000000 -65 - -42.000000 -23.000000 88 - -41.833333 -23.000000 -67 - -41.666667 -23.000000 -89 - -41.500000 -23.000000 -74 - -41.333333 -23.000000 -78 - -41.166667 -23.000000 -91 - -41.000000 -23.000000 -85 - -40.833333 -23.000000 -603 - -40.666667 -23.000000 -1279 - -40.500000 -23.000000 -1783 - -40.333333 -23.000000 -2338 - -40.166667 -23.000000 -2476 - -40.000000 -23.000000 -2713 - -65.000000 -23.166667 3467 - -64.833333 -23.166667 2763 - -64.666667 -23.166667 718 - -64.500000 -23.166667 613 - -64.333333 -23.166667 364 - -64.166667 -23.166667 412 - -64.000000 -23.166667 280 - -63.833333 -23.166667 276 - -63.666667 -23.166667 265 - -63.500000 -23.166667 254 - -63.333333 -23.166667 245 - -63.166667 -23.166667 241 - -63.000000 -23.166667 230 - -62.833333 -23.166667 223 - -62.666667 -23.166667 220 - -62.500000 -23.166667 216 - -62.333333 -23.166667 213 - -62.166667 -23.166667 209 - -62.000000 -23.166667 206 - -61.833333 -23.166667 199 - -61.666667 -23.166667 192 - -61.500000 -23.166667 187 - -61.333333 -23.166667 185 - -61.166667 -23.166667 177 - -61.000000 -23.166667 166 - -60.833333 -23.166667 161 - -60.666667 -23.166667 158 - -60.500000 -23.166667 150 - -60.333333 -23.166667 148 - -60.166667 -23.166667 141 - -60.000000 -23.166667 133 - -59.833333 -23.166667 128 - -59.666667 -23.166667 121 - -59.500000 -23.166667 117 - -59.333333 -23.166667 115 - -59.166667 -23.166667 111 - -59.000000 -23.166667 110 - -58.833333 -23.166667 104 - -58.666667 -23.166667 101 - -58.500000 -23.166667 96 - -58.333333 -23.166667 94 - -58.166667 -23.166667 90 - -58.000000 -23.166667 85 - -57.833333 -23.166667 81 - -57.666667 -23.166667 76 - -57.500000 -23.166667 121 - -57.333333 -23.166667 137 - -57.166667 -23.166667 101 - -57.000000 -23.166667 107 - -56.833333 -23.166667 157 - -56.666667 -23.166667 268 - -56.500000 -23.166667 305 - -56.333333 -23.166667 211 - -56.166667 -23.166667 229 - -56.000000 -23.166667 369 - -55.833333 -23.166667 230 - -55.666667 -23.166667 402 - -55.500000 -23.166667 466 - -55.333333 -23.166667 470 - -55.166667 -23.166667 451 - -55.000000 -23.166667 442 - -54.833333 -23.166667 377 - -54.666667 -23.166667 376 - -54.500000 -23.166667 344 - -54.333333 -23.166667 351 - -54.166667 -23.166667 252 - -54.000000 -23.166667 240 - -53.833333 -23.166667 272 - -53.666667 -23.166667 235 - -53.500000 -23.166667 240 - -53.333333 -23.166667 267 - -53.166667 -23.166667 323 - -53.000000 -23.166667 331 - -52.833333 -23.166667 377 - -52.666667 -23.166667 314 - -52.500000 -23.166667 399 - -52.333333 -23.166667 442 - -52.166667 -23.166667 492 - -52.000000 -23.166667 420 - -51.833333 -23.166667 565 - -51.666667 -23.166667 575 - -51.500000 -23.166667 580 - -51.333333 -23.166667 521 - -51.166667 -23.166667 568 - -51.000000 -23.166667 377 - -50.833333 -23.166667 427 - -50.666667 -23.166667 589 - -50.500000 -23.166667 428 - -50.333333 -23.166667 507 - -50.166667 -23.166667 442 - -50.000000 -23.166667 532 - -49.833333 -23.166667 518 - -49.666667 -23.166667 607 - -49.500000 -23.166667 581 - -49.333333 -23.166667 539 - -49.166667 -23.166667 624 - -49.000000 -23.166667 613 - -48.833333 -23.166667 744 - -48.666667 -23.166667 673 - -48.500000 -23.166667 676 - -48.333333 -23.166667 651 - -48.166667 -23.166667 546 - -48.000000 -23.166667 533 - -47.833333 -23.166667 532 - -47.666667 -23.166667 543 - -47.500000 -23.166667 520 - -47.333333 -23.166667 541 - -47.166667 -23.166667 684 - -47.000000 -23.166667 733 - -46.833333 -23.166667 779 - -46.666667 -23.166667 867 - -46.500000 -23.166667 1087 - -46.333333 -23.166667 889 - -46.166667 -23.166667 770 - -46.000000 -23.166667 642 - -45.833333 -23.166667 573 - -45.666667 -23.166667 628 - -45.500000 -23.166667 680 - -45.333333 -23.166667 866 - -45.166667 -23.166667 893 - -45.000000 -23.166667 1211 - -44.833333 -23.166667 1465 - -44.666667 -23.166667 0 - -44.500000 -23.166667 -24 - -44.333333 -23.166667 217 - -44.166667 -23.166667 323 - -44.000000 -23.166667 -28 - -43.833333 -23.166667 -36 - -43.666667 -23.166667 -42 - -43.500000 -23.166667 -46 - -43.333333 -23.166667 -57 - -43.166667 -23.166667 -63 - -43.000000 -23.166667 -74 - -42.833333 -23.166667 -78 - -42.666667 -23.166667 -92 - -42.500000 -23.166667 -103 - -42.333333 -23.166667 -109 - -42.166667 -23.166667 -115 - -42.000000 -23.166667 -123 - -41.833333 -23.166667 -111 - -41.666667 -23.166667 -106 - -41.500000 -23.166667 -92 - -41.333333 -23.166667 -92 - -41.166667 -23.166667 -110 - -41.000000 -23.166667 -198 - -40.833333 -23.166667 -1362 - -40.666667 -23.166667 -1951 - -40.500000 -23.166667 -2195 - -40.333333 -23.166667 -2486 - -40.166667 -23.166667 -2661 - -40.000000 -23.166667 -2769 - -65.000000 -23.333333 3771 - -64.833333 -23.333333 2319 - -64.666667 -23.333333 726 - -64.500000 -23.333333 472 - -64.333333 -23.333333 330 - -64.166667 -23.333333 300 - -64.000000 -23.333333 284 - -63.833333 -23.333333 275 - -63.666667 -23.333333 266 - -63.500000 -23.333333 254 - -63.333333 -23.333333 246 - -63.166667 -23.333333 236 - -63.000000 -23.333333 228 - -62.833333 -23.333333 222 - -62.666667 -23.333333 216 - -62.500000 -23.333333 211 - -62.333333 -23.333333 210 - -62.166667 -23.333333 205 - -62.000000 -23.333333 198 - -61.833333 -23.333333 197 - -61.666667 -23.333333 190 - -61.500000 -23.333333 187 - -61.333333 -23.333333 177 - -61.166667 -23.333333 170 - -61.000000 -23.333333 165 - -60.833333 -23.333333 160 - -60.666667 -23.333333 154 - -60.500000 -23.333333 150 - -60.333333 -23.333333 144 - -60.166667 -23.333333 139 - -60.000000 -23.333333 134 - -59.833333 -23.333333 129 - -59.666667 -23.333333 121 - -59.500000 -23.333333 121 - -59.333333 -23.333333 115 - -59.166667 -23.333333 110 - -59.000000 -23.333333 107 - -58.833333 -23.333333 104 - -58.666667 -23.333333 99 - -58.500000 -23.333333 99 - -58.333333 -23.333333 95 - -58.166667 -23.333333 92 - -58.000000 -23.333333 85 - -57.833333 -23.333333 80 - -57.666667 -23.333333 76 - -57.500000 -23.333333 71 - -57.333333 -23.333333 126 - -57.166667 -23.333333 173 - -57.000000 -23.333333 168 - -56.833333 -23.333333 208 - -56.666667 -23.333333 206 - -56.500000 -23.333333 242 - -56.333333 -23.333333 184 - -56.166667 -23.333333 200 - -56.000000 -23.333333 332 - -55.833333 -23.333333 280 - -55.666667 -23.333333 416 - -55.500000 -23.333333 492 - -55.333333 -23.333333 440 - -55.166667 -23.333333 360 - -55.000000 -23.333333 337 - -54.833333 -23.333333 357 - -54.666667 -23.333333 355 - -54.500000 -23.333333 382 - -54.333333 -23.333333 289 - -54.166667 -23.333333 315 - -54.000000 -23.333333 271 - -53.833333 -23.333333 230 - -53.666667 -23.333333 285 - -53.500000 -23.333333 327 - -53.333333 -23.333333 373 - -53.166667 -23.333333 360 - -53.000000 -23.333333 347 - -52.833333 -23.333333 367 - -52.666667 -23.333333 273 - -52.500000 -23.333333 340 - -52.333333 -23.333333 424 - -52.166667 -23.333333 513 - -52.000000 -23.333333 463 - -51.833333 -23.333333 432 - -51.666667 -23.333333 600 - -51.500000 -23.333333 743 - -51.333333 -23.333333 635 - -51.166667 -23.333333 547 - -51.000000 -23.333333 408 - -50.833333 -23.333333 526 - -50.666667 -23.333333 487 - -50.500000 -23.333333 515 - -50.333333 -23.333333 593 - -50.166667 -23.333333 491 - -50.000000 -23.333333 525 - -49.833333 -23.333333 574 - -49.666667 -23.333333 481 - -49.500000 -23.333333 822 - -49.333333 -23.333333 676 - -49.166667 -23.333333 580 - -49.000000 -23.333333 570 - -48.833333 -23.333333 640 - -48.666667 -23.333333 563 - -48.500000 -23.333333 624 - -48.333333 -23.333333 633 - -48.166667 -23.333333 698 - -48.000000 -23.333333 612 - -47.833333 -23.333333 609 - -47.666667 -23.333333 565 - -47.500000 -23.333333 567 - -47.333333 -23.333333 626 - -47.166667 -23.333333 675 - -47.000000 -23.333333 734 - -46.833333 -23.333333 763 - -46.666667 -23.333333 792 - -46.500000 -23.333333 849 - -46.333333 -23.333333 715 - -46.166667 -23.333333 707 - -46.000000 -23.333333 619 - -45.833333 -23.333333 644 - -45.666667 -23.333333 688 - -45.500000 -23.333333 793 - -45.333333 -23.333333 932 - -45.166667 -23.333333 1023 - -45.000000 -23.333333 300 - -44.833333 -23.333333 174 - -44.666667 -23.333333 65 - -44.500000 -23.333333 -23 - -44.333333 -23.333333 -32 - -44.166667 -23.333333 -43 - -44.000000 -23.333333 -58 - -43.833333 -23.333333 -60 - -43.666667 -23.333333 -66 - -43.500000 -23.333333 -78 - -43.333333 -23.333333 -87 - -43.166667 -23.333333 -108 - -43.000000 -23.333333 -104 - -42.833333 -23.333333 -106 - -42.666667 -23.333333 -106 - -42.500000 -23.333333 -117 - -42.333333 -23.333333 -127 - -42.166667 -23.333333 -131 - -42.000000 -23.333333 -133 - -41.833333 -23.333333 -133 - -41.666667 -23.333333 -128 - -41.500000 -23.333333 -113 - -41.333333 -23.333333 -98 - -41.166667 -23.333333 -125 - -41.000000 -23.333333 -757 - -40.833333 -23.333333 -1859 - -40.666667 -23.333333 -2259 - -40.500000 -23.333333 -2516 - -40.333333 -23.333333 -2610 - -40.166667 -23.333333 -2743 - -40.000000 -23.333333 -2832 - -65.000000 -23.500000 2130 - -64.833333 -23.500000 2474 - -64.666667 -23.500000 885 - -64.500000 -23.500000 541 - -64.333333 -23.500000 323 - -64.166667 -23.500000 311 - -64.000000 -23.500000 336 - -63.833333 -23.500000 349 - -63.666667 -23.500000 282 - -63.500000 -23.500000 252 - -63.333333 -23.500000 244 - -63.166667 -23.500000 235 - -63.000000 -23.500000 228 - -62.833333 -23.500000 220 - -62.666667 -23.500000 214 - -62.500000 -23.500000 210 - -62.333333 -23.500000 203 - -62.166667 -23.500000 197 - -62.000000 -23.500000 195 - -61.833333 -23.500000 194 - -61.666667 -23.500000 187 - -61.500000 -23.500000 177 - -61.333333 -23.500000 174 - -61.166667 -23.500000 171 - -61.000000 -23.500000 164 - -60.833333 -23.500000 156 - -60.666667 -23.500000 155 - -60.500000 -23.500000 143 - -60.333333 -23.500000 140 - -60.166667 -23.500000 137 - -60.000000 -23.500000 130 - -59.833333 -23.500000 128 - -59.666667 -23.500000 120 - -59.500000 -23.500000 117 - -59.333333 -23.500000 113 - -59.166667 -23.500000 110 - -59.000000 -23.500000 108 - -58.833333 -23.500000 101 - -58.666667 -23.500000 97 - -58.500000 -23.500000 94 - -58.333333 -23.500000 90 - -58.166667 -23.500000 88 - -58.000000 -23.500000 83 - -57.833333 -23.500000 78 - -57.666667 -23.500000 78 - -57.500000 -23.500000 69 - -57.333333 -23.500000 82 - -57.166667 -23.500000 94 - -57.000000 -23.500000 145 - -56.833333 -23.500000 224 - -56.666667 -23.500000 199 - -56.500000 -23.500000 192 - -56.333333 -23.500000 334 - -56.166667 -23.500000 373 - -56.000000 -23.500000 311 - -55.833333 -23.500000 269 - -55.666667 -23.500000 425 - -55.500000 -23.500000 390 - -55.333333 -23.500000 376 - -55.166667 -23.500000 377 - -55.000000 -23.500000 318 - -54.833333 -23.500000 297 - -54.666667 -23.500000 367 - -54.500000 -23.500000 392 - -54.333333 -23.500000 341 - -54.166667 -23.500000 317 - -54.000000 -23.500000 228 - -53.833333 -23.500000 315 - -53.666667 -23.500000 365 - -53.500000 -23.500000 398 - -53.333333 -23.500000 406 - -53.166667 -23.500000 366 - -53.000000 -23.500000 322 - -52.833333 -23.500000 441 - -52.666667 -23.500000 413 - -52.500000 -23.500000 319 - -52.333333 -23.500000 356 - -52.166667 -23.500000 345 - -52.000000 -23.500000 452 - -51.833333 -23.500000 519 - -51.666667 -23.500000 641 - -51.500000 -23.500000 626 - -51.333333 -23.500000 732 - -51.166667 -23.500000 530 - -51.000000 -23.500000 483 - -50.833333 -23.500000 571 - -50.666667 -23.500000 710 - -50.500000 -23.500000 759 - -50.333333 -23.500000 655 - -50.166667 -23.500000 493 - -50.000000 -23.500000 517 - -49.833333 -23.500000 648 - -49.666667 -23.500000 489 - -49.500000 -23.500000 493 - -49.333333 -23.500000 654 - -49.166667 -23.500000 589 - -49.000000 -23.500000 664 - -48.833333 -23.500000 648 - -48.666667 -23.500000 614 - -48.500000 -23.500000 608 - -48.333333 -23.500000 741 - -48.166667 -23.500000 715 - -48.000000 -23.500000 741 - -47.833333 -23.500000 555 - -47.666667 -23.500000 600 - -47.500000 -23.500000 605 - -47.333333 -23.500000 702 - -47.166667 -23.500000 791 - -47.000000 -23.500000 878 - -46.833333 -23.500000 760 - -46.666667 -23.500000 744 - -46.500000 -23.500000 768 - -46.333333 -23.500000 739 - -46.166667 -23.500000 753 - -46.000000 -23.500000 732 - -45.833333 -23.500000 889 - -45.666667 -23.500000 1058 - -45.500000 -23.500000 746 - -45.333333 -23.500000 818 - -45.166667 -23.500000 20 - -45.000000 -23.500000 -22 - -44.833333 -23.500000 -28 - -44.666667 -23.500000 -36 - -44.500000 -23.500000 -49 - -44.333333 -23.500000 -51 - -44.166667 -23.500000 -26 - -44.000000 -23.500000 -76 - -43.833333 -23.500000 -92 - -43.666667 -23.500000 -92 - -43.500000 -23.500000 -117 - -43.333333 -23.500000 -119 - -43.166667 -23.500000 -119 - -43.000000 -23.500000 -113 - -42.833333 -23.500000 -124 - -42.666667 -23.500000 -127 - -42.500000 -23.500000 -129 - -42.333333 -23.500000 -137 - -42.166667 -23.500000 -163 - -42.000000 -23.500000 -212 - -41.833333 -23.500000 -142 - -41.666667 -23.500000 -141 - -41.500000 -23.500000 -135 - -41.333333 -23.500000 -113 - -41.166667 -23.500000 -486 - -41.000000 -23.500000 -1556 - -40.833333 -23.500000 -2064 - -40.666667 -23.500000 -2472 - -40.500000 -23.500000 -2691 - -40.333333 -23.500000 -2784 - -40.166667 -23.500000 -2833 - -40.000000 -23.500000 -2901 - -65.000000 -23.666667 1912 - -64.833333 -23.666667 1336 - -64.666667 -23.666667 902 - -64.500000 -23.666667 367 - -64.333333 -23.666667 352 - -64.166667 -23.666667 357 - -64.000000 -23.666667 438 - -63.833333 -23.666667 506 - -63.666667 -23.666667 294 - -63.500000 -23.666667 246 - -63.333333 -23.666667 241 - -63.166667 -23.666667 232 - -63.000000 -23.666667 224 - -62.833333 -23.666667 216 - -62.666667 -23.666667 213 - -62.500000 -23.666667 207 - -62.333333 -23.666667 204 - -62.166667 -23.666667 198 - -62.000000 -23.666667 192 - -61.833333 -23.666667 187 - -61.666667 -23.666667 181 - -61.500000 -23.666667 179 - -61.333333 -23.666667 170 - -61.166667 -23.666667 169 - -61.000000 -23.666667 164 - -60.833333 -23.666667 156 - -60.666667 -23.666667 152 - -60.500000 -23.666667 146 - -60.333333 -23.666667 138 - -60.166667 -23.666667 136 - -60.000000 -23.666667 131 - -59.833333 -23.666667 124 - -59.666667 -23.666667 118 - -59.500000 -23.666667 116 - -59.333333 -23.666667 114 - -59.166667 -23.666667 109 - -59.000000 -23.666667 105 - -58.833333 -23.666667 101 - -58.666667 -23.666667 98 - -58.500000 -23.666667 94 - -58.333333 -23.666667 94 - -58.166667 -23.666667 87 - -58.000000 -23.666667 88 - -57.833333 -23.666667 78 - -57.666667 -23.666667 78 - -57.500000 -23.666667 70 - -57.333333 -23.666667 78 - -57.166667 -23.666667 97 - -57.000000 -23.666667 161 - -56.833333 -23.666667 216 - -56.666667 -23.666667 137 - -56.500000 -23.666667 159 - -56.333333 -23.666667 251 - -56.166667 -23.666667 264 - -56.000000 -23.666667 187 - -55.833333 -23.666667 228 - -55.666667 -23.666667 239 - -55.500000 -23.666667 389 - -55.333333 -23.666667 365 - -55.166667 -23.666667 377 - -55.000000 -23.666667 376 - -54.833333 -23.666667 381 - -54.666667 -23.666667 251 - -54.500000 -23.666667 308 - -54.333333 -23.666667 373 - -54.166667 -23.666667 294 - -54.000000 -23.666667 228 - -53.833333 -23.666667 262 - -53.666667 -23.666667 312 - -53.500000 -23.666667 408 - -53.333333 -23.666667 450 - -53.166667 -23.666667 345 - -53.000000 -23.666667 432 - -52.833333 -23.666667 494 - -52.666667 -23.666667 469 - -52.500000 -23.666667 427 - -52.333333 -23.666667 364 - -52.166667 -23.666667 316 - -52.000000 -23.666667 384 - -51.833333 -23.666667 481 - -51.666667 -23.666667 588 - -51.500000 -23.666667 578 - -51.333333 -23.666667 727 - -51.166667 -23.666667 642 - -51.000000 -23.666667 660 - -50.833333 -23.666667 773 - -50.666667 -23.666667 857 - -50.500000 -23.666667 764 - -50.333333 -23.666667 567 - -50.166667 -23.666667 527 - -50.000000 -23.666667 566 - -49.833333 -23.666667 662 - -49.666667 -23.666667 576 - -49.500000 -23.666667 525 - -49.333333 -23.666667 602 - -49.166667 -23.666667 652 - -49.000000 -23.666667 648 - -48.833333 -23.666667 755 - -48.666667 -23.666667 632 - -48.500000 -23.666667 631 - -48.333333 -23.666667 712 - -48.166667 -23.666667 673 - -48.000000 -23.666667 644 - -47.833333 -23.666667 659 - -47.666667 -23.666667 608 - -47.500000 -23.666667 748 - -47.333333 -23.666667 920 - -47.166667 -23.666667 892 - -47.000000 -23.666667 927 - -46.833333 -23.666667 790 - -46.666667 -23.666667 780 - -46.500000 -23.666667 769 - -46.333333 -23.666667 800 - -46.166667 -23.666667 788 - -46.000000 -23.666667 802 - -45.833333 -23.666667 931 - -45.666667 -23.666667 802 - -45.500000 -23.666667 64 - -45.333333 -23.666667 -1 - -45.166667 -23.666667 -21 - -45.000000 -23.666667 -34 - -44.833333 -23.666667 -46 - -44.666667 -23.666667 -36 - -44.500000 -23.666667 -60 - -44.333333 -23.666667 -76 - -44.166667 -23.666667 -85 - -44.000000 -23.666667 -99 - -43.833333 -23.666667 -106 - -43.666667 -23.666667 -116 - -43.500000 -23.666667 -115 - -43.333333 -23.666667 -121 - -43.166667 -23.666667 -117 - -43.000000 -23.666667 -122 - -42.833333 -23.666667 -124 - -42.666667 -23.666667 -151 - -42.500000 -23.666667 -202 - -42.333333 -23.666667 -352 - -42.166667 -23.666667 -414 - -42.000000 -23.666667 -408 - -41.833333 -23.666667 -241 - -41.666667 -23.666667 -151 - -41.500000 -23.666667 -294 - -41.333333 -23.666667 -652 - -41.166667 -23.666667 -1257 - -41.000000 -23.666667 -1869 - -40.833333 -23.666667 -2198 - -40.666667 -23.666667 -2537 - -40.500000 -23.666667 -2722 - -40.333333 -23.666667 -2851 - -40.166667 -23.666667 -3020 - -40.000000 -23.666667 -2977 - -65.000000 -23.833333 1195 - -64.833333 -23.833333 637 - -64.666667 -23.833333 377 - -64.500000 -23.833333 532 - -64.333333 -23.833333 523 - -64.166667 -23.833333 427 - -64.000000 -23.833333 481 - -63.833333 -23.833333 348 - -63.666667 -23.833333 266 - -63.500000 -23.833333 235 - -63.333333 -23.833333 233 - -63.166667 -23.833333 228 - -63.000000 -23.833333 221 - -62.833333 -23.833333 214 - -62.666667 -23.833333 209 - -62.500000 -23.833333 203 - -62.333333 -23.833333 202 - -62.166667 -23.833333 195 - -62.000000 -23.833333 189 - -61.833333 -23.833333 184 - -61.666667 -23.833333 181 - -61.500000 -23.833333 174 - -61.333333 -23.833333 169 - -61.166667 -23.833333 165 - -61.000000 -23.833333 158 - -60.833333 -23.833333 157 - -60.666667 -23.833333 155 - -60.500000 -23.833333 148 - -60.333333 -23.833333 140 - -60.166667 -23.833333 137 - -60.000000 -23.833333 130 - -59.833333 -23.833333 122 - -59.666667 -23.833333 118 - -59.500000 -23.833333 117 - -59.333333 -23.833333 114 - -59.166667 -23.833333 110 - -59.000000 -23.833333 103 - -58.833333 -23.833333 102 - -58.666667 -23.833333 101 - -58.500000 -23.833333 96 - -58.333333 -23.833333 91 - -58.166667 -23.833333 88 - -58.000000 -23.833333 85 - -57.833333 -23.833333 82 - -57.666667 -23.833333 79 - -57.500000 -23.833333 71 - -57.333333 -23.833333 68 - -57.166667 -23.833333 77 - -57.000000 -23.833333 123 - -56.833333 -23.833333 171 - -56.666667 -23.833333 176 - -56.500000 -23.833333 154 - -56.333333 -23.833333 176 - -56.166667 -23.833333 219 - -56.000000 -23.833333 153 - -55.833333 -23.833333 216 - -55.666667 -23.833333 232 - -55.500000 -23.833333 372 - -55.333333 -23.833333 387 - -55.166667 -23.833333 377 - -55.000000 -23.833333 342 - -54.833333 -23.833333 300 - -54.666667 -23.833333 358 - -54.500000 -23.833333 302 - -54.333333 -23.833333 237 - -54.166667 -23.833333 262 - -54.000000 -23.833333 226 - -53.833333 -23.833333 365 - -53.666667 -23.833333 335 - -53.500000 -23.833333 311 - -53.333333 -23.833333 449 - -53.166667 -23.833333 411 - -53.000000 -23.833333 387 - -52.833333 -23.833333 491 - -52.666667 -23.833333 548 - -52.500000 -23.833333 521 - -52.333333 -23.833333 425 - -52.166667 -23.833333 371 - -52.000000 -23.833333 337 - -51.833333 -23.833333 440 - -51.666667 -23.833333 487 - -51.500000 -23.833333 455 - -51.333333 -23.833333 779 - -51.166667 -23.833333 884 - -51.000000 -23.833333 746 - -50.833333 -23.833333 666 - -50.666667 -23.833333 921 - -50.500000 -23.833333 617 - -50.333333 -23.833333 607 - -50.166667 -23.833333 713 - -50.000000 -23.833333 647 - -49.833333 -23.833333 624 - -49.666667 -23.833333 595 - -49.500000 -23.833333 566 - -49.333333 -23.833333 589 - -49.166667 -23.833333 630 - -49.000000 -23.833333 622 - -48.833333 -23.833333 697 - -48.666667 -23.833333 678 - -48.500000 -23.833333 681 - -48.333333 -23.833333 632 - -48.166667 -23.833333 656 - -48.000000 -23.833333 713 - -47.833333 -23.833333 726 - -47.666667 -23.833333 740 - -47.500000 -23.833333 997 - -47.333333 -23.833333 1013 - -47.166667 -23.833333 899 - -47.000000 -23.833333 869 - -46.833333 -23.833333 769 - -46.666667 -23.833333 785 - -46.500000 -23.833333 751 - -46.333333 -23.833333 267 - -46.166667 -23.833333 14 - -46.000000 -23.833333 -2 - -45.833333 -23.833333 -3 - -45.666667 -23.833333 -9 - -45.500000 -23.833333 129 - -45.333333 -23.833333 504 - -45.166667 -23.833333 -5 - -45.000000 -23.833333 -45 - -44.833333 -23.833333 -74 - -44.666667 -23.833333 -93 - -44.500000 -23.833333 -83 - -44.333333 -23.833333 -96 - -44.166667 -23.833333 -112 - -44.000000 -23.833333 -114 - -43.833333 -23.833333 -124 - -43.666667 -23.833333 -129 - -43.500000 -23.833333 -137 - -43.333333 -23.833333 -132 - -43.166667 -23.833333 -161 - -43.000000 -23.833333 -185 - -42.833333 -23.833333 -324 - -42.666667 -23.833333 -510 - -42.500000 -23.833333 -591 - -42.333333 -23.833333 -688 - -42.166667 -23.833333 -688 - -42.000000 -23.833333 -732 - -41.833333 -23.833333 -783 - -41.666667 -23.833333 -897 - -41.500000 -23.833333 -954 - -41.333333 -23.833333 -1230 - -41.166667 -23.833333 -1623 - -41.000000 -23.833333 -2013 - -40.833333 -23.833333 -2357 - -40.666667 -23.833333 -2497 - -40.500000 -23.833333 -2765 - -40.333333 -23.833333 -2848 - -40.166667 -23.833333 -2928 - -40.000000 -23.833333 -2999 - -65.000000 -24.000000 823 - -64.833333 -24.000000 578 - -64.666667 -24.000000 391 - -64.500000 -24.000000 978 - -64.333333 -24.000000 762 - -64.166667 -24.000000 572 - -64.000000 -24.000000 392 - -63.833333 -24.000000 317 - -63.666667 -24.000000 262 - -63.500000 -24.000000 230 - -63.333333 -24.000000 224 - -63.166667 -24.000000 221 - -63.000000 -24.000000 216 - -62.833333 -24.000000 212 - -62.666667 -24.000000 206 - -62.500000 -24.000000 200 - -62.333333 -24.000000 194 - -62.166667 -24.000000 192 - -62.000000 -24.000000 187 - -61.833333 -24.000000 183 - -61.666667 -24.000000 178 - -61.500000 -24.000000 172 - -61.333333 -24.000000 166 - -61.166667 -24.000000 162 - -61.000000 -24.000000 156 - -60.833333 -24.000000 153 - -60.666667 -24.000000 149 - -60.500000 -24.000000 145 - -60.333333 -24.000000 140 - -60.166667 -24.000000 134 - -60.000000 -24.000000 129 - -59.833333 -24.000000 125 - -59.666667 -24.000000 117 - -59.500000 -24.000000 113 - -59.333333 -24.000000 114 - -59.166667 -24.000000 110 - -59.000000 -24.000000 104 - -58.833333 -24.000000 101 - -58.666667 -24.000000 99 - -58.500000 -24.000000 95 - -58.333333 -24.000000 91 - -58.166667 -24.000000 91 - -58.000000 -24.000000 82 - -57.833333 -24.000000 81 - -57.666667 -24.000000 73 - -57.500000 -24.000000 70 - -57.333333 -24.000000 68 - -57.166667 -24.000000 70 - -57.000000 -24.000000 112 - -56.833333 -24.000000 97 - -56.666667 -24.000000 91 - -56.500000 -24.000000 170 - -56.333333 -24.000000 184 - -56.166667 -24.000000 241 - -56.000000 -24.000000 191 - -55.833333 -24.000000 172 - -55.666667 -24.000000 211 - -55.500000 -24.000000 227 - -55.333333 -24.000000 439 - -55.166667 -24.000000 403 - -55.000000 -24.000000 364 - -54.833333 -24.000000 326 - -54.666667 -24.000000 313 - -54.500000 -24.000000 279 - -54.333333 -24.000000 301 - -54.166667 -24.000000 220 - -54.000000 -24.000000 228 - -53.833333 -24.000000 275 - -53.666667 -24.000000 349 - -53.500000 -24.000000 361 - -53.333333 -24.000000 369 - -53.166667 -24.000000 408 - -53.000000 -24.000000 424 - -52.833333 -24.000000 402 - -52.666667 -24.000000 535 - -52.500000 -24.000000 587 - -52.333333 -24.000000 540 - -52.166667 -24.000000 427 - -52.000000 -24.000000 358 - -51.833333 -24.000000 459 - -51.666667 -24.000000 374 - -51.500000 -24.000000 595 - -51.333333 -24.000000 798 - -51.166667 -24.000000 865 - -51.000000 -24.000000 747 - -50.833333 -24.000000 686 - -50.666667 -24.000000 590 - -50.500000 -24.000000 768 - -50.333333 -24.000000 692 - -50.166667 -24.000000 728 - -50.000000 -24.000000 610 - -49.833333 -24.000000 834 - -49.666667 -24.000000 655 - -49.500000 -24.000000 564 - -49.333333 -24.000000 624 - -49.166667 -24.000000 635 - -49.000000 -24.000000 703 - -48.833333 -24.000000 683 - -48.666667 -24.000000 682 - -48.500000 -24.000000 722 - -48.333333 -24.000000 707 - -48.166667 -24.000000 637 - -48.000000 -24.000000 721 - -47.833333 -24.000000 758 - -47.666667 -24.000000 752 - -47.500000 -24.000000 791 - -47.333333 -24.000000 637 - -47.166667 -24.000000 691 - -47.000000 -24.000000 750 - -46.833333 -24.000000 662 - -46.666667 -24.000000 219 - -46.500000 -24.000000 9 - -46.333333 -24.000000 -1 - -46.166667 -24.000000 -5 - -46.000000 -24.000000 -22 - -45.833333 -24.000000 -25 - -45.666667 -24.000000 -29 - -45.500000 -24.000000 -27 - -45.333333 -24.000000 -33 - -45.166667 -24.000000 -74 - -45.000000 -24.000000 -77 - -44.833333 -24.000000 -80 - -44.666667 -24.000000 -95 - -44.500000 -24.000000 -131 - -44.333333 -24.000000 -135 - -44.166667 -24.000000 -134 - -44.000000 -24.000000 -127 - -43.833333 -24.000000 -136 - -43.666667 -24.000000 -158 - -43.500000 -24.000000 -151 - -43.333333 -24.000000 -160 - -43.166667 -24.000000 -309 - -43.000000 -24.000000 -504 - -42.833333 -24.000000 -606 - -42.666667 -24.000000 -711 - -42.500000 -24.000000 -839 - -42.333333 -24.000000 -946 - -42.166667 -24.000000 -1085 - -42.000000 -24.000000 -1164 - -41.833333 -24.000000 -1306 - -41.666667 -24.000000 -1453 - -41.500000 -24.000000 -1447 - -41.333333 -24.000000 -1776 - -41.166667 -24.000000 -2155 - -41.000000 -24.000000 -2373 - -40.833333 -24.000000 -2460 - -40.666667 -24.000000 -2721 - -40.500000 -24.000000 -2856 - -40.333333 -24.000000 -2938 - -40.166667 -24.000000 -2961 - -40.000000 -24.000000 -2997 - -65.000000 -24.166667 1170 - -64.833333 -24.166667 487 - -64.666667 -24.166667 449 - -64.500000 -24.166667 2346 - -64.333333 -24.166667 1639 - -64.166667 -24.166667 883 - -64.000000 -24.166667 373 - -63.833333 -24.166667 289 - -63.666667 -24.166667 261 - -63.500000 -24.166667 244 - -63.333333 -24.166667 227 - -63.166667 -24.166667 219 - -63.000000 -24.166667 213 - -62.833333 -24.166667 208 - -62.666667 -24.166667 204 - -62.500000 -24.166667 198 - -62.333333 -24.166667 191 - -62.166667 -24.166667 187 - -62.000000 -24.166667 182 - -61.833333 -24.166667 179 - -61.666667 -24.166667 174 - -61.500000 -24.166667 169 - -61.333333 -24.166667 164 - -61.166667 -24.166667 161 - -61.000000 -24.166667 155 - -60.833333 -24.166667 150 - -60.666667 -24.166667 144 - -60.500000 -24.166667 145 - -60.333333 -24.166667 141 - -60.166667 -24.166667 136 - -60.000000 -24.166667 132 - -59.833333 -24.166667 123 - -59.666667 -24.166667 121 - -59.500000 -24.166667 114 - -59.333333 -24.166667 111 - -59.166667 -24.166667 108 - -59.000000 -24.166667 105 - -58.833333 -24.166667 102 - -58.666667 -24.166667 99 - -58.500000 -24.166667 95 - -58.333333 -24.166667 90 - -58.166667 -24.166667 87 - -58.000000 -24.166667 82 - -57.833333 -24.166667 77 - -57.666667 -24.166667 74 - -57.500000 -24.166667 73 - -57.333333 -24.166667 69 - -57.166667 -24.166667 75 - -57.000000 -24.166667 76 - -56.833333 -24.166667 89 - -56.666667 -24.166667 195 - -56.500000 -24.166667 171 - -56.333333 -24.166667 150 - -56.166667 -24.166667 139 - -56.000000 -24.166667 223 - -55.833333 -24.166667 176 - -55.666667 -24.166667 175 - -55.500000 -24.166667 173 - -55.333333 -24.166667 193 - -55.166667 -24.166667 295 - -55.000000 -24.166667 347 - -54.833333 -24.166667 356 - -54.666667 -24.166667 347 - -54.500000 -24.166667 291 - -54.333333 -24.166667 235 - -54.166667 -24.166667 321 - -54.000000 -24.166667 263 - -53.833333 -24.166667 249 - -53.666667 -24.166667 274 - -53.500000 -24.166667 350 - -53.333333 -24.166667 350 - -53.166667 -24.166667 425 - -53.000000 -24.166667 444 - -52.833333 -24.166667 541 - -52.666667 -24.166667 541 - -52.500000 -24.166667 653 - -52.333333 -24.166667 599 - -52.166667 -24.166667 532 - -52.000000 -24.166667 432 - -51.833333 -24.166667 535 - -51.666667 -24.166667 617 - -51.500000 -24.166667 526 - -51.333333 -24.166667 430 - -51.166667 -24.166667 661 - -51.000000 -24.166667 819 - -50.833333 -24.166667 744 - -50.666667 -24.166667 691 - -50.500000 -24.166667 845 - -50.333333 -24.166667 912 - -50.166667 -24.166667 806 - -50.000000 -24.166667 765 - -49.833333 -24.166667 860 - -49.666667 -24.166667 813 - -49.500000 -24.166667 742 - -49.333333 -24.166667 822 - -49.166667 -24.166667 881 - -49.000000 -24.166667 889 - -48.833333 -24.166667 951 - -48.666667 -24.166667 865 - -48.500000 -24.166667 789 - -48.333333 -24.166667 814 - -48.166667 -24.166667 840 - -48.000000 -24.166667 744 - -47.833333 -24.166667 242 - -47.666667 -24.166667 128 - -47.500000 -24.166667 309 - -47.333333 -24.166667 77 - -47.166667 -24.166667 331 - -47.000000 -24.166667 81 - -46.833333 -24.166667 12 - -46.666667 -24.166667 -4 - -46.500000 -24.166667 -19 - -46.333333 -24.166667 -24 - -46.166667 -24.166667 -26 - -46.000000 -24.166667 -30 - -45.833333 -24.166667 -26 - -45.666667 -24.166667 -30 - -45.500000 -24.166667 -54 - -45.333333 -24.166667 -81 - -45.166667 -24.166667 -70 - -45.000000 -24.166667 -65 - -44.833333 -24.166667 -92 - -44.666667 -24.166667 -125 - -44.500000 -24.166667 -125 - -44.333333 -24.166667 -150 - -44.166667 -24.166667 -147 - -44.000000 -24.166667 -169 - -43.833333 -24.166667 -187 - -43.666667 -24.166667 -181 - -43.500000 -24.166667 -271 - -43.333333 -24.166667 -511 - -43.166667 -24.166667 -639 - -43.000000 -24.166667 -825 - -42.833333 -24.166667 -997 - -42.666667 -24.166667 -1131 - -42.500000 -24.166667 -1241 - -42.333333 -24.166667 -1378 - -42.166667 -24.166667 -1484 - -42.000000 -24.166667 -1499 - -41.833333 -24.166667 -1668 - -41.666667 -24.166667 -1761 - -41.500000 -24.166667 -1861 - -41.333333 -24.166667 -2099 - -41.166667 -24.166667 -2253 - -41.000000 -24.166667 -2486 - -40.833333 -24.166667 -2754 - -40.666667 -24.166667 -2834 - -40.500000 -24.166667 -2888 - -40.333333 -24.166667 -2907 - -40.166667 -24.166667 -3016 - -40.000000 -24.166667 -3053 - -65.000000 -24.333333 861 - -64.833333 -24.333333 556 - -64.666667 -24.333333 579 - -64.500000 -24.333333 1292 - -64.333333 -24.333333 1278 - -64.166667 -24.333333 514 - -64.000000 -24.333333 359 - -63.833333 -24.333333 313 - -63.666667 -24.333333 275 - -63.500000 -24.333333 249 - -63.333333 -24.333333 235 - -63.166667 -24.333333 226 - -63.000000 -24.333333 219 - -62.833333 -24.333333 209 - -62.666667 -24.333333 201 - -62.500000 -24.333333 193 - -62.333333 -24.333333 189 - -62.166667 -24.333333 184 - -62.000000 -24.333333 180 - -61.833333 -24.333333 177 - -61.666667 -24.333333 170 - -61.500000 -24.333333 164 - -61.333333 -24.333333 154 - -61.166667 -24.333333 155 - -61.000000 -24.333333 153 - -60.833333 -24.333333 146 - -60.666667 -24.333333 143 - -60.500000 -24.333333 140 - -60.333333 -24.333333 135 - -60.166667 -24.333333 130 - -60.000000 -24.333333 128 - -59.833333 -24.333333 125 - -59.666667 -24.333333 118 - -59.500000 -24.333333 113 - -59.333333 -24.333333 109 - -59.166667 -24.333333 107 - -59.000000 -24.333333 103 - -58.833333 -24.333333 99 - -58.666667 -24.333333 97 - -58.500000 -24.333333 92 - -58.333333 -24.333333 88 - -58.166667 -24.333333 86 - -58.000000 -24.333333 83 - -57.833333 -24.333333 78 - -57.666667 -24.333333 73 - -57.500000 -24.333333 72 - -57.333333 -24.333333 69 - -57.166667 -24.333333 65 - -57.000000 -24.333333 68 - -56.833333 -24.333333 121 - -56.666667 -24.333333 190 - -56.500000 -24.333333 231 - -56.333333 -24.333333 199 - -56.166667 -24.333333 213 - -56.000000 -24.333333 267 - -55.833333 -24.333333 221 - -55.666667 -24.333333 237 - -55.500000 -24.333333 199 - -55.333333 -24.333333 233 - -55.166667 -24.333333 252 - -55.000000 -24.333333 364 - -54.833333 -24.333333 328 - -54.666667 -24.333333 307 - -54.500000 -24.333333 292 - -54.333333 -24.333333 313 - -54.166667 -24.333333 363 - -54.000000 -24.333333 318 - -53.833333 -24.333333 351 - -53.666667 -24.333333 355 - -53.500000 -24.333333 394 - -53.333333 -24.333333 334 - -53.166667 -24.333333 406 - -53.000000 -24.333333 421 - -52.833333 -24.333333 551 - -52.666667 -24.333333 632 - -52.500000 -24.333333 764 - -52.333333 -24.333333 687 - -52.166667 -24.333333 534 - -52.000000 -24.333333 448 - -51.833333 -24.333333 575 - -51.666667 -24.333333 774 - -51.500000 -24.333333 439 - -51.333333 -24.333333 704 - -51.166667 -24.333333 606 - -51.000000 -24.333333 544 - -50.833333 -24.333333 823 - -50.666667 -24.333333 762 - -50.500000 -24.333333 793 - -50.333333 -24.333333 978 - -50.166667 -24.333333 970 - -50.000000 -24.333333 1054 - -49.833333 -24.333333 1146 - -49.666667 -24.333333 1212 - -49.500000 -24.333333 925 - -49.333333 -24.333333 902 - -49.166667 -24.333333 1002 - -49.000000 -24.333333 962 - -48.833333 -24.333333 978 - -48.666667 -24.333333 934 - -48.500000 -24.333333 689 - -48.333333 -24.333333 864 - -48.166667 -24.333333 161 - -48.000000 -24.333333 48 - -47.833333 -24.333333 21 - -47.666667 -24.333333 27 - -47.500000 -24.333333 129 - -47.333333 -24.333333 467 - -47.166667 -24.333333 198 - -47.000000 -24.333333 5 - -46.833333 -24.333333 -1 - -46.666667 -24.333333 -24 - -46.500000 -24.333333 -22 - -46.333333 -24.333333 -26 - -46.166667 -24.333333 -1 - -46.000000 -24.333333 -46 - -45.833333 -24.333333 -49 - -45.666667 -24.333333 -48 - -45.500000 -24.333333 -46 - -45.333333 -24.333333 -63 - -45.166667 -24.333333 -75 - -45.000000 -24.333333 -79 - -44.833333 -24.333333 -124 - -44.666667 -24.333333 -108 - -44.500000 -24.333333 -158 - -44.333333 -24.333333 -156 - -44.166667 -24.333333 -317 - -44.000000 -24.333333 -436 - -43.833333 -24.333333 -540 - -43.666667 -24.333333 -688 - -43.500000 -24.333333 -821 - -43.333333 -24.333333 -908 - -43.166667 -24.333333 -1065 - -43.000000 -24.333333 -1186 - -42.833333 -24.333333 -1338 - -42.666667 -24.333333 -1475 - -42.500000 -24.333333 -1577 - -42.333333 -24.333333 -1572 - -42.166667 -24.333333 -1548 - -42.000000 -24.333333 -1708 - -41.833333 -24.333333 -1969 - -41.666667 -24.333333 -2045 - -41.500000 -24.333333 -2103 - -41.333333 -24.333333 -2220 - -41.166667 -24.333333 -2410 - -41.000000 -24.333333 -2629 - -40.833333 -24.333333 -2789 - -40.666667 -24.333333 -2847 - -40.500000 -24.333333 -2966 - -40.333333 -24.333333 -3013 - -40.166667 -24.333333 -3029 - -40.000000 -24.333333 -3031 - -65.000000 -24.500000 712 - -64.833333 -24.500000 558 - -64.666667 -24.500000 757 - -64.500000 -24.500000 1887 - -64.333333 -24.500000 810 - -64.166667 -24.500000 445 - -64.000000 -24.500000 366 - -63.833333 -24.500000 325 - -63.666667 -24.500000 290 - -63.500000 -24.500000 262 - -63.333333 -24.500000 245 - -63.166667 -24.500000 238 - -63.000000 -24.500000 227 - -62.833333 -24.500000 214 - -62.666667 -24.500000 206 - -62.500000 -24.500000 196 - -62.333333 -24.500000 189 - -62.166667 -24.500000 184 - -62.000000 -24.500000 177 - -61.833333 -24.500000 169 - -61.666667 -24.500000 167 - -61.500000 -24.500000 163 - -61.333333 -24.500000 158 - -61.166667 -24.500000 153 - -61.000000 -24.500000 149 - -60.833333 -24.500000 146 - -60.666667 -24.500000 140 - -60.500000 -24.500000 135 - -60.333333 -24.500000 132 - -60.166667 -24.500000 127 - -60.000000 -24.500000 123 - -59.833333 -24.500000 120 - -59.666667 -24.500000 115 - -59.500000 -24.500000 108 - -59.333333 -24.500000 109 - -59.166667 -24.500000 104 - -59.000000 -24.500000 100 - -58.833333 -24.500000 98 - -58.666667 -24.500000 93 - -58.500000 -24.500000 92 - -58.333333 -24.500000 87 - -58.166667 -24.500000 86 - -58.000000 -24.500000 78 - -57.833333 -24.500000 76 - -57.666667 -24.500000 75 - -57.500000 -24.500000 71 - -57.333333 -24.500000 68 - -57.166667 -24.500000 62 - -57.000000 -24.500000 73 - -56.833333 -24.500000 99 - -56.666667 -24.500000 126 - -56.500000 -24.500000 248 - -56.333333 -24.500000 232 - -56.166667 -24.500000 307 - -56.000000 -24.500000 152 - -55.833333 -24.500000 217 - -55.666667 -24.500000 220 - -55.500000 -24.500000 246 - -55.333333 -24.500000 293 - -55.166667 -24.500000 344 - -55.000000 -24.500000 356 - -54.833333 -24.500000 387 - -54.666667 -24.500000 291 - -54.500000 -24.500000 271 - -54.333333 -24.500000 217 - -54.166667 -24.500000 308 - -54.000000 -24.500000 394 - -53.833333 -24.500000 435 - -53.666667 -24.500000 436 - -53.500000 -24.500000 469 - -53.333333 -24.500000 440 - -53.166667 -24.500000 321 - -53.000000 -24.500000 432 - -52.833333 -24.500000 415 - -52.666667 -24.500000 488 - -52.500000 -24.500000 616 - -52.333333 -24.500000 813 - -52.166667 -24.500000 688 - -52.000000 -24.500000 567 - -51.833333 -24.500000 604 - -51.666667 -24.500000 882 - -51.500000 -24.500000 600 - -51.333333 -24.500000 701 - -51.166667 -24.500000 827 - -51.000000 -24.500000 630 - -50.833333 -24.500000 912 - -50.666667 -24.500000 776 - -50.500000 -24.500000 741 - -50.333333 -24.500000 772 - -50.166667 -24.500000 1128 - -50.000000 -24.500000 1083 - -49.833333 -24.500000 1041 - -49.666667 -24.500000 971 - -49.500000 -24.500000 1003 - -49.333333 -24.500000 839 - -49.166667 -24.500000 729 - -49.000000 -24.500000 850 - -48.833333 -24.500000 977 - -48.666667 -24.500000 667 - -48.500000 -24.500000 278 - -48.333333 -24.500000 316 - -48.166667 -24.500000 104 - -48.000000 -24.500000 96 - -47.833333 -24.500000 15 - -47.666667 -24.500000 12 - -47.500000 -24.500000 12 - -47.333333 -24.500000 13 - -47.166667 -24.500000 13 - -47.000000 -24.500000 -12 - -46.833333 -24.500000 -24 - -46.666667 -24.500000 -9 - -46.500000 -24.500000 -31 - -46.333333 -24.500000 -36 - -46.166667 -24.500000 -44 - -46.000000 -24.500000 -56 - -45.833333 -24.500000 -58 - -45.666667 -24.500000 -58 - -45.500000 -24.500000 -58 - -45.333333 -24.500000 -63 - -45.166667 -24.500000 -43 - -45.000000 -24.500000 -137 - -44.833333 -24.500000 -133 - -44.666667 -24.500000 -157 - -44.500000 -24.500000 -196 - -44.333333 -24.500000 -437 - -44.166667 -24.500000 -537 - -44.000000 -24.500000 -670 - -43.833333 -24.500000 -841 - -43.666667 -24.500000 -906 - -43.500000 -24.500000 -1177 - -43.333333 -24.500000 -1394 - -43.166667 -24.500000 -1445 - -43.000000 -24.500000 -1477 - -42.833333 -24.500000 -1607 - -42.666667 -24.500000 -1640 - -42.500000 -24.500000 -1720 - -42.333333 -24.500000 -1803 - -42.166667 -24.500000 -1850 - -42.000000 -24.500000 -2009 - -41.833333 -24.500000 -2143 - -41.666667 -24.500000 -2277 - -41.500000 -24.500000 -2370 - -41.333333 -24.500000 -2388 - -41.166667 -24.500000 -2639 - -41.000000 -24.500000 -2722 - -40.833333 -24.500000 -2794 - -40.666667 -24.500000 -2848 - -40.500000 -24.500000 -2940 - -40.333333 -24.500000 -3036 - -40.166667 -24.500000 -3061 - -40.000000 -24.500000 -3041 - -65.000000 -24.666667 678 - -64.833333 -24.666667 910 - -64.666667 -24.666667 1227 - -64.500000 -24.666667 1296 - -64.333333 -24.666667 594 - -64.166667 -24.666667 451 - -64.000000 -24.666667 386 - -63.833333 -24.666667 332 - -63.666667 -24.666667 293 - -63.500000 -24.666667 266 - -63.333333 -24.666667 258 - -63.166667 -24.666667 245 - -63.000000 -24.666667 232 - -62.833333 -24.666667 222 - -62.666667 -24.666667 212 - -62.500000 -24.666667 202 - -62.333333 -24.666667 193 - -62.166667 -24.666667 184 - -62.000000 -24.666667 173 - -61.833333 -24.666667 168 - -61.666667 -24.666667 161 - -61.500000 -24.666667 156 - -61.333333 -24.666667 154 - -61.166667 -24.666667 150 - -61.000000 -24.666667 149 - -60.833333 -24.666667 143 - -60.666667 -24.666667 137 - -60.500000 -24.666667 134 - -60.333333 -24.666667 127 - -60.166667 -24.666667 124 - -60.000000 -24.666667 121 - -59.833333 -24.666667 122 - -59.666667 -24.666667 115 - -59.500000 -24.666667 111 - -59.333333 -24.666667 104 - -59.166667 -24.666667 103 - -59.000000 -24.666667 100 - -58.833333 -24.666667 95 - -58.666667 -24.666667 90 - -58.500000 -24.666667 87 - -58.333333 -24.666667 85 - -58.166667 -24.666667 84 - -58.000000 -24.666667 78 - -57.833333 -24.666667 75 - -57.666667 -24.666667 72 - -57.500000 -24.666667 69 - -57.333333 -24.666667 67 - -57.166667 -24.666667 61 - -57.000000 -24.666667 66 - -56.833333 -24.666667 81 - -56.666667 -24.666667 101 - -56.500000 -24.666667 138 - -56.333333 -24.666667 249 - -56.166667 -24.666667 217 - -56.000000 -24.666667 244 - -55.833333 -24.666667 207 - -55.666667 -24.666667 290 - -55.500000 -24.666667 263 - -55.333333 -24.666667 262 - -55.166667 -24.666667 349 - -55.000000 -24.666667 351 - -54.833333 -24.666667 265 - -54.666667 -24.666667 252 - -54.500000 -24.666667 276 - -54.333333 -24.666667 217 - -54.166667 -24.666667 271 - -54.000000 -24.666667 321 - -53.833333 -24.666667 513 - -53.666667 -24.666667 506 - -53.500000 -24.666667 565 - -53.333333 -24.666667 573 - -53.166667 -24.666667 457 - -53.000000 -24.666667 379 - -52.833333 -24.666667 489 - -52.666667 -24.666667 438 - -52.500000 -24.666667 647 - -52.333333 -24.666667 655 - -52.166667 -24.666667 830 - -52.000000 -24.666667 827 - -51.833333 -24.666667 845 - -51.666667 -24.666667 814 - -51.500000 -24.666667 611 - -51.333333 -24.666667 931 - -51.166667 -24.666667 776 - -51.000000 -24.666667 786 - -50.833333 -24.666667 915 - -50.666667 -24.666667 893 - -50.500000 -24.666667 812 - -50.333333 -24.666667 916 - -50.166667 -24.666667 1100 - -50.000000 -24.666667 1021 - -49.833333 -24.666667 1014 - -49.666667 -24.666667 1048 - -49.500000 -24.666667 901 - -49.333333 -24.666667 640 - -49.166667 -24.666667 316 - -49.000000 -24.666667 409 - -48.833333 -24.666667 164 - -48.666667 -24.666667 286 - -48.500000 -24.666667 704 - -48.333333 -24.666667 153 - -48.166667 -24.666667 149 - -48.000000 -24.666667 49 - -47.833333 -24.666667 21 - -47.666667 -24.666667 12 - -47.500000 -24.666667 124 - -47.333333 -24.666667 -3 - -47.166667 -24.666667 -15 - -47.000000 -24.666667 -25 - -46.833333 -24.666667 -30 - -46.666667 -24.666667 -35 - -46.500000 -24.666667 -43 - -46.333333 -24.666667 -49 - -46.166667 -24.666667 -63 - -46.000000 -24.666667 -55 - -45.833333 -24.666667 -60 - -45.666667 -24.666667 -60 - -45.500000 -24.666667 -140 - -45.333333 -24.666667 -69 - -45.166667 -24.666667 -84 - -45.000000 -24.666667 -121 - -44.833333 -24.666667 -132 - -44.666667 -24.666667 -140 - -44.500000 -24.666667 -369 - -44.333333 -24.666667 -548 - -44.166667 -24.666667 -664 - -44.000000 -24.666667 -1031 - -43.833333 -24.666667 -1239 - -43.666667 -24.666667 -1464 - -43.500000 -24.666667 -1573 - -43.333333 -24.666667 -1609 - -43.166667 -24.666667 -1717 - -43.000000 -24.666667 -1836 - -42.833333 -24.666667 -1942 - -42.666667 -24.666667 -2102 - -42.500000 -24.666667 -2030 - -42.333333 -24.666667 -2091 - -42.166667 -24.666667 -2119 - -42.000000 -24.666667 -2232 - -41.833333 -24.666667 -2263 - -41.666667 -24.666667 -2241 - -41.500000 -24.666667 -2505 - -41.333333 -24.666667 -2569 - -41.166667 -24.666667 -2652 - -41.000000 -24.666667 -2697 - -40.833333 -24.666667 -2772 - -40.666667 -24.666667 -2846 - -40.500000 -24.666667 -2958 - -40.333333 -24.666667 -2978 - -40.166667 -24.666667 -3071 - -40.000000 -24.666667 -3156 - -65.000000 -24.833333 804 - -64.833333 -24.833333 1283 - -64.666667 -24.833333 1553 - -64.500000 -24.833333 841 - -64.333333 -24.833333 590 - -64.166667 -24.833333 444 - -64.000000 -24.833333 382 - -63.833333 -24.833333 341 - -63.666667 -24.833333 299 - -63.500000 -24.833333 281 - -63.333333 -24.833333 266 - -63.166667 -24.833333 252 - -63.000000 -24.833333 241 - -62.833333 -24.833333 227 - -62.666667 -24.833333 217 - -62.500000 -24.833333 205 - -62.333333 -24.833333 193 - -62.166667 -24.833333 183 - -62.000000 -24.833333 175 - -61.833333 -24.833333 167 - -61.666667 -24.833333 161 - -61.500000 -24.833333 159 - -61.333333 -24.833333 151 - -61.166667 -24.833333 146 - -61.000000 -24.833333 144 - -60.833333 -24.833333 140 - -60.666667 -24.833333 133 - -60.500000 -24.833333 132 - -60.333333 -24.833333 124 - -60.166667 -24.833333 122 - -60.000000 -24.833333 118 - -59.833333 -24.833333 114 - -59.666667 -24.833333 115 - -59.500000 -24.833333 107 - -59.333333 -24.833333 105 - -59.166667 -24.833333 98 - -59.000000 -24.833333 96 - -58.833333 -24.833333 92 - -58.666667 -24.833333 90 - -58.500000 -24.833333 86 - -58.333333 -24.833333 81 - -58.166667 -24.833333 78 - -58.000000 -24.833333 78 - -57.833333 -24.833333 76 - -57.666667 -24.833333 72 - -57.500000 -24.833333 69 - -57.333333 -24.833333 65 - -57.166667 -24.833333 67 - -57.000000 -24.833333 66 - -56.833333 -24.833333 71 - -56.666667 -24.833333 82 - -56.500000 -24.833333 112 - -56.333333 -24.833333 201 - -56.166667 -24.833333 309 - -56.000000 -24.833333 348 - -55.833333 -24.833333 253 - -55.666667 -24.833333 292 - -55.500000 -24.833333 252 - -55.333333 -24.833333 222 - -55.166667 -24.833333 295 - -55.000000 -24.833333 334 - -54.833333 -24.833333 292 - -54.666667 -24.833333 234 - -54.500000 -24.833333 256 - -54.333333 -24.833333 228 - -54.166667 -24.833333 350 - -54.000000 -24.833333 408 - -53.833333 -24.833333 517 - -53.666667 -24.833333 564 - -53.500000 -24.833333 613 - -53.333333 -24.833333 659 - -53.166667 -24.833333 624 - -53.000000 -24.833333 575 - -52.833333 -24.833333 454 - -52.666667 -24.833333 491 - -52.500000 -24.833333 548 - -52.333333 -24.833333 667 - -52.166667 -24.833333 806 - -52.000000 -24.833333 892 - -51.833333 -24.833333 1083 - -51.666667 -24.833333 938 - -51.500000 -24.833333 927 - -51.333333 -24.833333 677 - -51.166667 -24.833333 548 - -51.000000 -24.833333 882 - -50.833333 -24.833333 1002 - -50.666667 -24.833333 947 - -50.500000 -24.833333 944 - -50.333333 -24.833333 802 - -50.166667 -24.833333 1126 - -50.000000 -24.833333 1021 - -49.833333 -24.833333 1041 - -49.666667 -24.833333 850 - -49.500000 -24.833333 694 - -49.333333 -24.833333 411 - -49.166667 -24.833333 744 - -49.000000 -24.833333 543 - -48.833333 -24.833333 569 - -48.666667 -24.833333 910 - -48.500000 -24.833333 341 - -48.333333 -24.833333 760 - -48.166667 -24.833333 377 - -48.000000 -24.833333 177 - -47.833333 -24.833333 218 - -47.666667 -24.833333 0 - -47.500000 -24.833333 -10 - -47.333333 -24.833333 -21 - -47.166667 -24.833333 -27 - -47.000000 -24.833333 -33 - -46.833333 -24.833333 -39 - -46.666667 -24.833333 -45 - -46.500000 -24.833333 -50 - -46.333333 -24.833333 -78 - -46.166667 -24.833333 -64 - -46.000000 -24.833333 -66 - -45.833333 -24.833333 -62 - -45.666667 -24.833333 -123 - -45.500000 -24.833333 -76 - -45.333333 -24.833333 -100 - -45.166667 -24.833333 -105 - -45.000000 -24.833333 -128 - -44.833333 -24.833333 -146 - -44.666667 -24.833333 -284 - -44.500000 -24.833333 -617 - -44.333333 -24.833333 -861 - -44.166667 -24.833333 -1090 - -44.000000 -24.833333 -1372 - -43.833333 -24.833333 -1779 - -43.666667 -24.833333 -1638 - -43.500000 -24.833333 -1751 - -43.333333 -24.833333 -1863 - -43.166667 -24.833333 -1923 - -43.000000 -24.833333 -2033 - -42.833333 -24.833333 -2016 - -42.666667 -24.833333 -2013 - -42.500000 -24.833333 -2098 - -42.333333 -24.833333 -2256 - -42.166667 -24.833333 -2267 - -42.000000 -24.833333 -2320 - -41.833333 -24.833333 -2364 - -41.666667 -24.833333 -2391 - -41.500000 -24.833333 -2513 - -41.333333 -24.833333 -2620 - -41.166667 -24.833333 -2588 - -41.000000 -24.833333 -2649 - -40.833333 -24.833333 -2878 - -40.666667 -24.833333 -2869 - -40.500000 -24.833333 -2939 - -40.333333 -24.833333 -3004 - -40.166667 -24.833333 -3138 - -40.000000 -24.833333 -3111 - -65.000000 -25.000000 965 - -64.833333 -25.000000 1297 - -64.666667 -25.000000 987 - -64.500000 -25.000000 648 - -64.333333 -25.000000 499 - -64.166667 -25.000000 416 - -64.000000 -25.000000 364 - -63.833333 -25.000000 330 - -63.666667 -25.000000 309 - -63.500000 -25.000000 291 - -63.333333 -25.000000 273 - -63.166667 -25.000000 260 - -63.000000 -25.000000 245 - -62.833333 -25.000000 233 - -62.666667 -25.000000 219 - -62.500000 -25.000000 207 - -62.333333 -25.000000 197 - -62.166667 -25.000000 187 - -62.000000 -25.000000 178 - -61.833333 -25.000000 168 - -61.666667 -25.000000 160 - -61.500000 -25.000000 152 - -61.333333 -25.000000 149 - -61.166667 -25.000000 146 - -61.000000 -25.000000 142 - -60.833333 -25.000000 132 - -60.666667 -25.000000 138 - -60.500000 -25.000000 132 - -60.333333 -25.000000 127 - -60.166667 -25.000000 120 - -60.000000 -25.000000 113 - -59.833333 -25.000000 112 - -59.666667 -25.000000 109 - -59.500000 -25.000000 102 - -59.333333 -25.000000 100 - -59.166667 -25.000000 98 - -59.000000 -25.000000 93 - -58.833333 -25.000000 90 - -58.666667 -25.000000 87 - -58.500000 -25.000000 84 - -58.333333 -25.000000 82 - -58.166667 -25.000000 80 - -58.000000 -25.000000 81 - -57.833333 -25.000000 71 - -57.666667 -25.000000 69 - -57.500000 -25.000000 65 - -57.333333 -25.000000 60 - -57.166667 -25.000000 106 - -57.000000 -25.000000 64 - -56.833333 -25.000000 69 - -56.666667 -25.000000 99 - -56.500000 -25.000000 99 - -56.333333 -25.000000 135 - -56.166667 -25.000000 234 - -56.000000 -25.000000 374 - -55.833333 -25.000000 296 - -55.666667 -25.000000 271 - -55.500000 -25.000000 242 - -55.333333 -25.000000 233 - -55.166667 -25.000000 262 - -55.000000 -25.000000 255 - -54.833333 -25.000000 317 - -54.666667 -25.000000 286 - -54.500000 -25.000000 240 - -54.333333 -25.000000 261 - -54.166667 -25.000000 394 - -54.000000 -25.000000 444 - -53.833333 -25.000000 560 - -53.666667 -25.000000 684 - -53.500000 -25.000000 732 - -53.333333 -25.000000 756 - -53.166667 -25.000000 727 - -53.000000 -25.000000 705 - -52.833333 -25.000000 570 - -52.666667 -25.000000 592 - -52.500000 -25.000000 524 - -52.333333 -25.000000 643 - -52.166667 -25.000000 712 - -52.000000 -25.000000 771 - -51.833333 -25.000000 899 - -51.666667 -25.000000 1056 - -51.500000 -25.000000 957 - -51.333333 -25.000000 1016 - -51.166667 -25.000000 570 - -51.000000 -25.000000 551 - -50.833333 -25.000000 854 - -50.666667 -25.000000 808 - -50.500000 -25.000000 799 - -50.333333 -25.000000 856 - -50.166667 -25.000000 868 - -50.000000 -25.000000 936 - -49.833333 -25.000000 910 - -49.666667 -25.000000 567 - -49.500000 -25.000000 513 - -49.333333 -25.000000 582 - -49.166667 -25.000000 764 - -49.000000 -25.000000 963 - -48.833333 -25.000000 891 - -48.666667 -25.000000 657 - -48.500000 -25.000000 875 - -48.333333 -25.000000 686 - -48.166667 -25.000000 306 - -48.000000 -25.000000 8 - -47.833333 -25.000000 -1 - -47.666667 -25.000000 -11 - -47.500000 -25.000000 -21 - -47.333333 -25.000000 -29 - -47.166667 -25.000000 -36 - -47.000000 -25.000000 -42 - -46.833333 -25.000000 -47 - -46.666667 -25.000000 -53 - -46.500000 -25.000000 -66 - -46.333333 -25.000000 -67 - -46.166667 -25.000000 -74 - -46.000000 -25.000000 -60 - -45.833333 -25.000000 -104 - -45.666667 -25.000000 -103 - -45.500000 -25.000000 -89 - -45.333333 -25.000000 -85 - -45.166667 -25.000000 -118 - -45.000000 -25.000000 -146 - -44.833333 -25.000000 -187 - -44.666667 -25.000000 -671 - -44.500000 -25.000000 -1135 - -44.333333 -25.000000 -1412 - -44.166667 -25.000000 -1616 - -44.000000 -25.000000 -1770 - -43.833333 -25.000000 -1818 - -43.666667 -25.000000 -1957 - -43.500000 -25.000000 -1978 - -43.333333 -25.000000 -2017 - -43.166667 -25.000000 -2096 - -43.000000 -25.000000 -2058 - -42.833333 -25.000000 -2160 - -42.666667 -25.000000 -2259 - -42.500000 -25.000000 -2238 - -42.333333 -25.000000 -2266 - -42.166667 -25.000000 -2246 - -42.000000 -25.000000 -2209 - -41.833333 -25.000000 -2295 - -41.666667 -25.000000 -2547 - -41.500000 -25.000000 -2623 - -41.333333 -25.000000 -2597 - -41.166667 -25.000000 -2613 - -41.000000 -25.000000 -2755 - -40.833333 -25.000000 -2822 - -40.666667 -25.000000 -2994 - -40.500000 -25.000000 -2974 - -40.333333 -25.000000 -3068 - -40.166667 -25.000000 -3034 - -40.000000 -25.000000 -3226 - -65.000000 -25.166667 817 - -64.833333 -25.166667 889 - -64.666667 -25.166667 715 - -64.500000 -25.166667 590 - -64.333333 -25.166667 421 - -64.166667 -25.166667 386 - -64.000000 -25.166667 357 - -63.833333 -25.166667 330 - -63.666667 -25.166667 312 - -63.500000 -25.166667 291 - -63.333333 -25.166667 275 - -63.166667 -25.166667 261 - -63.000000 -25.166667 245 - -62.833333 -25.166667 231 - -62.666667 -25.166667 220 - -62.500000 -25.166667 209 - -62.333333 -25.166667 196 - -62.166667 -25.166667 187 - -62.000000 -25.166667 177 - -61.833333 -25.166667 168 - -61.666667 -25.166667 160 - -61.500000 -25.166667 151 - -61.333333 -25.166667 145 - -61.166667 -25.166667 139 - -61.000000 -25.166667 139 - -60.833333 -25.166667 135 - -60.666667 -25.166667 129 - -60.500000 -25.166667 126 - -60.333333 -25.166667 123 - -60.166667 -25.166667 120 - -60.000000 -25.166667 117 - -59.833333 -25.166667 108 - -59.666667 -25.166667 105 - -59.500000 -25.166667 102 - -59.333333 -25.166667 97 - -59.166667 -25.166667 97 - -59.000000 -25.166667 92 - -58.833333 -25.166667 90 - -58.666667 -25.166667 83 - -58.500000 -25.166667 83 - -58.333333 -25.166667 81 - -58.166667 -25.166667 75 - -58.000000 -25.166667 70 - -57.833333 -25.166667 69 - -57.666667 -25.166667 67 - -57.500000 -25.166667 65 - -57.333333 -25.166667 190 - -57.166667 -25.166667 77 - -57.000000 -25.166667 91 - -56.833333 -25.166667 72 - -56.666667 -25.166667 78 - -56.500000 -25.166667 90 - -56.333333 -25.166667 149 - -56.166667 -25.166667 198 - -56.000000 -25.166667 283 - -55.833333 -25.166667 277 - -55.666667 -25.166667 259 - -55.500000 -25.166667 283 - -55.333333 -25.166667 226 - -55.166667 -25.166667 253 - -55.000000 -25.166667 230 - -54.833333 -25.166667 272 - -54.666667 -25.166667 285 - -54.500000 -25.166667 239 - -54.333333 -25.166667 270 - -54.166667 -25.166667 288 - -54.000000 -25.166667 567 - -53.833333 -25.166667 556 - -53.666667 -25.166667 564 - -53.500000 -25.166667 637 - -53.333333 -25.166667 613 - -53.166667 -25.166667 781 - -53.000000 -25.166667 685 - -52.833333 -25.166667 813 - -52.666667 -25.166667 806 - -52.500000 -25.166667 638 - -52.333333 -25.166667 743 - -52.166667 -25.166667 810 - -52.000000 -25.166667 986 - -51.833333 -25.166667 1027 - -51.666667 -25.166667 1125 - -51.500000 -25.166667 1135 - -51.333333 -25.166667 1156 - -51.166667 -25.166667 821 - -51.000000 -25.166667 773 - -50.833333 -25.166667 794 - -50.666667 -25.166667 840 - -50.500000 -25.166667 866 - -50.333333 -25.166667 861 - -50.166667 -25.166667 801 - -50.000000 -25.166667 1024 - -49.833333 -25.166667 787 - -49.666667 -25.166667 842 - -49.500000 -25.166667 728 - -49.333333 -25.166667 956 - -49.166667 -25.166667 1053 - -49.000000 -25.166667 938 - -48.833333 -25.166667 1008 - -48.666667 -25.166667 639 - -48.500000 -25.166667 288 - -48.333333 -25.166667 413 - -48.166667 -25.166667 691 - -48.000000 -25.166667 119 - -47.833333 -25.166667 -7 - -47.666667 -25.166667 -20 - -47.500000 -25.166667 -28 - -47.333333 -25.166667 -35 - -47.166667 -25.166667 -43 - -47.000000 -25.166667 -52 - -46.833333 -25.166667 -55 - -46.666667 -25.166667 -61 - -46.500000 -25.166667 -73 - -46.333333 -25.166667 -76 - -46.166667 -25.166667 -86 - -46.000000 -25.166667 -100 - -45.833333 -25.166667 -108 - -45.666667 -25.166667 -126 - -45.500000 -25.166667 -96 - -45.333333 -25.166667 -109 - -45.166667 -25.166667 -145 - -45.000000 -25.166667 -147 - -44.833333 -25.166667 -320 - -44.666667 -25.166667 -1226 - -44.500000 -25.166667 -1624 - -44.333333 -25.166667 -1779 - -44.166667 -25.166667 -1895 - -44.000000 -25.166667 -1950 - -43.833333 -25.166667 -2234 - -43.666667 -25.166667 -2217 - -43.500000 -25.166667 -2143 - -43.333333 -25.166667 -2121 - -43.166667 -25.166667 -2210 - -43.000000 -25.166667 -2206 - -42.833333 -25.166667 -2183 - -42.666667 -25.166667 -2200 - -42.500000 -25.166667 -2136 - -42.333333 -25.166667 -2203 - -42.166667 -25.166667 -2149 - -42.000000 -25.166667 -2253 - -41.833333 -25.166667 -2534 - -41.666667 -25.166667 -2575 - -41.500000 -25.166667 -2595 - -41.333333 -25.166667 -2674 - -41.166667 -25.166667 -2966 - -41.000000 -25.166667 -2725 - -40.833333 -25.166667 -2612 - -40.666667 -25.166667 -2856 - -40.500000 -25.166667 -3080 - -40.333333 -25.166667 -2957 - -40.166667 -25.166667 -3002 - -40.000000 -25.166667 -3045 - -65.000000 -25.333333 963 - -64.833333 -25.333333 614 - -64.666667 -25.333333 546 - -64.500000 -25.333333 522 - -64.333333 -25.333333 525 - -64.166667 -25.333333 385 - -64.000000 -25.333333 337 - -63.833333 -25.333333 319 - -63.666667 -25.333333 307 - -63.500000 -25.333333 291 - -63.333333 -25.333333 275 - -63.166667 -25.333333 259 - -63.000000 -25.333333 244 - -62.833333 -25.333333 234 - -62.666667 -25.333333 220 - -62.500000 -25.333333 210 - -62.333333 -25.333333 199 - -62.166667 -25.333333 188 - -62.000000 -25.333333 179 - -61.833333 -25.333333 169 - -61.666667 -25.333333 160 - -61.500000 -25.333333 152 - -61.333333 -25.333333 145 - -61.166667 -25.333333 139 - -61.000000 -25.333333 135 - -60.833333 -25.333333 131 - -60.666667 -25.333333 127 - -60.500000 -25.333333 122 - -60.333333 -25.333333 120 - -60.166667 -25.333333 116 - -60.000000 -25.333333 116 - -59.833333 -25.333333 107 - -59.666667 -25.333333 102 - -59.500000 -25.333333 100 - -59.333333 -25.333333 96 - -59.166667 -25.333333 97 - -59.000000 -25.333333 90 - -58.833333 -25.333333 87 - -58.666667 -25.333333 86 - -58.500000 -25.333333 82 - -58.333333 -25.333333 77 - -58.166667 -25.333333 74 - -58.000000 -25.333333 70 - -57.833333 -25.333333 67 - -57.666667 -25.333333 53 - -57.500000 -25.333333 114 - -57.333333 -25.333333 62 - -57.166667 -25.333333 214 - -57.000000 -25.333333 110 - -56.833333 -25.333333 160 - -56.666667 -25.333333 82 - -56.500000 -25.333333 111 - -56.333333 -25.333333 149 - -56.166667 -25.333333 150 - -56.000000 -25.333333 298 - -55.833333 -25.333333 326 - -55.666667 -25.333333 269 - -55.500000 -25.333333 239 - -55.333333 -25.333333 220 - -55.166667 -25.333333 220 - -55.000000 -25.333333 250 - -54.833333 -25.333333 223 - -54.666667 -25.333333 239 - -54.500000 -25.333333 217 - -54.333333 -25.333333 279 - -54.166667 -25.333333 387 - -54.000000 -25.333333 355 - -53.833333 -25.333333 378 - -53.666667 -25.333333 393 - -53.500000 -25.333333 427 - -53.333333 -25.333333 548 - -53.166667 -25.333333 589 - -53.000000 -25.333333 452 - -52.833333 -25.333333 710 - -52.666667 -25.333333 693 - -52.500000 -25.333333 751 - -52.333333 -25.333333 819 - -52.166667 -25.333333 817 - -52.000000 -25.333333 754 - -51.833333 -25.333333 970 - -51.666667 -25.333333 1005 - -51.500000 -25.333333 1042 - -51.333333 -25.333333 1102 - -51.166667 -25.333333 958 - -51.000000 -25.333333 793 - -50.833333 -25.333333 887 - -50.666667 -25.333333 850 - -50.500000 -25.333333 886 - -50.333333 -25.333333 830 - -50.166667 -25.333333 924 - -50.000000 -25.333333 830 - -49.833333 -25.333333 996 - -49.666667 -25.333333 775 - -49.500000 -25.333333 936 - -49.333333 -25.333333 980 - -49.166667 -25.333333 927 - -49.000000 -25.333333 899 - -48.833333 -25.333333 557 - -48.666667 -25.333333 59 - -48.500000 -25.333333 5 - -48.333333 -25.333333 0 - -48.166667 -25.333333 19 - -48.000000 -25.333333 -5 - -47.833333 -25.333333 -21 - -47.666667 -25.333333 -26 - -47.500000 -25.333333 -34 - -47.333333 -25.333333 -42 - -47.166667 -25.333333 -49 - -47.000000 -25.333333 -59 - -46.833333 -25.333333 -64 - -46.666667 -25.333333 -70 - -46.500000 -25.333333 -77 - -46.333333 -25.333333 -89 - -46.166667 -25.333333 -106 - -46.000000 -25.333333 -117 - -45.833333 -25.333333 -124 - -45.666667 -25.333333 -128 - -45.500000 -25.333333 -162 - -45.333333 -25.333333 -94 - -45.166667 -25.333333 -136 - -45.000000 -25.333333 -162 - -44.833333 -25.333333 -1002 - -44.666667 -25.333333 -1556 - -44.500000 -25.333333 -1768 - -44.333333 -25.333333 -1804 - -44.166667 -25.333333 -1980 - -44.000000 -25.333333 -2044 - -43.833333 -25.333333 -2144 - -43.666667 -25.333333 -2132 - -43.500000 -25.333333 -2120 - -43.333333 -25.333333 -2184 - -43.166667 -25.333333 -2210 - -43.000000 -25.333333 -2220 - -42.833333 -25.333333 -2170 - -42.666667 -25.333333 -2095 - -42.500000 -25.333333 -2234 - -42.333333 -25.333333 -2213 - -42.166667 -25.333333 -2254 - -42.000000 -25.333333 -2438 - -41.833333 -25.333333 -2466 - -41.666667 -25.333333 -2590 - -41.500000 -25.333333 -2658 - -41.333333 -25.333333 -2538 - -41.166667 -25.333333 -2722 - -41.000000 -25.333333 -2640 - -40.833333 -25.333333 -2786 - -40.666667 -25.333333 -2902 - -40.500000 -25.333333 -3196 - -40.333333 -25.333333 -3223 - -40.166667 -25.333333 -3137 - -40.000000 -25.333333 -3150 - -65.000000 -25.500000 983 - -64.833333 -25.500000 685 - -64.666667 -25.500000 568 - -64.500000 -25.500000 667 - -64.333333 -25.500000 553 - -64.166667 -25.500000 390 - -64.000000 -25.500000 318 - -63.833333 -25.500000 308 - -63.666667 -25.500000 291 - -63.500000 -25.500000 282 - -63.333333 -25.500000 270 - -63.166667 -25.500000 254 - -63.000000 -25.500000 243 - -62.833333 -25.500000 230 - -62.666667 -25.500000 220 - -62.500000 -25.500000 208 - -62.333333 -25.500000 198 - -62.166667 -25.500000 188 - -62.000000 -25.500000 178 - -61.833333 -25.500000 167 - -61.666667 -25.500000 160 - -61.500000 -25.500000 152 - -61.333333 -25.500000 146 - -61.166667 -25.500000 138 - -61.000000 -25.500000 131 - -60.833333 -25.500000 128 - -60.666667 -25.500000 124 - -60.500000 -25.500000 119 - -60.333333 -25.500000 114 - -60.166667 -25.500000 113 - -60.000000 -25.500000 109 - -59.833333 -25.500000 103 - -59.666667 -25.500000 103 - -59.500000 -25.500000 100 - -59.333333 -25.500000 95 - -59.166667 -25.500000 93 - -59.000000 -25.500000 91 - -58.833333 -25.500000 85 - -58.666667 -25.500000 80 - -58.500000 -25.500000 79 - -58.333333 -25.500000 72 - -58.166667 -25.500000 70 - -58.000000 -25.500000 68 - -57.833333 -25.500000 65 - -57.666667 -25.500000 64 - -57.500000 -25.500000 107 - -57.333333 -25.500000 130 - -57.166667 -25.500000 132 - -57.000000 -25.500000 252 - -56.833333 -25.500000 147 - -56.666667 -25.500000 114 - -56.500000 -25.500000 126 - -56.333333 -25.500000 204 - -56.166667 -25.500000 245 - -56.000000 -25.500000 295 - -55.833333 -25.500000 233 - -55.666667 -25.500000 218 - -55.500000 -25.500000 224 - -55.333333 -25.500000 256 - -55.166667 -25.500000 216 - -55.000000 -25.500000 230 - -54.833333 -25.500000 245 - -54.666667 -25.500000 215 - -54.500000 -25.500000 261 - -54.333333 -25.500000 284 - -54.166667 -25.500000 249 - -54.000000 -25.500000 285 - -53.833333 -25.500000 309 - -53.666667 -25.500000 273 - -53.500000 -25.500000 358 - -53.333333 -25.500000 378 - -53.166667 -25.500000 392 - -53.000000 -25.500000 463 - -52.833333 -25.500000 586 - -52.666667 -25.500000 607 - -52.500000 -25.500000 643 - -52.333333 -25.500000 773 - -52.166667 -25.500000 707 - -52.000000 -25.500000 805 - -51.833333 -25.500000 938 - -51.666667 -25.500000 961 - -51.500000 -25.500000 1073 - -51.333333 -25.500000 1138 - -51.166667 -25.500000 1191 - -51.000000 -25.500000 895 - -50.833333 -25.500000 823 - -50.666667 -25.500000 859 - -50.500000 -25.500000 823 - -50.333333 -25.500000 906 - -50.166667 -25.500000 840 - -50.000000 -25.500000 910 - -49.833333 -25.500000 928 - -49.666667 -25.500000 1085 - -49.500000 -25.500000 898 - -49.333333 -25.500000 892 - -49.166667 -25.500000 882 - -49.000000 -25.500000 953 - -48.833333 -25.500000 18 - -48.666667 -25.500000 4 - -48.500000 -25.500000 0 - -48.333333 -25.500000 11 - -48.166667 -25.500000 -6 - -48.000000 -25.500000 -20 - -47.833333 -25.500000 -26 - -47.666667 -25.500000 -34 - -47.500000 -25.500000 -42 - -47.333333 -25.500000 -49 - -47.166667 -25.500000 -58 - -47.000000 -25.500000 -72 - -46.833333 -25.500000 -77 - -46.666667 -25.500000 -92 - -46.500000 -25.500000 -104 - -46.333333 -25.500000 -122 - -46.166667 -25.500000 -151 - -46.000000 -25.500000 -143 - -45.833333 -25.500000 -147 - -45.666667 -25.500000 -172 - -45.500000 -25.500000 -144 - -45.333333 -25.500000 -158 - -45.166667 -25.500000 -145 - -45.000000 -25.500000 -666 - -44.833333 -25.500000 -1396 - -44.666667 -25.500000 -1757 - -44.500000 -25.500000 -1855 - -44.333333 -25.500000 -2033 - -44.166667 -25.500000 -2108 - -44.000000 -25.500000 -2046 - -43.833333 -25.500000 -2145 - -43.666667 -25.500000 -2139 - -43.500000 -25.500000 -2140 - -43.333333 -25.500000 -2152 - -43.166667 -25.500000 -2176 - -43.000000 -25.500000 -2125 - -42.833333 -25.500000 -2126 - -42.666667 -25.500000 -2182 - -42.500000 -25.500000 -2121 - -42.333333 -25.500000 -2316 - -42.166667 -25.500000 -2427 - -42.000000 -25.500000 -2360 - -41.833333 -25.500000 -2575 - -41.666667 -25.500000 -2591 - -41.500000 -25.500000 -2560 - -41.333333 -25.500000 -2592 - -41.166667 -25.500000 -2554 - -41.000000 -25.500000 -2940 - -40.833333 -25.500000 -2884 - -40.666667 -25.500000 -2949 - -40.500000 -25.500000 -3052 - -40.333333 -25.500000 -3219 - -40.166667 -25.500000 -3158 - -40.000000 -25.500000 -3254 - -65.000000 -25.666667 896 - -64.833333 -25.666667 683 - -64.666667 -25.666667 610 - -64.500000 -25.666667 770 - -64.333333 -25.666667 533 - -64.166667 -25.666667 372 - -64.000000 -25.666667 302 - -63.833333 -25.666667 292 - -63.666667 -25.666667 283 - -63.500000 -25.666667 270 - -63.333333 -25.666667 262 - -63.166667 -25.666667 249 - -63.000000 -25.666667 238 - -62.833333 -25.666667 228 - -62.666667 -25.666667 217 - -62.500000 -25.666667 207 - -62.333333 -25.666667 197 - -62.166667 -25.666667 188 - -62.000000 -25.666667 178 - -61.833333 -25.666667 170 - -61.666667 -25.666667 160 - -61.500000 -25.666667 154 - -61.333333 -25.666667 145 - -61.166667 -25.666667 137 - -61.000000 -25.666667 130 - -60.833333 -25.666667 125 - -60.666667 -25.666667 119 - -60.500000 -25.666667 116 - -60.333333 -25.666667 114 - -60.166667 -25.666667 110 - -60.000000 -25.666667 106 - -59.833333 -25.666667 103 - -59.666667 -25.666667 98 - -59.500000 -25.666667 101 - -59.333333 -25.666667 90 - -59.166667 -25.666667 92 - -59.000000 -25.666667 84 - -58.833333 -25.666667 86 - -58.666667 -25.666667 77 - -58.500000 -25.666667 78 - -58.333333 -25.666667 73 - -58.166667 -25.666667 69 - -58.000000 -25.666667 65 - -57.833333 -25.666667 63 - -57.666667 -25.666667 64 - -57.500000 -25.666667 73 - -57.333333 -25.666667 72 - -57.166667 -25.666667 92 - -57.000000 -25.666667 147 - -56.833333 -25.666667 141 - -56.666667 -25.666667 110 - -56.500000 -25.666667 121 - -56.333333 -25.666667 159 - -56.166667 -25.666667 169 - -56.000000 -25.666667 204 - -55.833333 -25.666667 292 - -55.666667 -25.666667 230 - -55.500000 -25.666667 267 - -55.333333 -25.666667 245 - -55.166667 -25.666667 237 - -55.000000 -25.666667 252 - -54.833333 -25.666667 245 - -54.666667 -25.666667 167 - -54.500000 -25.666667 243 - -54.333333 -25.666667 241 - -54.166667 -25.666667 248 - -54.000000 -25.666667 303 - -53.833333 -25.666667 295 - -53.666667 -25.666667 379 - -53.500000 -25.666667 385 - -53.333333 -25.666667 428 - -53.166667 -25.666667 475 - -53.000000 -25.666667 416 - -52.833333 -25.666667 574 - -52.666667 -25.666667 473 - -52.500000 -25.666667 510 - -52.333333 -25.666667 566 - -52.166667 -25.666667 754 - -52.000000 -25.666667 840 - -51.833333 -25.666667 909 - -51.666667 -25.666667 1028 - -51.500000 -25.666667 1125 - -51.333333 -25.666667 1257 - -51.166667 -25.666667 1034 - -51.000000 -25.666667 1174 - -50.833333 -25.666667 893 - -50.666667 -25.666667 812 - -50.500000 -25.666667 913 - -50.333333 -25.666667 837 - -50.166667 -25.666667 814 - -50.000000 -25.666667 875 - -49.833333 -25.666667 882 - -49.666667 -25.666667 907 - -49.500000 -25.666667 918 - -49.333333 -25.666667 903 - -49.166667 -25.666667 899 - -49.000000 -25.666667 915 - -48.833333 -25.666667 297 - -48.666667 -25.666667 396 - -48.500000 -25.666667 15 - -48.333333 -25.666667 -3 - -48.166667 -25.666667 -19 - -48.000000 -25.666667 -25 - -47.833333 -25.666667 -33 - -47.666667 -25.666667 -41 - -47.500000 -25.666667 -48 - -47.333333 -25.666667 -57 - -47.166667 -25.666667 -64 - -47.000000 -25.666667 -79 - -46.833333 -25.666667 -95 - -46.666667 -25.666667 -111 - -46.500000 -25.666667 -126 - -46.333333 -25.666667 -131 - -46.166667 -25.666667 -156 - -46.000000 -25.666667 -149 - -45.833333 -25.666667 -166 - -45.666667 -25.666667 -159 - -45.500000 -25.666667 -141 - -45.333333 -25.666667 -162 - -45.166667 -25.666667 -393 - -45.000000 -25.666667 -1226 - -44.833333 -25.666667 -1652 - -44.666667 -25.666667 -1944 - -44.500000 -25.666667 -1980 - -44.333333 -25.666667 -2038 - -44.166667 -25.666667 -2049 - -44.000000 -25.666667 -2112 - -43.833333 -25.666667 -2135 - -43.666667 -25.666667 -2119 - -43.500000 -25.666667 -2120 - -43.333333 -25.666667 -2126 - -43.166667 -25.666667 -2157 - -43.000000 -25.666667 -2162 - -42.833333 -25.666667 -2159 - -42.666667 -25.666667 -2231 - -42.500000 -25.666667 -2249 - -42.333333 -25.666667 -2344 - -42.166667 -25.666667 -2330 - -42.000000 -25.666667 -2527 - -41.833333 -25.666667 -2495 - -41.666667 -25.666667 -2485 - -41.500000 -25.666667 -2585 - -41.333333 -25.666667 -2557 - -41.166667 -25.666667 -2598 - -41.000000 -25.666667 -2927 - -40.833333 -25.666667 -2888 - -40.666667 -25.666667 -3002 - -40.500000 -25.666667 -3099 - -40.333333 -25.666667 -3126 - -40.166667 -25.666667 -3087 - -40.000000 -25.666667 -3293 - -65.000000 -25.833333 825 - -64.833333 -25.833333 697 - -64.666667 -25.833333 579 - -64.500000 -25.833333 539 - -64.333333 -25.833333 455 - -64.166667 -25.833333 347 - -64.000000 -25.833333 298 - -63.833333 -25.833333 275 - -63.666667 -25.833333 267 - -63.500000 -25.833333 260 - -63.333333 -25.833333 252 - -63.166667 -25.833333 243 - -63.000000 -25.833333 235 - -62.833333 -25.833333 223 - -62.666667 -25.833333 215 - -62.500000 -25.833333 205 - -62.333333 -25.833333 195 - -62.166667 -25.833333 185 - -62.000000 -25.833333 176 - -61.833333 -25.833333 168 - -61.666667 -25.833333 160 - -61.500000 -25.833333 153 - -61.333333 -25.833333 145 - -61.166667 -25.833333 138 - -61.000000 -25.833333 130 - -60.833333 -25.833333 120 - -60.666667 -25.833333 117 - -60.500000 -25.833333 114 - -60.333333 -25.833333 107 - -60.166667 -25.833333 108 - -60.000000 -25.833333 106 - -59.833333 -25.833333 104 - -59.666667 -25.833333 98 - -59.500000 -25.833333 91 - -59.333333 -25.833333 89 - -59.166667 -25.833333 86 - -59.000000 -25.833333 80 - -58.833333 -25.833333 81 - -58.666667 -25.833333 75 - -58.500000 -25.833333 72 - -58.333333 -25.833333 70 - -58.166667 -25.833333 69 - -58.000000 -25.833333 65 - -57.833333 -25.833333 53 - -57.666667 -25.833333 64 - -57.500000 -25.833333 62 - -57.333333 -25.833333 82 - -57.166667 -25.833333 116 - -57.000000 -25.833333 122 - -56.833333 -25.833333 173 - -56.666667 -25.833333 120 - -56.500000 -25.833333 123 - -56.333333 -25.833333 164 - -56.166667 -25.833333 257 - -56.000000 -25.833333 243 - -55.833333 -25.833333 260 - -55.666667 -25.833333 263 - -55.500000 -25.833333 253 - -55.333333 -25.833333 300 - -55.166667 -25.833333 290 - -55.000000 -25.833333 290 - -54.833333 -25.833333 263 - -54.666667 -25.833333 241 - -54.500000 -25.833333 222 - -54.333333 -25.833333 293 - -54.166667 -25.833333 305 - -54.000000 -25.833333 382 - -53.833333 -25.833333 337 - -53.666667 -25.833333 426 - -53.500000 -25.833333 485 - -53.333333 -25.833333 564 - -53.166667 -25.833333 527 - -53.000000 -25.833333 473 - -52.833333 -25.833333 532 - -52.666667 -25.833333 686 - -52.500000 -25.833333 677 - -52.333333 -25.833333 738 - -52.166667 -25.833333 618 - -52.000000 -25.833333 947 - -51.833333 -25.833333 1086 - -51.666667 -25.833333 1026 - -51.500000 -25.833333 1130 - -51.333333 -25.833333 895 - -51.166667 -25.833333 1082 - -51.000000 -25.833333 1164 - -50.833333 -25.833333 877 - -50.666667 -25.833333 848 - -50.500000 -25.833333 789 - -50.333333 -25.833333 783 - -50.166667 -25.833333 850 - -50.000000 -25.833333 844 - -49.833333 -25.833333 920 - -49.666667 -25.833333 827 - -49.500000 -25.833333 885 - -49.333333 -25.833333 921 - -49.166667 -25.833333 901 - -49.000000 -25.833333 782 - -48.833333 -25.833333 719 - -48.666667 -25.833333 4 - -48.500000 -25.833333 -1 - -48.333333 -25.833333 -12 - -48.166667 -25.833333 -22 - -48.000000 -25.833333 -31 - -47.833333 -25.833333 -40 - -47.666667 -25.833333 -52 - -47.500000 -25.833333 -60 - -47.333333 -25.833333 -71 - -47.166667 -25.833333 -77 - -47.000000 -25.833333 -91 - -46.833333 -25.833333 -111 - -46.666667 -25.833333 -124 - -46.500000 -25.833333 -143 - -46.333333 -25.833333 -150 - -46.166667 -25.833333 -153 - -46.000000 -25.833333 -178 - -45.833333 -25.833333 -275 - -45.666667 -25.833333 -222 - -45.500000 -25.833333 -585 - -45.333333 -25.833333 -552 - -45.166667 -25.833333 -979 - -45.000000 -25.833333 -1504 - -44.833333 -25.833333 -1784 - -44.666667 -25.833333 -2023 - -44.500000 -25.833333 -2117 - -44.333333 -25.833333 -2088 - -44.166667 -25.833333 -2106 - -44.000000 -25.833333 -2133 - -43.833333 -25.833333 -2186 - -43.666667 -25.833333 -2154 - -43.500000 -25.833333 -2167 - -43.333333 -25.833333 -2167 - -43.166667 -25.833333 -2193 - -43.000000 -25.833333 -2206 - -42.833333 -25.833333 -2234 - -42.666667 -25.833333 -2338 - -42.500000 -25.833333 -2313 - -42.333333 -25.833333 -2336 - -42.166667 -25.833333 -2392 - -42.000000 -25.833333 -2467 - -41.833333 -25.833333 -2509 - -41.666667 -25.833333 -2520 - -41.500000 -25.833333 -2777 - -41.333333 -25.833333 -2892 - -41.166667 -25.833333 -2816 - -41.000000 -25.833333 -2864 - -40.833333 -25.833333 -2983 - -40.666667 -25.833333 -2970 - -40.500000 -25.833333 -2963 - -40.333333 -25.833333 -3257 - -40.166667 -25.833333 -3314 - -40.000000 -25.833333 -3600 - -65.000000 -26.000000 1139 - -64.833333 -26.000000 1376 - -64.666667 -26.000000 629 - -64.500000 -26.000000 482 - -64.333333 -26.000000 415 - -64.166667 -26.000000 343 - -64.000000 -26.000000 301 - -63.833333 -26.000000 264 - -63.666667 -26.000000 254 - -63.500000 -26.000000 248 - -63.333333 -26.000000 243 - -63.166667 -26.000000 236 - -63.000000 -26.000000 227 - -62.833333 -26.000000 218 - -62.666667 -26.000000 207 - -62.500000 -26.000000 198 - -62.333333 -26.000000 190 - -62.166667 -26.000000 180 - -62.000000 -26.000000 174 - -61.833333 -26.000000 164 - -61.666667 -26.000000 158 - -61.500000 -26.000000 150 - -61.333333 -26.000000 143 - -61.166667 -26.000000 134 - -61.000000 -26.000000 128 - -60.833333 -26.000000 122 - -60.666667 -26.000000 115 - -60.500000 -26.000000 109 - -60.333333 -26.000000 107 - -60.166667 -26.000000 100 - -60.000000 -26.000000 97 - -59.833333 -26.000000 93 - -59.666667 -26.000000 93 - -59.500000 -26.000000 89 - -59.333333 -26.000000 89 - -59.166667 -26.000000 82 - -59.000000 -26.000000 79 - -58.833333 -26.000000 74 - -58.666667 -26.000000 75 - -58.500000 -26.000000 73 - -58.333333 -26.000000 68 - -58.166667 -26.000000 65 - -58.000000 -26.000000 60 - -57.833333 -26.000000 57 - -57.666667 -26.000000 60 - -57.500000 -26.000000 62 - -57.333333 -26.000000 89 - -57.166667 -26.000000 139 - -57.000000 -26.000000 120 - -56.833333 -26.000000 362 - -56.666667 -26.000000 248 - -56.500000 -26.000000 115 - -56.333333 -26.000000 127 - -56.166667 -26.000000 179 - -56.000000 -26.000000 208 - -55.833333 -26.000000 241 - -55.666667 -26.000000 356 - -55.500000 -26.000000 347 - -55.333333 -26.000000 266 - -55.166667 -26.000000 229 - -55.000000 -26.000000 190 - -54.833333 -26.000000 184 - -54.666667 -26.000000 183 - -54.500000 -26.000000 230 - -54.333333 -26.000000 291 - -54.166667 -26.000000 322 - -54.000000 -26.000000 339 - -53.833333 -26.000000 478 - -53.666667 -26.000000 536 - -53.500000 -26.000000 506 - -53.333333 -26.000000 680 - -53.166667 -26.000000 687 - -53.000000 -26.000000 525 - -52.833333 -26.000000 606 - -52.666667 -26.000000 554 - -52.500000 -26.000000 705 - -52.333333 -26.000000 977 - -52.166667 -26.000000 777 - -52.000000 -26.000000 794 - -51.833333 -26.000000 775 - -51.666667 -26.000000 761 - -51.500000 -26.000000 908 - -51.333333 -26.000000 887 - -51.166667 -26.000000 975 - -51.000000 -26.000000 1025 - -50.833333 -26.000000 811 - -50.666667 -26.000000 785 - -50.500000 -26.000000 776 - -50.333333 -26.000000 812 - -50.166667 -26.000000 808 - -50.000000 -26.000000 789 - -49.833333 -26.000000 867 - -49.666667 -26.000000 814 - -49.500000 -26.000000 910 - -49.333333 -26.000000 895 - -49.166667 -26.000000 831 - -49.000000 -26.000000 1147 - -48.833333 -26.000000 20 - -48.666667 -26.000000 19 - -48.500000 -26.000000 -8 - -48.333333 -26.000000 -23 - -48.166667 -26.000000 -29 - -48.000000 -26.000000 -39 - -47.833333 -26.000000 -46 - -47.666667 -26.000000 -57 - -47.500000 -26.000000 -69 - -47.333333 -26.000000 -80 - -47.166667 -26.000000 -99 - -47.000000 -26.000000 -110 - -46.833333 -26.000000 -123 - -46.666667 -26.000000 -140 - -46.500000 -26.000000 -224 - -46.333333 -26.000000 -168 - -46.166667 -26.000000 -243 - -46.000000 -26.000000 -301 - -45.833333 -26.000000 -419 - -45.666667 -26.000000 -454 - -45.500000 -26.000000 -813 - -45.333333 -26.000000 -1368 - -45.166667 -26.000000 -1527 - -45.000000 -26.000000 -1805 - -44.833333 -26.000000 -2034 - -44.666667 -26.000000 -2124 - -44.500000 -26.000000 -2147 - -44.333333 -26.000000 -2112 - -44.166667 -26.000000 -2172 - -44.000000 -26.000000 -2219 - -43.833333 -26.000000 -2222 - -43.666667 -26.000000 -2206 - -43.500000 -26.000000 -2180 - -43.333333 -26.000000 -2184 - -43.166667 -26.000000 -2234 - -43.000000 -26.000000 -2291 - -42.833333 -26.000000 -2274 - -42.666667 -26.000000 -2313 - -42.500000 -26.000000 -2445 - -42.333333 -26.000000 -2350 - -42.166667 -26.000000 -2518 - -42.000000 -26.000000 -2492 - -41.833333 -26.000000 -2602 - -41.666667 -26.000000 -2600 - -41.500000 -26.000000 -2602 - -41.333333 -26.000000 -2874 - -41.166667 -26.000000 -2723 - -41.000000 -26.000000 -2913 - -40.833333 -26.000000 -2986 - -40.666667 -26.000000 -3083 - -40.500000 -26.000000 -3073 - -40.333333 -26.000000 -3425 - -40.166667 -26.000000 -3819 - -40.000000 -26.000000 -4129 - -65.000000 -26.166667 1144 - -64.833333 -26.166667 1099 - -64.666667 -26.166667 564 - -64.500000 -26.166667 438 - -64.333333 -26.166667 344 - -64.166667 -26.166667 309 - -64.000000 -26.166667 278 - -63.833333 -26.166667 249 - -63.666667 -26.166667 242 - -63.500000 -26.166667 235 - -63.333333 -26.166667 231 - -63.166667 -26.166667 225 - -63.000000 -26.166667 218 - -62.833333 -26.166667 210 - -62.666667 -26.166667 205 - -62.500000 -26.166667 192 - -62.333333 -26.166667 185 - -62.166667 -26.166667 177 - -62.000000 -26.166667 169 - -61.833333 -26.166667 162 - -61.666667 -26.166667 154 - -61.500000 -26.166667 147 - -61.333333 -26.166667 137 - -61.166667 -26.166667 133 - -61.000000 -26.166667 126 - -60.833333 -26.166667 119 - -60.666667 -26.166667 111 - -60.500000 -26.166667 104 - -60.333333 -26.166667 100 - -60.166667 -26.166667 99 - -60.000000 -26.166667 96 - -59.833333 -26.166667 90 - -59.666667 -26.166667 90 - -59.500000 -26.166667 87 - -59.333333 -26.166667 84 - -59.166667 -26.166667 85 - -59.000000 -26.166667 78 - -58.833333 -26.166667 76 - -58.666667 -26.166667 72 - -58.500000 -26.166667 69 - -58.333333 -26.166667 65 - -58.166667 -26.166667 60 - -58.000000 -26.166667 59 - -57.833333 -26.166667 61 - -57.666667 -26.166667 61 - -57.500000 -26.166667 59 - -57.333333 -26.166667 71 - -57.166667 -26.166667 144 - -57.000000 -26.166667 103 - -56.833333 -26.166667 103 - -56.666667 -26.166667 94 - -56.500000 -26.166667 105 - -56.333333 -26.166667 127 - -56.166667 -26.166667 136 - -56.000000 -26.166667 142 - -55.833333 -26.166667 166 - -55.666667 -26.166667 184 - -55.500000 -26.166667 186 - -55.333333 -26.166667 318 - -55.166667 -26.166667 319 - -55.000000 -26.166667 315 - -54.833333 -26.166667 268 - -54.666667 -26.166667 134 - -54.500000 -26.166667 203 - -54.333333 -26.166667 265 - -54.166667 -26.166667 403 - -54.000000 -26.166667 517 - -53.833333 -26.166667 509 - -53.666667 -26.166667 702 - -53.500000 -26.166667 596 - -53.333333 -26.166667 717 - -53.166667 -26.166667 688 - -53.000000 -26.166667 649 - -52.833333 -26.166667 649 - -52.666667 -26.166667 789 - -52.500000 -26.166667 624 - -52.333333 -26.166667 932 - -52.166667 -26.166667 1006 - -52.000000 -26.166667 1093 - -51.833333 -26.166667 850 - -51.666667 -26.166667 1110 - -51.500000 -26.166667 923 - -51.333333 -26.166667 881 - -51.166667 -26.166667 811 - -51.000000 -26.166667 839 - -50.833333 -26.166667 790 - -50.666667 -26.166667 768 - -50.500000 -26.166667 802 - -50.333333 -26.166667 773 - -50.166667 -26.166667 793 - -50.000000 -26.166667 862 - -49.833333 -26.166667 825 - -49.666667 -26.166667 825 - -49.500000 -26.166667 842 - -49.333333 -26.166667 846 - -49.166667 -26.166667 895 - -49.000000 -26.166667 280 - -48.833333 -26.166667 6 - -48.666667 -26.166667 92 - -48.500000 -26.166667 -1 - -48.333333 -26.166667 -22 - -48.166667 -26.166667 -35 - -48.000000 -26.166667 -48 - -47.833333 -26.166667 -57 - -47.666667 -26.166667 -74 - -47.500000 -26.166667 -71 - -47.333333 -26.166667 -92 - -47.166667 -26.166667 -109 - -47.000000 -26.166667 -121 - -46.833333 -26.166667 -146 - -46.666667 -26.166667 -126 - -46.500000 -26.166667 -172 - -46.333333 -26.166667 -246 - -46.166667 -26.166667 -388 - -46.000000 -26.166667 -455 - -45.833333 -26.166667 -506 - -45.666667 -26.166667 -659 - -45.500000 -26.166667 -1022 - -45.333333 -26.166667 -1712 - -45.166667 -26.166667 -1941 - -45.000000 -26.166667 -2031 - -44.833333 -26.166667 -2158 - -44.666667 -26.166667 -2220 - -44.500000 -26.166667 -2254 - -44.333333 -26.166667 -2302 - -44.166667 -26.166667 -2336 - -44.000000 -26.166667 -2300 - -43.833333 -26.166667 -2269 - -43.666667 -26.166667 -2247 - -43.500000 -26.166667 -2243 - -43.333333 -26.166667 -2254 - -43.166667 -26.166667 -2281 - -43.000000 -26.166667 -2339 - -42.833333 -26.166667 -2394 - -42.666667 -26.166667 -2471 - -42.500000 -26.166667 -2536 - -42.333333 -26.166667 -2487 - -42.166667 -26.166667 -2596 - -42.000000 -26.166667 -2599 - -41.833333 -26.166667 -2522 - -41.666667 -26.166667 -2519 - -41.500000 -26.166667 -2648 - -41.333333 -26.166667 -2649 - -41.166667 -26.166667 -2657 - -41.000000 -26.166667 -2757 - -40.833333 -26.166667 -2957 - -40.666667 -26.166667 -2942 - -40.500000 -26.166667 -3189 - -40.333333 -26.166667 -3450 - -40.166667 -26.166667 -3290 - -40.000000 -26.166667 -1716 - -65.000000 -26.333333 1494 - -64.833333 -26.333333 1113 - -64.666667 -26.333333 533 - -64.500000 -26.333333 410 - -64.333333 -26.333333 326 - -64.166667 -26.333333 282 - -64.000000 -26.333333 261 - -63.833333 -26.333333 236 - -63.666667 -26.333333 225 - -63.500000 -26.333333 222 - -63.333333 -26.333333 219 - -63.166667 -26.333333 215 - -63.000000 -26.333333 209 - -62.833333 -26.333333 203 - -62.666667 -26.333333 196 - -62.500000 -26.333333 190 - -62.333333 -26.333333 178 - -62.166667 -26.333333 172 - -62.000000 -26.333333 164 - -61.833333 -26.333333 156 - -61.666667 -26.333333 148 - -61.500000 -26.333333 142 - -61.333333 -26.333333 136 - -61.166667 -26.333333 129 - -61.000000 -26.333333 122 - -60.833333 -26.333333 116 - -60.666667 -26.333333 109 - -60.500000 -26.333333 104 - -60.333333 -26.333333 97 - -60.166667 -26.333333 93 - -60.000000 -26.333333 94 - -59.833333 -26.333333 95 - -59.666667 -26.333333 86 - -59.500000 -26.333333 83 - -59.333333 -26.333333 81 - -59.166667 -26.333333 77 - -59.000000 -26.333333 75 - -58.833333 -26.333333 70 - -58.666667 -26.333333 68 - -58.500000 -26.333333 66 - -58.333333 -26.333333 64 - -58.166667 -26.333333 57 - -58.000000 -26.333333 60 - -57.833333 -26.333333 59 - -57.666667 -26.333333 60 - -57.500000 -26.333333 62 - -57.333333 -26.333333 101 - -57.166667 -26.333333 164 - -57.000000 -26.333333 83 - -56.833333 -26.333333 89 - -56.666667 -26.333333 88 - -56.500000 -26.333333 115 - -56.333333 -26.333333 119 - -56.166667 -26.333333 129 - -56.000000 -26.333333 144 - -55.833333 -26.333333 146 - -55.666667 -26.333333 251 - -55.500000 -26.333333 443 - -55.333333 -26.333333 299 - -55.166667 -26.333333 314 - -55.000000 -26.333333 341 - -54.833333 -26.333333 289 - -54.666667 -26.333333 129 - -54.500000 -26.333333 233 - -54.333333 -26.333333 255 - -54.166667 -26.333333 551 - -54.000000 -26.333333 508 - -53.833333 -26.333333 615 - -53.666667 -26.333333 675 - -53.500000 -26.333333 767 - -53.333333 -26.333333 740 - -53.166667 -26.333333 872 - -53.000000 -26.333333 813 - -52.833333 -26.333333 826 - -52.666667 -26.333333 825 - -52.500000 -26.333333 875 - -52.333333 -26.333333 867 - -52.166667 -26.333333 931 - -52.000000 -26.333333 1080 - -51.833333 -26.333333 1226 - -51.666667 -26.333333 1132 - -51.500000 -26.333333 1102 - -51.333333 -26.333333 1038 - -51.166667 -26.333333 1018 - -51.000000 -26.333333 877 - -50.833333 -26.333333 786 - -50.666667 -26.333333 825 - -50.500000 -26.333333 804 - -50.333333 -26.333333 785 - -50.166667 -26.333333 829 - -50.000000 -26.333333 859 - -49.833333 -26.333333 920 - -49.666667 -26.333333 866 - -49.500000 -26.333333 905 - -49.333333 -26.333333 617 - -49.166667 -26.333333 1022 - -49.000000 -26.333333 225 - -48.833333 -26.333333 16 - -48.666667 -26.333333 20 - -48.500000 -26.333333 -9 - -48.333333 -26.333333 -28 - -48.166667 -26.333333 -41 - -48.000000 -26.333333 -53 - -47.833333 -26.333333 -60 - -47.666667 -26.333333 -71 - -47.500000 -26.333333 -87 - -47.333333 -26.333333 -98 - -47.166667 -26.333333 -119 - -47.000000 -26.333333 -153 - -46.833333 -26.333333 -139 - -46.666667 -26.333333 -157 - -46.500000 -26.333333 -266 - -46.333333 -26.333333 -327 - -46.166667 -26.333333 -460 - -46.000000 -26.333333 -532 - -45.833333 -26.333333 -620 - -45.666667 -26.333333 -888 - -45.500000 -26.333333 -1460 - -45.333333 -26.333333 -2022 - -45.166667 -26.333333 -2006 - -45.000000 -26.333333 -2206 - -44.833333 -26.333333 -2273 - -44.666667 -26.333333 -2343 - -44.500000 -26.333333 -2353 - -44.333333 -26.333333 -2362 - -44.166667 -26.333333 -2400 - -44.000000 -26.333333 -2396 - -43.833333 -26.333333 -2358 - -43.666667 -26.333333 -2309 - -43.500000 -26.333333 -2290 - -43.333333 -26.333333 -2284 - -43.166667 -26.333333 -2348 - -43.000000 -26.333333 -2367 - -42.833333 -26.333333 -2454 - -42.666667 -26.333333 -2451 - -42.500000 -26.333333 -2437 - -42.333333 -26.333333 -2475 - -42.166667 -26.333333 -2470 - -42.000000 -26.333333 -2459 - -41.833333 -26.333333 -2540 - -41.666667 -26.333333 -2480 - -41.500000 -26.333333 -2596 - -41.333333 -26.333333 -2554 - -41.166667 -26.333333 -2640 - -41.000000 -26.333333 -2787 - -40.833333 -26.333333 -2847 - -40.666667 -26.333333 -2977 - -40.500000 -26.333333 -3282 - -40.333333 -26.333333 -3517 - -40.166667 -26.333333 -3576 - -40.000000 -26.333333 -2110 - -65.000000 -26.500000 969 - -64.833333 -26.500000 665 - -64.666667 -26.500000 452 - -64.500000 -26.500000 365 - -64.333333 -26.500000 296 - -64.166667 -26.500000 257 - -64.000000 -26.500000 245 - -63.833333 -26.500000 225 - -63.666667 -26.500000 213 - -63.500000 -26.500000 211 - -63.333333 -26.500000 209 - -63.166667 -26.500000 204 - -63.000000 -26.500000 199 - -62.833333 -26.500000 196 - -62.666667 -26.500000 192 - -62.500000 -26.500000 185 - -62.333333 -26.500000 175 - -62.166667 -26.500000 170 - -62.000000 -26.500000 162 - -61.833333 -26.500000 190 - -61.666667 -26.500000 160 - -61.500000 -26.500000 137 - -61.333333 -26.500000 131 - -61.166667 -26.500000 124 - -61.000000 -26.500000 121 - -60.833333 -26.500000 110 - -60.666667 -26.500000 106 - -60.500000 -26.500000 103 - -60.333333 -26.500000 97 - -60.166667 -26.500000 92 - -60.000000 -26.500000 90 - -59.833333 -26.500000 87 - -59.666667 -26.500000 83 - -59.500000 -26.500000 79 - -59.333333 -26.500000 79 - -59.166667 -26.500000 75 - -59.000000 -26.500000 71 - -58.833333 -26.500000 69 - -58.666667 -26.500000 67 - -58.500000 -26.500000 63 - -58.333333 -26.500000 59 - -58.166667 -26.500000 61 - -58.000000 -26.500000 55 - -57.833333 -26.500000 60 - -57.666667 -26.500000 61 - -57.500000 -26.500000 62 - -57.333333 -26.500000 65 - -57.166667 -26.500000 69 - -57.000000 -26.500000 95 - -56.833333 -26.500000 79 - -56.666667 -26.500000 84 - -56.500000 -26.500000 89 - -56.333333 -26.500000 86 - -56.166667 -26.500000 153 - -56.000000 -26.500000 112 - -55.833333 -26.500000 135 - -55.666667 -26.500000 288 - -55.500000 -26.500000 378 - -55.333333 -26.500000 284 - -55.166667 -26.500000 276 - -55.000000 -26.500000 285 - -54.833333 -26.500000 221 - -54.666667 -26.500000 182 - -54.500000 -26.500000 191 - -54.333333 -26.500000 251 - -54.166667 -26.500000 522 - -54.000000 -26.500000 557 - -53.833333 -26.500000 549 - -53.666667 -26.500000 495 - -53.500000 -26.500000 695 - -53.333333 -26.500000 612 - -53.166667 -26.500000 712 - -53.000000 -26.500000 627 - -52.833333 -26.500000 774 - -52.666667 -26.500000 737 - -52.500000 -26.500000 787 - -52.333333 -26.500000 855 - -52.166667 -26.500000 921 - -52.000000 -26.500000 1104 - -51.833333 -26.500000 1177 - -51.666667 -26.500000 1213 - -51.500000 -26.500000 1111 - -51.333333 -26.500000 1054 - -51.166667 -26.500000 1064 - -51.000000 -26.500000 1082 - -50.833333 -26.500000 930 - -50.666667 -26.500000 897 - -50.500000 -26.500000 996 - -50.333333 -26.500000 831 - -50.166667 -26.500000 556 - -50.000000 -26.500000 584 - -49.833333 -26.500000 922 - -49.666667 -26.500000 971 - -49.500000 -26.500000 928 - -49.333333 -26.500000 598 - -49.166667 -26.500000 112 - -49.000000 -26.500000 96 - -48.833333 -26.500000 14 - -48.666667 -26.500000 15 - -48.500000 -26.500000 -21 - -48.333333 -26.500000 -35 - -48.166667 -26.500000 -45 - -48.000000 -26.500000 -51 - -47.833333 -26.500000 -57 - -47.666667 -26.500000 -73 - -47.500000 -26.500000 -90 - -47.333333 -26.500000 -109 - -47.166667 -26.500000 -120 - -47.000000 -26.500000 -145 - -46.833333 -26.500000 -152 - -46.666667 -26.500000 -215 - -46.500000 -26.500000 -349 - -46.333333 -26.500000 -411 - -46.166667 -26.500000 -522 - -46.000000 -26.500000 -610 - -45.833333 -26.500000 -859 - -45.666667 -26.500000 -1375 - -45.500000 -26.500000 -1845 - -45.333333 -26.500000 -2102 - -45.166667 -26.500000 -2148 - -45.000000 -26.500000 -2381 - -44.833333 -26.500000 -2382 - -44.666667 -26.500000 -2241 - -44.500000 -26.500000 -2477 - -44.333333 -26.500000 -2527 - -44.166667 -26.500000 -2521 - -44.000000 -26.500000 -2547 - -43.833333 -26.500000 -2466 - -43.666667 -26.500000 -2377 - -43.500000 -26.500000 -2422 - -43.333333 -26.500000 -2338 - -43.166667 -26.500000 -2366 - -43.000000 -26.500000 -2402 - -42.833333 -26.500000 -2391 - -42.666667 -26.500000 -2392 - -42.500000 -26.500000 -2415 - -42.333333 -26.500000 -2387 - -42.166667 -26.500000 -2367 - -42.000000 -26.500000 -2475 - -41.833333 -26.500000 -2497 - -41.666667 -26.500000 -2406 - -41.500000 -26.500000 -2457 - -41.333333 -26.500000 -2561 - -41.166667 -26.500000 -2622 - -41.000000 -26.500000 -2571 - -40.833333 -26.500000 -2682 - -40.666667 -26.500000 -2834 - -40.500000 -26.500000 -3297 - -40.333333 -26.500000 -3572 - -40.166667 -26.500000 -3651 - -40.000000 -26.500000 -3651 - -65.000000 -26.666667 808 - -64.833333 -26.666667 461 - -64.666667 -26.666667 389 - -64.500000 -26.666667 318 - -64.333333 -26.666667 258 - -64.166667 -26.666667 231 - -64.000000 -26.666667 224 - -63.833333 -26.666667 214 - -63.666667 -26.666667 204 - -63.500000 -26.666667 201 - -63.333333 -26.666667 197 - -63.166667 -26.666667 194 - -63.000000 -26.666667 193 - -62.833333 -26.666667 187 - -62.666667 -26.666667 187 - -62.500000 -26.666667 181 - -62.333333 -26.666667 173 - -62.166667 -26.666667 166 - -62.000000 -26.666667 160 - -61.833333 -26.666667 196 - -61.666667 -26.666667 153 - -61.500000 -26.666667 139 - -61.333333 -26.666667 126 - -61.166667 -26.666667 118 - -61.000000 -26.666667 114 - -60.833333 -26.666667 108 - -60.666667 -26.666667 102 - -60.500000 -26.666667 100 - -60.333333 -26.666667 94 - -60.166667 -26.666667 89 - -60.000000 -26.666667 85 - -59.833333 -26.666667 85 - -59.666667 -26.666667 82 - -59.500000 -26.666667 80 - -59.333333 -26.666667 78 - -59.166667 -26.666667 75 - -59.000000 -26.666667 68 - -58.833333 -26.666667 69 - -58.666667 -26.666667 63 - -58.500000 -26.666667 58 - -58.333333 -26.666667 58 - -58.166667 -26.666667 59 - -58.000000 -26.666667 59 - -57.833333 -26.666667 63 - -57.666667 -26.666667 65 - -57.500000 -26.666667 67 - -57.333333 -26.666667 70 - -57.166667 -26.666667 115 - -57.000000 -26.666667 102 - -56.833333 -26.666667 77 - -56.666667 -26.666667 77 - -56.500000 -26.666667 84 - -56.333333 -26.666667 89 - -56.166667 -26.666667 101 - -56.000000 -26.666667 117 - -55.833333 -26.666667 206 - -55.666667 -26.666667 302 - -55.500000 -26.666667 297 - -55.333333 -26.666667 179 - -55.166667 -26.666667 261 - -55.000000 -26.666667 147 - -54.833333 -26.666667 148 - -54.666667 -26.666667 213 - -54.500000 -26.666667 521 - -54.333333 -26.666667 351 - -54.166667 -26.666667 541 - -54.000000 -26.666667 540 - -53.833333 -26.666667 546 - -53.666667 -26.666667 457 - -53.500000 -26.666667 592 - -53.333333 -26.666667 467 - -53.166667 -26.666667 584 - -53.000000 -26.666667 576 - -52.833333 -26.666667 618 - -52.666667 -26.666667 628 - -52.500000 -26.666667 639 - -52.333333 -26.666667 841 - -52.166667 -26.666667 992 - -52.000000 -26.666667 936 - -51.833333 -26.666667 1125 - -51.666667 -26.666667 1201 - -51.500000 -26.666667 1223 - -51.333333 -26.666667 1150 - -51.166667 -26.666667 1228 - -51.000000 -26.666667 1154 - -50.833333 -26.666667 1120 - -50.666667 -26.666667 1003 - -50.500000 -26.666667 1070 - -50.333333 -26.666667 830 - -50.166667 -26.666667 610 - -50.000000 -26.666667 721 - -49.833333 -26.666667 508 - -49.666667 -26.666667 994 - -49.500000 -26.666667 834 - -49.333333 -26.666667 393 - -49.166667 -26.666667 215 - -49.000000 -26.666667 190 - -48.833333 -26.666667 166 - -48.666667 -26.666667 -1 - -48.500000 -26.666667 -22 - -48.333333 -26.666667 -40 - -48.166667 -26.666667 -47 - -48.000000 -26.666667 -45 - -47.833333 -26.666667 -63 - -47.666667 -26.666667 -89 - -47.500000 -26.666667 -104 - -47.333333 -26.666667 -115 - -47.166667 -26.666667 -117 - -47.000000 -26.666667 -147 - -46.833333 -26.666667 -164 - -46.666667 -26.666667 -225 - -46.500000 -26.666667 -366 - -46.333333 -26.666667 -481 - -46.166667 -26.666667 -570 - -46.000000 -26.666667 -727 - -45.833333 -26.666667 -1204 - -45.666667 -26.666667 -1671 - -45.500000 -26.666667 -2087 - -45.333333 -26.666667 -2188 - -45.166667 -26.666667 -2263 - -45.000000 -26.666667 -2438 - -44.833333 -26.666667 -2557 - -44.666667 -26.666667 -2579 - -44.500000 -26.666667 -2530 - -44.333333 -26.666667 -2596 - -44.166667 -26.666667 -2587 - -44.000000 -26.666667 -2604 - -43.833333 -26.666667 -2547 - -43.666667 -26.666667 -2477 - -43.500000 -26.666667 -2442 - -43.333333 -26.666667 -2448 - -43.166667 -26.666667 -2408 - -43.000000 -26.666667 -2373 - -42.833333 -26.666667 -2373 - -42.666667 -26.666667 -2402 - -42.500000 -26.666667 -2349 - -42.333333 -26.666667 -2373 - -42.166667 -26.666667 -2380 - -42.000000 -26.666667 -2381 - -41.833333 -26.666667 -2399 - -41.666667 -26.666667 -2579 - -41.500000 -26.666667 -2438 - -41.333333 -26.666667 -2576 - -41.166667 -26.666667 -2557 - -41.000000 -26.666667 -2577 - -40.833333 -26.666667 -2839 - -40.666667 -26.666667 -3093 - -40.500000 -26.666667 -3352 - -40.333333 -26.666667 -3646 - -40.166667 -26.666667 -3268 - -40.000000 -26.666667 -2654 - -65.000000 -26.833333 447 - -64.833333 -26.833333 380 - -64.666667 -26.833333 324 - -64.500000 -26.833333 274 - -64.333333 -26.833333 231 - -64.166667 -26.833333 206 - -64.000000 -26.833333 205 - -63.833333 -26.833333 193 - -63.666667 -26.833333 192 - -63.500000 -26.833333 191 - -63.333333 -26.833333 189 - -63.166667 -26.833333 186 - -63.000000 -26.833333 183 - -62.833333 -26.833333 180 - -62.666667 -26.833333 174 - -62.500000 -26.833333 174 - -62.333333 -26.833333 168 - -62.166667 -26.833333 164 - -62.000000 -26.833333 156 - -61.833333 -26.833333 173 - -61.666667 -26.833333 145 - -61.500000 -26.833333 115 - -61.333333 -26.833333 117 - -61.166667 -26.833333 113 - -61.000000 -26.833333 109 - -60.833333 -26.833333 104 - -60.666667 -26.833333 101 - -60.500000 -26.833333 96 - -60.333333 -26.833333 90 - -60.166667 -26.833333 85 - -60.000000 -26.833333 81 - -59.833333 -26.833333 79 - -59.666667 -26.833333 75 - -59.500000 -26.833333 76 - -59.333333 -26.833333 74 - -59.166667 -26.833333 72 - -59.000000 -26.833333 64 - -58.833333 -26.833333 62 - -58.666667 -26.833333 58 - -58.500000 -26.833333 58 - -58.333333 -26.833333 51 - -58.166667 -26.833333 59 - -58.000000 -26.833333 61 - -57.833333 -26.833333 64 - -57.666667 -26.833333 66 - -57.500000 -26.833333 69 - -57.333333 -26.833333 74 - -57.166667 -26.833333 109 - -57.000000 -26.833333 165 - -56.833333 -26.833333 143 - -56.666667 -26.833333 86 - -56.500000 -26.833333 88 - -56.333333 -26.833333 91 - -56.166667 -26.833333 145 - -56.000000 -26.833333 175 - -55.833333 -26.833333 255 - -55.666667 -26.833333 243 - -55.500000 -26.833333 201 - -55.333333 -26.833333 257 - -55.166667 -26.833333 178 - -55.000000 -26.833333 221 - -54.833333 -26.833333 245 - -54.666667 -26.833333 215 - -54.500000 -26.833333 364 - -54.333333 -26.833333 489 - -54.166667 -26.833333 491 - -54.000000 -26.833333 388 - -53.833333 -26.833333 435 - -53.666667 -26.833333 354 - -53.500000 -26.833333 561 - -53.333333 -26.833333 411 - -53.166667 -26.833333 578 - -53.000000 -26.833333 497 - -52.833333 -26.833333 430 - -52.666667 -26.833333 513 - -52.500000 -26.833333 646 - -52.333333 -26.833333 841 - -52.166667 -26.833333 818 - -52.000000 -26.833333 1050 - -51.833333 -26.833333 1041 - -51.666667 -26.833333 1143 - -51.500000 -26.833333 1270 - -51.333333 -26.833333 1067 - -51.166667 -26.833333 1042 - -51.000000 -26.833333 918 - -50.833333 -26.833333 1137 - -50.666667 -26.833333 1181 - -50.500000 -26.833333 1266 - -50.333333 -26.833333 1249 - -50.166667 -26.833333 721 - -50.000000 -26.833333 663 - -49.833333 -26.833333 679 - -49.666667 -26.833333 671 - -49.500000 -26.833333 614 - -49.333333 -26.833333 119 - -49.166667 -26.833333 59 - -49.000000 -26.833333 218 - -48.833333 -26.833333 66 - -48.666667 -26.833333 93 - -48.500000 -26.833333 -22 - -48.333333 -26.833333 -44 - -48.166667 -26.833333 -47 - -48.000000 -26.833333 -55 - -47.833333 -26.833333 -60 - -47.666667 -26.833333 -94 - -47.500000 -26.833333 -110 - -47.333333 -26.833333 -115 - -47.166667 -26.833333 -147 - -47.000000 -26.833333 -182 - -46.833333 -26.833333 -191 - -46.666667 -26.833333 -225 - -46.500000 -26.833333 -341 - -46.333333 -26.833333 -482 - -46.166667 -26.833333 -720 - -46.000000 -26.833333 -1064 - -45.833333 -26.833333 -1456 - -45.666667 -26.833333 -2009 - -45.500000 -26.833333 -2113 - -45.333333 -26.833333 -2209 - -45.166667 -26.833333 -2400 - -45.000000 -26.833333 -2262 - -44.833333 -26.833333 -2142 - -44.666667 -26.833333 -2663 - -44.500000 -26.833333 -2627 - -44.333333 -26.833333 -2628 - -44.166667 -26.833333 -2587 - -44.000000 -26.833333 -2599 - -43.833333 -26.833333 -2596 - -43.666667 -26.833333 -2519 - -43.500000 -26.833333 -2470 - -43.333333 -26.833333 -2466 - -43.166667 -26.833333 -2483 - -43.000000 -26.833333 -2356 - -42.833333 -26.833333 -2296 - -42.666667 -26.833333 -2336 - -42.500000 -26.833333 -2379 - -42.333333 -26.833333 -2470 - -42.166667 -26.833333 -2488 - -42.000000 -26.833333 -2451 - -41.833333 -26.833333 -2466 - -41.666667 -26.833333 -2540 - -41.500000 -26.833333 -2621 - -41.333333 -26.833333 -2648 - -41.166667 -26.833333 -2833 - -41.000000 -26.833333 -2908 - -40.833333 -26.833333 -3067 - -40.666667 -26.833333 -3283 - -40.500000 -26.833333 -3459 - -40.333333 -26.833333 -3641 - -40.166667 -26.833333 -3870 - -40.000000 -26.833333 -3454 - -65.000000 -27.000000 375 - -64.833333 -27.000000 433 - -64.666667 -27.000000 320 - -64.500000 -27.000000 255 - -64.333333 -27.000000 244 - -64.166667 -27.000000 191 - -64.000000 -27.000000 186 - -63.833333 -27.000000 180 - -63.666667 -27.000000 179 - -63.500000 -27.000000 180 - -63.333333 -27.000000 177 - -63.166667 -27.000000 177 - -63.000000 -27.000000 173 - -62.833333 -27.000000 170 - -62.666667 -27.000000 167 - -62.500000 -27.000000 163 - -62.333333 -27.000000 164 - -62.166667 -27.000000 165 - -62.000000 -27.000000 154 - -61.833333 -27.000000 194 - -61.666667 -27.000000 140 - -61.500000 -27.000000 107 - -61.333333 -27.000000 110 - -61.166667 -27.000000 106 - -61.000000 -27.000000 104 - -60.833333 -27.000000 100 - -60.666667 -27.000000 97 - -60.500000 -27.000000 91 - -60.333333 -27.000000 87 - -60.166667 -27.000000 82 - -60.000000 -27.000000 81 - -59.833333 -27.000000 75 - -59.666667 -27.000000 72 - -59.500000 -27.000000 72 - -59.333333 -27.000000 69 - -59.166667 -27.000000 66 - -59.000000 -27.000000 69 - -58.833333 -27.000000 61 - -58.666667 -27.000000 58 - -58.500000 -27.000000 54 - -58.333333 -27.000000 59 - -58.166667 -27.000000 60 - -58.000000 -27.000000 62 - -57.833333 -27.000000 66 - -57.666667 -27.000000 68 - -57.500000 -27.000000 70 - -57.333333 -27.000000 71 - -57.166667 -27.000000 71 - -57.000000 -27.000000 101 - -56.833333 -27.000000 155 - -56.666667 -27.000000 114 - -56.500000 -27.000000 86 - -56.333333 -27.000000 88 - -56.166667 -27.000000 181 - -56.000000 -27.000000 130 - -55.833333 -27.000000 256 - -55.666667 -27.000000 170 - -55.500000 -27.000000 204 - -55.333333 -27.000000 196 - -55.166667 -27.000000 174 - -55.000000 -27.000000 208 - -54.833333 -27.000000 488 - -54.666667 -27.000000 476 - -54.500000 -27.000000 527 - -54.333333 -27.000000 340 - -54.166667 -27.000000 487 - -54.000000 -27.000000 281 - -53.833333 -27.000000 253 - -53.666667 -27.000000 356 - -53.500000 -27.000000 470 - -53.333333 -27.000000 298 - -53.166667 -27.000000 438 - -53.000000 -27.000000 362 - -52.833333 -27.000000 498 - -52.666667 -27.000000 702 - -52.500000 -27.000000 762 - -52.333333 -27.000000 726 - -52.166667 -27.000000 885 - -52.000000 -27.000000 950 - -51.833333 -27.000000 943 - -51.666667 -27.000000 949 - -51.500000 -27.000000 857 - -51.333333 -27.000000 756 - -51.166667 -27.000000 749 - -51.000000 -27.000000 959 - -50.833333 -27.000000 964 - -50.666667 -27.000000 935 - -50.500000 -27.000000 1059 - -50.333333 -27.000000 1137 - -50.166667 -27.000000 563 - -50.000000 -27.000000 625 - -49.833333 -27.000000 577 - -49.666667 -27.000000 360 - -49.500000 -27.000000 353 - -49.333333 -27.000000 226 - -49.166667 -27.000000 483 - -49.000000 -27.000000 342 - -48.833333 -27.000000 17 - -48.666667 -27.000000 35 - -48.500000 -27.000000 -24 - -48.333333 -27.000000 -42 - -48.166667 -27.000000 -54 - -48.000000 -27.000000 -67 - -47.833333 -27.000000 -98 - -47.666667 -27.000000 -105 - -47.500000 -27.000000 -152 - -47.333333 -27.000000 -115 - -47.166667 -27.000000 -146 - -47.000000 -27.000000 -186 - -46.833333 -27.000000 -207 - -46.666667 -27.000000 -301 - -46.500000 -27.000000 -402 - -46.333333 -27.000000 -627 - -46.166667 -27.000000 -1187 - -46.000000 -27.000000 -1426 - -45.833333 -27.000000 -1789 - -45.666667 -27.000000 -2077 - -45.500000 -27.000000 -2228 - -45.333333 -27.000000 -2290 - -45.166667 -27.000000 -2434 - -45.000000 -27.000000 -2454 - -44.833333 -27.000000 -2457 - -44.666667 -27.000000 -2667 - -44.500000 -27.000000 -2753 - -44.333333 -27.000000 -2687 - -44.166667 -27.000000 -2696 - -44.000000 -27.000000 -2647 - -43.833333 -27.000000 -2676 - -43.666667 -27.000000 -2624 - -43.500000 -27.000000 -2566 - -43.333333 -27.000000 -2533 - -43.166667 -27.000000 -2443 - -43.000000 -27.000000 -2489 - -42.833333 -27.000000 -2442 - -42.666667 -27.000000 -2394 - -42.500000 -27.000000 -2459 - -42.333333 -27.000000 -2430 - -42.166667 -27.000000 -2521 - -42.000000 -27.000000 -2674 - -41.833333 -27.000000 -2673 - -41.666667 -27.000000 -2766 - -41.500000 -27.000000 -2858 - -41.333333 -27.000000 -2897 - -41.166667 -27.000000 -3061 - -41.000000 -27.000000 -3096 - -40.833333 -27.000000 -3347 - -40.666667 -27.000000 -3240 - -40.500000 -27.000000 -3443 - -40.333333 -27.000000 -3673 - -40.166667 -27.000000 -3747 - -40.000000 -27.000000 -3934 - -65.000000 -27.166667 334 - -64.833333 -27.166667 406 - -64.666667 -27.166667 293 - -64.500000 -27.166667 263 - -64.333333 -27.166667 245 - -64.166667 -27.166667 183 - -64.000000 -27.166667 168 - -63.833333 -27.166667 170 - -63.666667 -27.166667 170 - -63.500000 -27.166667 170 - -63.333333 -27.166667 169 - -63.166667 -27.166667 168 - -63.000000 -27.166667 164 - -62.833333 -27.166667 161 - -62.666667 -27.166667 162 - -62.500000 -27.166667 160 - -62.333333 -27.166667 156 - -62.166667 -27.166667 167 - -62.000000 -27.166667 155 - -61.833333 -27.166667 188 - -61.666667 -27.166667 143 - -61.500000 -27.166667 100 - -61.333333 -27.166667 104 - -61.166667 -27.166667 101 - -61.000000 -27.166667 98 - -60.833333 -27.166667 92 - -60.666667 -27.166667 91 - -60.500000 -27.166667 86 - -60.333333 -27.166667 82 - -60.166667 -27.166667 80 - -60.000000 -27.166667 75 - -59.833333 -27.166667 72 - -59.666667 -27.166667 73 - -59.500000 -27.166667 67 - -59.333333 -27.166667 64 - -59.166667 -27.166667 59 - -59.000000 -27.166667 61 - -58.833333 -27.166667 60 - -58.666667 -27.166667 52 - -58.500000 -27.166667 54 - -58.333333 -27.166667 59 - -58.166667 -27.166667 60 - -58.000000 -27.166667 61 - -57.833333 -27.166667 64 - -57.666667 -27.166667 65 - -57.500000 -27.166667 68 - -57.333333 -27.166667 69 - -57.166667 -27.166667 71 - -57.000000 -27.166667 77 - -56.833333 -27.166667 80 - -56.666667 -27.166667 82 - -56.500000 -27.166667 119 - -56.333333 -27.166667 96 - -56.166667 -27.166667 87 - -56.000000 -27.166667 156 - -55.833333 -27.166667 196 - -55.666667 -27.166667 130 - -55.500000 -27.166667 142 - -55.333333 -27.166667 151 - -55.166667 -27.166667 341 - -55.000000 -27.166667 375 - -54.833333 -27.166667 331 - -54.666667 -27.166667 464 - -54.500000 -27.166667 365 - -54.333333 -27.166667 369 - -54.166667 -27.166667 319 - -54.000000 -27.166667 273 - -53.833333 -27.166667 190 - -53.666667 -27.166667 202 - -53.500000 -27.166667 208 - -53.333333 -27.166667 289 - -53.166667 -27.166667 240 - -53.000000 -27.166667 361 - -52.833333 -27.166667 395 - -52.666667 -27.166667 644 - -52.500000 -27.166667 436 - -52.333333 -27.166667 608 - -52.166667 -27.166667 505 - -52.000000 -27.166667 706 - -51.833333 -27.166667 746 - -51.666667 -27.166667 807 - -51.500000 -27.166667 582 - -51.333333 -27.166667 844 - -51.166667 -27.166667 828 - -51.000000 -27.166667 1018 - -50.833333 -27.166667 916 - -50.666667 -27.166667 884 - -50.500000 -27.166667 998 - -50.333333 -27.166667 1117 - -50.166667 -27.166667 727 - -50.000000 -27.166667 539 - -49.833333 -27.166667 370 - -49.666667 -27.166667 657 - -49.500000 -27.166667 476 - -49.333333 -27.166667 417 - -49.166667 -27.166667 620 - -49.000000 -27.166667 136 - -48.833333 -27.166667 153 - -48.666667 -27.166667 258 - -48.500000 -27.166667 45 - -48.333333 -27.166667 -24 - -48.166667 -27.166667 -63 - -48.000000 -27.166667 -70 - -47.833333 -27.166667 -75 - -47.666667 -27.166667 -117 - -47.500000 -27.166667 -132 - -47.333333 -27.166667 -150 - -47.166667 -27.166667 -181 - -47.000000 -27.166667 -340 - -46.833333 -27.166667 -470 - -46.666667 -27.166667 -636 - -46.500000 -27.166667 -958 - -46.333333 -27.166667 -1399 - -46.166667 -27.166667 -1604 - -46.000000 -27.166667 -1833 - -45.833333 -27.166667 -1993 - -45.666667 -27.166667 -2151 - -45.500000 -27.166667 -2245 - -45.333333 -27.166667 -2564 - -45.166667 -27.166667 -2646 - -45.000000 -27.166667 -2639 - -44.833333 -27.166667 -2576 - -44.666667 -27.166667 -2777 - -44.500000 -27.166667 -2681 - -44.333333 -27.166667 -2689 - -44.166667 -27.166667 -2845 - -44.000000 -27.166667 -2862 - -43.833333 -27.166667 -2711 - -43.666667 -27.166667 -2644 - -43.500000 -27.166667 -2622 - -43.333333 -27.166667 -2530 - -43.166667 -27.166667 -2439 - -43.000000 -27.166667 -2372 - -42.833333 -27.166667 -2399 - -42.666667 -27.166667 -2462 - -42.500000 -27.166667 -2431 - -42.333333 -27.166667 -2553 - -42.166667 -27.166667 -2704 - -42.000000 -27.166667 -2849 - -41.833333 -27.166667 -2909 - -41.666667 -27.166667 -2985 - -41.500000 -27.166667 -3046 - -41.333333 -27.166667 -3118 - -41.166667 -27.166667 -3189 - -41.000000 -27.166667 -3274 - -40.833333 -27.166667 -3313 - -40.666667 -27.166667 -3369 - -40.500000 -27.166667 -3478 - -40.333333 -27.166667 -3629 - -40.166667 -27.166667 -3599 - -40.000000 -27.166667 -3796 - -65.000000 -27.333333 301 - -64.833333 -27.333333 319 - -64.666667 -27.333333 328 - -64.500000 -27.333333 242 - -64.333333 -27.333333 237 - -64.166667 -27.333333 168 - -64.000000 -27.333333 159 - -63.833333 -27.333333 159 - -63.666667 -27.333333 160 - -63.500000 -27.333333 160 - -63.333333 -27.333333 159 - -63.166667 -27.333333 158 - -63.000000 -27.333333 158 - -62.833333 -27.333333 159 - -62.666667 -27.333333 157 - -62.500000 -27.333333 156 - -62.333333 -27.333333 155 - -62.166667 -27.333333 152 - -62.000000 -27.333333 153 - -61.833333 -27.333333 133 - -61.666667 -27.333333 127 - -61.500000 -27.333333 111 - -61.333333 -27.333333 95 - -61.166667 -27.333333 94 - -61.000000 -27.333333 93 - -60.833333 -27.333333 89 - -60.666667 -27.333333 85 - -60.500000 -27.333333 81 - -60.333333 -27.333333 78 - -60.166667 -27.333333 77 - -60.000000 -27.333333 73 - -59.833333 -27.333333 69 - -59.666667 -27.333333 71 - -59.500000 -27.333333 68 - -59.333333 -27.333333 63 - -59.166667 -27.333333 60 - -59.000000 -27.333333 55 - -58.833333 -27.333333 52 - -58.666667 -27.333333 51 - -58.500000 -27.333333 61 - -58.333333 -27.333333 65 - -58.166667 -27.333333 67 - -58.000000 -27.333333 66 - -57.833333 -27.333333 55 - -57.666667 -27.333333 56 - -57.500000 -27.333333 55 - -57.333333 -27.333333 64 - -57.166667 -27.333333 72 - -57.000000 -27.333333 71 - -56.833333 -27.333333 76 - -56.666667 -27.333333 77 - -56.500000 -27.333333 75 - -56.333333 -27.333333 82 - -56.166667 -27.333333 75 - -56.000000 -27.333333 75 - -55.833333 -27.333333 103 - -55.666667 -27.333333 165 - -55.500000 -27.333333 131 - -55.333333 -27.333333 194 - -55.166667 -27.333333 327 - -55.000000 -27.333333 293 - -54.833333 -27.333333 232 - -54.666667 -27.333333 258 - -54.500000 -27.333333 379 - -54.333333 -27.333333 266 - -54.166667 -27.333333 276 - -54.000000 -27.333333 280 - -53.833333 -27.333333 388 - -53.666667 -27.333333 344 - -53.500000 -27.333333 456 - -53.333333 -27.333333 332 - -53.166667 -27.333333 439 - -53.000000 -27.333333 537 - -52.833333 -27.333333 549 - -52.666667 -27.333333 508 - -52.500000 -27.333333 555 - -52.333333 -27.333333 475 - -52.166667 -27.333333 475 - -52.000000 -27.333333 431 - -51.833333 -27.333333 623 - -51.666667 -27.333333 525 - -51.500000 -27.333333 635 - -51.333333 -27.333333 780 - -51.166667 -27.333333 962 - -51.000000 -27.333333 980 - -50.833333 -27.333333 923 - -50.666667 -27.333333 902 - -50.500000 -27.333333 1038 - -50.333333 -27.333333 1129 - -50.166667 -27.333333 861 - -50.000000 -27.333333 645 - -49.833333 -27.333333 395 - -49.666667 -27.333333 472 - -49.500000 -27.333333 670 - -49.333333 -27.333333 403 - -49.166667 -27.333333 323 - -49.000000 -27.333333 291 - -48.833333 -27.333333 152 - -48.666667 -27.333333 204 - -48.500000 -27.333333 -1 - -48.333333 -27.333333 -24 - -48.166667 -27.333333 -53 - -48.000000 -27.333333 -85 - -47.833333 -27.333333 -106 - -47.666667 -27.333333 -118 - -47.500000 -27.333333 -138 - -47.333333 -27.333333 -163 - -47.166667 -27.333333 -262 - -47.000000 -27.333333 -633 - -46.833333 -27.333333 -794 - -46.666667 -27.333333 -1045 - -46.500000 -27.333333 -1398 - -46.333333 -27.333333 -1732 - -46.166667 -27.333333 -1861 - -46.000000 -27.333333 -2027 - -45.833333 -27.333333 -2234 - -45.666667 -27.333333 -2238 - -45.500000 -27.333333 -2403 - -45.333333 -27.333333 -2564 - -45.166667 -27.333333 -2579 - -45.000000 -27.333333 -2607 - -44.833333 -27.333333 -2604 - -44.666667 -27.333333 -2332 - -44.500000 -27.333333 -2926 - -44.333333 -27.333333 -2714 - -44.166667 -27.333333 -2770 - -44.000000 -27.333333 -2645 - -43.833333 -27.333333 -2816 - -43.666667 -27.333333 -2741 - -43.500000 -27.333333 -2735 - -43.333333 -27.333333 -2709 - -43.166667 -27.333333 -2613 - -43.000000 -27.333333 -2443 - -42.833333 -27.333333 -2426 - -42.666667 -27.333333 -2486 - -42.500000 -27.333333 -2600 - -42.333333 -27.333333 -2781 - -42.166667 -27.333333 -2864 - -42.000000 -27.333333 -2937 - -41.833333 -27.333333 -3034 - -41.666667 -27.333333 -3062 - -41.500000 -27.333333 -3133 - -41.333333 -27.333333 -3202 - -41.166667 -27.333333 -3208 - -41.000000 -27.333333 -3302 - -40.833333 -27.333333 -3417 - -40.666667 -27.333333 -3471 - -40.500000 -27.333333 -3482 - -40.333333 -27.333333 -3572 - -40.166667 -27.333333 -3871 - -40.000000 -27.333333 -3730 - -65.000000 -27.500000 274 - -64.833333 -27.500000 268 - -64.666667 -27.500000 265 - -64.500000 -27.500000 236 - -64.333333 -27.500000 232 - -64.166667 -27.500000 176 - -64.000000 -27.500000 161 - -63.833333 -27.500000 154 - -63.666667 -27.500000 151 - -63.500000 -27.500000 149 - -63.333333 -27.500000 150 - -63.166667 -27.500000 150 - -63.000000 -27.500000 152 - -62.833333 -27.500000 151 - -62.666667 -27.500000 148 - -62.500000 -27.500000 153 - -62.333333 -27.500000 144 - -62.166667 -27.500000 147 - -62.000000 -27.500000 168 - -61.833333 -27.500000 127 - -61.666667 -27.500000 101 - -61.500000 -27.500000 115 - -61.333333 -27.500000 87 - -61.166667 -27.500000 87 - -61.000000 -27.500000 87 - -60.833333 -27.500000 82 - -60.666667 -27.500000 78 - -60.500000 -27.500000 76 - -60.333333 -27.500000 75 - -60.166667 -27.500000 71 - -60.000000 -27.500000 73 - -59.833333 -27.500000 72 - -59.666667 -27.500000 67 - -59.500000 -27.500000 66 - -59.333333 -27.500000 63 - -59.166667 -27.500000 55 - -59.000000 -27.500000 51 - -58.833333 -27.500000 61 - -58.666667 -27.500000 62 - -58.500000 -27.500000 62 - -58.333333 -27.500000 63 - -58.166667 -27.500000 66 - -58.000000 -27.500000 66 - -57.833333 -27.500000 67 - -57.666667 -27.500000 69 - -57.500000 -27.500000 70 - -57.333333 -27.500000 72 - -57.166667 -27.500000 60 - -57.000000 -27.500000 60 - -56.833333 -27.500000 62 - -56.666667 -27.500000 81 - -56.500000 -27.500000 75 - -56.333333 -27.500000 75 - -56.166667 -27.500000 104 - -56.000000 -27.500000 148 - -55.833333 -27.500000 88 - -55.666667 -27.500000 130 - -55.500000 -27.500000 261 - -55.333333 -27.500000 231 - -55.166667 -27.500000 322 - -55.000000 -27.500000 286 - -54.833333 -27.500000 265 - -54.666667 -27.500000 135 - -54.500000 -27.500000 171 - -54.333333 -27.500000 200 - -54.166667 -27.500000 263 - -54.000000 -27.500000 310 - -53.833333 -27.500000 325 - -53.666667 -27.500000 451 - -53.500000 -27.500000 467 - -53.333333 -27.500000 408 - -53.166667 -27.500000 322 - -53.000000 -27.500000 536 - -52.833333 -27.500000 574 - -52.666667 -27.500000 592 - -52.500000 -27.500000 649 - -52.333333 -27.500000 706 - -52.166667 -27.500000 620 - -52.000000 -27.500000 546 - -51.833333 -27.500000 481 - -51.666667 -27.500000 554 - -51.500000 -27.500000 698 - -51.333333 -27.500000 825 - -51.166667 -27.500000 866 - -51.000000 -27.500000 864 - -50.833333 -27.500000 783 - -50.666667 -27.500000 867 - -50.500000 -27.500000 888 - -50.333333 -27.500000 898 - -50.166667 -27.500000 851 - -50.000000 -27.500000 855 - -49.833333 -27.500000 722 - -49.666667 -27.500000 511 - -49.500000 -27.500000 639 - -49.333333 -27.500000 740 - -49.166667 -27.500000 776 - -49.000000 -27.500000 302 - -48.833333 -27.500000 219 - -48.666667 -27.500000 79 - -48.500000 -27.500000 85 - -48.333333 -27.500000 -22 - -48.166667 -27.500000 -60 - -48.000000 -27.500000 -71 - -47.833333 -27.500000 -113 - -47.666667 -27.500000 -126 - -47.500000 -27.500000 -151 - -47.333333 -27.500000 -207 - -47.166667 -27.500000 -449 - -47.000000 -27.500000 -673 - -46.833333 -27.500000 -1031 - -46.666667 -27.500000 -1230 - -46.500000 -27.500000 -1558 - -46.333333 -27.500000 -1853 - -46.166667 -27.500000 -2074 - -46.000000 -27.500000 -2195 - -45.833333 -27.500000 -2273 - -45.666667 -27.500000 -2399 - -45.500000 -27.500000 -2395 - -45.333333 -27.500000 -2620 - -45.166667 -27.500000 -2601 - -45.000000 -27.500000 -2638 - -44.833333 -27.500000 -2677 - -44.666667 -27.500000 -2745 - -44.500000 -27.500000 -2880 - -44.333333 -27.500000 -2770 - -44.166667 -27.500000 -2780 - -44.000000 -27.500000 -2906 - -43.833333 -27.500000 -2883 - -43.666667 -27.500000 -2856 - -43.500000 -27.500000 -2844 - -43.333333 -27.500000 -2821 - -43.166667 -27.500000 -2666 - -43.000000 -27.500000 -2621 - -42.833333 -27.500000 -2622 - -42.666667 -27.500000 -2662 - -42.500000 -27.500000 -2790 - -42.333333 -27.500000 -2901 - -42.166667 -27.500000 -2948 - -42.000000 -27.500000 -3068 - -41.833333 -27.500000 -3055 - -41.666667 -27.500000 -3183 - -41.500000 -27.500000 -3118 - -41.333333 -27.500000 -3166 - -41.166667 -27.500000 -3221 - -41.000000 -27.500000 -3280 - -40.833333 -27.500000 -3174 - -40.666667 -27.500000 -3213 - -40.500000 -27.500000 -3206 - -40.333333 -27.500000 -3278 - -40.166667 -27.500000 -3464 - -40.000000 -27.500000 -3556 - -65.000000 -27.666667 291 - -64.833333 -27.666667 378 - -64.666667 -27.666667 335 - -64.500000 -27.666667 274 - -64.333333 -27.666667 213 - -64.166667 -27.666667 184 - -64.000000 -27.666667 167 - -63.833333 -27.666667 158 - -63.666667 -27.666667 148 - -63.500000 -27.666667 143 - -63.333333 -27.666667 146 - -63.166667 -27.666667 143 - -63.000000 -27.666667 143 - -62.833333 -27.666667 143 - -62.666667 -27.666667 144 - -62.500000 -27.666667 138 - -62.333333 -27.666667 138 - -62.166667 -27.666667 165 - -62.000000 -27.666667 130 - -61.833333 -27.666667 117 - -61.666667 -27.666667 78 - -61.500000 -27.666667 79 - -61.333333 -27.666667 81 - -61.166667 -27.666667 80 - -61.000000 -27.666667 79 - -60.833333 -27.666667 76 - -60.666667 -27.666667 74 - -60.500000 -27.666667 73 - -60.333333 -27.666667 69 - -60.166667 -27.666667 68 - -60.000000 -27.666667 66 - -59.833333 -27.666667 65 - -59.666667 -27.666667 62 - -59.500000 -27.666667 63 - -59.333333 -27.666667 61 - -59.166667 -27.666667 50 - -59.000000 -27.666667 48 - -58.833333 -27.666667 46 - -58.666667 -27.666667 63 - -58.500000 -27.666667 64 - -58.333333 -27.666667 64 - -58.166667 -27.666667 66 - -58.000000 -27.666667 66 - -57.833333 -27.666667 69 - -57.666667 -27.666667 70 - -57.500000 -27.666667 71 - -57.333333 -27.666667 70 - -57.166667 -27.666667 72 - -57.000000 -27.666667 72 - -56.833333 -27.666667 73 - -56.666667 -27.666667 72 - -56.500000 -27.666667 80 - -56.333333 -27.666667 91 - -56.166667 -27.666667 104 - -56.000000 -27.666667 135 - -55.833333 -27.666667 133 - -55.666667 -27.666667 125 - -55.500000 -27.666667 280 - -55.333333 -27.666667 215 - -55.166667 -27.666667 192 - -55.000000 -27.666667 286 - -54.833333 -27.666667 173 - -54.666667 -27.666667 148 - -54.500000 -27.666667 178 - -54.333333 -27.666667 260 - -54.166667 -27.666667 190 - -54.000000 -27.666667 319 - -53.833333 -27.666667 443 - -53.666667 -27.666667 475 - -53.500000 -27.666667 546 - -53.333333 -27.666667 543 - -53.166667 -27.666667 377 - -53.000000 -27.666667 410 - -52.833333 -27.666667 644 - -52.666667 -27.666667 571 - -52.500000 -27.666667 570 - -52.333333 -27.666667 722 - -52.166667 -27.666667 593 - -52.000000 -27.666667 597 - -51.833333 -27.666667 511 - -51.666667 -27.666667 707 - -51.500000 -27.666667 682 - -51.333333 -27.666667 620 - -51.166667 -27.666667 824 - -51.000000 -27.666667 709 - -50.833333 -27.666667 861 - -50.666667 -27.666667 805 - -50.500000 -27.666667 973 - -50.333333 -27.666667 875 - -50.166667 -27.666667 893 - -50.000000 -27.666667 847 - -49.833333 -27.666667 876 - -49.666667 -27.666667 925 - -49.500000 -27.666667 598 - -49.333333 -27.666667 804 - -49.166667 -27.666667 1019 - -49.000000 -27.666667 813 - -48.833333 -27.666667 333 - -48.666667 -27.666667 4 - -48.500000 -27.666667 42 - -48.333333 -27.666667 -36 - -48.166667 -27.666667 -76 - -48.000000 -27.666667 -92 - -47.833333 -27.666667 -71 - -47.666667 -27.666667 -139 - -47.500000 -27.666667 -155 - -47.333333 -27.666667 -210 - -47.166667 -27.666667 -471 - -47.000000 -27.666667 -630 - -46.833333 -27.666667 -942 - -46.666667 -27.666667 -1275 - -46.500000 -27.666667 -1616 - -46.333333 -27.666667 -1947 - -46.166667 -27.666667 -2194 - -46.000000 -27.666667 -2273 - -45.833333 -27.666667 -2363 - -45.666667 -27.666667 -2460 - -45.500000 -27.666667 -2556 - -45.333333 -27.666667 -2658 - -45.166667 -27.666667 -2760 - -45.000000 -27.666667 -2909 - -44.833333 -27.666667 -3016 - -44.666667 -27.666667 -3079 - -44.500000 -27.666667 -3145 - -44.333333 -27.666667 -2902 - -44.166667 -27.666667 -2861 - -44.000000 -27.666667 -2980 - -43.833333 -27.666667 -3009 - -43.666667 -27.666667 -3249 - -43.500000 -27.666667 -2882 - -43.333333 -27.666667 -2969 - -43.166667 -27.666667 -2796 - -43.000000 -27.666667 -2667 - -42.833333 -27.666667 -2664 - -42.666667 -27.666667 -2775 - -42.500000 -27.666667 -2846 - -42.333333 -27.666667 -2812 - -42.166667 -27.666667 -2974 - -42.000000 -27.666667 -3045 - -41.833333 -27.666667 -2985 - -41.666667 -27.666667 -3122 - -41.500000 -27.666667 -3176 - -41.333333 -27.666667 -3083 - -41.166667 -27.666667 -3091 - -41.000000 -27.666667 -3038 - -40.833333 -27.666667 -3085 - -40.666667 -27.666667 -3032 - -40.500000 -27.666667 -3014 - -40.333333 -27.666667 -2925 - -40.166667 -27.666667 -3502 - -40.000000 -27.666667 -3002 - -65.000000 -27.833333 374 - -64.833333 -27.833333 495 - -64.666667 -27.833333 395 - -64.500000 -27.833333 312 - -64.333333 -27.833333 214 - -64.166667 -27.833333 179 - -64.000000 -27.833333 164 - -63.833333 -27.833333 156 - -63.666667 -27.833333 146 - -63.500000 -27.833333 138 - -63.333333 -27.833333 139 - -63.166667 -27.833333 133 - -63.000000 -27.833333 133 - -62.833333 -27.833333 136 - -62.666667 -27.833333 134 - -62.500000 -27.833333 131 - -62.333333 -27.833333 148 - -62.166667 -27.833333 132 - -62.000000 -27.833333 106 - -61.833333 -27.833333 120 - -61.666667 -27.833333 95 - -61.500000 -27.833333 72 - -61.333333 -27.833333 74 - -61.166667 -27.833333 74 - -61.000000 -27.833333 74 - -60.833333 -27.833333 73 - -60.666667 -27.833333 71 - -60.500000 -27.833333 70 - -60.333333 -27.833333 67 - -60.166667 -27.833333 65 - -60.000000 -27.833333 65 - -59.833333 -27.833333 62 - -59.666667 -27.833333 61 - -59.500000 -27.833333 61 - -59.333333 -27.833333 57 - -59.166667 -27.833333 49 - -59.000000 -27.833333 46 - -58.833333 -27.833333 46 - -58.666667 -27.833333 63 - -58.500000 -27.833333 64 - -58.333333 -27.833333 66 - -58.166667 -27.833333 66 - -58.000000 -27.833333 69 - -57.833333 -27.833333 72 - -57.666667 -27.833333 71 - -57.500000 -27.833333 68 - -57.333333 -27.833333 75 - -57.166667 -27.833333 68 - -57.000000 -27.833333 70 - -56.833333 -27.833333 72 - -56.666667 -27.833333 72 - -56.500000 -27.833333 75 - -56.333333 -27.833333 90 - -56.166667 -27.833333 89 - -56.000000 -27.833333 128 - -55.833333 -27.833333 150 - -55.666667 -27.833333 153 - -55.500000 -27.833333 266 - -55.333333 -27.833333 132 - -55.166667 -27.833333 148 - -55.000000 -27.833333 131 - -54.833333 -27.833333 141 - -54.666667 -27.833333 287 - -54.500000 -27.833333 289 - -54.333333 -27.833333 261 - -54.166667 -27.833333 321 - -54.000000 -27.833333 367 - -53.833333 -27.833333 452 - -53.666667 -27.833333 516 - -53.500000 -27.833333 514 - -53.333333 -27.833333 596 - -53.166667 -27.833333 448 - -53.000000 -27.833333 377 - -52.833333 -27.833333 578 - -52.666667 -27.833333 599 - -52.500000 -27.833333 695 - -52.333333 -27.833333 717 - -52.166667 -27.833333 693 - -52.000000 -27.833333 484 - -51.833333 -27.833333 701 - -51.666667 -27.833333 701 - -51.500000 -27.833333 775 - -51.333333 -27.833333 799 - -51.166667 -27.833333 847 - -51.000000 -27.833333 851 - -50.833333 -27.833333 1001 - -50.666667 -27.833333 922 - -50.500000 -27.833333 920 - -50.333333 -27.833333 922 - -50.166667 -27.833333 1110 - -50.000000 -27.833333 1286 - -49.833333 -27.833333 1081 - -49.666667 -27.833333 943 - -49.500000 -27.833333 993 - -49.333333 -27.833333 1453 - -49.166667 -27.833333 868 - -49.000000 -27.833333 781 - -48.833333 -27.833333 788 - -48.666667 -27.833333 225 - -48.500000 -27.833333 0 - -48.333333 -27.833333 -61 - -48.166667 -27.833333 -73 - -48.000000 -27.833333 -78 - -47.833333 -27.833333 -108 - -47.666667 -27.833333 -154 - -47.500000 -27.833333 -231 - -47.333333 -27.833333 -237 - -47.166667 -27.833333 -353 - -47.000000 -27.833333 -528 - -46.833333 -27.833333 -774 - -46.666667 -27.833333 -1228 - -46.500000 -27.833333 -1623 - -46.333333 -27.833333 -2057 - -46.166667 -27.833333 -2302 - -46.000000 -27.833333 -2397 - -45.833333 -27.833333 -2490 - -45.666667 -27.833333 -2672 - -45.500000 -27.833333 -2853 - -45.333333 -27.833333 -3009 - -45.166667 -27.833333 -2997 - -45.000000 -27.833333 -3124 - -44.833333 -27.833333 -3413 - -44.666667 -27.833333 -3413 - -44.500000 -27.833333 -3452 - -44.333333 -27.833333 -3367 - -44.166667 -27.833333 -3276 - -44.000000 -27.833333 -3338 - -43.833333 -27.833333 -3250 - -43.666667 -27.833333 -3249 - -43.500000 -27.833333 -3381 - -43.333333 -27.833333 -3072 - -43.166667 -27.833333 -2876 - -43.000000 -27.833333 -2741 - -42.833333 -27.833333 -2745 - -42.666667 -27.833333 -2855 - -42.500000 -27.833333 -2913 - -42.333333 -27.833333 -2919 - -42.166667 -27.833333 -3012 - -42.000000 -27.833333 -2947 - -41.833333 -27.833333 -3198 - -41.666667 -27.833333 -3167 - -41.500000 -27.833333 -3291 - -41.333333 -27.833333 -3119 - -41.166667 -27.833333 -2977 - -41.000000 -27.833333 -2985 - -40.833333 -27.833333 -3173 - -40.666667 -27.833333 -3202 - -40.500000 -27.833333 -2856 - -40.333333 -27.833333 -2703 - -40.166667 -27.833333 -2686 - -40.000000 -27.833333 -3155 - -65.000000 -28.000000 433 - -64.833333 -28.000000 645 - -64.666667 -28.000000 423 - -64.500000 -28.000000 292 - -64.333333 -28.000000 219 - -64.166667 -28.000000 164 - -64.000000 -28.000000 155 - -63.833333 -28.000000 145 - -63.666667 -28.000000 141 - -63.500000 -28.000000 136 - -63.333333 -28.000000 132 - -63.166667 -28.000000 127 - -63.000000 -28.000000 128 - -62.833333 -28.000000 128 - -62.666667 -28.000000 127 - -62.500000 -28.000000 126 - -62.333333 -28.000000 123 - -62.166667 -28.000000 84 - -62.000000 -28.000000 83 - -61.833333 -28.000000 80 - -61.666667 -28.000000 74 - -61.500000 -28.000000 70 - -61.333333 -28.000000 69 - -61.166667 -28.000000 71 - -61.000000 -28.000000 68 - -60.833333 -28.000000 67 - -60.666667 -28.000000 67 - -60.500000 -28.000000 67 - -60.333333 -28.000000 64 - -60.166667 -28.000000 63 - -60.000000 -28.000000 61 - -59.833333 -28.000000 62 - -59.666667 -28.000000 57 - -59.500000 -28.000000 58 - -59.333333 -28.000000 54 - -59.166667 -28.000000 45 - -59.000000 -28.000000 43 - -58.833333 -28.000000 41 - -58.666667 -28.000000 64 - -58.500000 -28.000000 66 - -58.333333 -28.000000 68 - -58.166667 -28.000000 73 - -58.000000 -28.000000 72 - -57.833333 -28.000000 65 - -57.666667 -28.000000 69 - -57.500000 -28.000000 74 - -57.333333 -28.000000 66 - -57.166667 -28.000000 66 - -57.000000 -28.000000 69 - -56.833333 -28.000000 69 - -56.666667 -28.000000 70 - -56.500000 -28.000000 82 - -56.333333 -28.000000 82 - -56.166667 -28.000000 104 - -56.000000 -28.000000 133 - -55.833333 -28.000000 153 - -55.666667 -28.000000 82 - -55.500000 -28.000000 148 - -55.333333 -28.000000 116 - -55.166667 -28.000000 196 - -55.000000 -28.000000 207 - -54.833333 -28.000000 205 - -54.666667 -28.000000 265 - -54.500000 -28.000000 348 - -54.333333 -28.000000 372 - -54.166667 -28.000000 336 - -54.000000 -28.000000 397 - -53.833333 -28.000000 454 - -53.666667 -28.000000 529 - -53.500000 -28.000000 557 - -53.333333 -28.000000 566 - -53.166667 -28.000000 568 - -53.000000 -28.000000 472 - -52.833333 -28.000000 615 - -52.666667 -28.000000 668 - -52.500000 -28.000000 630 - -52.333333 -28.000000 688 - -52.166667 -28.000000 626 - -52.000000 -28.000000 685 - -51.833333 -28.000000 667 - -51.666667 -28.000000 606 - -51.500000 -28.000000 806 - -51.333333 -28.000000 800 - -51.166667 -28.000000 899 - -51.000000 -28.000000 756 - -50.833333 -28.000000 913 - -50.666667 -28.000000 868 - -50.500000 -28.000000 962 - -50.333333 -28.000000 1105 - -50.166667 -28.000000 1171 - -50.000000 -28.000000 1146 - -49.833333 -28.000000 1406 - -49.666667 -28.000000 1196 - -49.500000 -28.000000 1133 - -49.333333 -28.000000 1347 - -49.166667 -28.000000 336 - -49.000000 -28.000000 583 - -48.833333 -28.000000 643 - -48.666667 -28.000000 278 - -48.500000 -28.000000 -38 - -48.333333 -28.000000 -68 - -48.166667 -28.000000 -79 - -48.000000 -28.000000 -67 - -47.833333 -28.000000 -133 - -47.666667 -28.000000 -182 - -47.500000 -28.000000 -177 - -47.333333 -28.000000 -218 - -47.166667 -28.000000 -269 - -47.000000 -28.000000 -456 - -46.833333 -28.000000 -580 - -46.666667 -28.000000 -1213 - -46.500000 -28.000000 -1728 - -46.333333 -28.000000 -2209 - -46.166667 -28.000000 -2377 - -46.000000 -28.000000 -2510 - -45.833333 -28.000000 -2644 - -45.666667 -28.000000 -2748 - -45.500000 -28.000000 -2833 - -45.333333 -28.000000 -3039 - -45.166667 -28.000000 -3102 - -45.000000 -28.000000 -3392 - -44.833333 -28.000000 -3397 - -44.666667 -28.000000 -3373 - -44.500000 -28.000000 -3441 - -44.333333 -28.000000 -3366 - -44.166667 -28.000000 -3319 - -44.000000 -28.000000 -3396 - -43.833333 -28.000000 -3487 - -43.666667 -28.000000 -3442 - -43.500000 -28.000000 -3353 - -43.333333 -28.000000 -3555 - -43.166667 -28.000000 -3047 - -43.000000 -28.000000 -2750 - -42.833333 -28.000000 -2982 - -42.666667 -28.000000 -2975 - -42.500000 -28.000000 -2954 - -42.333333 -28.000000 -3074 - -42.166667 -28.000000 -2984 - -42.000000 -28.000000 -3131 - -41.833333 -28.000000 -3027 - -41.666667 -28.000000 -2915 - -41.500000 -28.000000 -3130 - -41.333333 -28.000000 -3215 - -41.166667 -28.000000 -3131 - -41.000000 -28.000000 -3124 - -40.833333 -28.000000 -2985 - -40.666667 -28.000000 -2796 - -40.500000 -28.000000 -2548 - -40.333333 -28.000000 -2613 - -40.166667 -28.000000 -2640 - -40.000000 -28.000000 -3693 - -65.000000 -28.166667 470 - -64.833333 -28.166667 648 - -64.666667 -28.166667 338 - -64.500000 -28.166667 247 - -64.333333 -28.166667 185 - -64.166667 -28.166667 151 - -64.000000 -28.166667 147 - -63.833333 -28.166667 140 - -63.666667 -28.166667 134 - -63.500000 -28.166667 129 - -63.333333 -28.166667 126 - -63.166667 -28.166667 123 - -63.000000 -28.166667 120 - -62.833333 -28.166667 118 - -62.666667 -28.166667 121 - -62.500000 -28.166667 129 - -62.333333 -28.166667 87 - -62.166667 -28.166667 84 - -62.000000 -28.166667 82 - -61.833333 -28.166667 78 - -61.666667 -28.166667 73 - -61.500000 -28.166667 70 - -61.333333 -28.166667 67 - -61.166667 -28.166667 66 - -61.000000 -28.166667 66 - -60.833333 -28.166667 65 - -60.666667 -28.166667 63 - -60.500000 -28.166667 63 - -60.333333 -28.166667 60 - -60.166667 -28.166667 60 - -60.000000 -28.166667 60 - -59.833333 -28.166667 57 - -59.666667 -28.166667 58 - -59.500000 -28.166667 57 - -59.333333 -28.166667 55 - -59.166667 -28.166667 41 - -59.000000 -28.166667 43 - -58.833333 -28.166667 54 - -58.666667 -28.166667 65 - -58.500000 -28.166667 70 - -58.333333 -28.166667 67 - -58.166667 -28.166667 68 - -58.000000 -28.166667 73 - -57.833333 -28.166667 74 - -57.666667 -28.166667 71 - -57.500000 -28.166667 63 - -57.333333 -28.166667 64 - -57.166667 -28.166667 65 - -57.000000 -28.166667 66 - -56.833333 -28.166667 65 - -56.666667 -28.166667 77 - -56.500000 -28.166667 68 - -56.333333 -28.166667 80 - -56.166667 -28.166667 87 - -56.000000 -28.166667 114 - -55.833333 -28.166667 121 - -55.666667 -28.166667 97 - -55.500000 -28.166667 83 - -55.333333 -28.166667 113 - -55.166667 -28.166667 183 - -55.000000 -28.166667 135 - -54.833333 -28.166667 161 - -54.666667 -28.166667 240 - -54.500000 -28.166667 247 - -54.333333 -28.166667 315 - -54.166667 -28.166667 371 - -54.000000 -28.166667 355 - -53.833333 -28.166667 335 - -53.666667 -28.166667 456 - -53.500000 -28.166667 470 - -53.333333 -28.166667 543 - -53.166667 -28.166667 565 - -53.000000 -28.166667 523 - -52.833333 -28.166667 594 - -52.666667 -28.166667 575 - -52.500000 -28.166667 645 - -52.333333 -28.166667 678 - -52.166667 -28.166667 649 - -52.000000 -28.166667 738 - -51.833333 -28.166667 746 - -51.666667 -28.166667 724 - -51.500000 -28.166667 704 - -51.333333 -28.166667 869 - -51.166667 -28.166667 938 - -51.000000 -28.166667 921 - -50.833333 -28.166667 869 - -50.666667 -28.166667 985 - -50.500000 -28.166667 987 - -50.333333 -28.166667 1086 - -50.166667 -28.166667 992 - -50.000000 -28.166667 1153 - -49.833333 -28.166667 1296 - -49.666667 -28.166667 1457 - -49.500000 -28.166667 1101 - -49.333333 -28.166667 352 - -49.166667 -28.166667 154 - -49.000000 -28.166667 92 - -48.833333 -28.166667 211 - -48.666667 -28.166667 7 - -48.500000 -28.166667 -50 - -48.333333 -28.166667 -67 - -48.166667 -28.166667 -94 - -48.000000 -28.166667 -113 - -47.833333 -28.166667 -143 - -47.666667 -28.166667 -185 - -47.500000 -28.166667 -149 - -47.333333 -28.166667 -193 - -47.166667 -28.166667 -325 - -47.000000 -28.166667 -494 - -46.833333 -28.166667 -724 - -46.666667 -28.166667 -1316 - -46.500000 -28.166667 -1906 - -46.333333 -28.166667 -2383 - -46.166667 -28.166667 -2441 - -46.000000 -28.166667 -2578 - -45.833333 -28.166667 -2714 - -45.666667 -28.166667 -2799 - -45.500000 -28.166667 -2870 - -45.333333 -28.166667 -3041 - -45.166667 -28.166667 -3311 - -45.000000 -28.166667 -3452 - -44.833333 -28.166667 -3400 - -44.666667 -28.166667 -3425 - -44.500000 -28.166667 -3500 - -44.333333 -28.166667 -3523 - -44.166667 -28.166667 -3419 - -44.000000 -28.166667 -3516 - -43.833333 -28.166667 -3562 - -43.666667 -28.166667 -3629 - -43.500000 -28.166667 -3503 - -43.333333 -28.166667 -3608 - -43.166667 -28.166667 -3269 - -43.000000 -28.166667 -2957 - -42.833333 -28.166667 -2827 - -42.666667 -28.166667 -2852 - -42.500000 -28.166667 -2875 - -42.333333 -28.166667 -3021 - -42.166667 -28.166667 -3177 - -42.000000 -28.166667 -3088 - -41.833333 -28.166667 -3080 - -41.666667 -28.166667 -3049 - -41.500000 -28.166667 -3073 - -41.333333 -28.166667 -3069 - -41.166667 -28.166667 -3188 - -41.000000 -28.166667 -3185 - -40.833333 -28.166667 -2765 - -40.666667 -28.166667 -2730 - -40.500000 -28.166667 -2609 - -40.333333 -28.166667 -2465 - -40.166667 -28.166667 -2760 - -40.000000 -28.166667 -3922 - -65.000000 -28.333333 407 - -64.833333 -28.333333 581 - -64.666667 -28.333333 286 - -64.500000 -28.333333 207 - -64.333333 -28.333333 156 - -64.166667 -28.333333 137 - -64.000000 -28.333333 137 - -63.833333 -28.333333 131 - -63.666667 -28.333333 127 - -63.500000 -28.333333 124 - -63.333333 -28.333333 120 - -63.166667 -28.333333 117 - -63.000000 -28.333333 114 - -62.833333 -28.333333 115 - -62.666667 -28.333333 114 - -62.500000 -28.333333 111 - -62.333333 -28.333333 123 - -62.166667 -28.333333 90 - -62.000000 -28.333333 86 - -61.833333 -28.333333 82 - -61.666667 -28.333333 76 - -61.500000 -28.333333 74 - -61.333333 -28.333333 69 - -61.166667 -28.333333 67 - -61.000000 -28.333333 65 - -60.833333 -28.333333 63 - -60.666667 -28.333333 62 - -60.500000 -28.333333 61 - -60.333333 -28.333333 59 - -60.166667 -28.333333 60 - -60.000000 -28.333333 62 - -59.833333 -28.333333 61 - -59.666667 -28.333333 61 - -59.500000 -28.333333 54 - -59.333333 -28.333333 52 - -59.166667 -28.333333 41 - -59.000000 -28.333333 41 - -58.833333 -28.333333 67 - -58.666667 -28.333333 68 - -58.500000 -28.333333 62 - -58.333333 -28.333333 72 - -58.166667 -28.333333 64 - -58.000000 -28.333333 72 - -57.833333 -28.333333 64 - -57.666667 -28.333333 61 - -57.500000 -28.333333 61 - -57.333333 -28.333333 61 - -57.166667 -28.333333 64 - -57.000000 -28.333333 66 - -56.833333 -28.333333 68 - -56.666667 -28.333333 74 - -56.500000 -28.333333 63 - -56.333333 -28.333333 79 - -56.166667 -28.333333 80 - -56.000000 -28.333333 103 - -55.833333 -28.333333 79 - -55.666667 -28.333333 71 - -55.500000 -28.333333 74 - -55.333333 -28.333333 141 - -55.166667 -28.333333 129 - -55.000000 -28.333333 163 - -54.833333 -28.333333 293 - -54.666667 -28.333333 190 - -54.500000 -28.333333 187 - -54.333333 -28.333333 216 - -54.166667 -28.333333 223 - -54.000000 -28.333333 253 - -53.833333 -28.333333 346 - -53.666667 -28.333333 354 - -53.500000 -28.333333 472 - -53.333333 -28.333333 498 - -53.166667 -28.333333 470 - -53.000000 -28.333333 537 - -52.833333 -28.333333 527 - -52.666667 -28.333333 570 - -52.500000 -28.333333 551 - -52.333333 -28.333333 686 - -52.166667 -28.333333 675 - -52.000000 -28.333333 780 - -51.833333 -28.333333 796 - -51.666667 -28.333333 771 - -51.500000 -28.333333 749 - -51.333333 -28.333333 757 - -51.166667 -28.333333 868 - -51.000000 -28.333333 928 - -50.833333 -28.333333 947 - -50.666667 -28.333333 782 - -50.500000 -28.333333 945 - -50.333333 -28.333333 981 - -50.166667 -28.333333 1142 - -50.000000 -28.333333 1265 - -49.833333 -28.333333 1360 - -49.666667 -28.333333 1218 - -49.500000 -28.333333 542 - -49.333333 -28.333333 211 - -49.166667 -28.333333 56 - -49.000000 -28.333333 210 - -48.833333 -28.333333 3 - -48.666667 -28.333333 -14 - -48.500000 -28.333333 -57 - -48.333333 -28.333333 -79 - -48.166667 -28.333333 -99 - -48.000000 -28.333333 -125 - -47.833333 -28.333333 -175 - -47.666667 -28.333333 -146 - -47.500000 -28.333333 -162 - -47.333333 -28.333333 -202 - -47.166667 -28.333333 -373 - -47.000000 -28.333333 -446 - -46.833333 -28.333333 -707 - -46.666667 -28.333333 -1357 - -46.500000 -28.333333 -2004 - -46.333333 -28.333333 -2317 - -46.166667 -28.333333 -2485 - -46.000000 -28.333333 -2647 - -45.833333 -28.333333 -2740 - -45.666667 -28.333333 -2842 - -45.500000 -28.333333 -2966 - -45.333333 -28.333333 -3156 - -45.166667 -28.333333 -3390 - -45.000000 -28.333333 -3381 - -44.833333 -28.333333 -3461 - -44.666667 -28.333333 -3541 - -44.500000 -28.333333 -3598 - -44.333333 -28.333333 -3596 - -44.166667 -28.333333 -3614 - -44.000000 -28.333333 -3643 - -43.833333 -28.333333 -3648 - -43.666667 -28.333333 -3692 - -43.500000 -28.333333 -3588 - -43.333333 -28.333333 -3611 - -43.166667 -28.333333 -3603 - -43.000000 -28.333333 -3234 - -42.833333 -28.333333 -3086 - -42.666667 -28.333333 -2965 - -42.500000 -28.333333 -3006 - -42.333333 -28.333333 -2932 - -42.166667 -28.333333 -3038 - -42.000000 -28.333333 -3142 - -41.833333 -28.333333 -3156 - -41.666667 -28.333333 -3107 - -41.500000 -28.333333 -3144 - -41.333333 -28.333333 -3127 - -41.166667 -28.333333 -3217 - -41.000000 -28.333333 -2632 - -40.833333 -28.333333 -3179 - -40.666667 -28.333333 -3762 - -40.500000 -28.333333 -4236 - -40.333333 -28.333333 -4462 - -40.166667 -28.333333 -4526 - -40.000000 -28.333333 -4470 - -65.000000 -28.500000 354 - -64.833333 -28.500000 400 - -64.666667 -28.500000 277 - -64.500000 -28.500000 182 - -64.333333 -28.500000 130 - -64.166667 -28.500000 127 - -64.000000 -28.500000 130 - -63.833333 -28.500000 122 - -63.666667 -28.500000 120 - -63.500000 -28.500000 118 - -63.333333 -28.500000 114 - -63.166667 -28.500000 112 - -63.000000 -28.500000 111 - -62.833333 -28.500000 109 - -62.666667 -28.500000 108 - -62.500000 -28.500000 104 - -62.333333 -28.500000 104 - -62.166667 -28.500000 95 - -62.000000 -28.500000 89 - -61.833333 -28.500000 84 - -61.666667 -28.500000 78 - -61.500000 -28.500000 73 - -61.333333 -28.500000 69 - -61.166667 -28.500000 66 - -61.000000 -28.500000 64 - -60.833333 -28.500000 61 - -60.666667 -28.500000 59 - -60.500000 -28.500000 60 - -60.333333 -28.500000 59 - -60.166667 -28.500000 61 - -60.000000 -28.500000 61 - -59.833333 -28.500000 62 - -59.666667 -28.500000 58 - -59.500000 -28.500000 51 - -59.333333 -28.500000 50 - -59.166667 -28.500000 40 - -59.000000 -28.500000 70 - -58.833333 -28.500000 65 - -58.666667 -28.500000 59 - -58.500000 -28.500000 72 - -58.333333 -28.500000 63 - -58.166667 -28.500000 61 - -58.000000 -28.500000 63 - -57.833333 -28.500000 58 - -57.666667 -28.500000 57 - -57.500000 -28.500000 59 - -57.333333 -28.500000 61 - -57.166667 -28.500000 63 - -57.000000 -28.500000 70 - -56.833333 -28.500000 72 - -56.666667 -28.500000 71 - -56.500000 -28.500000 91 - -56.333333 -28.500000 74 - -56.166667 -28.500000 71 - -56.000000 -28.500000 58 - -55.833333 -28.500000 99 - -55.666667 -28.500000 77 - -55.500000 -28.500000 99 - -55.333333 -28.500000 129 - -55.166667 -28.500000 182 - -55.000000 -28.500000 186 - -54.833333 -28.500000 244 - -54.666667 -28.500000 236 - -54.500000 -28.500000 296 - -54.333333 -28.500000 317 - -54.166667 -28.500000 336 - -54.000000 -28.500000 334 - -53.833333 -28.500000 384 - -53.666667 -28.500000 379 - -53.500000 -28.500000 458 - -53.333333 -28.500000 452 - -53.166667 -28.500000 379 - -53.000000 -28.500000 477 - -52.833333 -28.500000 490 - -52.666667 -28.500000 468 - -52.500000 -28.500000 493 - -52.333333 -28.500000 540 - -52.166667 -28.500000 587 - -52.000000 -28.500000 766 - -51.833333 -28.500000 688 - -51.666667 -28.500000 803 - -51.500000 -28.500000 699 - -51.333333 -28.500000 717 - -51.166667 -28.500000 814 - -51.000000 -28.500000 874 - -50.833333 -28.500000 950 - -50.666667 -28.500000 950 - -50.500000 -28.500000 989 - -50.333333 -28.500000 1033 - -50.166667 -28.500000 992 - -50.000000 -28.500000 1031 - -49.833333 -28.500000 1060 - -49.666667 -28.500000 1295 - -49.500000 -28.500000 284 - -49.333333 -28.500000 152 - -49.166667 -28.500000 366 - -49.000000 -28.500000 3 - -48.833333 -28.500000 -3 - -48.666667 -28.500000 -44 - -48.500000 -28.500000 -67 - -48.333333 -28.500000 -88 - -48.166667 -28.500000 -103 - -48.000000 -28.500000 -149 - -47.833333 -28.500000 -141 - -47.666667 -28.500000 -152 - -47.500000 -28.500000 -151 - -47.333333 -28.500000 -234 - -47.166667 -28.500000 -348 - -47.000000 -28.500000 -430 - -46.833333 -28.500000 -833 - -46.666667 -28.500000 -1629 - -46.500000 -28.500000 -2132 - -46.333333 -28.500000 -2338 - -46.166667 -28.500000 -2528 - -46.000000 -28.500000 -2661 - -45.833333 -28.500000 -2783 - -45.666667 -28.500000 -2874 - -45.500000 -28.500000 -2978 - -45.333333 -28.500000 -3275 - -45.166667 -28.500000 -3334 - -45.000000 -28.500000 -3437 - -44.833333 -28.500000 -3509 - -44.666667 -28.500000 -3620 - -44.500000 -28.500000 -3649 - -44.333333 -28.500000 -3674 - -44.166667 -28.500000 -3713 - -44.000000 -28.500000 -3711 - -43.833333 -28.500000 -3712 - -43.666667 -28.500000 -3703 - -43.500000 -28.500000 -3653 - -43.333333 -28.500000 -3726 - -43.166667 -28.500000 -3770 - -43.000000 -28.500000 -3731 - -42.833333 -28.500000 -3438 - -42.666667 -28.500000 -3481 - -42.500000 -28.500000 -3313 - -42.333333 -28.500000 -3077 - -42.166667 -28.500000 -3103 - -42.000000 -28.500000 -3209 - -41.833333 -28.500000 -3733 - -41.666667 -28.500000 -4016 - -41.500000 -28.500000 -4295 - -41.333333 -28.500000 -4424 - -41.166667 -28.500000 -4229 - -41.000000 -28.500000 -4112 - -40.833333 -28.500000 -4074 - -40.666667 -28.500000 -3989 - -40.500000 -28.500000 -4021 - -40.333333 -28.500000 -4026 - -40.166667 -28.500000 -4091 - -40.000000 -28.500000 -3992 - -65.000000 -28.666667 306 - -64.833333 -28.666667 332 - -64.666667 -28.666667 245 - -64.500000 -28.666667 162 - -64.333333 -28.666667 119 - -64.166667 -28.666667 118 - -64.000000 -28.666667 119 - -63.833333 -28.666667 123 - -63.666667 -28.666667 115 - -63.500000 -28.666667 113 - -63.333333 -28.666667 108 - -63.166667 -28.666667 107 - -63.000000 -28.666667 106 - -62.833333 -28.666667 103 - -62.666667 -28.666667 102 - -62.500000 -28.666667 99 - -62.333333 -28.666667 95 - -62.166667 -28.666667 93 - -62.000000 -28.666667 86 - -61.833333 -28.666667 85 - -61.666667 -28.666667 79 - -61.500000 -28.666667 73 - -61.333333 -28.666667 71 - -61.166667 -28.666667 66 - -61.000000 -28.666667 63 - -60.833333 -28.666667 61 - -60.666667 -28.666667 60 - -60.500000 -28.666667 58 - -60.333333 -28.666667 58 - -60.166667 -28.666667 57 - -60.000000 -28.666667 61 - -59.833333 -28.666667 57 - -59.666667 -28.666667 58 - -59.500000 -28.666667 52 - -59.333333 -28.666667 39 - -59.166667 -28.666667 38 - -59.000000 -28.666667 63 - -58.833333 -28.666667 63 - -58.666667 -28.666667 68 - -58.500000 -28.666667 59 - -58.333333 -28.666667 59 - -58.166667 -28.666667 52 - -58.000000 -28.666667 53 - -57.833333 -28.666667 54 - -57.666667 -28.666667 59 - -57.500000 -28.666667 72 - -57.333333 -28.666667 71 - -57.166667 -28.666667 67 - -57.000000 -28.666667 70 - -56.833333 -28.666667 70 - -56.666667 -28.666667 56 - -56.500000 -28.666667 69 - -56.333333 -28.666667 73 - -56.166667 -28.666667 80 - -56.000000 -28.666667 84 - -55.833333 -28.666667 77 - -55.666667 -28.666667 72 - -55.500000 -28.666667 82 - -55.333333 -28.666667 99 - -55.166667 -28.666667 150 - -55.000000 -28.666667 222 - -54.833333 -28.666667 190 - -54.666667 -28.666667 192 - -54.500000 -28.666667 229 - -54.333333 -28.666667 278 - -54.166667 -28.666667 323 - -54.000000 -28.666667 346 - -53.833333 -28.666667 388 - -53.666667 -28.666667 404 - -53.500000 -28.666667 398 - -53.333333 -28.666667 440 - -53.166667 -28.666667 352 - -53.000000 -28.666667 408 - -52.833333 -28.666667 416 - -52.666667 -28.666667 457 - -52.500000 -28.666667 610 - -52.333333 -28.666667 680 - -52.166667 -28.666667 438 - -52.000000 -28.666667 595 - -51.833333 -28.666667 488 - -51.666667 -28.666667 726 - -51.500000 -28.666667 671 - -51.333333 -28.666667 711 - -51.166667 -28.666667 800 - -51.000000 -28.666667 682 - -50.833333 -28.666667 858 - -50.666667 -28.666667 968 - -50.500000 -28.666667 1001 - -50.333333 -28.666667 1060 - -50.166667 -28.666667 1113 - -50.000000 -28.666667 1201 - -49.833333 -28.666667 1193 - -49.666667 -28.666667 351 - -49.500000 -28.666667 60 - -49.333333 -28.666667 64 - -49.166667 -28.666667 13 - -49.000000 -28.666667 26 - -48.833333 -28.666667 -40 - -48.666667 -28.666667 -61 - -48.500000 -28.666667 -79 - -48.333333 -28.666667 -101 - -48.166667 -28.666667 -123 - -48.000000 -28.666667 -126 - -47.833333 -28.666667 -127 - -47.666667 -28.666667 -189 - -47.500000 -28.666667 -279 - -47.333333 -28.666667 -534 - -47.166667 -28.666667 -619 - -47.000000 -28.666667 -827 - -46.833333 -28.666667 -1161 - -46.666667 -28.666667 -1743 - -46.500000 -28.666667 -2026 - -46.333333 -28.666667 -2431 - -46.166667 -28.666667 -2523 - -46.000000 -28.666667 -2671 - -45.833333 -28.666667 -2818 - -45.666667 -28.666667 -2853 - -45.500000 -28.666667 -3036 - -45.333333 -28.666667 -3427 - -45.166667 -28.666667 -3406 - -45.000000 -28.666667 -3543 - -44.833333 -28.666667 -3596 - -44.666667 -28.666667 -3678 - -44.500000 -28.666667 -3674 - -44.333333 -28.666667 -3675 - -44.166667 -28.666667 -3746 - -44.000000 -28.666667 -3748 - -43.833333 -28.666667 -3800 - -43.666667 -28.666667 -3788 - -43.500000 -28.666667 -3960 - -43.333333 -28.666667 -3960 - -43.166667 -28.666667 -4012 - -43.000000 -28.666667 -4071 - -42.833333 -28.666667 -4079 - -42.666667 -28.666667 -3701 - -42.500000 -28.666667 -3463 - -42.333333 -28.666667 -3318 - -42.166667 -28.666667 -3518 - -42.000000 -28.666667 -3856 - -41.833333 -28.666667 -3959 - -41.666667 -28.666667 -3807 - -41.500000 -28.666667 -3731 - -41.333333 -28.666667 -3919 - -41.166667 -28.666667 -3861 - -41.000000 -28.666667 -3884 - -40.833333 -28.666667 -3843 - -40.666667 -28.666667 -3872 - -40.500000 -28.666667 -3850 - -40.333333 -28.666667 -3914 - -40.166667 -28.666667 -3902 - -40.000000 -28.666667 -4108 - -65.000000 -28.833333 277 - -64.833333 -28.833333 301 - -64.666667 -28.833333 203 - -64.500000 -28.833333 128 - -64.333333 -28.833333 113 - -64.166667 -28.833333 114 - -64.000000 -28.833333 112 - -63.833333 -28.833333 113 - -63.666667 -28.833333 113 - -63.500000 -28.833333 111 - -63.333333 -28.833333 104 - -63.166667 -28.833333 102 - -63.000000 -28.833333 103 - -62.833333 -28.833333 97 - -62.666667 -28.833333 94 - -62.500000 -28.833333 97 - -62.333333 -28.833333 92 - -62.166667 -28.833333 89 - -62.000000 -28.833333 86 - -61.833333 -28.833333 81 - -61.666667 -28.833333 76 - -61.500000 -28.833333 73 - -61.333333 -28.833333 68 - -61.166667 -28.833333 65 - -61.000000 -28.833333 64 - -60.833333 -28.833333 61 - -60.666667 -28.833333 59 - -60.500000 -28.833333 58 - -60.333333 -28.833333 56 - -60.166667 -28.833333 61 - -60.000000 -28.833333 66 - -59.833333 -28.833333 60 - -59.666667 -28.833333 55 - -59.500000 -28.833333 46 - -59.333333 -28.833333 36 - -59.166667 -28.833333 38 - -59.000000 -28.833333 51 - -58.833333 -28.833333 67 - -58.666667 -28.833333 62 - -58.500000 -28.833333 62 - -58.333333 -28.833333 49 - -58.166667 -28.833333 67 - -58.000000 -28.833333 71 - -57.833333 -28.833333 74 - -57.666667 -28.833333 72 - -57.500000 -28.833333 72 - -57.333333 -28.833333 69 - -57.166667 -28.833333 67 - -57.000000 -28.833333 70 - -56.833333 -28.833333 68 - -56.666667 -28.833333 55 - -56.500000 -28.833333 69 - -56.333333 -28.833333 73 - -56.166667 -28.833333 73 - -56.000000 -28.833333 95 - -55.833333 -28.833333 86 - -55.666667 -28.833333 111 - -55.500000 -28.833333 124 - -55.333333 -28.833333 147 - -55.166667 -28.833333 162 - -55.000000 -28.833333 197 - -54.833333 -28.833333 189 - -54.666667 -28.833333 252 - -54.500000 -28.833333 300 - -54.333333 -28.833333 285 - -54.166667 -28.833333 396 - -54.000000 -28.833333 383 - -53.833333 -28.833333 398 - -53.666667 -28.833333 386 - -53.500000 -28.833333 413 - -53.333333 -28.833333 380 - -53.166667 -28.833333 359 - -53.000000 -28.833333 471 - -52.833333 -28.833333 398 - -52.666667 -28.833333 568 - -52.500000 -28.833333 677 - -52.333333 -28.833333 644 - -52.166667 -28.833333 590 - -52.000000 -28.833333 432 - -51.833333 -28.833333 412 - -51.666667 -28.833333 567 - -51.500000 -28.833333 534 - -51.333333 -28.833333 764 - -51.166667 -28.833333 550 - -51.000000 -28.833333 541 - -50.833333 -28.833333 578 - -50.666667 -28.833333 790 - -50.500000 -28.833333 854 - -50.333333 -28.833333 896 - -50.166667 -28.833333 903 - -50.000000 -28.833333 1065 - -49.833333 -28.833333 112 - -49.666667 -28.833333 45 - -49.500000 -28.833333 11 - -49.333333 -28.833333 7 - -49.166667 -28.833333 -27 - -49.000000 -28.833333 -43 - -48.833333 -28.833333 -58 - -48.666667 -28.833333 -70 - -48.500000 -28.833333 -91 - -48.333333 -28.833333 -108 - -48.166667 -28.833333 -129 - -48.000000 -28.833333 -136 - -47.833333 -28.833333 -208 - -47.666667 -28.833333 -411 - -47.500000 -28.833333 -758 - -47.333333 -28.833333 -995 - -47.166667 -28.833333 -1090 - -47.000000 -28.833333 -1242 - -46.833333 -28.833333 -1487 - -46.666667 -28.833333 -1780 - -46.500000 -28.833333 -2164 - -46.333333 -28.833333 -2375 - -46.166667 -28.833333 -2524 - -46.000000 -28.833333 -2654 - -45.833333 -28.833333 -2800 - -45.666667 -28.833333 -2857 - -45.500000 -28.833333 -3064 - -45.333333 -28.833333 -3421 - -45.166667 -28.833333 -3479 - -45.000000 -28.833333 -3577 - -44.833333 -28.833333 -3616 - -44.666667 -28.833333 -3662 - -44.500000 -28.833333 -3706 - -44.333333 -28.833333 -3703 - -44.166667 -28.833333 -3760 - -44.000000 -28.833333 -3754 - -43.833333 -28.833333 -3830 - -43.666667 -28.833333 -3862 - -43.500000 -28.833333 -3943 - -43.333333 -28.833333 -3971 - -43.166667 -28.833333 -3957 - -43.000000 -28.833333 -4016 - -42.833333 -28.833333 -4000 - -42.666667 -28.833333 -3869 - -42.500000 -28.833333 -3739 - -42.333333 -28.833333 -3800 - -42.166667 -28.833333 -3958 - -42.000000 -28.833333 -4070 - -41.833333 -28.833333 -3997 - -41.666667 -28.833333 -3684 - -41.500000 -28.833333 -3639 - -41.333333 -28.833333 -3777 - -41.166667 -28.833333 -3797 - -41.000000 -28.833333 -3786 - -40.833333 -28.833333 -3797 - -40.666667 -28.833333 -3785 - -40.500000 -28.833333 -3808 - -40.333333 -28.833333 -3784 - -40.166667 -28.833333 -3873 - -40.000000 -28.833333 -3954 - -65.000000 -29.000000 284 - -64.833333 -29.000000 235 - -64.666667 -29.000000 168 - -64.500000 -29.000000 116 - -64.333333 -29.000000 114 - -64.166667 -29.000000 110 - -64.000000 -29.000000 136 - -63.833333 -29.000000 158 - -63.666667 -29.000000 147 - -63.500000 -29.000000 107 - -63.333333 -29.000000 102 - -63.166667 -29.000000 97 - -63.000000 -29.000000 97 - -62.833333 -29.000000 95 - -62.666667 -29.000000 91 - -62.500000 -29.000000 89 - -62.333333 -29.000000 87 - -62.166667 -29.000000 85 - -62.000000 -29.000000 82 - -61.833333 -29.000000 79 - -61.666667 -29.000000 77 - -61.500000 -29.000000 72 - -61.333333 -29.000000 68 - -61.166667 -29.000000 66 - -61.000000 -29.000000 63 - -60.833333 -29.000000 61 - -60.666667 -29.000000 58 - -60.500000 -29.000000 54 - -60.333333 -29.000000 61 - -60.166667 -29.000000 60 - -60.000000 -29.000000 59 - -59.833333 -29.000000 56 - -59.666667 -29.000000 53 - -59.500000 -29.000000 37 - -59.333333 -29.000000 35 - -59.166667 -29.000000 55 - -59.000000 -29.000000 60 - -58.833333 -29.000000 59 - -58.666667 -29.000000 59 - -58.500000 -29.000000 49 - -58.333333 -29.000000 62 - -58.166667 -29.000000 71 - -58.000000 -29.000000 94 - -57.833333 -29.000000 75 - -57.666667 -29.000000 66 - -57.500000 -29.000000 66 - -57.333333 -29.000000 65 - -57.166667 -29.000000 74 - -57.000000 -29.000000 69 - -56.833333 -29.000000 65 - -56.666667 -29.000000 64 - -56.500000 -29.000000 63 - -56.333333 -29.000000 66 - -56.166667 -29.000000 61 - -56.000000 -29.000000 75 - -55.833333 -29.000000 91 - -55.666667 -29.000000 121 - -55.500000 -29.000000 178 - -55.333333 -29.000000 235 - -55.166667 -29.000000 260 - -55.000000 -29.000000 296 - -54.833333 -29.000000 279 - -54.666667 -29.000000 354 - -54.500000 -29.000000 316 - -54.333333 -29.000000 375 - -54.166667 -29.000000 434 - -54.000000 -29.000000 487 - -53.833333 -29.000000 400 - -53.666667 -29.000000 392 - -53.500000 -29.000000 373 - -53.333333 -29.000000 365 - -53.166667 -29.000000 340 - -53.000000 -29.000000 425 - -52.833333 -29.000000 596 - -52.666667 -29.000000 669 - -52.500000 -29.000000 486 - -52.333333 -29.000000 676 - -52.166667 -29.000000 512 - -52.000000 -29.000000 440 - -51.833333 -29.000000 576 - -51.666667 -29.000000 387 - -51.500000 -29.000000 514 - -51.333333 -29.000000 579 - -51.166667 -29.000000 689 - -51.000000 -29.000000 810 - -50.833333 -29.000000 864 - -50.666667 -29.000000 915 - -50.500000 -29.000000 934 - -50.333333 -29.000000 864 - -50.166667 -29.000000 1029 - -50.000000 -29.000000 1043 - -49.833333 -29.000000 96 - -49.666667 -29.000000 20 - -49.500000 -29.000000 6 - -49.333333 -29.000000 -32 - -49.166667 -29.000000 -44 - -49.000000 -29.000000 -50 - -48.833333 -29.000000 -63 - -48.666667 -29.000000 -86 - -48.500000 -29.000000 -102 - -48.333333 -29.000000 -120 - -48.166667 -29.000000 -127 - -48.000000 -29.000000 -163 - -47.833333 -29.000000 -420 - -47.666667 -29.000000 -758 - -47.500000 -29.000000 -971 - -47.333333 -29.000000 -1200 - -47.166667 -29.000000 -1438 - -47.000000 -29.000000 -1540 - -46.833333 -29.000000 -1770 - -46.666667 -29.000000 -1978 - -46.500000 -29.000000 -2276 - -46.333333 -29.000000 -2420 - -46.166667 -29.000000 -2534 - -46.000000 -29.000000 -2644 - -45.833333 -29.000000 -2749 - -45.666667 -29.000000 -2866 - -45.500000 -29.000000 -3201 - -45.333333 -29.000000 -3388 - -45.166667 -29.000000 -3524 - -45.000000 -29.000000 -3656 - -44.833333 -29.000000 -3654 - -44.666667 -29.000000 -3680 - -44.500000 -29.000000 -3652 - -44.333333 -29.000000 -3696 - -44.166667 -29.000000 -3771 - -44.000000 -29.000000 -3852 - -43.833333 -29.000000 -3848 - -43.666667 -29.000000 -3901 - -43.500000 -29.000000 -3935 - -43.333333 -29.000000 -4012 - -43.166667 -29.000000 -3992 - -43.000000 -29.000000 -4014 - -42.833333 -29.000000 -4023 - -42.666667 -29.000000 -4009 - -42.500000 -29.000000 -3983 - -42.333333 -29.000000 -3969 - -42.166667 -29.000000 -3982 - -42.000000 -29.000000 -4013 - -41.833333 -29.000000 -4085 - -41.666667 -29.000000 -3802 - -41.500000 -29.000000 -3769 - -41.333333 -29.000000 -3758 - -41.166667 -29.000000 -3748 - -41.000000 -29.000000 -3787 - -40.833333 -29.000000 -3782 - -40.666667 -29.000000 -3714 - -40.500000 -29.000000 -3733 - -40.333333 -29.000000 -3777 - -40.166667 -29.000000 -3871 - -40.000000 -29.000000 -3897 - -65.000000 -29.166667 285 - -64.833333 -29.166667 216 - -64.666667 -29.166667 136 - -64.500000 -29.166667 118 - -64.333333 -29.166667 114 - -64.166667 -29.166667 114 - -64.000000 -29.166667 253 - -63.833333 -29.166667 259 - -63.666667 -29.166667 253 - -63.500000 -29.166667 194 - -63.333333 -29.166667 96 - -63.166667 -29.166667 92 - -63.000000 -29.166667 93 - -62.833333 -29.166667 92 - -62.666667 -29.166667 90 - -62.500000 -29.166667 87 - -62.333333 -29.166667 82 - -62.166667 -29.166667 80 - -62.000000 -29.166667 79 - -61.833333 -29.166667 78 - -61.666667 -29.166667 75 - -61.500000 -29.166667 72 - -61.333333 -29.166667 68 - -61.166667 -29.166667 65 - -61.000000 -29.166667 63 - -60.833333 -29.166667 60 - -60.666667 -29.166667 56 - -60.500000 -29.166667 57 - -60.333333 -29.166667 59 - -60.166667 -29.166667 63 - -60.000000 -29.166667 60 - -59.833333 -29.166667 54 - -59.666667 -29.166667 49 - -59.500000 -29.166667 35 - -59.333333 -29.166667 36 - -59.166667 -29.166667 63 - -59.000000 -29.166667 57 - -58.833333 -29.166667 49 - -58.666667 -29.166667 47 - -58.500000 -29.166667 52 - -58.333333 -29.166667 74 - -58.166667 -29.166667 88 - -58.000000 -29.166667 96 - -57.833333 -29.166667 78 - -57.666667 -29.166667 66 - -57.500000 -29.166667 58 - -57.333333 -29.166667 69 - -57.166667 -29.166667 71 - -57.000000 -29.166667 64 - -56.833333 -29.166667 59 - -56.666667 -29.166667 66 - -56.500000 -29.166667 61 - -56.333333 -29.166667 65 - -56.166667 -29.166667 76 - -56.000000 -29.166667 83 - -55.833333 -29.166667 115 - -55.666667 -29.166667 156 - -55.500000 -29.166667 97 - -55.333333 -29.166667 191 - -55.166667 -29.166667 181 - -55.000000 -29.166667 258 - -54.833333 -29.166667 343 - -54.666667 -29.166667 338 - -54.500000 -29.166667 358 - -54.333333 -29.166667 293 - -54.166667 -29.166667 436 - -54.000000 -29.166667 445 - -53.833333 -29.166667 447 - -53.666667 -29.166667 460 - -53.500000 -29.166667 408 - -53.333333 -29.166667 318 - -53.166667 -29.166667 364 - -53.000000 -29.166667 312 - -52.833333 -29.166667 579 - -52.666667 -29.166667 464 - -52.500000 -29.166667 435 - -52.333333 -29.166667 448 - -52.166667 -29.166667 235 - -52.000000 -29.166667 253 - -51.833333 -29.166667 146 - -51.666667 -29.166667 385 - -51.500000 -29.166667 624 - -51.333333 -29.166667 632 - -51.166667 -29.166667 784 - -51.000000 -29.166667 693 - -50.833333 -29.166667 815 - -50.666667 -29.166667 902 - -50.500000 -29.166667 973 - -50.333333 -29.166667 895 - -50.166667 -29.166667 970 - -50.000000 -29.166667 373 - -49.833333 -29.166667 9 - -49.666667 -29.166667 0 - -49.500000 -29.166667 -20 - -49.333333 -29.166667 -38 - -49.166667 -29.166667 -47 - -49.000000 -29.166667 -57 - -48.833333 -29.166667 -73 - -48.666667 -29.166667 -98 - -48.500000 -29.166667 -117 - -48.333333 -29.166667 -129 - -48.166667 -29.166667 -138 - -48.000000 -29.166667 -255 - -47.833333 -29.166667 -485 - -47.666667 -29.166667 -892 - -47.500000 -29.166667 -1123 - -47.333333 -29.166667 -1392 - -47.166667 -29.166667 -1640 - -47.000000 -29.166667 -1733 - -46.833333 -29.166667 -1894 - -46.666667 -29.166667 -2150 - -46.500000 -29.166667 -2228 - -46.333333 -29.166667 -2404 - -46.166667 -29.166667 -2487 - -46.000000 -29.166667 -2638 - -45.833333 -29.166667 -2740 - -45.666667 -29.166667 -2963 - -45.500000 -29.166667 -3323 - -45.333333 -29.166667 -3465 - -45.166667 -29.166667 -3563 - -45.000000 -29.166667 -3646 - -44.833333 -29.166667 -3631 - -44.666667 -29.166667 -3664 - -44.500000 -29.166667 -3690 - -44.333333 -29.166667 -3732 - -44.166667 -29.166667 -3768 - -44.000000 -29.166667 -3820 - -43.833333 -29.166667 -3867 - -43.666667 -29.166667 -3900 - -43.500000 -29.166667 -3974 - -43.333333 -29.166667 -4057 - -43.166667 -29.166667 -4019 - -43.000000 -29.166667 -4019 - -42.833333 -29.166667 -4013 - -42.666667 -29.166667 -4019 - -42.500000 -29.166667 -4019 - -42.333333 -29.166667 -4010 - -42.166667 -29.166667 -3925 - -42.000000 -29.166667 -3888 - -41.833333 -29.166667 -4085 - -41.666667 -29.166667 -3806 - -41.500000 -29.166667 -3795 - -41.333333 -29.166667 -3754 - -41.166667 -29.166667 -3812 - -41.000000 -29.166667 -3788 - -40.833333 -29.166667 -3712 - -40.666667 -29.166667 -3754 - -40.500000 -29.166667 -3744 - -40.333333 -29.166667 -3934 - -40.166667 -29.166667 -3826 - -40.000000 -29.166667 -3901 - -65.000000 -29.333333 206 - -64.833333 -29.333333 233 - -64.666667 -29.333333 134 - -64.500000 -29.333333 119 - -64.333333 -29.333333 115 - -64.166667 -29.333333 172 - -64.000000 -29.333333 349 - -63.833333 -29.333333 399 - -63.666667 -29.333333 434 - -63.500000 -29.333333 257 - -63.333333 -29.333333 93 - -63.166667 -29.333333 90 - -63.000000 -29.333333 88 - -62.833333 -29.333333 88 - -62.666667 -29.333333 84 - -62.500000 -29.333333 83 - -62.333333 -29.333333 83 - -62.166667 -29.333333 81 - -62.000000 -29.333333 76 - -61.833333 -29.333333 74 - -61.666667 -29.333333 73 - -61.500000 -29.333333 71 - -61.333333 -29.333333 67 - -61.166667 -29.333333 65 - -61.000000 -29.333333 61 - -60.833333 -29.333333 58 - -60.666667 -29.333333 55 - -60.500000 -29.333333 54 - -60.333333 -29.333333 60 - -60.166667 -29.333333 58 - -60.000000 -29.333333 58 - -59.833333 -29.333333 50 - -59.666667 -29.333333 36 - -59.500000 -29.333333 33 - -59.333333 -29.333333 37 - -59.166667 -29.333333 59 - -59.000000 -29.333333 49 - -58.833333 -29.333333 43 - -58.666667 -29.333333 46 - -58.500000 -29.333333 73 - -58.333333 -29.333333 92 - -58.166667 -29.333333 114 - -58.000000 -29.333333 115 - -57.833333 -29.333333 90 - -57.666667 -29.333333 85 - -57.500000 -29.333333 65 - -57.333333 -29.333333 69 - -57.166667 -29.333333 70 - -57.000000 -29.333333 70 - -56.833333 -29.333333 61 - -56.666667 -29.333333 50 - -56.500000 -29.333333 59 - -56.333333 -29.333333 64 - -56.166667 -29.333333 58 - -56.000000 -29.333333 62 - -55.833333 -29.333333 82 - -55.666667 -29.333333 105 - -55.500000 -29.333333 159 - -55.333333 -29.333333 180 - -55.166667 -29.333333 229 - -55.000000 -29.333333 412 - -54.833333 -29.333333 272 - -54.666667 -29.333333 263 - -54.500000 -29.333333 192 - -54.333333 -29.333333 374 - -54.166667 -29.333333 316 - -54.000000 -29.333333 336 - -53.833333 -29.333333 419 - -53.666667 -29.333333 451 - -53.500000 -29.333333 385 - -53.333333 -29.333333 430 - -53.166667 -29.333333 168 - -53.000000 -29.333333 371 - -52.833333 -29.333333 506 - -52.666667 -29.333333 555 - -52.500000 -29.333333 618 - -52.333333 -29.333333 571 - -52.166667 -29.333333 165 - -52.000000 -29.333333 337 - -51.833333 -29.333333 374 - -51.666667 -29.333333 519 - -51.500000 -29.333333 683 - -51.333333 -29.333333 554 - -51.166667 -29.333333 116 - -51.000000 -29.333333 455 - -50.833333 -29.333333 799 - -50.666667 -29.333333 840 - -50.500000 -29.333333 892 - -50.333333 -29.333333 920 - -50.166667 -29.333333 921 - -50.000000 -29.333333 508 - -49.833333 -29.333333 12 - -49.666667 -29.333333 -22 - -49.500000 -29.333333 -27 - -49.333333 -29.333333 -44 - -49.166667 -29.333333 -51 - -49.000000 -29.333333 -68 - -48.833333 -29.333333 -94 - -48.666667 -29.333333 -114 - -48.500000 -29.333333 -129 - -48.333333 -29.333333 -131 - -48.166667 -29.333333 -185 - -48.000000 -29.333333 -330 - -47.833333 -29.333333 -523 - -47.666667 -29.333333 -928 - -47.500000 -29.333333 -1207 - -47.333333 -29.333333 -1472 - -47.166667 -29.333333 -1833 - -47.000000 -29.333333 -1870 - -46.833333 -29.333333 -1991 - -46.666667 -29.333333 -2156 - -46.500000 -29.333333 -2340 - -46.333333 -29.333333 -2365 - -46.166667 -29.333333 -2476 - -46.000000 -29.333333 -2556 - -45.833333 -29.333333 -2769 - -45.666667 -29.333333 -3079 - -45.500000 -29.333333 -3410 - -45.333333 -29.333333 -3516 - -45.166667 -29.333333 -3586 - -45.000000 -29.333333 -3618 - -44.833333 -29.333333 -3648 - -44.666667 -29.333333 -3679 - -44.500000 -29.333333 -3720 - -44.333333 -29.333333 -3679 - -44.166667 -29.333333 -3741 - -44.000000 -29.333333 -3836 - -43.833333 -29.333333 -3847 - -43.666667 -29.333333 -3905 - -43.500000 -29.333333 -3945 - -43.333333 -29.333333 -3999 - -43.166667 -29.333333 -4022 - -43.000000 -29.333333 -4032 - -42.833333 -29.333333 -4044 - -42.666667 -29.333333 -3998 - -42.500000 -29.333333 -3965 - -42.333333 -29.333333 -4008 - -42.166667 -29.333333 -3971 - -42.000000 -29.333333 -3893 - -41.833333 -29.333333 -4137 - -41.666667 -29.333333 -3812 - -41.500000 -29.333333 -3801 - -41.333333 -29.333333 -3700 - -41.166667 -29.333333 -3775 - -41.000000 -29.333333 -3710 - -40.833333 -29.333333 -3825 - -40.666667 -29.333333 -3735 - -40.500000 -29.333333 -3766 - -40.333333 -29.333333 -3887 - -40.166667 -29.333333 -4170 - -40.000000 -29.333333 -3981 - -65.000000 -29.500000 187 - -64.833333 -29.500000 180 - -64.666667 -29.500000 153 - -64.500000 -29.500000 119 - -64.333333 -29.500000 123 - -64.166667 -29.500000 271 - -64.000000 -29.500000 443 - -63.833333 -29.500000 533 - -63.666667 -29.500000 504 - -63.500000 -29.500000 284 - -63.333333 -29.500000 130 - -63.166667 -29.500000 87 - -63.000000 -29.500000 84 - -62.833333 -29.500000 81 - -62.666667 -29.500000 83 - -62.500000 -29.500000 81 - -62.333333 -29.500000 79 - -62.166667 -29.500000 78 - -62.000000 -29.500000 75 - -61.833333 -29.500000 82 - -61.666667 -29.500000 69 - -61.500000 -29.500000 68 - -61.333333 -29.500000 65 - -61.166667 -29.500000 62 - -61.000000 -29.500000 59 - -60.833333 -29.500000 57 - -60.666667 -29.500000 53 - -60.500000 -29.500000 56 - -60.333333 -29.500000 61 - -60.166667 -29.500000 59 - -60.000000 -29.500000 57 - -59.833333 -29.500000 43 - -59.666667 -29.500000 30 - -59.500000 -29.500000 30 - -59.333333 -29.500000 36 - -59.166667 -29.500000 43 - -59.000000 -29.500000 44 - -58.833333 -29.500000 43 - -58.666667 -29.500000 67 - -58.500000 -29.500000 77 - -58.333333 -29.500000 83 - -58.166667 -29.500000 109 - -58.000000 -29.500000 70 - -57.833333 -29.500000 71 - -57.666667 -29.500000 73 - -57.500000 -29.500000 53 - -57.333333 -29.500000 65 - -57.166667 -29.500000 72 - -57.000000 -29.500000 68 - -56.833333 -29.500000 47 - -56.666667 -29.500000 81 - -56.500000 -29.500000 62 - -56.333333 -29.500000 67 - -56.166667 -29.500000 89 - -56.000000 -29.500000 91 - -55.833333 -29.500000 119 - -55.666667 -29.500000 67 - -55.500000 -29.500000 156 - -55.333333 -29.500000 128 - -55.166667 -29.500000 104 - -55.000000 -29.500000 261 - -54.833333 -29.500000 131 - -54.666667 -29.500000 118 - -54.500000 -29.500000 292 - -54.333333 -29.500000 208 - -54.166667 -29.500000 263 - -54.000000 -29.500000 339 - -53.833333 -29.500000 479 - -53.666667 -29.500000 491 - -53.500000 -29.500000 288 - -53.333333 -29.500000 236 - -53.166667 -29.500000 251 - -53.000000 -29.500000 569 - -52.833333 -29.500000 440 - -52.666667 -29.500000 524 - -52.500000 -29.500000 270 - -52.333333 -29.500000 260 - -52.166667 -29.500000 144 - -52.000000 -29.500000 61 - -51.833333 -29.500000 84 - -51.666667 -29.500000 458 - -51.500000 -29.500000 373 - -51.333333 -29.500000 33 - -51.166667 -29.500000 157 - -51.000000 -29.500000 466 - -50.833333 -29.500000 361 - -50.666667 -29.500000 292 - -50.500000 -29.500000 667 - -50.333333 -29.500000 855 - -50.166667 -29.500000 437 - -50.000000 -29.500000 252 - -49.833333 -29.500000 -8 - -49.666667 -29.500000 -33 - -49.500000 -29.500000 -41 - -49.333333 -29.500000 -51 - -49.166667 -29.500000 -53 - -49.000000 -29.500000 -86 - -48.833333 -29.500000 -96 - -48.666667 -29.500000 -124 - -48.500000 -29.500000 -125 - -48.333333 -29.500000 -151 - -48.166667 -29.500000 -205 - -48.000000 -29.500000 -359 - -47.833333 -29.500000 -556 - -47.666667 -29.500000 -948 - -47.500000 -29.500000 -1230 - -47.333333 -29.500000 -1539 - -47.166667 -29.500000 -1840 - -47.000000 -29.500000 -1956 - -46.833333 -29.500000 -2085 - -46.666667 -29.500000 -2198 - -46.500000 -29.500000 -2361 - -46.333333 -29.500000 -2432 - -46.166667 -29.500000 -2402 - -46.000000 -29.500000 -2650 - -45.833333 -29.500000 -2795 - -45.666667 -29.500000 -3280 - -45.500000 -29.500000 -3470 - -45.333333 -29.500000 -3526 - -45.166667 -29.500000 -3566 - -45.000000 -29.500000 -3604 - -44.833333 -29.500000 -3650 - -44.666667 -29.500000 -3644 - -44.500000 -29.500000 -3629 - -44.333333 -29.500000 -3644 - -44.166667 -29.500000 -3731 - -44.000000 -29.500000 -3791 - -43.833333 -29.500000 -3822 - -43.666667 -29.500000 -3869 - -43.500000 -29.500000 -3949 - -43.333333 -29.500000 -4004 - -43.166667 -29.500000 -4123 - -43.000000 -29.500000 -4002 - -42.833333 -29.500000 -4026 - -42.666667 -29.500000 -4027 - -42.500000 -29.500000 -4012 - -42.333333 -29.500000 -4019 - -42.166667 -29.500000 -3962 - -42.000000 -29.500000 -3957 - -41.833333 -29.500000 -4001 - -41.666667 -29.500000 -3775 - -41.500000 -29.500000 -3737 - -41.333333 -29.500000 -3777 - -41.166667 -29.500000 -3949 - -41.000000 -29.500000 -3977 - -40.833333 -29.500000 -4040 - -40.666667 -29.500000 -3800 - -40.500000 -29.500000 -4014 - -40.333333 -29.500000 -4121 - -40.166667 -29.500000 -3714 - -40.000000 -29.500000 -3696 - -65.000000 -29.666667 181 - -64.833333 -29.666667 180 - -64.666667 -29.666667 194 - -64.500000 -29.666667 126 - -64.333333 -29.666667 179 - -64.166667 -29.666667 404 - -64.000000 -29.666667 618 - -63.833333 -29.666667 632 - -63.666667 -29.666667 514 - -63.500000 -29.666667 253 - -63.333333 -29.666667 100 - -63.166667 -29.666667 83 - -63.000000 -29.666667 81 - -62.833333 -29.666667 80 - -62.666667 -29.666667 79 - -62.500000 -29.666667 77 - -62.333333 -29.666667 75 - -62.166667 -29.666667 78 - -62.000000 -29.666667 84 - -61.833333 -29.666667 84 - -61.666667 -29.666667 70 - -61.500000 -29.666667 64 - -61.333333 -29.666667 63 - -61.166667 -29.666667 60 - -61.000000 -29.666667 58 - -60.833333 -29.666667 55 - -60.666667 -29.666667 55 - -60.500000 -29.666667 60 - -60.333333 -29.666667 59 - -60.166667 -29.666667 63 - -60.000000 -29.666667 42 - -59.833333 -29.666667 34 - -59.666667 -29.666667 31 - -59.500000 -29.666667 29 - -59.333333 -29.666667 39 - -59.166667 -29.666667 41 - -59.000000 -29.666667 44 - -58.833333 -29.666667 42 - -58.666667 -29.666667 60 - -58.500000 -29.666667 79 - -58.333333 -29.666667 86 - -58.166667 -29.666667 95 - -58.000000 -29.666667 81 - -57.833333 -29.666667 56 - -57.666667 -29.666667 67 - -57.500000 -29.666667 68 - -57.333333 -29.666667 76 - -57.166667 -29.666667 66 - -57.000000 -29.666667 48 - -56.833333 -29.666667 62 - -56.666667 -29.666667 81 - -56.500000 -29.666667 104 - -56.333333 -29.666667 71 - -56.166667 -29.666667 88 - -56.000000 -29.666667 120 - -55.833333 -29.666667 84 - -55.666667 -29.666667 124 - -55.500000 -29.666667 120 - -55.333333 -29.666667 119 - -55.166667 -29.666667 136 - -55.000000 -29.666667 93 - -54.833333 -29.666667 87 - -54.666667 -29.666667 112 - -54.500000 -29.666667 94 - -54.333333 -29.666667 127 - -54.166667 -29.666667 135 - -54.000000 -29.666667 149 - -53.833333 -29.666667 134 - -53.666667 -29.666667 83 - -53.500000 -29.666667 275 - -53.333333 -29.666667 38 - -53.166667 -29.666667 122 - -53.000000 -29.666667 328 - -52.833333 -29.666667 93 - -52.666667 -29.666667 73 - -52.500000 -29.666667 112 - -52.333333 -29.666667 56 - -52.166667 -29.666667 47 - -52.000000 -29.666667 16 - -51.833333 -29.666667 81 - -51.666667 -29.666667 74 - -51.500000 -29.666667 131 - -51.333333 -29.666667 69 - -51.166667 -29.666667 92 - -51.000000 -29.666667 30 - -50.833333 -29.666667 37 - -50.666667 -29.666667 34 - -50.500000 -29.666667 343 - -50.333333 -29.666667 809 - -50.166667 -29.666667 127 - -50.000000 -29.666667 7 - -49.833333 -29.666667 -34 - -49.666667 -29.666667 -42 - -49.500000 -29.666667 -48 - -49.333333 -29.666667 -59 - -49.166667 -29.666667 -83 - -49.000000 -29.666667 -104 - -48.833333 -29.666667 -121 - -48.666667 -29.666667 -119 - -48.500000 -29.666667 -145 - -48.333333 -29.666667 -169 - -48.166667 -29.666667 -247 - -48.000000 -29.666667 -359 - -47.833333 -29.666667 -493 - -47.666667 -29.666667 -938 - -47.500000 -29.666667 -1223 - -47.333333 -29.666667 -1563 - -47.166667 -29.666667 -1832 - -47.000000 -29.666667 -2053 - -46.833333 -29.666667 -2212 - -46.666667 -29.666667 -2273 - -46.500000 -29.666667 -2298 - -46.333333 -29.666667 -2411 - -46.166667 -29.666667 -2568 - -46.000000 -29.666667 -2626 - -45.833333 -29.666667 -3050 - -45.666667 -29.666667 -3258 - -45.500000 -29.666667 -3409 - -45.333333 -29.666667 -3541 - -45.166667 -29.666667 -3500 - -45.000000 -29.666667 -3583 - -44.833333 -29.666667 -3604 - -44.666667 -29.666667 -3626 - -44.500000 -29.666667 -3594 - -44.333333 -29.666667 -3623 - -44.166667 -29.666667 -3680 - -44.000000 -29.666667 -3755 - -43.833333 -29.666667 -3796 - -43.666667 -29.666667 -3872 - -43.500000 -29.666667 -3914 - -43.333333 -29.666667 -4021 - -43.166667 -29.666667 -4139 - -43.000000 -29.666667 -4017 - -42.833333 -29.666667 -4013 - -42.666667 -29.666667 -4017 - -42.500000 -29.666667 -4018 - -42.333333 -29.666667 -4005 - -42.166667 -29.666667 -3950 - -42.000000 -29.666667 -3901 - -41.833333 -29.666667 -3961 - -41.666667 -29.666667 -3738 - -41.500000 -29.666667 -3728 - -41.333333 -29.666667 -3803 - -41.166667 -29.666667 -3718 - -41.000000 -29.666667 -3669 - -40.833333 -29.666667 -3629 - -40.666667 -29.666667 -3743 - -40.500000 -29.666667 -4180 - -40.333333 -29.666667 -3725 - -40.166667 -29.666667 -3514 - -40.000000 -29.666667 -3502 - -65.000000 -29.833333 182 - -64.833333 -29.833333 178 - -64.666667 -29.833333 191 - -64.500000 -29.833333 233 - -64.333333 -29.833333 276 - -64.166667 -29.833333 726 - -64.000000 -29.833333 708 - -63.833333 -29.833333 614 - -63.666667 -29.833333 387 - -63.500000 -29.833333 196 - -63.333333 -29.833333 95 - -63.166667 -29.833333 79 - -63.000000 -29.833333 79 - -62.833333 -29.833333 78 - -62.666667 -29.833333 77 - -62.500000 -29.833333 74 - -62.333333 -29.833333 74 - -62.166667 -29.833333 94 - -62.000000 -29.833333 90 - -61.833333 -29.833333 82 - -61.666667 -29.833333 78 - -61.500000 -29.833333 68 - -61.333333 -29.833333 67 - -61.166667 -29.833333 63 - -61.000000 -29.833333 55 - -60.833333 -29.833333 56 - -60.666667 -29.833333 53 - -60.500000 -29.833333 55 - -60.333333 -29.833333 58 - -60.166667 -29.833333 58 - -60.000000 -29.833333 35 - -59.833333 -29.833333 34 - -59.666667 -29.833333 29 - -59.500000 -29.833333 28 - -59.333333 -29.833333 39 - -59.166667 -29.833333 42 - -59.000000 -29.833333 40 - -58.833333 -29.833333 50 - -58.666667 -29.833333 60 - -58.500000 -29.833333 74 - -58.333333 -29.833333 86 - -58.166667 -29.833333 92 - -58.000000 -29.833333 66 - -57.833333 -29.833333 67 - -57.666667 -29.833333 48 - -57.500000 -29.833333 62 - -57.333333 -29.833333 50 - -57.166667 -29.833333 52 - -57.000000 -29.833333 91 - -56.833333 -29.833333 155 - -56.666667 -29.833333 104 - -56.500000 -29.833333 119 - -56.333333 -29.833333 93 - -56.166667 -29.833333 129 - -56.000000 -29.833333 118 - -55.833333 -29.833333 106 - -55.666667 -29.833333 106 - -55.500000 -29.833333 104 - -55.333333 -29.833333 148 - -55.166667 -29.833333 97 - -55.000000 -29.833333 108 - -54.833333 -29.833333 85 - -54.666667 -29.833333 88 - -54.500000 -29.833333 131 - -54.333333 -29.833333 132 - -54.166667 -29.833333 88 - -54.000000 -29.833333 105 - -53.833333 -29.833333 80 - -53.666667 -29.833333 53 - -53.500000 -29.833333 89 - -53.333333 -29.833333 53 - -53.166667 -29.833333 62 - -53.000000 -29.833333 63 - -52.833333 -29.833333 80 - -52.666667 -29.833333 44 - -52.500000 -29.833333 39 - -52.333333 -29.833333 65 - -52.166667 -29.833333 53 - -52.000000 -29.833333 71 - -51.833333 -29.833333 11 - -51.666667 -29.833333 39 - -51.500000 -29.833333 70 - -51.333333 -29.833333 6 - -51.166667 -29.833333 18 - -51.000000 -29.833333 87 - -50.833333 -29.833333 81 - -50.666667 -29.833333 48 - -50.500000 -29.833333 62 - -50.333333 -29.833333 268 - -50.166667 -29.833333 2 - -50.000000 -29.833333 -28 - -49.833333 -29.833333 -40 - -49.666667 -29.833333 -47 - -49.500000 -29.833333 -59 - -49.333333 -29.833333 -79 - -49.166667 -29.833333 -88 - -49.000000 -29.833333 -118 - -48.833333 -29.833333 -110 - -48.666667 -29.833333 -139 - -48.500000 -29.833333 -104 - -48.333333 -29.833333 -206 - -48.166667 -29.833333 -358 - -48.000000 -29.833333 -368 - -47.833333 -29.833333 -451 - -47.666667 -29.833333 -830 - -47.500000 -29.833333 -1250 - -47.333333 -29.833333 -1517 - -47.166667 -29.833333 -1809 - -47.000000 -29.833333 -2044 - -46.833333 -29.833333 -2248 - -46.666667 -29.833333 -2367 - -46.500000 -29.833333 -2394 - -46.333333 -29.833333 -2498 - -46.166667 -29.833333 -2317 - -46.000000 -29.833333 -2772 - -45.833333 -29.833333 -3172 - -45.666667 -29.833333 -3352 - -45.500000 -29.833333 -3393 - -45.333333 -29.833333 -3532 - -45.166667 -29.833333 -3550 - -45.000000 -29.833333 -3538 - -44.833333 -29.833333 -3559 - -44.666667 -29.833333 -3566 - -44.500000 -29.833333 -3560 - -44.333333 -29.833333 -3582 - -44.166667 -29.833333 -3614 - -44.000000 -29.833333 -3684 - -43.833333 -29.833333 -3759 - -43.666667 -29.833333 -3899 - -43.500000 -29.833333 -3906 - -43.333333 -29.833333 -3950 - -43.166667 -29.833333 -3933 - -43.000000 -29.833333 -4010 - -42.833333 -29.833333 -4032 - -42.666667 -29.833333 -3987 - -42.500000 -29.833333 -3947 - -42.333333 -29.833333 -3922 - -42.166667 -29.833333 -3905 - -42.000000 -29.833333 -3871 - -41.833333 -29.833333 -3855 - -41.666667 -29.833333 -3745 - -41.500000 -29.833333 -3653 - -41.333333 -29.833333 -3884 - -41.166667 -29.833333 -3562 - -41.000000 -29.833333 -3450 - -40.833333 -29.833333 -3318 - -40.666667 -29.833333 -3478 - -40.500000 -29.833333 -4139 - -40.333333 -29.833333 -4028 - -40.166667 -29.833333 -3428 - -40.000000 -29.833333 -3141 - -65.000000 -30.000000 179 - -64.833333 -30.000000 179 - -64.666667 -30.000000 178 - -64.500000 -30.000000 304 - -64.333333 -30.000000 492 - -64.166667 -30.000000 891 - -64.000000 -30.000000 737 - -63.833333 -30.000000 534 - -63.666667 -30.000000 278 - -63.500000 -30.000000 183 - -63.333333 -30.000000 94 - -63.166667 -30.000000 77 - -63.000000 -30.000000 76 - -62.833333 -30.000000 75 - -62.666667 -30.000000 74 - -62.500000 -30.000000 74 - -62.333333 -30.000000 73 - -62.166667 -30.000000 92 - -62.000000 -30.000000 89 - -61.833333 -30.000000 90 - -61.666667 -30.000000 86 - -61.500000 -30.000000 78 - -61.333333 -30.000000 64 - -61.166667 -30.000000 67 - -61.000000 -30.000000 55 - -60.833333 -30.000000 62 - -60.666667 -30.000000 51 - -60.500000 -30.000000 56 - -60.333333 -30.000000 63 - -60.166667 -30.000000 46 - -60.000000 -30.000000 33 - -59.833333 -30.000000 30 - -59.666667 -30.000000 28 - -59.500000 -30.000000 41 - -59.333333 -30.000000 39 - -59.166667 -30.000000 36 - -59.000000 -30.000000 42 - -58.833333 -30.000000 67 - -58.666667 -30.000000 71 - -58.500000 -30.000000 74 - -58.333333 -30.000000 78 - -58.166667 -30.000000 69 - -58.000000 -30.000000 92 - -57.833333 -30.000000 77 - -57.666667 -30.000000 44 - -57.500000 -30.000000 60 - -57.333333 -30.000000 44 - -57.166667 -30.000000 80 - -57.000000 -30.000000 78 - -56.833333 -30.000000 72 - -56.666667 -30.000000 137 - -56.500000 -30.000000 149 - -56.333333 -30.000000 183 - -56.166667 -30.000000 174 - -56.000000 -30.000000 163 - -55.833333 -30.000000 96 - -55.666667 -30.000000 127 - -55.500000 -30.000000 140 - -55.333333 -30.000000 155 - -55.166667 -30.000000 162 - -55.000000 -30.000000 120 - -54.833333 -30.000000 126 - -54.666667 -30.000000 124 - -54.500000 -30.000000 168 - -54.333333 -30.000000 149 - -54.166667 -30.000000 131 - -54.000000 -30.000000 70 - -53.833333 -30.000000 54 - -53.666667 -30.000000 81 - -53.500000 -30.000000 106 - -53.333333 -30.000000 37 - -53.166667 -30.000000 34 - -53.000000 -30.000000 30 - -52.833333 -30.000000 59 - -52.666667 -30.000000 18 - -52.500000 -30.000000 94 - -52.333333 -30.000000 49 - -52.166667 -30.000000 37 - -52.000000 -30.000000 41 - -51.833333 -30.000000 42 - -51.666667 -30.000000 23 - -51.500000 -30.000000 21 - -51.333333 -30.000000 6 - -51.166667 -30.000000 11 - -51.000000 -30.000000 34 - -50.833333 -30.000000 5 - -50.666667 -30.000000 56 - -50.500000 -30.000000 8 - -50.333333 -30.000000 15 - -50.166667 -30.000000 2 - -50.000000 -30.000000 -31 - -49.833333 -30.000000 -43 - -49.666667 -30.000000 -51 - -49.500000 -30.000000 -61 - -49.333333 -30.000000 -91 - -49.166667 -30.000000 -111 - -49.000000 -30.000000 -116 - -48.833333 -30.000000 -136 - -48.666667 -30.000000 -146 - -48.500000 -30.000000 -176 - -48.333333 -30.000000 -197 - -48.166667 -30.000000 -305 - -48.000000 -30.000000 -340 - -47.833333 -30.000000 -517 - -47.666667 -30.000000 -839 - -47.500000 -30.000000 -1362 - -47.333333 -30.000000 -1557 - -47.166667 -30.000000 -1787 - -47.000000 -30.000000 -2081 - -46.833333 -30.000000 -2289 - -46.666667 -30.000000 -2425 - -46.500000 -30.000000 -2472 - -46.333333 -30.000000 -2490 - -46.166667 -30.000000 -2597 - -46.000000 -30.000000 -2920 - -45.833333 -30.000000 -3194 - -45.666667 -30.000000 -3453 - -45.500000 -30.000000 -3521 - -45.333333 -30.000000 -3595 - -45.166667 -30.000000 -3501 - -45.000000 -30.000000 -3509 - -44.833333 -30.000000 -3526 - -44.666667 -30.000000 -3547 - -44.500000 -30.000000 -3534 - -44.333333 -30.000000 -3543 - -44.166667 -30.000000 -3585 - -44.000000 -30.000000 -3632 - -43.833333 -30.000000 -3683 - -43.666667 -30.000000 -3828 - -43.500000 -30.000000 -3944 - -43.333333 -30.000000 -3860 - -43.166667 -30.000000 -3885 - -43.000000 -30.000000 -3993 - -42.833333 -30.000000 -3902 - -42.666667 -30.000000 -3889 - -42.500000 -30.000000 -3929 - -42.333333 -30.000000 -3876 - -42.166667 -30.000000 -3875 - -42.000000 -30.000000 -3893 - -41.833333 -30.000000 -3851 - -41.666667 -30.000000 -3755 - -41.500000 -30.000000 -3642 - -41.333333 -30.000000 -3705 - -41.166667 -30.000000 -3658 - -41.000000 -30.000000 -3218 - -40.833333 -30.000000 -3322 - -40.666667 -30.000000 -2966 - -40.500000 -30.000000 -3783 - -40.333333 -30.000000 -4147 - -40.166667 -30.000000 -3529 - -40.000000 -30.000000 -3195 - -65.000000 -30.166667 179 - -64.833333 -30.166667 189 - -64.666667 -30.166667 227 - -64.500000 -30.166667 379 - -64.333333 -30.166667 650 - -64.166667 -30.166667 880 - -64.000000 -30.166667 696 - -63.833333 -30.166667 405 - -63.666667 -30.166667 263 - -63.500000 -30.166667 153 - -63.333333 -30.166667 76 - -63.166667 -30.166667 75 - -63.000000 -30.166667 75 - -62.833333 -30.166667 73 - -62.666667 -30.166667 72 - -62.500000 -30.166667 71 - -62.333333 -30.166667 69 - -62.166667 -30.166667 80 - -62.000000 -30.166667 89 - -61.833333 -30.166667 92 - -61.666667 -30.166667 89 - -61.500000 -30.166667 85 - -61.333333 -30.166667 75 - -61.166667 -30.166667 70 - -61.000000 -30.166667 47 - -60.833333 -30.166667 59 - -60.666667 -30.166667 48 - -60.500000 -30.166667 56 - -60.333333 -30.166667 56 - -60.166667 -30.166667 28 - -60.000000 -30.166667 27 - -59.833333 -30.166667 24 - -59.666667 -30.166667 27 - -59.500000 -30.166667 36 - -59.333333 -30.166667 36 - -59.166667 -30.166667 35 - -59.000000 -30.166667 52 - -58.833333 -30.166667 66 - -58.666667 -30.166667 56 - -58.500000 -30.166667 68 - -58.333333 -30.166667 78 - -58.166667 -30.166667 77 - -58.000000 -30.166667 66 - -57.833333 -30.166667 68 - -57.666667 -30.166667 51 - -57.500000 -30.166667 48 - -57.333333 -30.166667 64 - -57.166667 -30.166667 56 - -57.000000 -30.166667 68 - -56.833333 -30.166667 90 - -56.666667 -30.166667 106 - -56.500000 -30.166667 120 - -56.333333 -30.166667 163 - -56.166667 -30.166667 166 - -56.000000 -30.166667 210 - -55.833333 -30.166667 155 - -55.666667 -30.166667 102 - -55.500000 -30.166667 154 - -55.333333 -30.166667 130 - -55.166667 -30.166667 133 - -55.000000 -30.166667 118 - -54.833333 -30.166667 124 - -54.666667 -30.166667 126 - -54.500000 -30.166667 146 - -54.333333 -30.166667 110 - -54.166667 -30.166667 84 - -54.000000 -30.166667 69 - -53.833333 -30.166667 139 - -53.666667 -30.166667 110 - -53.500000 -30.166667 96 - -53.333333 -30.166667 49 - -53.166667 -30.166667 62 - -53.000000 -30.166667 44 - -52.833333 -30.166667 48 - -52.666667 -30.166667 44 - -52.500000 -30.166667 24 - -52.333333 -30.166667 66 - -52.166667 -30.166667 58 - -52.000000 -30.166667 108 - -51.833333 -30.166667 66 - -51.666667 -30.166667 125 - -51.500000 -30.166667 86 - -51.333333 -30.166667 8 - -51.166667 -30.166667 12 - -51.000000 -30.166667 117 - -50.833333 -30.166667 38 - -50.666667 -30.166667 2 - -50.500000 -30.166667 9 - -50.333333 -30.166667 15 - -50.166667 -30.166667 -15 - -50.000000 -30.166667 -36 - -49.833333 -30.166667 -45 - -49.666667 -30.166667 -57 - -49.500000 -30.166667 -84 - -49.333333 -30.166667 -107 - -49.166667 -30.166667 -123 - -49.000000 -30.166667 -171 - -48.833333 -30.166667 -166 - -48.666667 -30.166667 -243 - -48.500000 -30.166667 -272 - -48.333333 -30.166667 -228 - -48.166667 -30.166667 -313 - -48.000000 -30.166667 -396 - -47.833333 -30.166667 -539 - -47.666667 -30.166667 -905 - -47.500000 -30.166667 -1292 - -47.333333 -30.166667 -1553 - -47.166667 -30.166667 -2033 - -47.000000 -30.166667 -2275 - -46.833333 -30.166667 -2383 - -46.666667 -30.166667 -2373 - -46.500000 -30.166667 -2457 - -46.333333 -30.166667 -2540 - -46.166667 -30.166667 -2721 - -46.000000 -30.166667 -3050 - -45.833333 -30.166667 -3224 - -45.666667 -30.166667 -3308 - -45.500000 -30.166667 -3542 - -45.333333 -30.166667 -3507 - -45.166667 -30.166667 -3490 - -45.000000 -30.166667 -3462 - -44.833333 -30.166667 -3502 - -44.666667 -30.166667 -3515 - -44.500000 -30.166667 -3510 - -44.333333 -30.166667 -3506 - -44.166667 -30.166667 -3532 - -44.000000 -30.166667 -3585 - -43.833333 -30.166667 -3598 - -43.666667 -30.166667 -3751 - -43.500000 -30.166667 -3972 - -43.333333 -30.166667 -3841 - -43.166667 -30.166667 -3844 - -43.000000 -30.166667 -3874 - -42.833333 -30.166667 -3876 - -42.666667 -30.166667 -3893 - -42.500000 -30.166667 -3893 - -42.333333 -30.166667 -3877 - -42.166667 -30.166667 -3864 - -42.000000 -30.166667 -3846 - -41.833333 -30.166667 -3797 - -41.666667 -30.166667 -3769 - -41.500000 -30.166667 -3837 - -41.333333 -30.166667 -3749 - -41.166667 -30.166667 -3884 - -41.000000 -30.166667 -3443 - -40.833333 -30.166667 -3159 - -40.666667 -30.166667 -3477 - -40.500000 -30.166667 -4214 - -40.333333 -30.166667 -3730 - -40.166667 -30.166667 -3110 - -40.000000 -30.166667 -3429 - -65.000000 -30.333333 246 - -64.833333 -30.333333 269 - -64.666667 -30.333333 347 - -64.500000 -30.333333 493 - -64.333333 -30.333333 671 - -64.166667 -30.333333 844 - -64.000000 -30.333333 546 - -63.833333 -30.333333 380 - -63.666667 -30.333333 239 - -63.500000 -30.333333 136 - -63.333333 -30.333333 69 - -63.166667 -30.333333 71 - -63.000000 -30.333333 72 - -62.833333 -30.333333 70 - -62.666667 -30.333333 69 - -62.500000 -30.333333 69 - -62.333333 -30.333333 69 - -62.166667 -30.333333 79 - -62.000000 -30.333333 93 - -61.833333 -30.333333 91 - -61.666667 -30.333333 91 - -61.500000 -30.333333 85 - -61.333333 -30.333333 78 - -61.166667 -30.333333 69 - -61.000000 -30.333333 65 - -60.833333 -30.333333 58 - -60.666667 -30.333333 52 - -60.500000 -30.333333 51 - -60.333333 -30.333333 58 - -60.166667 -30.333333 29 - -60.000000 -30.333333 26 - -59.833333 -30.333333 22 - -59.666667 -30.333333 23 - -59.500000 -30.333333 29 - -59.333333 -30.333333 33 - -59.166667 -30.333333 41 - -59.000000 -30.333333 63 - -58.833333 -30.333333 64 - -58.666667 -30.333333 66 - -58.500000 -30.333333 70 - -58.333333 -30.333333 77 - -58.166667 -30.333333 67 - -58.000000 -30.333333 55 - -57.833333 -30.333333 62 - -57.666667 -30.333333 52 - -57.500000 -30.333333 72 - -57.333333 -30.333333 49 - -57.166667 -30.333333 61 - -57.000000 -30.333333 72 - -56.833333 -30.333333 117 - -56.666667 -30.333333 122 - -56.500000 -30.333333 114 - -56.333333 -30.333333 177 - -56.166667 -30.333333 226 - -56.000000 -30.333333 218 - -55.833333 -30.333333 209 - -55.666667 -30.333333 130 - -55.500000 -30.333333 183 - -55.333333 -30.333333 155 - -55.166667 -30.333333 154 - -55.000000 -30.333333 134 - -54.833333 -30.333333 99 - -54.666667 -30.333333 139 - -54.500000 -30.333333 122 - -54.333333 -30.333333 113 - -54.166667 -30.333333 150 - -54.000000 -30.333333 139 - -53.833333 -30.333333 202 - -53.666667 -30.333333 214 - -53.500000 -30.333333 121 - -53.333333 -30.333333 142 - -53.166667 -30.333333 51 - -53.000000 -30.333333 91 - -52.833333 -30.333333 74 - -52.666667 -30.333333 136 - -52.500000 -30.333333 100 - -52.333333 -30.333333 91 - -52.166667 -30.333333 208 - -52.000000 -30.333333 206 - -51.833333 -30.333333 250 - -51.666667 -30.333333 258 - -51.500000 -30.333333 111 - -51.333333 -30.333333 11 - -51.166667 -30.333333 -1 - -51.000000 -30.333333 70 - -50.833333 -30.333333 -1 - -50.666667 -30.333333 -1 - -50.500000 -30.333333 5 - -50.333333 -30.333333 7 - -50.166667 -30.333333 -20 - -50.000000 -30.333333 -39 - -49.833333 -30.333333 -59 - -49.666667 -30.333333 -76 - -49.500000 -30.333333 -102 - -49.333333 -30.333333 -122 - -49.166667 -30.333333 -117 - -49.000000 -30.333333 -144 - -48.833333 -30.333333 -164 - -48.666667 -30.333333 -198 - -48.500000 -30.333333 -244 - -48.333333 -30.333333 -272 - -48.166667 -30.333333 -352 - -48.000000 -30.333333 -443 - -47.833333 -30.333333 -655 - -47.666667 -30.333333 -1046 - -47.500000 -30.333333 -1405 - -47.333333 -30.333333 -1723 - -47.166667 -30.333333 -2103 - -47.000000 -30.333333 -2124 - -46.833333 -30.333333 -2276 - -46.666667 -30.333333 -2518 - -46.500000 -30.333333 -2591 - -46.333333 -30.333333 -2678 - -46.166667 -30.333333 -2911 - -46.000000 -30.333333 -3142 - -45.833333 -30.333333 -3282 - -45.666667 -30.333333 -3341 - -45.500000 -30.333333 -3522 - -45.333333 -30.333333 -3486 - -45.166667 -30.333333 -3430 - -45.000000 -30.333333 -3434 - -44.833333 -30.333333 -3438 - -44.666667 -30.333333 -3466 - -44.500000 -30.333333 -3466 - -44.333333 -30.333333 -3446 - -44.166667 -30.333333 -3468 - -44.000000 -30.333333 -3493 - -43.833333 -30.333333 -3532 - -43.666667 -30.333333 -3663 - -43.500000 -30.333333 -3846 - -43.333333 -30.333333 -3805 - -43.166667 -30.333333 -3900 - -43.000000 -30.333333 -3859 - -42.833333 -30.333333 -3877 - -42.666667 -30.333333 -3862 - -42.500000 -30.333333 -3951 - -42.333333 -30.333333 -3873 - -42.166667 -30.333333 -3836 - -42.000000 -30.333333 -3827 - -41.833333 -30.333333 -3816 - -41.666667 -30.333333 -3784 - -41.500000 -30.333333 -3801 - -41.333333 -30.333333 -3636 - -41.166667 -30.333333 -3824 - -41.000000 -30.333333 -3729 - -40.833333 -30.333333 -3865 - -40.666667 -30.333333 -4338 - -40.500000 -30.333333 -3741 - -40.333333 -30.333333 -3461 - -40.166667 -30.333333 -3231 - -40.000000 -30.333333 -3004 - -65.000000 -30.500000 322 - -64.833333 -30.500000 376 - -64.666667 -30.500000 536 - -64.500000 -30.500000 746 - -64.333333 -30.500000 845 - -64.166667 -30.500000 730 - -64.000000 -30.500000 488 - -63.833333 -30.500000 348 - -63.666667 -30.500000 224 - -63.500000 -30.500000 130 - -63.333333 -30.500000 74 - -63.166667 -30.500000 69 - -63.000000 -30.500000 69 - -62.833333 -30.500000 69 - -62.666667 -30.500000 69 - -62.500000 -30.500000 69 - -62.333333 -30.500000 69 - -62.166667 -30.500000 95 - -62.000000 -30.500000 94 - -61.833333 -30.500000 95 - -61.666667 -30.500000 94 - -61.500000 -30.500000 88 - -61.333333 -30.500000 76 - -61.166667 -30.500000 59 - -61.000000 -30.500000 52 - -60.833333 -30.500000 62 - -60.666667 -30.500000 42 - -60.500000 -30.500000 52 - -60.333333 -30.500000 27 - -60.166667 -30.500000 25 - -60.000000 -30.500000 26 - -59.833333 -30.500000 22 - -59.666667 -30.500000 23 - -59.500000 -30.500000 32 - -59.333333 -30.500000 54 - -59.166667 -30.500000 68 - -59.000000 -30.500000 63 - -58.833333 -30.500000 56 - -58.666667 -30.500000 62 - -58.500000 -30.500000 69 - -58.333333 -30.500000 70 - -58.166667 -30.500000 59 - -58.000000 -30.500000 63 - -57.833333 -30.500000 40 - -57.666667 -30.500000 72 - -57.500000 -30.500000 86 - -57.333333 -30.500000 86 - -57.166667 -30.500000 89 - -57.000000 -30.500000 103 - -56.833333 -30.500000 148 - -56.666667 -30.500000 134 - -56.500000 -30.500000 189 - -56.333333 -30.500000 105 - -56.166667 -30.500000 168 - -56.000000 -30.500000 179 - -55.833333 -30.500000 238 - -55.666667 -30.500000 234 - -55.500000 -30.500000 188 - -55.333333 -30.500000 180 - -55.166667 -30.500000 133 - -55.000000 -30.500000 108 - -54.833333 -30.500000 169 - -54.666667 -30.500000 113 - -54.500000 -30.500000 152 - -54.333333 -30.500000 136 - -54.166667 -30.500000 267 - -54.000000 -30.500000 336 - -53.833333 -30.500000 425 - -53.666667 -30.500000 300 - -53.500000 -30.500000 364 - -53.333333 -30.500000 158 - -53.166667 -30.500000 96 - -53.000000 -30.500000 322 - -52.833333 -30.500000 154 - -52.666667 -30.500000 289 - -52.500000 -30.500000 353 - -52.333333 -30.500000 347 - -52.166667 -30.500000 367 - -52.000000 -30.500000 505 - -51.833333 -30.500000 357 - -51.666667 -30.500000 131 - -51.500000 -30.500000 106 - -51.333333 -30.500000 53 - -51.166667 -30.500000 -1 - -51.000000 -30.500000 -4 - -50.833333 -30.500000 -2 - -50.666667 -30.500000 1 - -50.500000 -30.500000 9 - -50.333333 -30.500000 0 - -50.166667 -30.500000 -25 - -50.000000 -30.500000 -50 - -49.833333 -30.500000 -71 - -49.666667 -30.500000 -98 - -49.500000 -30.500000 -129 - -49.333333 -30.500000 -123 - -49.166667 -30.500000 -129 - -49.000000 -30.500000 -144 - -48.833333 -30.500000 -103 - -48.666667 -30.500000 -206 - -48.500000 -30.500000 -407 - -48.333333 -30.500000 -418 - -48.166667 -30.500000 -485 - -48.000000 -30.500000 -581 - -47.833333 -30.500000 -815 - -47.666667 -30.500000 -1149 - -47.500000 -30.500000 -1714 - -47.333333 -30.500000 -2021 - -47.166667 -30.500000 -2219 - -47.000000 -30.500000 -2396 - -46.833333 -30.500000 -2741 - -46.666667 -30.500000 -3081 - -46.500000 -30.500000 -3172 - -46.333333 -30.500000 -3080 - -46.166667 -30.500000 -3210 - -46.000000 -30.500000 -3207 - -45.833333 -30.500000 -3246 - -45.666667 -30.500000 -3369 - -45.500000 -30.500000 -3492 - -45.333333 -30.500000 -3457 - -45.166667 -30.500000 -3497 - -45.000000 -30.500000 -3416 - -44.833333 -30.500000 -3401 - -44.666667 -30.500000 -3440 - -44.500000 -30.500000 -3456 - -44.333333 -30.500000 -3444 - -44.166667 -30.500000 -3440 - -44.000000 -30.500000 -3489 - -43.833333 -30.500000 -3470 - -43.666667 -30.500000 -3523 - -43.500000 -30.500000 -3810 - -43.333333 -30.500000 -3846 - -43.166667 -30.500000 -3888 - -43.000000 -30.500000 -3889 - -42.833333 -30.500000 -3833 - -42.666667 -30.500000 -3829 - -42.500000 -30.500000 -3874 - -42.333333 -30.500000 -3869 - -42.166667 -30.500000 -3831 - -42.000000 -30.500000 -3842 - -41.833333 -30.500000 -3735 - -41.666667 -30.500000 -3758 - -41.500000 -30.500000 -3673 - -41.333333 -30.500000 -3684 - -41.166667 -30.500000 -3906 - -41.000000 -30.500000 -3711 - -40.833333 -30.500000 -3785 - -40.666667 -30.500000 -3913 - -40.500000 -30.500000 -3858 - -40.333333 -30.500000 -3889 - -40.166667 -30.500000 -3960 - -40.000000 -30.500000 -3979 - -65.000000 -30.666667 413 - -64.833333 -30.666667 451 - -64.666667 -30.666667 621 - -64.500000 -30.666667 952 - -64.333333 -30.666667 1027 - -64.166667 -30.666667 657 - -64.000000 -30.666667 469 - -63.833333 -30.666667 329 - -63.666667 -30.666667 214 - -63.500000 -30.666667 119 - -63.333333 -30.666667 86 - -63.166667 -30.666667 77 - -63.000000 -30.666667 69 - -62.833333 -30.666667 69 - -62.666667 -30.666667 69 - -62.500000 -30.666667 69 - -62.333333 -30.666667 69 - -62.166667 -30.666667 97 - -62.000000 -30.666667 97 - -61.833333 -30.666667 97 - -61.666667 -30.666667 94 - -61.500000 -30.666667 87 - -61.333333 -30.666667 76 - -61.166667 -30.666667 66 - -61.000000 -30.666667 46 - -60.833333 -30.666667 55 - -60.666667 -30.666667 51 - -60.500000 -30.666667 57 - -60.333333 -30.666667 23 - -60.166667 -30.666667 23 - -60.000000 -30.666667 24 - -59.833333 -30.666667 21 - -59.666667 -30.666667 22 - -59.500000 -30.666667 53 - -59.333333 -30.666667 59 - -59.166667 -30.666667 64 - -59.000000 -30.666667 54 - -58.833333 -30.666667 55 - -58.666667 -30.666667 74 - -58.500000 -30.666667 73 - -58.333333 -30.666667 73 - -58.166667 -30.666667 67 - -58.000000 -30.666667 44 - -57.833333 -30.666667 32 - -57.666667 -30.666667 73 - -57.500000 -30.666667 90 - -57.333333 -30.666667 136 - -57.166667 -30.666667 116 - -57.000000 -30.666667 112 - -56.833333 -30.666667 139 - -56.666667 -30.666667 214 - -56.500000 -30.666667 290 - -56.333333 -30.666667 145 - -56.166667 -30.666667 132 - -56.000000 -30.666667 212 - -55.833333 -30.666667 281 - -55.666667 -30.666667 201 - -55.500000 -30.666667 248 - -55.333333 -30.666667 173 - -55.166667 -30.666667 119 - -55.000000 -30.666667 164 - -54.833333 -30.666667 145 - -54.666667 -30.666667 115 - -54.500000 -30.666667 144 - -54.333333 -30.666667 201 - -54.166667 -30.666667 241 - -54.000000 -30.666667 301 - -53.833333 -30.666667 248 - -53.666667 -30.666667 274 - -53.500000 -30.666667 281 - -53.333333 -30.666667 119 - -53.166667 -30.666667 141 - -53.000000 -30.666667 265 - -52.833333 -30.666667 372 - -52.666667 -30.666667 315 - -52.500000 -30.666667 394 - -52.333333 -30.666667 202 - -52.166667 -30.666667 274 - -52.000000 -30.666667 271 - -51.833333 -30.666667 187 - -51.666667 -30.666667 90 - -51.500000 -30.666667 27 - -51.333333 -30.666667 -1 - -51.166667 -30.666667 -6 - -51.000000 -30.666667 -6 - -50.833333 -30.666667 -5 - -50.666667 -30.666667 5 - -50.500000 -30.666667 14 - -50.333333 -30.666667 -21 - -50.166667 -30.666667 -45 - -50.000000 -30.666667 -71 - -49.833333 -30.666667 -105 - -49.666667 -30.666667 -105 - -49.500000 -30.666667 -130 - -49.333333 -30.666667 -149 - -49.166667 -30.666667 -167 - -49.000000 -30.666667 -89 - -48.833333 -30.666667 -331 - -48.666667 -30.666667 -981 - -48.500000 -30.666667 -1106 - -48.333333 -30.666667 -1222 - -48.166667 -30.666667 -1466 - -48.000000 -30.666667 -1730 - -47.833333 -30.666667 -2170 - -47.666667 -30.666667 -2446 - -47.500000 -30.666667 -2460 - -47.333333 -30.666667 -2664 - -47.166667 -30.666667 -2818 - -47.000000 -30.666667 -3092 - -46.833333 -30.666667 -3099 - -46.666667 -30.666667 -3064 - -46.500000 -30.666667 -3207 - -46.333333 -30.666667 -3242 - -46.166667 -30.666667 -3264 - -46.000000 -30.666667 -3267 - -45.833333 -30.666667 -3313 - -45.666667 -30.666667 -3440 - -45.500000 -30.666667 -3471 - -45.333333 -30.666667 -3499 - -45.166667 -30.666667 -3384 - -45.000000 -30.666667 -3422 - -44.833333 -30.666667 -3416 - -44.666667 -30.666667 -3429 - -44.500000 -30.666667 -3381 - -44.333333 -30.666667 -3407 - -44.166667 -30.666667 -3378 - -44.000000 -30.666667 -3463 - -43.833333 -30.666667 -3438 - -43.666667 -30.666667 -3465 - -43.500000 -30.666667 -3544 - -43.333333 -30.666667 -3842 - -43.166667 -30.666667 -3961 - -43.000000 -30.666667 -3919 - -42.833333 -30.666667 -3915 - -42.666667 -30.666667 -3760 - -42.500000 -30.666667 -3832 - -42.333333 -30.666667 -3844 - -42.166667 -30.666667 -3818 - -42.000000 -30.666667 -3815 - -41.833333 -30.666667 -3818 - -41.666667 -30.666667 -3735 - -41.500000 -30.666667 -3664 - -41.333333 -30.666667 -3606 - -41.166667 -30.666667 -3790 - -41.000000 -30.666667 -3681 - -40.833333 -30.666667 -3733 - -40.666667 -30.666667 -3601 - -40.500000 -30.666667 -3749 - -40.333333 -30.666667 -4111 - -40.166667 -30.666667 -4006 - -40.000000 -30.666667 -3875 - -65.000000 -30.833333 545 - -64.833333 -30.833333 684 - -64.666667 -30.833333 594 - -64.500000 -30.833333 1163 - -64.333333 -30.833333 1078 - -64.166667 -30.833333 697 - -64.000000 -30.833333 467 - -63.833333 -30.833333 305 - -63.666667 -30.833333 198 - -63.500000 -30.833333 127 - -63.333333 -30.833333 103 - -63.166667 -30.833333 97 - -63.000000 -30.833333 88 - -62.833333 -30.833333 69 - -62.666667 -30.833333 69 - -62.500000 -30.833333 69 - -62.333333 -30.833333 69 - -62.166667 -30.833333 102 - -62.000000 -30.833333 99 - -61.833333 -30.833333 99 - -61.666667 -30.833333 98 - -61.500000 -30.833333 93 - -61.333333 -30.833333 79 - -61.166667 -30.833333 61 - -61.000000 -30.833333 54 - -60.833333 -30.833333 37 - -60.666667 -30.833333 55 - -60.500000 -30.833333 32 - -60.333333 -30.833333 21 - -60.166667 -30.833333 21 - -60.000000 -30.833333 23 - -59.833333 -30.833333 15 - -59.666667 -30.833333 57 - -59.500000 -30.833333 48 - -59.333333 -30.833333 43 - -59.166667 -30.833333 58 - -59.000000 -30.833333 51 - -58.833333 -30.833333 71 - -58.666667 -30.833333 75 - -58.500000 -30.833333 63 - -58.333333 -30.833333 64 - -58.166667 -30.833333 62 - -58.000000 -30.833333 62 - -57.833333 -30.833333 39 - -57.666667 -30.833333 66 - -57.500000 -30.833333 84 - -57.333333 -30.833333 114 - -57.166667 -30.833333 126 - -57.000000 -30.833333 148 - -56.833333 -30.833333 157 - -56.666667 -30.833333 168 - -56.500000 -30.833333 211 - -56.333333 -30.833333 193 - -56.166667 -30.833333 234 - -56.000000 -30.833333 205 - -55.833333 -30.833333 252 - -55.666667 -30.833333 320 - -55.500000 -30.833333 218 - -55.333333 -30.833333 160 - -55.166667 -30.833333 154 - -55.000000 -30.833333 149 - -54.833333 -30.833333 160 - -54.666667 -30.833333 127 - -54.500000 -30.833333 280 - -54.333333 -30.833333 269 - -54.166667 -30.833333 318 - -54.000000 -30.833333 356 - -53.833333 -30.833333 240 - -53.666667 -30.833333 154 - -53.500000 -30.833333 235 - -53.333333 -30.833333 240 - -53.166667 -30.833333 327 - -53.000000 -30.833333 255 - -52.833333 -30.833333 251 - -52.666667 -30.833333 290 - -52.500000 -30.833333 90 - -52.333333 -30.833333 166 - -52.166667 -30.833333 122 - -52.000000 -30.833333 155 - -51.833333 -30.833333 43 - -51.666667 -30.833333 20 - -51.500000 -30.833333 9 - -51.333333 -30.833333 -5 - -51.166667 -30.833333 -6 - -51.000000 -30.833333 -6 - -50.833333 -30.833333 -1 - -50.666667 -30.833333 17 - -50.500000 -30.833333 -18 - -50.333333 -30.833333 -43 - -50.166667 -30.833333 -73 - -50.000000 -30.833333 -100 - -49.833333 -30.833333 -115 - -49.666667 -30.833333 -112 - -49.500000 -30.833333 -89 - -49.333333 -30.833333 -170 - -49.166667 -30.833333 -211 - -49.000000 -30.833333 -862 - -48.833333 -30.833333 -1384 - -48.666667 -30.833333 -1476 - -48.500000 -30.833333 -1725 - -48.333333 -30.833333 -2029 - -48.166667 -30.833333 -2309 - -48.000000 -30.833333 -2526 - -47.833333 -30.833333 -2607 - -47.666667 -30.833333 -2771 - -47.500000 -30.833333 -2880 - -47.333333 -30.833333 -2947 - -47.166667 -30.833333 -3105 - -47.000000 -30.833333 -3181 - -46.833333 -30.833333 -3103 - -46.666667 -30.833333 -3225 - -46.500000 -30.833333 -3294 - -46.333333 -30.833333 -3344 - -46.166667 -30.833333 -3258 - -46.000000 -30.833333 -3330 - -45.833333 -30.833333 -3396 - -45.666667 -30.833333 -3475 - -45.500000 -30.833333 -3489 - -45.333333 -30.833333 -3533 - -45.166667 -30.833333 -3472 - -45.000000 -30.833333 -3451 - -44.833333 -30.833333 -3429 - -44.666667 -30.833333 -3374 - -44.500000 -30.833333 -3422 - -44.333333 -30.833333 -3450 - -44.166667 -30.833333 -3374 - -44.000000 -30.833333 -3463 - -43.833333 -30.833333 -3398 - -43.666667 -30.833333 -3406 - -43.500000 -30.833333 -3573 - -43.333333 -30.833333 -3812 - -43.166667 -30.833333 -3937 - -43.000000 -30.833333 -3943 - -42.833333 -30.833333 -3812 - -42.666667 -30.833333 -3815 - -42.500000 -30.833333 -3839 - -42.333333 -30.833333 -3792 - -42.166667 -30.833333 -3804 - -42.000000 -30.833333 -3803 - -41.833333 -30.833333 -3783 - -41.666667 -30.833333 -3724 - -41.500000 -30.833333 -3611 - -41.333333 -30.833333 -3590 - -41.166667 -30.833333 -3806 - -41.000000 -30.833333 -3219 - -40.833333 -30.833333 -3591 - -40.666667 -30.833333 -3838 - -40.500000 -30.833333 -4088 - -40.333333 -30.833333 -4089 - -40.166667 -30.833333 -3784 - -40.000000 -30.833333 -3854 - -65.000000 -31.000000 721 - -64.833333 -31.000000 1019 - -64.666667 -31.000000 925 - -64.500000 -31.000000 1123 - -64.333333 -31.000000 1007 - -64.166667 -31.000000 571 - -64.000000 -31.000000 444 - -63.833333 -31.000000 319 - -63.666667 -31.000000 218 - -63.500000 -31.000000 160 - -63.333333 -31.000000 133 - -63.166667 -31.000000 120 - -63.000000 -31.000000 99 - -62.833333 -31.000000 90 - -62.666667 -31.000000 84 - -62.500000 -31.000000 80 - -62.333333 -31.000000 105 - -62.166667 -31.000000 103 - -62.000000 -31.000000 103 - -61.833333 -31.000000 102 - -61.666667 -31.000000 98 - -61.500000 -31.000000 94 - -61.333333 -31.000000 77 - -61.166667 -31.000000 61 - -61.000000 -31.000000 51 - -60.833333 -31.000000 29 - -60.666667 -31.000000 50 - -60.500000 -31.000000 26 - -60.333333 -31.000000 18 - -60.166667 -31.000000 19 - -60.000000 -31.000000 15 - -59.833333 -31.000000 57 - -59.666667 -31.000000 28 - -59.500000 -31.000000 57 - -59.333333 -31.000000 55 - -59.166667 -31.000000 64 - -59.000000 -31.000000 70 - -58.833333 -31.000000 64 - -58.666667 -31.000000 66 - -58.500000 -31.000000 57 - -58.333333 -31.000000 61 - -58.166667 -31.000000 57 - -58.000000 -31.000000 53 - -57.833333 -31.000000 42 - -57.666667 -31.000000 67 - -57.500000 -31.000000 47 - -57.333333 -31.000000 94 - -57.166667 -31.000000 73 - -57.000000 -31.000000 140 - -56.833333 -31.000000 140 - -56.666667 -31.000000 184 - -56.500000 -31.000000 184 - -56.333333 -31.000000 220 - -56.166667 -31.000000 292 - -56.000000 -31.000000 262 - -55.833333 -31.000000 331 - -55.666667 -31.000000 214 - -55.500000 -31.000000 212 - -55.333333 -31.000000 155 - -55.166667 -31.000000 133 - -55.000000 -31.000000 145 - -54.833333 -31.000000 155 - -54.666667 -31.000000 133 - -54.500000 -31.000000 222 - -54.333333 -31.000000 306 - -54.166667 -31.000000 361 - -54.000000 -31.000000 317 - -53.833333 -31.000000 323 - -53.666667 -31.000000 285 - -53.500000 -31.000000 214 - -53.333333 -31.000000 133 - -53.166667 -31.000000 159 - -53.000000 -31.000000 235 - -52.833333 -31.000000 226 - -52.666667 -31.000000 70 - -52.500000 -31.000000 85 - -52.333333 -31.000000 61 - -52.166667 -31.000000 31 - -52.000000 -31.000000 22 - -51.833333 -31.000000 18 - -51.666667 -31.000000 12 - -51.500000 -31.000000 3 - -51.333333 -31.000000 -6 - -51.166667 -31.000000 -5 - -51.000000 -31.000000 -1 - -50.833333 -31.000000 12 - -50.666667 -31.000000 -6 - -50.500000 -31.000000 -40 - -50.333333 -31.000000 -73 - -50.166667 -31.000000 -97 - -50.000000 -31.000000 -110 - -49.833333 -31.000000 -130 - -49.666667 -31.000000 -171 - -49.500000 -31.000000 -157 - -49.333333 -31.000000 -340 - -49.166667 -31.000000 -1096 - -49.000000 -31.000000 -1567 - -48.833333 -31.000000 -1759 - -48.666667 -31.000000 -2002 - -48.500000 -31.000000 -2264 - -48.333333 -31.000000 -2518 - -48.166667 -31.000000 -2606 - -48.000000 -31.000000 -2768 - -47.833333 -31.000000 -2662 - -47.666667 -31.000000 -2817 - -47.500000 -31.000000 -2941 - -47.333333 -31.000000 -3094 - -47.166667 -31.000000 -3239 - -47.000000 -31.000000 -3312 - -46.833333 -31.000000 -3204 - -46.666667 -31.000000 -3363 - -46.500000 -31.000000 -3384 - -46.333333 -31.000000 -3388 - -46.166667 -31.000000 -3299 - -46.000000 -31.000000 -3375 - -45.833333 -31.000000 -3468 - -45.666667 -31.000000 -3465 - -45.500000 -31.000000 -3512 - -45.333333 -31.000000 -3544 - -45.166667 -31.000000 -3512 - -45.000000 -31.000000 -3497 - -44.833333 -31.000000 -3504 - -44.666667 -31.000000 -3432 - -44.500000 -31.000000 -3453 - -44.333333 -31.000000 -3451 - -44.166667 -31.000000 -3394 - -44.000000 -31.000000 -3352 - -43.833333 -31.000000 -3461 - -43.666667 -31.000000 -3384 - -43.500000 -31.000000 -3592 - -43.333333 -31.000000 -3838 - -43.166667 -31.000000 -3956 - -43.000000 -31.000000 -3848 - -42.833333 -31.000000 -3902 - -42.666667 -31.000000 -3786 - -42.500000 -31.000000 -3771 - -42.333333 -31.000000 -3726 - -42.166667 -31.000000 -3762 - -42.000000 -31.000000 -3765 - -41.833333 -31.000000 -3732 - -41.666667 -31.000000 -3794 - -41.500000 -31.000000 -3697 - -41.333333 -31.000000 -3707 - -41.166667 -31.000000 -3902 - -41.000000 -31.000000 -3651 - -40.833333 -31.000000 -3748 - -40.666667 -31.000000 -3991 - -40.500000 -31.000000 -3858 - -40.333333 -31.000000 -3782 - -40.166667 -31.000000 -3702 - -40.000000 -31.000000 -3744 - -65.000000 -31.166667 980 - -64.833333 -31.166667 1592 - -64.666667 -31.166667 1327 - -64.500000 -31.166667 839 - -64.333333 -31.166667 783 - -64.166667 -31.166667 533 - -64.000000 -31.166667 398 - -63.833333 -31.166667 305 - -63.666667 -31.166667 234 - -63.500000 -31.166667 184 - -63.333333 -31.166667 162 - -63.166667 -31.166667 138 - -63.000000 -31.166667 123 - -62.833333 -31.166667 106 - -62.666667 -31.166667 96 - -62.500000 -31.166667 89 - -62.333333 -31.166667 109 - -62.166667 -31.166667 109 - -62.000000 -31.166667 106 - -61.833333 -31.166667 100 - -61.666667 -31.166667 103 - -61.500000 -31.166667 97 - -61.333333 -31.166667 69 - -61.166667 -31.166667 57 - -61.000000 -31.166667 49 - -60.833333 -31.166667 26 - -60.666667 -31.166667 25 - -60.500000 -31.166667 19 - -60.333333 -31.166667 17 - -60.166667 -31.166667 20 - -60.000000 -31.166667 16 - -59.833333 -31.166667 61 - -59.666667 -31.166667 58 - -59.500000 -31.166667 57 - -59.333333 -31.166667 66 - -59.166667 -31.166667 72 - -59.000000 -31.166667 60 - -58.833333 -31.166667 50 - -58.666667 -31.166667 59 - -58.500000 -31.166667 60 - -58.333333 -31.166667 64 - -58.166667 -31.166667 53 - -58.000000 -31.166667 34 - -57.833333 -31.166667 50 - -57.666667 -31.166667 69 - -57.500000 -31.166667 79 - -57.333333 -31.166667 65 - -57.166667 -31.166667 70 - -57.000000 -31.166667 97 - -56.833333 -31.166667 90 - -56.666667 -31.166667 109 - -56.500000 -31.166667 200 - -56.333333 -31.166667 224 - -56.166667 -31.166667 252 - -56.000000 -31.166667 295 - -55.833333 -31.166667 219 - -55.666667 -31.166667 198 - -55.500000 -31.166667 170 - -55.333333 -31.166667 182 - -55.166667 -31.166667 144 - -55.000000 -31.166667 168 - -54.833333 -31.166667 166 - -54.666667 -31.166667 148 - -54.500000 -31.166667 200 - -54.333333 -31.166667 283 - -54.166667 -31.166667 353 - -54.000000 -31.166667 350 - -53.833333 -31.166667 307 - -53.666667 -31.166667 331 - -53.500000 -31.166667 215 - -53.333333 -31.166667 203 - -53.166667 -31.166667 217 - -53.000000 -31.166667 159 - -52.833333 -31.166667 316 - -52.666667 -31.166667 297 - -52.500000 -31.166667 281 - -52.333333 -31.166667 227 - -52.166667 -31.166667 94 - -52.000000 -31.166667 49 - -51.833333 -31.166667 12 - -51.666667 -31.166667 4 - -51.500000 -31.166667 -5 - -51.333333 -31.166667 -6 - -51.166667 -31.166667 4 - -51.000000 -31.166667 2 - -50.833333 -31.166667 9 - -50.666667 -31.166667 -30 - -50.500000 -31.166667 -64 - -50.333333 -31.166667 -97 - -50.166667 -31.166667 -113 - -50.000000 -31.166667 -133 - -49.833333 -31.166667 -146 - -49.666667 -31.166667 -134 - -49.500000 -31.166667 -199 - -49.333333 -31.166667 -1252 - -49.166667 -31.166667 -1609 - -49.000000 -31.166667 -1905 - -48.833333 -31.166667 -2143 - -48.666667 -31.166667 -2335 - -48.500000 -31.166667 -2582 - -48.333333 -31.166667 -2667 - -48.166667 -31.166667 -2811 - -48.000000 -31.166667 -2722 - -47.833333 -31.166667 -2815 - -47.666667 -31.166667 -2966 - -47.500000 -31.166667 -3086 - -47.333333 -31.166667 -3122 - -47.166667 -31.166667 -3160 - -47.000000 -31.166667 -3239 - -46.833333 -31.166667 -3428 - -46.666667 -31.166667 -3436 - -46.500000 -31.166667 -3388 - -46.333333 -31.166667 -3301 - -46.166667 -31.166667 -3365 - -46.000000 -31.166667 -3413 - -45.833333 -31.166667 -3485 - -45.666667 -31.166667 -3546 - -45.500000 -31.166667 -3531 - -45.333333 -31.166667 -3548 - -45.166667 -31.166667 -3538 - -45.000000 -31.166667 -3527 - -44.833333 -31.166667 -3568 - -44.666667 -31.166667 -3519 - -44.500000 -31.166667 -3553 - -44.333333 -31.166667 -3575 - -44.166667 -31.166667 -3512 - -44.000000 -31.166667 -3446 - -43.833333 -31.166667 -3385 - -43.666667 -31.166667 -3414 - -43.500000 -31.166667 -3704 - -43.333333 -31.166667 -3931 - -43.166667 -31.166667 -3970 - -43.000000 -31.166667 -3873 - -42.833333 -31.166667 -3854 - -42.666667 -31.166667 -3891 - -42.500000 -31.166667 -3816 - -42.333333 -31.166667 -3677 - -42.166667 -31.166667 -3751 - -42.000000 -31.166667 -3816 - -41.833333 -31.166667 -3750 - -41.666667 -31.166667 -3701 - -41.500000 -31.166667 -3827 - -41.333333 -31.166667 -3845 - -41.166667 -31.166667 -4058 - -41.000000 -31.166667 -3994 - -40.833333 -31.166667 -3861 - -40.666667 -31.166667 -3790 - -40.500000 -31.166667 -3761 - -40.333333 -31.166667 -3762 - -40.166667 -31.166667 -3748 - -40.000000 -31.166667 -3697 - -65.000000 -31.333333 1161 - -64.833333 -31.333333 1740 - -64.666667 -31.333333 1299 - -64.500000 -31.333333 691 - -64.333333 -31.333333 496 - -64.166667 -31.333333 443 - -64.000000 -31.333333 371 - -63.833333 -31.333333 312 - -63.666667 -31.333333 258 - -63.500000 -31.333333 218 - -63.333333 -31.333333 187 - -63.166667 -31.333333 161 - -63.000000 -31.333333 138 - -62.833333 -31.333333 123 - -62.666667 -31.333333 107 - -62.500000 -31.333333 98 - -62.333333 -31.333333 111 - -62.166667 -31.333333 116 - -62.000000 -31.333333 106 - -61.833333 -31.333333 106 - -61.666667 -31.333333 100 - -61.500000 -31.333333 91 - -61.333333 -31.333333 63 - -61.166667 -31.333333 48 - -61.000000 -31.333333 32 - -60.833333 -31.333333 34 - -60.666667 -31.333333 21 - -60.500000 -31.333333 15 - -60.333333 -31.333333 16 - -60.166667 -31.333333 17 - -60.000000 -31.333333 76 - -59.833333 -31.333333 68 - -59.666667 -31.333333 61 - -59.500000 -31.333333 71 - -59.333333 -31.333333 67 - -59.166667 -31.333333 65 - -59.000000 -31.333333 50 - -58.833333 -31.333333 66 - -58.666667 -31.333333 65 - -58.500000 -31.333333 61 - -58.333333 -31.333333 45 - -58.166667 -31.333333 46 - -58.000000 -31.333333 21 - -57.833333 -31.333333 53 - -57.666667 -31.333333 62 - -57.500000 -31.333333 93 - -57.333333 -31.333333 104 - -57.166667 -31.333333 82 - -57.000000 -31.333333 87 - -56.833333 -31.333333 103 - -56.666667 -31.333333 221 - -56.500000 -31.333333 176 - -56.333333 -31.333333 189 - -56.166667 -31.333333 378 - -56.000000 -31.333333 255 - -55.833333 -31.333333 159 - -55.666667 -31.333333 169 - -55.500000 -31.333333 159 - -55.333333 -31.333333 188 - -55.166667 -31.333333 172 - -55.000000 -31.333333 198 - -54.833333 -31.333333 165 - -54.666667 -31.333333 185 - -54.500000 -31.333333 167 - -54.333333 -31.333333 158 - -54.166667 -31.333333 248 - -54.000000 -31.333333 225 - -53.833333 -31.333333 339 - -53.666667 -31.333333 350 - -53.500000 -31.333333 362 - -53.333333 -31.333333 283 - -53.166667 -31.333333 325 - -53.000000 -31.333333 396 - -52.833333 -31.333333 399 - -52.666667 -31.333333 405 - -52.500000 -31.333333 184 - -52.333333 -31.333333 110 - -52.166667 -31.333333 105 - -52.000000 -31.333333 17 - -51.833333 -31.333333 -2 - -51.666667 -31.333333 -6 - -51.500000 -31.333333 -6 - -51.333333 -31.333333 -5 - -51.166667 -31.333333 4 - -51.000000 -31.333333 -1 - -50.833333 -31.333333 -26 - -50.666667 -31.333333 -62 - -50.500000 -31.333333 -99 - -50.333333 -31.333333 -98 - -50.166667 -31.333333 -109 - -50.000000 -31.333333 -148 - -49.833333 -31.333333 -120 - -49.666667 -31.333333 -452 - -49.500000 -31.333333 -1250 - -49.333333 -31.333333 -1662 - -49.166667 -31.333333 -1850 - -49.000000 -31.333333 -2170 - -48.833333 -31.333333 -2359 - -48.666667 -31.333333 -2526 - -48.500000 -31.333333 -2717 - -48.333333 -31.333333 -2850 - -48.166667 -31.333333 -2828 - -48.000000 -31.333333 -2814 - -47.833333 -31.333333 -2911 - -47.666667 -31.333333 -3157 - -47.500000 -31.333333 -3236 - -47.333333 -31.333333 -3240 - -47.166667 -31.333333 -3244 - -47.000000 -31.333333 -3378 - -46.833333 -31.333333 -3367 - -46.666667 -31.333333 -3370 - -46.500000 -31.333333 -3304 - -46.333333 -31.333333 -3388 - -46.166667 -31.333333 -3416 - -46.000000 -31.333333 -3459 - -45.833333 -31.333333 -3494 - -45.666667 -31.333333 -3566 - -45.500000 -31.333333 -3572 - -45.333333 -31.333333 -3560 - -45.166667 -31.333333 -3548 - -45.000000 -31.333333 -3550 - -44.833333 -31.333333 -3569 - -44.666667 -31.333333 -3590 - -44.500000 -31.333333 -3599 - -44.333333 -31.333333 -3612 - -44.166667 -31.333333 -3572 - -44.000000 -31.333333 -3515 - -43.833333 -31.333333 -3499 - -43.666667 -31.333333 -3420 - -43.500000 -31.333333 -3592 - -43.333333 -31.333333 -3810 - -43.166667 -31.333333 -3694 - -43.000000 -31.333333 -3839 - -42.833333 -31.333333 -3791 - -42.666667 -31.333333 -3759 - -42.500000 -31.333333 -3894 - -42.333333 -31.333333 -3740 - -42.166667 -31.333333 -3707 - -42.000000 -31.333333 -3685 - -41.833333 -31.333333 -3763 - -41.666667 -31.333333 -3639 - -41.500000 -31.333333 -3845 - -41.333333 -31.333333 -3847 - -41.166667 -31.333333 -3957 - -41.000000 -31.333333 -3700 - -40.833333 -31.333333 -3868 - -40.666667 -31.333333 -3727 - -40.500000 -31.333333 -3699 - -40.333333 -31.333333 -3675 - -40.166667 -31.333333 -3654 - -40.000000 -31.333333 -3675 - -65.000000 -31.500000 1384 - -64.833333 -31.500000 2294 - -64.666667 -31.500000 1174 - -64.500000 -31.500000 875 - -64.333333 -31.500000 557 - -64.166667 -31.500000 439 - -64.000000 -31.500000 369 - -63.833333 -31.500000 320 - -63.666667 -31.500000 274 - -63.500000 -31.500000 237 - -63.333333 -31.500000 202 - -63.166667 -31.500000 171 - -63.000000 -31.500000 150 - -62.833333 -31.500000 129 - -62.666667 -31.500000 117 - -62.500000 -31.500000 107 - -62.333333 -31.500000 110 - -62.166667 -31.500000 108 - -62.000000 -31.500000 114 - -61.833333 -31.500000 106 - -61.666667 -31.500000 89 - -61.500000 -31.500000 76 - -61.333333 -31.500000 64 - -61.166667 -31.500000 51 - -61.000000 -31.500000 41 - -60.833333 -31.500000 27 - -60.666667 -31.500000 17 - -60.500000 -31.500000 15 - -60.333333 -31.500000 15 - -60.166667 -31.500000 68 - -60.000000 -31.500000 76 - -59.833333 -31.500000 85 - -59.666667 -31.500000 67 - -59.500000 -31.500000 68 - -59.333333 -31.500000 56 - -59.166667 -31.500000 62 - -59.000000 -31.500000 52 - -58.833333 -31.500000 69 - -58.666667 -31.500000 69 - -58.500000 -31.500000 67 - -58.333333 -31.500000 47 - -58.166667 -31.500000 38 - -58.000000 -31.500000 17 - -57.833333 -31.500000 45 - -57.666667 -31.500000 57 - -57.500000 -31.500000 81 - -57.333333 -31.500000 117 - -57.166667 -31.500000 123 - -57.000000 -31.500000 122 - -56.833333 -31.500000 133 - -56.666667 -31.500000 208 - -56.500000 -31.500000 164 - -56.333333 -31.500000 267 - -56.166667 -31.500000 203 - -56.000000 -31.500000 165 - -55.833333 -31.500000 165 - -55.666667 -31.500000 153 - -55.500000 -31.500000 165 - -55.333333 -31.500000 149 - -55.166667 -31.500000 173 - -55.000000 -31.500000 203 - -54.833333 -31.500000 198 - -54.666667 -31.500000 172 - -54.500000 -31.500000 150 - -54.333333 -31.500000 162 - -54.166667 -31.500000 151 - -54.000000 -31.500000 182 - -53.833333 -31.500000 168 - -53.666667 -31.500000 213 - -53.500000 -31.500000 332 - -53.333333 -31.500000 387 - -53.166667 -31.500000 314 - -53.000000 -31.500000 248 - -52.833333 -31.500000 287 - -52.666667 -31.500000 257 - -52.500000 -31.500000 152 - -52.333333 -31.500000 77 - -52.166667 -31.500000 13 - -52.000000 -31.500000 -1 - -51.833333 -31.500000 -5 - -51.666667 -31.500000 -6 - -51.500000 -31.500000 -3 - -51.333333 -31.500000 -1 - -51.166667 -31.500000 -2 - -51.000000 -31.500000 -21 - -50.833333 -31.500000 -49 - -50.666667 -31.500000 -69 - -50.500000 -31.500000 -93 - -50.333333 -31.500000 -116 - -50.166667 -31.500000 -67 - -50.000000 -31.500000 -157 - -49.833333 -31.500000 -261 - -49.666667 -31.500000 -1035 - -49.500000 -31.500000 -1685 - -49.333333 -31.500000 -2001 - -49.166667 -31.500000 -2210 - -49.000000 -31.500000 -2315 - -48.833333 -31.500000 -2415 - -48.666667 -31.500000 -2658 - -48.500000 -31.500000 -2800 - -48.333333 -31.500000 -2833 - -48.166667 -31.500000 -2914 - -48.000000 -31.500000 -2989 - -47.833333 -31.500000 -3020 - -47.666667 -31.500000 -3167 - -47.500000 -31.500000 -3355 - -47.333333 -31.500000 -3224 - -47.166667 -31.500000 -3299 - -47.000000 -31.500000 -3336 - -46.833333 -31.500000 -3385 - -46.666667 -31.500000 -3398 - -46.500000 -31.500000 -3393 - -46.333333 -31.500000 -3479 - -46.166667 -31.500000 -3528 - -46.000000 -31.500000 -3528 - -45.833333 -31.500000 -3568 - -45.666667 -31.500000 -3600 - -45.500000 -31.500000 -3610 - -45.333333 -31.500000 -3595 - -45.166667 -31.500000 -3589 - -45.000000 -31.500000 -3587 - -44.833333 -31.500000 -3592 - -44.666667 -31.500000 -3590 - -44.500000 -31.500000 -3652 - -44.333333 -31.500000 -3588 - -44.166667 -31.500000 -3643 - -44.000000 -31.500000 -3683 - -43.833333 -31.500000 -3679 - -43.666667 -31.500000 -3634 - -43.500000 -31.500000 -3763 - -43.333333 -31.500000 -3772 - -43.166667 -31.500000 -3797 - -43.000000 -31.500000 -3871 - -42.833333 -31.500000 -3805 - -42.666667 -31.500000 -3762 - -42.500000 -31.500000 -3712 - -42.333333 -31.500000 -3892 - -42.166667 -31.500000 -3669 - -42.000000 -31.500000 -3716 - -41.833333 -31.500000 -3613 - -41.666667 -31.500000 -3680 - -41.500000 -31.500000 -3699 - -41.333333 -31.500000 -4031 - -41.166667 -31.500000 -3834 - -41.000000 -31.500000 -3713 - -40.833333 -31.500000 -3674 - -40.666667 -31.500000 -3719 - -40.500000 -31.500000 -3680 - -40.333333 -31.500000 -3807 - -40.166667 -31.500000 -3683 - -40.000000 -31.500000 -3686 - -65.000000 -31.666667 1017 - -64.833333 -31.666667 2069 - -64.666667 -31.666667 1349 - -64.500000 -31.666667 848 - -64.333333 -31.666667 523 - -64.166667 -31.666667 401 - -64.000000 -31.666667 363 - -63.833333 -31.666667 322 - -63.666667 -31.666667 284 - -63.500000 -31.666667 247 - -63.333333 -31.666667 215 - -63.166667 -31.666667 184 - -63.000000 -31.666667 158 - -62.833333 -31.666667 141 - -62.666667 -31.666667 124 - -62.500000 -31.666667 114 - -62.333333 -31.666667 106 - -62.166667 -31.666667 108 - -62.000000 -31.666667 105 - -61.833333 -31.666667 115 - -61.666667 -31.666667 90 - -61.500000 -31.666667 62 - -61.333333 -31.666667 55 - -61.166667 -31.666667 43 - -61.000000 -31.666667 35 - -60.833333 -31.666667 20 - -60.666667 -31.666667 11 - -60.500000 -31.666667 12 - -60.333333 -31.666667 49 - -60.166667 -31.666667 91 - -60.000000 -31.666667 64 - -59.833333 -31.666667 85 - -59.666667 -31.666667 77 - -59.500000 -31.666667 52 - -59.333333 -31.666667 48 - -59.166667 -31.666667 42 - -59.000000 -31.666667 61 - -58.833333 -31.666667 50 - -58.666667 -31.666667 62 - -58.500000 -31.666667 66 - -58.333333 -31.666667 41 - -58.166667 -31.666667 30 - -58.000000 -31.666667 8 - -57.833333 -31.666667 60 - -57.666667 -31.666667 64 - -57.500000 -31.666667 67 - -57.333333 -31.666667 88 - -57.166667 -31.666667 134 - -57.000000 -31.666667 220 - -56.833333 -31.666667 245 - -56.666667 -31.666667 164 - -56.500000 -31.666667 209 - -56.333333 -31.666667 249 - -56.166667 -31.666667 167 - -56.000000 -31.666667 162 - -55.833333 -31.666667 141 - -55.666667 -31.666667 131 - -55.500000 -31.666667 112 - -55.333333 -31.666667 249 - -55.166667 -31.666667 249 - -55.000000 -31.666667 215 - -54.833333 -31.666667 174 - -54.666667 -31.666667 155 - -54.500000 -31.666667 136 - -54.333333 -31.666667 138 - -54.166667 -31.666667 169 - -54.000000 -31.666667 138 - -53.833333 -31.666667 160 - -53.666667 -31.666667 169 - -53.500000 -31.666667 339 - -53.333333 -31.666667 331 - -53.166667 -31.666667 242 - -53.000000 -31.666667 213 - -52.833333 -31.666667 168 - -52.666667 -31.666667 82 - -52.500000 -31.666667 69 - -52.333333 -31.666667 23 - -52.166667 -31.666667 7 - -52.000000 -31.666667 -3 - -51.833333 -31.666667 -6 - -51.666667 -31.666667 -4 - -51.500000 -31.666667 5 - -51.333333 -31.666667 -3 - -51.166667 -31.666667 -18 - -51.000000 -31.666667 -39 - -50.833333 -31.666667 -59 - -50.666667 -31.666667 -81 - -50.500000 -31.666667 -91 - -50.333333 -31.666667 -129 - -50.166667 -31.666667 -139 - -50.000000 -31.666667 -135 - -49.833333 -31.666667 -755 - -49.666667 -31.666667 -1425 - -49.500000 -31.666667 -1844 - -49.333333 -31.666667 -2065 - -49.166667 -31.666667 -2157 - -49.000000 -31.666667 -2437 - -48.833333 -31.666667 -2649 - -48.666667 -31.666667 -2670 - -48.500000 -31.666667 -2752 - -48.333333 -31.666667 -2886 - -48.166667 -31.666667 -3035 - -48.000000 -31.666667 -3060 - -47.833333 -31.666667 -3125 - -47.666667 -31.666667 -3233 - -47.500000 -31.666667 -3208 - -47.333333 -31.666667 -3276 - -47.166667 -31.666667 -3293 - -47.000000 -31.666667 -3358 - -46.833333 -31.666667 -3405 - -46.666667 -31.666667 -3420 - -46.500000 -31.666667 -3478 - -46.333333 -31.666667 -3524 - -46.166667 -31.666667 -3610 - -46.000000 -31.666667 -3605 - -45.833333 -31.666667 -3645 - -45.666667 -31.666667 -3657 - -45.500000 -31.666667 -3646 - -45.333333 -31.666667 -3623 - -45.166667 -31.666667 -3617 - -45.000000 -31.666667 -3608 - -44.833333 -31.666667 -3621 - -44.666667 -31.666667 -3636 - -44.500000 -31.666667 -3663 - -44.333333 -31.666667 -3646 - -44.166667 -31.666667 -3658 - -44.000000 -31.666667 -3625 - -43.833333 -31.666667 -3722 - -43.666667 -31.666667 -3671 - -43.500000 -31.666667 -3776 - -43.333333 -31.666667 -3709 - -43.166667 -31.666667 -3585 - -43.000000 -31.666667 -3735 - -42.833333 -31.666667 -3287 - -42.666667 -31.666667 -3826 - -42.500000 -31.666667 -3642 - -42.333333 -31.666667 -3774 - -42.166667 -31.666667 -3773 - -42.000000 -31.666667 -3719 - -41.833333 -31.666667 -3660 - -41.666667 -31.666667 -3686 - -41.500000 -31.666667 -3678 - -41.333333 -31.666667 -3834 - -41.166667 -31.666667 -3660 - -41.000000 -31.666667 -3809 - -40.833333 -31.666667 -3695 - -40.666667 -31.666667 -3808 - -40.500000 -31.666667 -3711 - -40.333333 -31.666667 -3798 - -40.166667 -31.666667 -3701 - -40.000000 -31.666667 -3692 - -65.000000 -31.833333 863 - -64.833333 -31.833333 2152 - -64.666667 -31.833333 1039 - -64.500000 -31.833333 786 - -64.333333 -31.833333 467 - -64.166667 -31.833333 418 - -64.000000 -31.833333 366 - -63.833333 -31.833333 314 - -63.666667 -31.833333 275 - -63.500000 -31.833333 243 - -63.333333 -31.833333 212 - -63.166667 -31.833333 188 - -63.000000 -31.833333 162 - -62.833333 -31.833333 145 - -62.666667 -31.833333 129 - -62.500000 -31.833333 118 - -62.333333 -31.833333 106 - -62.166667 -31.833333 105 - -62.000000 -31.833333 104 - -61.833333 -31.833333 104 - -61.666667 -31.833333 84 - -61.500000 -31.833333 53 - -61.333333 -31.833333 53 - -61.166667 -31.833333 44 - -61.000000 -31.833333 34 - -60.833333 -31.833333 12 - -60.666667 -31.833333 12 - -60.500000 -31.833333 85 - -60.333333 -31.833333 59 - -60.166667 -31.833333 59 - -60.000000 -31.833333 85 - -59.833333 -31.833333 87 - -59.666667 -31.833333 69 - -59.500000 -31.833333 63 - -59.333333 -31.833333 68 - -59.166667 -31.833333 41 - -59.000000 -31.833333 47 - -58.833333 -31.833333 64 - -58.666667 -31.833333 70 - -58.500000 -31.833333 52 - -58.333333 -31.833333 31 - -58.166667 -31.833333 11 - -58.000000 -31.833333 34 - -57.833333 -31.833333 45 - -57.666667 -31.833333 70 - -57.500000 -31.833333 101 - -57.333333 -31.833333 127 - -57.166667 -31.833333 145 - -57.000000 -31.833333 163 - -56.833333 -31.833333 215 - -56.666667 -31.833333 235 - -56.500000 -31.833333 235 - -56.333333 -31.833333 229 - -56.166667 -31.833333 195 - -56.000000 -31.833333 154 - -55.833333 -31.833333 125 - -55.666667 -31.833333 133 - -55.500000 -31.833333 106 - -55.333333 -31.833333 133 - -55.166667 -31.833333 118 - -55.000000 -31.833333 151 - -54.833333 -31.833333 137 - -54.666667 -31.833333 149 - -54.500000 -31.833333 121 - -54.333333 -31.833333 144 - -54.166667 -31.833333 160 - -54.000000 -31.833333 155 - -53.833333 -31.833333 121 - -53.666667 -31.833333 248 - -53.500000 -31.833333 226 - -53.333333 -31.833333 153 - -53.166667 -31.833333 223 - -53.000000 -31.833333 63 - -52.833333 -31.833333 62 - -52.666667 -31.833333 56 - -52.500000 -31.833333 11 - -52.333333 -31.833333 1 - -52.166667 -31.833333 -1 - -52.000000 -31.833333 11 - -51.833333 -31.833333 -1 - -51.666667 -31.833333 -1 - -51.500000 -31.833333 -6 - -51.333333 -31.833333 -15 - -51.166667 -31.833333 -26 - -51.000000 -31.833333 -52 - -50.833333 -31.833333 -66 - -50.666667 -31.833333 -81 - -50.500000 -31.833333 -98 - -50.333333 -31.833333 -119 - -50.166667 -31.833333 -87 - -50.000000 -31.833333 -208 - -49.833333 -31.833333 -1310 - -49.666667 -31.833333 -1636 - -49.500000 -31.833333 -1952 - -49.333333 -31.833333 -2044 - -49.166667 -31.833333 -2275 - -49.000000 -31.833333 -2403 - -48.833333 -31.833333 -2672 - -48.666667 -31.833333 -2716 - -48.500000 -31.833333 -2835 - -48.333333 -31.833333 -2909 - -48.166667 -31.833333 -3026 - -48.000000 -31.833333 -3069 - -47.833333 -31.833333 -3141 - -47.666667 -31.833333 -3176 - -47.500000 -31.833333 -3246 - -47.333333 -31.833333 -3295 - -47.166667 -31.833333 -3366 - -47.000000 -31.833333 -3414 - -46.833333 -31.833333 -3474 - -46.666667 -31.833333 -3500 - -46.500000 -31.833333 -3567 - -46.333333 -31.833333 -3615 - -46.166667 -31.833333 -3658 - -46.000000 -31.833333 -3704 - -45.833333 -31.833333 -3732 - -45.666667 -31.833333 -3743 - -45.500000 -31.833333 -3745 - -45.333333 -31.833333 -3727 - -45.166667 -31.833333 -3692 - -45.000000 -31.833333 -3676 - -44.833333 -31.833333 -3675 - -44.666667 -31.833333 -3688 - -44.500000 -31.833333 -3651 - -44.333333 -31.833333 -3647 - -44.166667 -31.833333 -3696 - -44.000000 -31.833333 -3735 - -43.833333 -31.833333 -3773 - -43.666667 -31.833333 -3668 - -43.500000 -31.833333 -3792 - -43.333333 -31.833333 -3801 - -43.166667 -31.833333 -3750 - -43.000000 -31.833333 -3977 - -42.833333 -31.833333 -3806 - -42.666667 -31.833333 -3734 - -42.500000 -31.833333 -3667 - -42.333333 -31.833333 -3672 - -42.166667 -31.833333 -3957 - -42.000000 -31.833333 -3880 - -41.833333 -31.833333 -3809 - -41.666667 -31.833333 -3798 - -41.500000 -31.833333 -3828 - -41.333333 -31.833333 -3875 - -41.166667 -31.833333 -3907 - -41.000000 -31.833333 -3985 - -40.833333 -31.833333 -3895 - -40.666667 -31.833333 -3979 - -40.500000 -31.833333 -3958 - -40.333333 -31.833333 -4096 - -40.166667 -31.833333 -3756 - -40.000000 -31.833333 -3848 - -65.000000 -32.000000 1072 - -64.833333 -32.000000 1448 - -64.666667 -32.000000 978 - -64.500000 -32.000000 1120 - -64.333333 -32.000000 553 - -64.166667 -32.000000 453 - -64.000000 -32.000000 371 - -63.833333 -32.000000 317 - -63.666667 -32.000000 283 - -63.500000 -32.000000 247 - -63.333333 -32.000000 218 - -63.166667 -32.000000 193 - -63.000000 -32.000000 167 - -62.833333 -32.000000 145 - -62.666667 -32.000000 129 - -62.500000 -32.000000 116 - -62.333333 -32.000000 106 - -62.166667 -32.000000 99 - -62.000000 -32.000000 112 - -61.833333 -32.000000 109 - -61.666667 -32.000000 76 - -61.500000 -32.000000 51 - -61.333333 -32.000000 56 - -61.166667 -32.000000 43 - -61.000000 -32.000000 27 - -60.833333 -32.000000 9 - -60.666667 -32.000000 11 - -60.500000 -32.000000 58 - -60.333333 -32.000000 95 - -60.166667 -32.000000 102 - -60.000000 -32.000000 96 - -59.833333 -32.000000 73 - -59.666667 -32.000000 77 - -59.500000 -32.000000 64 - -59.333333 -32.000000 56 - -59.166667 -32.000000 45 - -59.000000 -32.000000 53 - -58.833333 -32.000000 62 - -58.666667 -32.000000 57 - -58.500000 -32.000000 55 - -58.333333 -32.000000 36 - -58.166667 -32.000000 8 - -58.000000 -32.000000 34 - -57.833333 -32.000000 68 - -57.666667 -32.000000 83 - -57.500000 -32.000000 72 - -57.333333 -32.000000 80 - -57.166667 -32.000000 80 - -57.000000 -32.000000 135 - -56.833333 -32.000000 166 - -56.666667 -32.000000 136 - -56.500000 -32.000000 202 - -56.333333 -32.000000 211 - -56.166667 -32.000000 256 - -56.000000 -32.000000 153 - -55.833333 -32.000000 142 - -55.666667 -32.000000 111 - -55.500000 -32.000000 101 - -55.333333 -32.000000 103 - -55.166667 -32.000000 141 - -55.000000 -32.000000 145 - -54.833333 -32.000000 138 - -54.666667 -32.000000 127 - -54.500000 -32.000000 116 - -54.333333 -32.000000 122 - -54.166667 -32.000000 132 - -54.000000 -32.000000 104 - -53.833333 -32.000000 94 - -53.666667 -32.000000 119 - -53.500000 -32.000000 312 - -53.333333 -32.000000 217 - -53.166667 -32.000000 180 - -53.000000 -32.000000 131 - -52.833333 -32.000000 81 - -52.666667 -32.000000 16 - -52.500000 -32.000000 2 - -52.333333 -32.000000 8 - -52.166667 -32.000000 8 - -52.000000 -32.000000 9 - -51.833333 -32.000000 -6 - -51.666667 -32.000000 -11 - -51.500000 -32.000000 -16 - -51.333333 -32.000000 -22 - -51.166667 -32.000000 -51 - -51.000000 -32.000000 -62 - -50.833333 -32.000000 -71 - -50.666667 -32.000000 -89 - -50.500000 -32.000000 -100 - -50.333333 -32.000000 -115 - -50.166667 -32.000000 -158 - -50.000000 -32.000000 -822 - -49.833333 -32.000000 -1434 - -49.666667 -32.000000 -1823 - -49.500000 -32.000000 -2060 - -49.333333 -32.000000 -2233 - -49.166667 -32.000000 -2387 - -49.000000 -32.000000 -2553 - -48.833333 -32.000000 -2671 - -48.666667 -32.000000 -2804 - -48.500000 -32.000000 -2908 - -48.333333 -32.000000 -2988 - -48.166667 -32.000000 -3034 - -48.000000 -32.000000 -3110 - -47.833333 -32.000000 -3167 - -47.666667 -32.000000 -3228 - -47.500000 -32.000000 -3301 - -47.333333 -32.000000 -3350 - -47.166667 -32.000000 -3426 - -47.000000 -32.000000 -3484 - -46.833333 -32.000000 -3542 - -46.666667 -32.000000 -3603 - -46.500000 -32.000000 -3649 - -46.333333 -32.000000 -3698 - -46.166667 -32.000000 -3739 - -46.000000 -32.000000 -3779 - -45.833333 -32.000000 -3823 - -45.666667 -32.000000 -3858 - -45.500000 -32.000000 -3878 - -45.333333 -32.000000 -3878 - -45.166667 -32.000000 -3870 - -45.000000 -32.000000 -3833 - -44.833333 -32.000000 -3822 - -44.666667 -32.000000 -3799 - -44.500000 -32.000000 -3752 - -44.333333 -32.000000 -3717 - -44.166667 -32.000000 -3717 - -44.000000 -32.000000 -3697 - -43.833333 -32.000000 -3722 - -43.666667 -32.000000 -3847 - -43.500000 -32.000000 -3847 - -43.333333 -32.000000 -3746 - -43.166667 -32.000000 -3858 - -43.000000 -32.000000 -3856 - -42.833333 -32.000000 -3804 - -42.666667 -32.000000 -3839 - -42.500000 -32.000000 -3769 - -42.333333 -32.000000 -3781 - -42.166667 -32.000000 -3839 - -42.000000 -32.000000 -3880 - -41.833333 -32.000000 -3746 - -41.666667 -32.000000 -3664 - -41.500000 -32.000000 -3717 - -41.333333 -32.000000 -3869 - -41.166667 -32.000000 -3974 - -41.000000 -32.000000 -4029 - -40.833333 -32.000000 -4082 - -40.666667 -32.000000 -4039 - -40.500000 -32.000000 -4345 - -40.333333 -32.000000 -4280 - -40.166667 -32.000000 -3959 - -40.000000 -32.000000 -3996 - -65.000000 -32.166667 1090 - -64.833333 -32.166667 1326 - -64.666667 -32.166667 880 - -64.500000 -32.166667 544 - -64.333333 -32.166667 487 - -64.166667 -32.166667 392 - -64.000000 -32.166667 354 - -63.833333 -32.166667 324 - -63.666667 -32.166667 284 - -63.500000 -32.166667 252 - -63.333333 -32.166667 221 - -63.166667 -32.166667 193 - -63.000000 -32.166667 167 - -62.833333 -32.166667 147 - -62.666667 -32.166667 132 - -62.500000 -32.166667 116 - -62.333333 -32.166667 104 - -62.166667 -32.166667 96 - -62.000000 -32.166667 119 - -61.833333 -32.166667 110 - -61.666667 -32.166667 79 - -61.500000 -32.166667 52 - -61.333333 -32.166667 38 - -61.166667 -32.166667 42 - -61.000000 -32.166667 29 - -60.833333 -32.166667 9 - -60.666667 -32.166667 11 - -60.500000 -32.166667 98 - -60.333333 -32.166667 85 - -60.166667 -32.166667 103 - -60.000000 -32.166667 62 - -59.833333 -32.166667 70 - -59.666667 -32.166667 59 - -59.500000 -32.166667 67 - -59.333333 -32.166667 68 - -59.166667 -32.166667 55 - -59.000000 -32.166667 38 - -58.833333 -32.166667 64 - -58.666667 -32.166667 42 - -58.500000 -32.166667 45 - -58.333333 -32.166667 28 - -58.166667 -32.166667 6 - -58.000000 -32.166667 33 - -57.833333 -32.166667 39 - -57.666667 -32.166667 31 - -57.500000 -32.166667 37 - -57.333333 -32.166667 47 - -57.166667 -32.166667 50 - -57.000000 -32.166667 87 - -56.833333 -32.166667 97 - -56.666667 -32.166667 156 - -56.500000 -32.166667 141 - -56.333333 -32.166667 162 - -56.166667 -32.166667 134 - -56.000000 -32.166667 114 - -55.833333 -32.166667 114 - -55.666667 -32.166667 114 - -55.500000 -32.166667 94 - -55.333333 -32.166667 117 - -55.166667 -32.166667 106 - -55.000000 -32.166667 113 - -54.833333 -32.166667 117 - -54.666667 -32.166667 132 - -54.500000 -32.166667 144 - -54.333333 -32.166667 155 - -54.166667 -32.166667 172 - -54.000000 -32.166667 119 - -53.833333 -32.166667 185 - -53.666667 -32.166667 154 - -53.500000 -32.166667 114 - -53.333333 -32.166667 160 - -53.166667 -32.166667 71 - -53.000000 -32.166667 37 - -52.833333 -32.166667 5 - -52.666667 -32.166667 -1 - -52.500000 -32.166667 1 - -52.333333 -32.166667 10 - -52.166667 -32.166667 6 - -52.000000 -32.166667 -9 - -51.833333 -32.166667 -20 - -51.666667 -32.166667 -19 - -51.500000 -32.166667 -19 - -51.333333 -32.166667 -45 - -51.166667 -32.166667 -59 - -51.000000 -32.166667 -67 - -50.833333 -32.166667 -79 - -50.666667 -32.166667 -85 - -50.500000 -32.166667 -92 - -50.333333 -32.166667 -92 - -50.166667 -32.166667 -280 - -50.000000 -32.166667 -648 - -49.833333 -32.166667 -1532 - -49.666667 -32.166667 -1882 - -49.500000 -32.166667 -2066 - -49.333333 -32.166667 -2284 - -49.166667 -32.166667 -2396 - -49.000000 -32.166667 -2646 - -48.833333 -32.166667 -2752 - -48.666667 -32.166667 -2798 - -48.500000 -32.166667 -2915 - -48.333333 -32.166667 -2996 - -48.166667 -32.166667 -3073 - -48.000000 -32.166667 -3147 - -47.833333 -32.166667 -3245 - -47.666667 -32.166667 -3325 - -47.500000 -32.166667 -3391 - -47.333333 -32.166667 -3462 - -47.166667 -32.166667 -3526 - -47.000000 -32.166667 -3599 - -46.833333 -32.166667 -3658 - -46.666667 -32.166667 -3706 - -46.500000 -32.166667 -3762 - -46.333333 -32.166667 -3809 - -46.166667 -32.166667 -3855 - -46.000000 -32.166667 -3897 - -45.833333 -32.166667 -3916 - -45.666667 -32.166667 -3943 - -45.500000 -32.166667 -3954 - -45.333333 -32.166667 -3996 - -45.166667 -32.166667 -4014 - -45.000000 -32.166667 -4005 - -44.833333 -32.166667 -3963 - -44.666667 -32.166667 -3939 - -44.500000 -32.166667 -3890 - -44.333333 -32.166667 -3875 - -44.166667 -32.166667 -3805 - -44.000000 -32.166667 -3804 - -43.833333 -32.166667 -3746 - -43.666667 -32.166667 -3757 - -43.500000 -32.166667 -3830 - -43.333333 -32.166667 -3845 - -43.166667 -32.166667 -3854 - -43.000000 -32.166667 -3970 - -42.833333 -32.166667 -3949 - -42.666667 -32.166667 -3934 - -42.500000 -32.166667 -3774 - -42.333333 -32.166667 -3755 - -42.166667 -32.166667 -3821 - -42.000000 -32.166667 -3819 - -41.833333 -32.166667 -3759 - -41.666667 -32.166667 -3842 - -41.500000 -32.166667 -3918 - -41.333333 -32.166667 -4107 - -41.166667 -32.166667 -4339 - -41.000000 -32.166667 -4267 - -40.833333 -32.166667 -4327 - -40.666667 -32.166667 -4161 - -40.500000 -32.166667 -4192 - -40.333333 -32.166667 -4250 - -40.166667 -32.166667 -4219 - -40.000000 -32.166667 -4231 - -65.000000 -32.333333 928 - -64.833333 -32.333333 1451 - -64.666667 -32.333333 904 - -64.500000 -32.333333 601 - -64.333333 -32.333333 616 - -64.166667 -32.333333 460 - -64.000000 -32.333333 359 - -63.833333 -32.333333 313 - -63.666667 -32.333333 282 - -63.500000 -32.333333 250 - -63.333333 -32.333333 220 - -63.166667 -32.333333 192 - -63.000000 -32.333333 164 - -62.833333 -32.333333 145 - -62.666667 -32.333333 130 - -62.500000 -32.333333 119 - -62.333333 -32.333333 111 - -62.166667 -32.333333 98 - -62.000000 -32.333333 96 - -61.833333 -32.333333 111 - -61.666667 -32.333333 106 - -61.500000 -32.333333 71 - -61.333333 -32.333333 54 - -61.166667 -32.333333 28 - -61.000000 -32.333333 29 - -60.833333 -32.333333 5 - -60.666667 -32.333333 11 - -60.500000 -32.333333 10 - -60.333333 -32.333333 82 - -60.166667 -32.333333 97 - -60.000000 -32.333333 92 - -59.833333 -32.333333 65 - -59.666667 -32.333333 53 - -59.500000 -32.333333 73 - -59.333333 -32.333333 67 - -59.166667 -32.333333 49 - -59.000000 -32.333333 54 - -58.833333 -32.333333 50 - -58.666667 -32.333333 47 - -58.500000 -32.333333 35 - -58.333333 -32.333333 26 - -58.166667 -32.333333 17 - -58.000000 -32.333333 52 - -57.833333 -32.333333 63 - -57.666667 -32.333333 80 - -57.500000 -32.333333 85 - -57.333333 -32.333333 76 - -57.166667 -32.333333 85 - -57.000000 -32.333333 146 - -56.833333 -32.333333 131 - -56.666667 -32.333333 135 - -56.500000 -32.333333 118 - -56.333333 -32.333333 159 - -56.166667 -32.333333 176 - -56.000000 -32.333333 112 - -55.833333 -32.333333 94 - -55.666667 -32.333333 104 - -55.500000 -32.333333 95 - -55.333333 -32.333333 107 - -55.166667 -32.333333 127 - -55.000000 -32.333333 122 - -54.833333 -32.333333 101 - -54.666667 -32.333333 128 - -54.500000 -32.333333 145 - -54.333333 -32.333333 147 - -54.166667 -32.333333 108 - -54.000000 -32.333333 102 - -53.833333 -32.333333 110 - -53.666667 -32.333333 46 - -53.500000 -32.333333 45 - -53.333333 -32.333333 81 - -53.166667 -32.333333 55 - -53.000000 -32.333333 13 - -52.833333 -32.333333 6 - -52.666667 -32.333333 4 - -52.500000 -32.333333 6 - -52.333333 -32.333333 6 - -52.166667 -32.333333 -7 - -52.000000 -32.333333 -21 - -51.833333 -32.333333 -22 - -51.666667 -32.333333 -24 - -51.500000 -32.333333 -36 - -51.333333 -32.333333 -56 - -51.166667 -32.333333 -60 - -51.000000 -32.333333 -78 - -50.833333 -32.333333 -72 - -50.666667 -32.333333 -79 - -50.500000 -32.333333 -98 - -50.333333 -32.333333 -145 - -50.166667 -32.333333 -721 - -50.000000 -32.333333 -1177 - -49.833333 -32.333333 -1606 - -49.666667 -32.333333 -1831 - -49.500000 -32.333333 -2022 - -49.333333 -32.333333 -2251 - -49.166667 -32.333333 -2316 - -49.000000 -32.333333 -2506 - -48.833333 -32.333333 -2782 - -48.666667 -32.333333 -2845 - -48.500000 -32.333333 -2931 - -48.333333 -32.333333 -3026 - -48.166667 -32.333333 -3113 - -48.000000 -32.333333 -3257 - -47.833333 -32.333333 -3304 - -47.666667 -32.333333 -3395 - -47.500000 -32.333333 -3475 - -47.333333 -32.333333 -3554 - -47.166667 -32.333333 -3626 - -47.000000 -32.333333 -3695 - -46.833333 -32.333333 -3757 - -46.666667 -32.333333 -3800 - -46.500000 -32.333333 -3862 - -46.333333 -32.333333 -3894 - -46.166667 -32.333333 -3929 - -46.000000 -32.333333 -3967 - -45.833333 -32.333333 -3978 - -45.666667 -32.333333 -3997 - -45.500000 -32.333333 -4016 - -45.333333 -32.333333 -4049 - -45.166667 -32.333333 -4071 - -45.000000 -32.333333 -4072 - -44.833333 -32.333333 -4065 - -44.666667 -32.333333 -4061 - -44.500000 -32.333333 -4079 - -44.333333 -32.333333 -4073 - -44.166667 -32.333333 -4026 - -44.000000 -32.333333 -3938 - -43.833333 -32.333333 -3847 - -43.666667 -32.333333 -3906 - -43.500000 -32.333333 -3893 - -43.333333 -32.333333 -3922 - -43.166667 -32.333333 -3916 - -43.000000 -32.333333 -3906 - -42.833333 -32.333333 -4036 - -42.666667 -32.333333 -3992 - -42.500000 -32.333333 -3937 - -42.333333 -32.333333 -3987 - -42.166667 -32.333333 -3951 - -42.000000 -32.333333 -3875 - -41.833333 -32.333333 -4006 - -41.666667 -32.333333 -4178 - -41.500000 -32.333333 -4228 - -41.333333 -32.333333 -4324 - -41.166667 -32.333333 -4362 - -41.000000 -32.333333 -4469 - -40.833333 -32.333333 -4481 - -40.666667 -32.333333 -4414 - -40.500000 -32.333333 -3788 - -40.333333 -32.333333 -4526 - -40.166667 -32.333333 -4317 - -40.000000 -32.333333 -4381 - -65.000000 -32.500000 917 - -64.833333 -32.500000 1575 - -64.666667 -32.500000 902 - -64.500000 -32.500000 688 - -64.333333 -32.500000 672 - -64.166667 -32.500000 488 - -64.000000 -32.500000 382 - -63.833333 -32.500000 288 - -63.666667 -32.500000 256 - -63.500000 -32.500000 233 - -63.333333 -32.500000 207 - -63.166667 -32.500000 186 - -63.000000 -32.500000 163 - -62.833333 -32.500000 144 - -62.666667 -32.500000 128 - -62.500000 -32.500000 118 - -62.333333 -32.500000 115 - -62.166667 -32.500000 113 - -62.000000 -32.500000 88 - -61.833333 -32.500000 119 - -61.666667 -32.500000 109 - -61.500000 -32.500000 94 - -61.333333 -32.500000 65 - -61.166667 -32.500000 37 - -61.000000 -32.500000 38 - -60.833333 -32.500000 23 - -60.666667 -32.500000 8 - -60.500000 -32.500000 7 - -60.333333 -32.500000 12 - -60.166667 -32.500000 47 - -60.000000 -32.500000 89 - -59.833333 -32.500000 57 - -59.666667 -32.500000 57 - -59.500000 -32.500000 52 - -59.333333 -32.500000 55 - -59.166667 -32.500000 49 - -59.000000 -32.500000 51 - -58.833333 -32.500000 53 - -58.666667 -32.500000 27 - -58.500000 -32.500000 27 - -58.333333 -32.500000 18 - -58.166667 -32.500000 16 - -58.000000 -32.500000 38 - -57.833333 -32.500000 66 - -57.666667 -32.500000 79 - -57.500000 -32.500000 79 - -57.333333 -32.500000 94 - -57.166667 -32.500000 88 - -57.000000 -32.500000 137 - -56.833333 -32.500000 144 - -56.666667 -32.500000 132 - -56.500000 -32.500000 104 - -56.333333 -32.500000 125 - -56.166667 -32.500000 159 - -56.000000 -32.500000 133 - -55.833333 -32.500000 95 - -55.666667 -32.500000 77 - -55.500000 -32.500000 80 - -55.333333 -32.500000 90 - -55.166667 -32.500000 105 - -55.000000 -32.500000 112 - -54.833333 -32.500000 127 - -54.666667 -32.500000 144 - -54.500000 -32.500000 147 - -54.333333 -32.500000 108 - -54.166667 -32.500000 103 - -54.000000 -32.500000 114 - -53.833333 -32.500000 144 - -53.666667 -32.500000 59 - -53.500000 -32.500000 16 - -53.333333 -32.500000 53 - -53.166667 -32.500000 16 - -53.000000 -32.500000 4 - -52.833333 -32.500000 -18 - -52.666667 -32.500000 -9 - -52.500000 -32.500000 5 - -52.333333 -32.500000 -2 - -52.166667 -32.500000 -12 - -52.000000 -32.500000 -22 - -51.833333 -32.500000 -28 - -51.666667 -32.500000 -35 - -51.500000 -32.500000 -48 - -51.333333 -32.500000 -53 - -51.166667 -32.500000 -63 - -51.000000 -32.500000 -65 - -50.833333 -32.500000 -68 - -50.666667 -32.500000 -81 - -50.500000 -32.500000 -96 - -50.333333 -32.500000 -232 - -50.166667 -32.500000 -916 - -50.000000 -32.500000 -1219 - -49.833333 -32.500000 -1485 - -49.666667 -32.500000 -1736 - -49.500000 -32.500000 -1861 - -49.333333 -32.500000 -2048 - -49.166667 -32.500000 -2292 - -49.000000 -32.500000 -2461 - -48.833333 -32.500000 -2899 - -48.666667 -32.500000 -2889 - -48.500000 -32.500000 -2942 - -48.333333 -32.500000 -3083 - -48.166667 -32.500000 -3213 - -48.000000 -32.500000 -3284 - -47.833333 -32.500000 -3388 - -47.666667 -32.500000 -3453 - -47.500000 -32.500000 -3541 - -47.333333 -32.500000 -3626 - -47.166667 -32.500000 -3692 - -47.000000 -32.500000 -3762 - -46.833333 -32.500000 -3811 - -46.666667 -32.500000 -3848 - -46.500000 -32.500000 -3885 - -46.333333 -32.500000 -3925 - -46.166667 -32.500000 -3945 - -46.000000 -32.500000 -3980 - -45.833333 -32.500000 -4011 - -45.666667 -32.500000 -4031 - -45.500000 -32.500000 -4083 - -45.333333 -32.500000 -4103 - -45.166667 -32.500000 -4102 - -45.000000 -32.500000 -4127 - -44.833333 -32.500000 -4164 - -44.666667 -32.500000 -4117 - -44.500000 -32.500000 -4240 - -44.333333 -32.500000 -4096 - -44.166667 -32.500000 -4144 - -44.000000 -32.500000 -4141 - -43.833333 -32.500000 -4093 - -43.666667 -32.500000 -4061 - -43.500000 -32.500000 -4101 - -43.333333 -32.500000 -4002 - -43.166667 -32.500000 -4164 - -43.000000 -32.500000 -4125 - -42.833333 -32.500000 -4182 - -42.666667 -32.500000 -4116 - -42.500000 -32.500000 -4146 - -42.333333 -32.500000 -4124 - -42.166667 -32.500000 -4096 - -42.000000 -32.500000 -4087 - -41.833333 -32.500000 -4167 - -41.666667 -32.500000 -4277 - -41.500000 -32.500000 -4401 - -41.333333 -32.500000 -4400 - -41.166667 -32.500000 -4420 - -41.000000 -32.500000 -4472 - -40.833333 -32.500000 -4411 - -40.666667 -32.500000 -4514 - -40.500000 -32.500000 -4105 - -40.333333 -32.500000 -4196 - -40.166667 -32.500000 -4402 - -40.000000 -32.500000 -4337 - -65.000000 -32.666667 1001 - -64.833333 -32.666667 1203 - -64.666667 -32.666667 820 - -64.500000 -32.666667 684 - -64.333333 -32.666667 579 - -64.166667 -32.666667 458 - -64.000000 -32.666667 364 - -63.833333 -32.666667 295 - -63.666667 -32.666667 244 - -63.500000 -32.666667 211 - -63.333333 -32.666667 190 - -63.166667 -32.666667 172 - -63.000000 -32.666667 157 - -62.833333 -32.666667 140 - -62.666667 -32.666667 126 - -62.500000 -32.666667 116 - -62.333333 -32.666667 115 - -62.166667 -32.666667 111 - -62.000000 -32.666667 89 - -61.833333 -32.666667 91 - -61.666667 -32.666667 113 - -61.500000 -32.666667 94 - -61.333333 -32.666667 73 - -61.166667 -32.666667 53 - -61.000000 -32.666667 38 - -60.833333 -32.666667 31 - -60.666667 -32.666667 9 - -60.500000 -32.666667 7 - -60.333333 -32.666667 5 - -60.166667 -32.666667 5 - -60.000000 -32.666667 70 - -59.833333 -32.666667 42 - -59.666667 -32.666667 74 - -59.500000 -32.666667 49 - -59.333333 -32.666667 58 - -59.166667 -32.666667 34 - -59.000000 -32.666667 32 - -58.833333 -32.666667 57 - -58.666667 -32.666667 39 - -58.500000 -32.666667 20 - -58.333333 -32.666667 37 - -58.166667 -32.666667 3 - -58.000000 -32.666667 36 - -57.833333 -32.666667 43 - -57.666667 -32.666667 68 - -57.500000 -32.666667 85 - -57.333333 -32.666667 84 - -57.166667 -32.666667 57 - -57.000000 -32.666667 105 - -56.833333 -32.666667 118 - -56.666667 -32.666667 85 - -56.500000 -32.666667 117 - -56.333333 -32.666667 78 - -56.166667 -32.666667 90 - -56.000000 -32.666667 73 - -55.833333 -32.666667 76 - -55.666667 -32.666667 102 - -55.500000 -32.666667 129 - -55.333333 -32.666667 105 - -55.166667 -32.666667 155 - -55.000000 -32.666667 156 - -54.833333 -32.666667 157 - -54.666667 -32.666667 263 - -54.500000 -32.666667 226 - -54.333333 -32.666667 229 - -54.166667 -32.666667 144 - -54.000000 -32.666667 55 - -53.833333 -32.666667 46 - -53.666667 -32.666667 50 - -53.500000 -32.666667 16 - -53.333333 -32.666667 13 - -53.166667 -32.666667 -12 - -53.000000 -32.666667 -12 - -52.833333 -32.666667 -6 - -52.666667 -32.666667 -7 - -52.500000 -32.666667 5 - -52.333333 -32.666667 -5 - -52.166667 -32.666667 -14 - -52.000000 -32.666667 -22 - -51.833333 -32.666667 -33 - -51.666667 -32.666667 -42 - -51.500000 -32.666667 -49 - -51.333333 -32.666667 -58 - -51.166667 -32.666667 -60 - -51.000000 -32.666667 -63 - -50.833333 -32.666667 -103 - -50.666667 -32.666667 -186 - -50.500000 -32.666667 -129 - -50.333333 -32.666667 -464 - -50.166667 -32.666667 -926 - -50.000000 -32.666667 -1148 - -49.833333 -32.666667 -1342 - -49.666667 -32.666667 -1599 - -49.500000 -32.666667 -1782 - -49.333333 -32.666667 -1960 - -49.166667 -32.666667 -2186 - -49.000000 -32.666667 -2638 - -48.833333 -32.666667 -2864 - -48.666667 -32.666667 -2869 - -48.500000 -32.666667 -3090 - -48.333333 -32.666667 -3129 - -48.166667 -32.666667 -3219 - -48.000000 -32.666667 -3358 - -47.833333 -32.666667 -3411 - -47.666667 -32.666667 -3490 - -47.500000 -32.666667 -3573 - -47.333333 -32.666667 -3656 - -47.166667 -32.666667 -3720 - -47.000000 -32.666667 -3773 - -46.833333 -32.666667 -3802 - -46.666667 -32.666667 -3841 - -46.500000 -32.666667 -3889 - -46.333333 -32.666667 -3942 - -46.166667 -32.666667 -3968 - -46.000000 -32.666667 -4002 - -45.833333 -32.666667 -4031 - -45.666667 -32.666667 -4079 - -45.500000 -32.666667 -4093 - -45.333333 -32.666667 -4101 - -45.166667 -32.666667 -4124 - -45.000000 -32.666667 -4140 - -44.833333 -32.666667 -4179 - -44.666667 -32.666667 -4171 - -44.500000 -32.666667 -4233 - -44.333333 -32.666667 -4179 - -44.166667 -32.666667 -4235 - -44.000000 -32.666667 -4228 - -43.833333 -32.666667 -4220 - -43.666667 -32.666667 -4224 - -43.500000 -32.666667 -4175 - -43.333333 -32.666667 -4240 - -43.166667 -32.666667 -4252 - -43.000000 -32.666667 -4293 - -42.833333 -32.666667 -4313 - -42.666667 -32.666667 -4261 - -42.500000 -32.666667 -4247 - -42.333333 -32.666667 -4294 - -42.166667 -32.666667 -4293 - -42.000000 -32.666667 -4315 - -41.833333 -32.666667 -4341 - -41.666667 -32.666667 -4384 - -41.500000 -32.666667 -4417 - -41.333333 -32.666667 -4492 - -41.166667 -32.666667 -4467 - -41.000000 -32.666667 -4509 - -40.833333 -32.666667 -4462 - -40.666667 -32.666667 -4567 - -40.500000 -32.666667 -4535 - -40.333333 -32.666667 -4396 - -40.166667 -32.666667 -4484 - -40.000000 -32.666667 -4591 - -65.000000 -32.833333 1002 - -64.833333 -32.833333 896 - -64.666667 -32.833333 691 - -64.500000 -32.833333 649 - -64.333333 -32.833333 533 - -64.166667 -32.833333 429 - -64.000000 -32.833333 343 - -63.833333 -32.833333 282 - -63.666667 -32.833333 231 - -63.500000 -32.833333 191 - -63.333333 -32.833333 180 - -63.166667 -32.833333 162 - -63.000000 -32.833333 146 - -62.833333 -32.833333 133 - -62.666667 -32.833333 121 - -62.500000 -32.833333 115 - -62.333333 -32.833333 109 - -62.166667 -32.833333 108 - -62.000000 -32.833333 102 - -61.833333 -32.833333 86 - -61.666667 -32.833333 116 - -61.500000 -32.833333 100 - -61.333333 -32.833333 76 - -61.166667 -32.833333 48 - -61.000000 -32.833333 43 - -60.833333 -32.833333 29 - -60.666667 -32.833333 8 - -60.500000 -32.833333 6 - -60.333333 -32.833333 6 - -60.166667 -32.833333 4 - -60.000000 -32.833333 5 - -59.833333 -32.833333 11 - -59.666667 -32.833333 57 - -59.500000 -32.833333 29 - -59.333333 -32.833333 61 - -59.166667 -32.833333 19 - -59.000000 -32.833333 43 - -58.833333 -32.833333 46 - -58.666667 -32.833333 43 - -58.500000 -32.833333 9 - -58.333333 -32.833333 40 - -58.166667 -32.833333 1 - -58.000000 -32.833333 27 - -57.833333 -32.833333 66 - -57.666667 -32.833333 53 - -57.500000 -32.833333 37 - -57.333333 -32.833333 41 - -57.166667 -32.833333 104 - -57.000000 -32.833333 120 - -56.833333 -32.833333 74 - -56.666667 -32.833333 59 - -56.500000 -32.833333 70 - -56.333333 -32.833333 78 - -56.166667 -32.833333 82 - -56.000000 -32.833333 113 - -55.833333 -32.833333 112 - -55.666667 -32.833333 120 - -55.500000 -32.833333 103 - -55.333333 -32.833333 130 - -55.166667 -32.833333 156 - -55.000000 -32.833333 169 - -54.833333 -32.833333 286 - -54.666667 -32.833333 293 - -54.500000 -32.833333 309 - -54.333333 -32.833333 141 - -54.166667 -32.833333 89 - -54.000000 -32.833333 39 - -53.833333 -32.833333 28 - -53.666667 -32.833333 17 - -53.500000 -32.833333 8 - -53.333333 -32.833333 4 - -53.166667 -32.833333 -3 - -53.000000 -32.833333 2 - -52.833333 -32.833333 -10 - -52.666667 -32.833333 7 - -52.500000 -32.833333 7 - -52.333333 -32.833333 -9 - -52.166667 -32.833333 -19 - -52.000000 -32.833333 -26 - -51.833333 -32.833333 -39 - -51.666667 -32.833333 -48 - -51.500000 -32.833333 -57 - -51.333333 -32.833333 -77 - -51.166667 -32.833333 -64 - -51.000000 -32.833333 -68 - -50.833333 -32.833333 -71 - -50.666667 -32.833333 -228 - -50.500000 -32.833333 -134 - -50.333333 -32.833333 -610 - -50.166667 -32.833333 -884 - -50.000000 -32.833333 -1074 - -49.833333 -32.833333 -1216 - -49.666667 -32.833333 -1448 - -49.500000 -32.833333 -1682 - -49.333333 -32.833333 -1856 - -49.166667 -32.833333 -2260 - -49.000000 -32.833333 -2807 - -48.833333 -32.833333 -2856 - -48.666667 -32.833333 -2978 - -48.500000 -32.833333 -3074 - -48.333333 -32.833333 -3169 - -48.166667 -32.833333 -3267 - -48.000000 -32.833333 -3368 - -47.833333 -32.833333 -3433 - -47.666667 -32.833333 -3514 - -47.500000 -32.833333 -3579 - -47.333333 -32.833333 -3651 - -47.166667 -32.833333 -3703 - -47.000000 -32.833333 -3749 - -46.833333 -32.833333 -3792 - -46.666667 -32.833333 -3830 - -46.500000 -32.833333 -3889 - -46.333333 -32.833333 -3942 - -46.166667 -32.833333 -3971 - -46.000000 -32.833333 -4012 - -45.833333 -32.833333 -4042 - -45.666667 -32.833333 -4078 - -45.500000 -32.833333 -4113 - -45.333333 -32.833333 -4132 - -45.166667 -32.833333 -4134 - -45.000000 -32.833333 -4161 - -44.833333 -32.833333 -4194 - -44.666667 -32.833333 -4207 - -44.500000 -32.833333 -4238 - -44.333333 -32.833333 -4215 - -44.166667 -32.833333 -4273 - -44.000000 -32.833333 -4251 - -43.833333 -32.833333 -4196 - -43.666667 -32.833333 -4317 - -43.500000 -32.833333 -4273 - -43.333333 -32.833333 -4335 - -43.166667 -32.833333 -4325 - -43.000000 -32.833333 -4336 - -42.833333 -32.833333 -4352 - -42.666667 -32.833333 -4352 - -42.500000 -32.833333 -4370 - -42.333333 -32.833333 -4359 - -42.166667 -32.833333 -4401 - -42.000000 -32.833333 -4451 - -41.833333 -32.833333 -4455 - -41.666667 -32.833333 -4498 - -41.500000 -32.833333 -4516 - -41.333333 -32.833333 -4511 - -41.166667 -32.833333 -4384 - -41.000000 -32.833333 -4552 - -40.833333 -32.833333 -4607 - -40.666667 -32.833333 -4642 - -40.500000 -32.833333 -4774 - -40.333333 -32.833333 -4722 - -40.166667 -32.833333 -4812 - -40.000000 -32.833333 -4718 - -65.000000 -33.000000 1374 - -64.833333 -33.000000 800 - -64.666667 -33.000000 606 - -64.500000 -33.000000 548 - -64.333333 -33.000000 486 - -64.166667 -33.000000 404 - -64.000000 -33.000000 318 - -63.833333 -33.000000 275 - -63.666667 -33.000000 229 - -63.500000 -33.000000 195 - -63.333333 -33.000000 164 - -63.166667 -33.000000 153 - -63.000000 -33.000000 137 - -62.833333 -33.000000 125 - -62.666667 -33.000000 116 - -62.500000 -33.000000 116 - -62.333333 -33.000000 112 - -62.166667 -33.000000 106 - -62.000000 -33.000000 102 - -61.833333 -33.000000 81 - -61.666667 -33.000000 125 - -61.500000 -33.000000 76 - -61.333333 -33.000000 50 - -61.166667 -33.000000 73 - -61.000000 -33.000000 66 - -60.833333 -33.000000 34 - -60.666667 -33.000000 38 - -60.500000 -33.000000 8 - -60.333333 -33.000000 6 - -60.166667 -33.000000 5 - -60.000000 -33.000000 5 - -59.833333 -33.000000 5 - -59.666667 -33.000000 6 - -59.500000 -33.000000 16 - -59.333333 -33.000000 44 - -59.166667 -33.000000 16 - -59.000000 -33.000000 62 - -58.833333 -33.000000 34 - -58.666667 -33.000000 14 - -58.500000 -33.000000 4 - -58.333333 -33.000000 23 - -58.166667 -33.000000 1 - -58.000000 -33.000000 37 - -57.833333 -33.000000 17 - -57.666667 -33.000000 46 - -57.500000 -33.000000 40 - -57.333333 -33.000000 53 - -57.166667 -33.000000 52 - -57.000000 -33.000000 55 - -56.833333 -33.000000 55 - -56.666667 -33.000000 99 - -56.500000 -33.000000 110 - -56.333333 -33.000000 85 - -56.166667 -33.000000 100 - -56.000000 -33.000000 112 - -55.833333 -33.000000 139 - -55.666667 -33.000000 121 - -55.500000 -33.000000 168 - -55.333333 -33.000000 156 - -55.166667 -33.000000 201 - -55.000000 -33.000000 266 - -54.833333 -33.000000 132 - -54.666667 -33.000000 133 - -54.500000 -33.000000 98 - -54.333333 -33.000000 109 - -54.166667 -33.000000 79 - -54.000000 -33.000000 36 - -53.833333 -33.000000 17 - -53.666667 -33.000000 12 - -53.500000 -33.000000 -19 - -53.333333 -33.000000 -19 - -53.166667 -33.000000 5 - -53.000000 -33.000000 2 - -52.833333 -33.000000 8 - -52.666667 -33.000000 -9 - -52.500000 -33.000000 -3 - -52.333333 -33.000000 -13 - -52.166667 -33.000000 -21 - -52.000000 -33.000000 -33 - -51.833333 -33.000000 -47 - -51.666667 -33.000000 -57 - -51.500000 -33.000000 -62 - -51.333333 -33.000000 -65 - -51.166667 -33.000000 -55 - -51.000000 -33.000000 -74 - -50.833333 -33.000000 -86 - -50.666667 -33.000000 -133 - -50.500000 -33.000000 -148 - -50.333333 -33.000000 -538 - -50.166667 -33.000000 -842 - -50.000000 -33.000000 -1007 - -49.833333 -33.000000 -1187 - -49.666667 -33.000000 -1368 - -49.500000 -33.000000 -1583 - -49.333333 -33.000000 -1881 - -49.166667 -33.000000 -2485 - -49.000000 -33.000000 -2890 - -48.833333 -33.000000 -2951 - -48.666667 -33.000000 -3122 - -48.500000 -33.000000 -3141 - -48.333333 -33.000000 -3209 - -48.166667 -33.000000 -3320 - -48.000000 -33.000000 -3404 - -47.833333 -33.000000 -3439 - -47.666667 -33.000000 -3514 - -47.500000 -33.000000 -3585 - -47.333333 -33.000000 -3642 - -47.166667 -33.000000 -3686 - -47.000000 -33.000000 -3744 - -46.833333 -33.000000 -3790 - -46.666667 -33.000000 -3832 - -46.500000 -33.000000 -3879 - -46.333333 -33.000000 -3906 - -46.166667 -33.000000 -3957 - -46.000000 -33.000000 -4005 - -45.833333 -33.000000 -4028 - -45.666667 -33.000000 -4068 - -45.500000 -33.000000 -4100 - -45.333333 -33.000000 -4154 - -45.166667 -33.000000 -4146 - -45.000000 -33.000000 -4265 - -44.833333 -33.000000 -4156 - -44.666667 -33.000000 -4172 - -44.500000 -33.000000 -4246 - -44.333333 -33.000000 -4267 - -44.166667 -33.000000 -4283 - -44.000000 -33.000000 -4297 - -43.833333 -33.000000 -4316 - -43.666667 -33.000000 -4320 - -43.500000 -33.000000 -4333 - -43.333333 -33.000000 -4388 - -43.166667 -33.000000 -4378 - -43.000000 -33.000000 -4390 - -42.833333 -33.000000 -4404 - -42.666667 -33.000000 -4416 - -42.500000 -33.000000 -4430 - -42.333333 -33.000000 -4457 - -42.166667 -33.000000 -4469 - -42.000000 -33.000000 -4482 - -41.833333 -33.000000 -4514 - -41.666667 -33.000000 -4525 - -41.500000 -33.000000 -4532 - -41.333333 -33.000000 -4496 - -41.166667 -33.000000 -4481 - -41.000000 -33.000000 -4471 - -40.833333 -33.000000 -4724 - -40.666667 -33.000000 -4742 - -40.500000 -33.000000 -4741 - -40.333333 -33.000000 -4766 - -40.166667 -33.000000 -4723 - -40.000000 -33.000000 -4723 - -65.000000 -33.166667 856 - -64.833333 -33.166667 712 - -64.666667 -33.166667 601 - -64.500000 -33.166667 478 - -64.333333 -33.166667 421 - -64.166667 -33.166667 360 - -64.000000 -33.166667 307 - -63.833333 -33.166667 258 - -63.666667 -33.166667 218 - -63.500000 -33.166667 183 - -63.333333 -33.166667 158 - -63.166667 -33.166667 137 - -63.000000 -33.166667 130 - -62.833333 -33.166667 123 - -62.666667 -33.166667 110 - -62.500000 -33.166667 119 - -62.333333 -33.166667 112 - -62.166667 -33.166667 113 - -62.000000 -33.166667 101 - -61.833333 -33.166667 97 - -61.666667 -33.166667 90 - -61.500000 -33.166667 93 - -61.333333 -33.166667 91 - -61.166667 -33.166667 84 - -61.000000 -33.166667 54 - -60.833333 -33.166667 62 - -60.666667 -33.166667 37 - -60.500000 -33.166667 27 - -60.333333 -33.166667 5 - -60.166667 -33.166667 5 - -60.000000 -33.166667 4 - -59.833333 -33.166667 1 - -59.666667 -33.166667 3 - -59.500000 -33.166667 5 - -59.333333 -33.166667 8 - -59.166667 -33.166667 7 - -59.000000 -33.166667 16 - -58.833333 -33.166667 39 - -58.666667 -33.166667 30 - -58.500000 -33.166667 15 - -58.333333 -33.166667 26 - -58.166667 -33.166667 30 - -58.000000 -33.166667 32 - -57.833333 -33.166667 56 - -57.666667 -33.166667 63 - -57.500000 -33.166667 49 - -57.333333 -33.166667 58 - -57.166667 -33.166667 47 - -57.000000 -33.166667 41 - -56.833333 -33.166667 74 - -56.666667 -33.166667 86 - -56.500000 -33.166667 107 - -56.333333 -33.166667 98 - -56.166667 -33.166667 97 - -56.000000 -33.166667 125 - -55.833333 -33.166667 143 - -55.666667 -33.166667 156 - -55.500000 -33.166667 172 - -55.333333 -33.166667 172 - -55.166667 -33.166667 216 - -55.000000 -33.166667 169 - -54.833333 -33.166667 80 - -54.666667 -33.166667 62 - -54.500000 -33.166667 66 - -54.333333 -33.166667 82 - -54.166667 -33.166667 61 - -54.000000 -33.166667 19 - -53.833333 -33.166667 10 - -53.666667 -33.166667 2 - -53.500000 -33.166667 -42 - -53.333333 -33.166667 4 - -53.166667 -33.166667 7 - -53.000000 -33.166667 15 - -52.833333 -33.166667 -8 - -52.666667 -33.166667 -1 - -52.500000 -33.166667 -9 - -52.333333 -33.166667 -17 - -52.166667 -33.166667 -27 - -52.000000 -33.166667 -44 - -51.833333 -33.166667 -58 - -51.666667 -33.166667 -58 - -51.500000 -33.166667 -60 - -51.333333 -33.166667 -63 - -51.166667 -33.166667 -69 - -51.000000 -33.166667 -85 - -50.833333 -33.166667 -111 - -50.666667 -33.166667 -128 - -50.500000 -33.166667 -300 - -50.333333 -33.166667 -580 - -50.166667 -33.166667 -824 - -50.000000 -33.166667 -915 - -49.833333 -33.166667 -1100 - -49.666667 -33.166667 -1353 - -49.500000 -33.166667 -1588 - -49.333333 -33.166667 -2169 - -49.166667 -33.166667 -2716 - -49.000000 -33.166667 -2937 - -48.833333 -33.166667 -3012 - -48.666667 -33.166667 -3070 - -48.500000 -33.166667 -3185 - -48.333333 -33.166667 -3253 - -48.166667 -33.166667 -3282 - -48.000000 -33.166667 -3394 - -47.833333 -33.166667 -3448 - -47.666667 -33.166667 -3505 - -47.500000 -33.166667 -3577 - -47.333333 -33.166667 -3642 - -47.166667 -33.166667 -3663 - -47.000000 -33.166667 -3726 - -46.833333 -33.166667 -3795 - -46.666667 -33.166667 -3837 - -46.500000 -33.166667 -3868 - -46.333333 -33.166667 -3904 - -46.166667 -33.166667 -3946 - -46.000000 -33.166667 -3978 - -45.833333 -33.166667 -3999 - -45.666667 -33.166667 -4024 - -45.500000 -33.166667 -4044 - -45.333333 -33.166667 -4120 - -45.166667 -33.166667 -4146 - -45.000000 -33.166667 -4183 - -44.833333 -33.166667 -4264 - -44.666667 -33.166667 -4187 - -44.500000 -33.166667 -4236 - -44.333333 -33.166667 -4229 - -44.166667 -33.166667 -4260 - -44.000000 -33.166667 -4265 - -43.833333 -33.166667 -4275 - -43.666667 -33.166667 -4396 - -43.500000 -33.166667 -4349 - -43.333333 -33.166667 -4385 - -43.166667 -33.166667 -4424 - -43.000000 -33.166667 -4404 - -42.833333 -33.166667 -4432 - -42.666667 -33.166667 -4455 - -42.500000 -33.166667 -4469 - -42.333333 -33.166667 -4501 - -42.166667 -33.166667 -4519 - -42.000000 -33.166667 -4527 - -41.833333 -33.166667 -4558 - -41.666667 -33.166667 -4569 - -41.500000 -33.166667 -4584 - -41.333333 -33.166667 -4590 - -41.166667 -33.166667 -4575 - -41.000000 -33.166667 -4602 - -40.833333 -33.166667 -4669 - -40.666667 -33.166667 -4749 - -40.500000 -33.166667 -4630 - -40.333333 -33.166667 -4731 - -40.166667 -33.166667 -4618 - -40.000000 -33.166667 -4546 - -65.000000 -33.333333 677 - -64.833333 -33.333333 629 - -64.666667 -33.333333 519 - -64.500000 -33.333333 439 - -64.333333 -33.333333 357 - -64.166667 -33.333333 325 - -64.000000 -33.333333 281 - -63.833333 -33.333333 241 - -63.666667 -33.333333 205 - -63.500000 -33.333333 179 - -63.333333 -33.333333 153 - -63.166667 -33.333333 133 - -63.000000 -33.333333 117 - -62.833333 -33.333333 112 - -62.666667 -33.333333 113 - -62.500000 -33.333333 118 - -62.333333 -33.333333 114 - -62.166667 -33.333333 118 - -62.000000 -33.333333 110 - -61.833333 -33.333333 105 - -61.666667 -33.333333 104 - -61.500000 -33.333333 91 - -61.333333 -33.333333 81 - -61.166667 -33.333333 91 - -61.000000 -33.333333 79 - -60.833333 -33.333333 60 - -60.666667 -33.333333 42 - -60.500000 -33.333333 38 - -60.333333 -33.333333 29 - -60.166667 -33.333333 4 - -60.000000 -33.333333 4 - -59.833333 -33.333333 3 - -59.666667 -33.333333 3 - -59.500000 -33.333333 4 - -59.333333 -33.333333 4 - -59.166667 -33.333333 5 - -59.000000 -33.333333 5 - -58.833333 -33.333333 4 - -58.666667 -33.333333 30 - -58.500000 -33.333333 11 - -58.333333 -33.333333 25 - -58.166667 -33.333333 32 - -58.000000 -33.333333 33 - -57.833333 -33.333333 37 - -57.666667 -33.333333 63 - -57.500000 -33.333333 97 - -57.333333 -33.333333 62 - -57.166667 -33.333333 92 - -57.000000 -33.333333 82 - -56.833333 -33.333333 70 - -56.666667 -33.333333 78 - -56.500000 -33.333333 91 - -56.333333 -33.333333 86 - -56.166667 -33.333333 113 - -56.000000 -33.333333 129 - -55.833333 -33.333333 121 - -55.666667 -33.333333 128 - -55.500000 -33.333333 144 - -55.333333 -33.333333 192 - -55.166667 -33.333333 262 - -55.000000 -33.333333 159 - -54.833333 -33.333333 86 - -54.666667 -33.333333 79 - -54.500000 -33.333333 79 - -54.333333 -33.333333 25 - -54.166667 -33.333333 21 - -54.000000 -33.333333 15 - -53.833333 -33.333333 11 - -53.666667 -33.333333 4 - -53.500000 -33.333333 -80 - -53.333333 -33.333333 8 - -53.166667 -33.333333 18 - -53.000000 -33.333333 -3 - -52.833333 -33.333333 -1 - -52.666667 -33.333333 -11 - -52.500000 -33.333333 -17 - -52.333333 -33.333333 -21 - -52.166667 -33.333333 -41 - -52.000000 -33.333333 -56 - -51.833333 -33.333333 -64 - -51.666667 -33.333333 -54 - -51.500000 -33.333333 -73 - -51.333333 -33.333333 -75 - -51.166667 -33.333333 -87 - -51.000000 -33.333333 -111 - -50.833333 -33.333333 -149 - -50.666667 -33.333333 -232 - -50.500000 -33.333333 -463 - -50.333333 -33.333333 -657 - -50.166667 -33.333333 -919 - -50.000000 -33.333333 -1056 - -49.833333 -33.333333 -1305 - -49.666667 -33.333333 -1398 - -49.500000 -33.333333 -1956 - -49.333333 -33.333333 -2429 - -49.166667 -33.333333 -2924 - -49.000000 -33.333333 -2916 - -48.833333 -33.333333 -3075 - -48.666667 -33.333333 -3110 - -48.500000 -33.333333 -3182 - -48.333333 -33.333333 -3248 - -48.166667 -33.333333 -3287 - -48.000000 -33.333333 -3375 - -47.833333 -33.333333 -3430 - -47.666667 -33.333333 -3515 - -47.500000 -33.333333 -3594 - -47.333333 -33.333333 -3661 - -47.166667 -33.333333 -3645 - -47.000000 -33.333333 -3697 - -46.833333 -33.333333 -3795 - -46.666667 -33.333333 -3839 - -46.500000 -33.333333 -3883 - -46.333333 -33.333333 -3906 - -46.166667 -33.333333 -3943 - -46.000000 -33.333333 -3959 - -45.833333 -33.333333 -3975 - -45.666667 -33.333333 -3977 - -45.500000 -33.333333 -4022 - -45.333333 -33.333333 -4030 - -45.166667 -33.333333 -4050 - -45.000000 -33.333333 -4101 - -44.833333 -33.333333 -4192 - -44.666667 -33.333333 -4166 - -44.500000 -33.333333 -4172 - -44.333333 -33.333333 -4205 - -44.166667 -33.333333 -4224 - -44.000000 -33.333333 -4284 - -43.833333 -33.333333 -4258 - -43.666667 -33.333333 -4304 - -43.500000 -33.333333 -4339 - -43.333333 -33.333333 -4388 - -43.166667 -33.333333 -4408 - -43.000000 -33.333333 -4443 - -42.833333 -33.333333 -4462 - -42.666667 -33.333333 -4478 - -42.500000 -33.333333 -4484 - -42.333333 -33.333333 -4515 - -42.166667 -33.333333 -4549 - -42.000000 -33.333333 -4559 - -41.833333 -33.333333 -4588 - -41.666667 -33.333333 -4569 - -41.500000 -33.333333 -4608 - -41.333333 -33.333333 -4626 - -41.166667 -33.333333 -4691 - -41.000000 -33.333333 -4570 - -40.833333 -33.333333 -4663 - -40.666667 -33.333333 -4699 - -40.500000 -33.333333 -4735 - -40.333333 -33.333333 -4734 - -40.166667 -33.333333 -4706 - -40.000000 -33.333333 -4727 - -65.000000 -33.500000 553 - -64.833333 -33.500000 502 - -64.666667 -33.500000 433 - -64.500000 -33.500000 365 - -64.333333 -33.500000 306 - -64.166667 -33.500000 287 - -64.000000 -33.500000 288 - -63.833333 -33.500000 211 - -63.666667 -33.500000 183 - -63.500000 -33.500000 165 - -63.333333 -33.500000 143 - -63.166667 -33.500000 124 - -63.000000 -33.500000 122 - -62.833333 -33.500000 120 - -62.666667 -33.500000 122 - -62.500000 -33.500000 127 - -62.333333 -33.500000 119 - -62.166667 -33.500000 117 - -62.000000 -33.500000 109 - -61.833333 -33.500000 110 - -61.666667 -33.500000 108 - -61.500000 -33.500000 106 - -61.333333 -33.500000 97 - -61.166667 -33.500000 92 - -61.000000 -33.500000 88 - -60.833333 -33.500000 74 - -60.666667 -33.500000 66 - -60.500000 -33.500000 55 - -60.333333 -33.500000 53 - -60.166667 -33.500000 25 - -60.000000 -33.500000 13 - -59.833333 -33.500000 3 - -59.666667 -33.500000 3 - -59.500000 -33.500000 2 - -59.333333 -33.500000 2 - -59.166667 -33.500000 2 - -59.000000 -33.500000 2 - -58.833333 -33.500000 5 - -58.666667 -33.500000 2 - -58.500000 -33.500000 -1 - -58.333333 -33.500000 11 - -58.166667 -33.500000 19 - -58.000000 -33.500000 69 - -57.833333 -33.500000 92 - -57.666667 -33.500000 90 - -57.500000 -33.500000 112 - -57.333333 -33.500000 88 - -57.166667 -33.500000 96 - -57.000000 -33.500000 116 - -56.833333 -33.500000 101 - -56.666667 -33.500000 94 - -56.500000 -33.500000 88 - -56.333333 -33.500000 112 - -56.166667 -33.500000 102 - -56.000000 -33.500000 96 - -55.833333 -33.500000 117 - -55.666667 -33.500000 149 - -55.500000 -33.500000 182 - -55.333333 -33.500000 192 - -55.166667 -33.500000 267 - -55.000000 -33.500000 181 - -54.833333 -33.500000 177 - -54.666667 -33.500000 70 - -54.500000 -33.500000 52 - -54.333333 -33.500000 27 - -54.166667 -33.500000 19 - -54.000000 -33.500000 16 - -53.833333 -33.500000 12 - -53.666667 -33.500000 6 - -53.500000 -33.500000 -100 - -53.333333 -33.500000 23 - -53.166667 -33.500000 13 - -53.000000 -33.500000 -3 - -52.833333 -33.500000 -19 - -52.666667 -33.500000 -20 - -52.500000 -33.500000 -20 - -52.333333 -33.500000 -21 - -52.166667 -33.500000 -55 - -52.000000 -33.500000 -64 - -51.833333 -33.500000 -52 - -51.666667 -33.500000 -70 - -51.500000 -33.500000 -91 - -51.333333 -33.500000 -105 - -51.166667 -33.500000 -124 - -51.000000 -33.500000 -166 - -50.833333 -33.500000 -227 - -50.666667 -33.500000 -524 - -50.500000 -33.500000 -768 - -50.333333 -33.500000 -977 - -50.166667 -33.500000 -1149 - -50.000000 -33.500000 -1368 - -49.833333 -33.500000 -1554 - -49.666667 -33.500000 -2076 - -49.500000 -33.500000 -2333 - -49.333333 -33.500000 -2746 - -49.166667 -33.500000 -2970 - -49.000000 -33.500000 -2968 - -48.833333 -33.500000 -3046 - -48.666667 -33.500000 -3127 - -48.500000 -33.500000 -3204 - -48.333333 -33.500000 -3264 - -48.166667 -33.500000 -3323 - -48.000000 -33.500000 -3378 - -47.833333 -33.500000 -3427 - -47.666667 -33.500000 -3559 - -47.500000 -33.500000 -3652 - -47.333333 -33.500000 -3721 - -47.166667 -33.500000 -3705 - -47.000000 -33.500000 -3753 - -46.833333 -33.500000 -3840 - -46.666667 -33.500000 -3881 - -46.500000 -33.500000 -3912 - -46.333333 -33.500000 -3916 - -46.166667 -33.500000 -3941 - -46.000000 -33.500000 -3966 - -45.833333 -33.500000 -3984 - -45.666667 -33.500000 -4036 - -45.500000 -33.500000 -4058 - -45.333333 -33.500000 -4086 - -45.166667 -33.500000 -4131 - -45.000000 -33.500000 -4124 - -44.833333 -33.500000 -4151 - -44.666667 -33.500000 -4176 - -44.500000 -33.500000 -4212 - -44.333333 -33.500000 -4192 - -44.166667 -33.500000 -4158 - -44.000000 -33.500000 -4172 - -43.833333 -33.500000 -4195 - -43.666667 -33.500000 -4206 - -43.500000 -33.500000 -4295 - -43.333333 -33.500000 -4334 - -43.166667 -33.500000 -4358 - -43.000000 -33.500000 -4434 - -42.833333 -33.500000 -4471 - -42.666667 -33.500000 -4516 - -42.500000 -33.500000 -4532 - -42.333333 -33.500000 -4512 - -42.166667 -33.500000 -4543 - -42.000000 -33.500000 -4559 - -41.833333 -33.500000 -4560 - -41.666667 -33.500000 -4576 - -41.500000 -33.500000 -4557 - -41.333333 -33.500000 -4572 - -41.166667 -33.500000 -4582 - -41.000000 -33.500000 -4502 - -40.833333 -33.500000 -4618 - -40.666667 -33.500000 -4683 - -40.500000 -33.500000 -4573 - -40.333333 -33.500000 -4688 - -40.166667 -33.500000 -4579 - -40.000000 -33.500000 -4582 - -65.000000 -33.666667 446 - -64.833333 -33.666667 419 - -64.666667 -33.666667 369 - -64.500000 -33.666667 312 - -64.333333 -33.666667 263 - -64.166667 -33.666667 245 - -64.000000 -33.666667 249 - -63.833333 -33.666667 188 - -63.666667 -33.666667 161 - -63.500000 -33.666667 143 - -63.333333 -33.666667 131 - -63.166667 -33.666667 125 - -63.000000 -33.666667 126 - -62.833333 -33.666667 124 - -62.666667 -33.666667 128 - -62.500000 -33.666667 120 - -62.333333 -33.666667 119 - -62.166667 -33.666667 117 - -62.000000 -33.666667 114 - -61.833333 -33.666667 110 - -61.666667 -33.666667 105 - -61.500000 -33.666667 89 - -61.333333 -33.666667 99 - -61.166667 -33.666667 94 - -61.000000 -33.666667 86 - -60.833333 -33.666667 83 - -60.666667 -33.666667 68 - -60.500000 -33.666667 52 - -60.333333 -33.666667 46 - -60.166667 -33.666667 58 - -60.000000 -33.666667 38 - -59.833333 -33.666667 27 - -59.666667 -33.666667 9 - -59.500000 -33.666667 3 - -59.333333 -33.666667 2 - -59.166667 -33.666667 3 - -59.000000 -33.666667 1 - -58.833333 -33.666667 2 - -58.666667 -33.666667 1 - -58.500000 -33.666667 -1 - -58.333333 -33.666667 12 - -58.166667 -33.666667 42 - -58.000000 -33.666667 38 - -57.833333 -33.666667 88 - -57.666667 -33.666667 96 - -57.500000 -33.666667 123 - -57.333333 -33.666667 114 - -57.166667 -33.666667 98 - -57.000000 -33.666667 127 - -56.833333 -33.666667 141 - -56.666667 -33.666667 134 - -56.500000 -33.666667 106 - -56.333333 -33.666667 132 - -56.166667 -33.666667 114 - -56.000000 -33.666667 155 - -55.833333 -33.666667 132 - -55.666667 -33.666667 158 - -55.500000 -33.666667 168 - -55.333333 -33.666667 196 - -55.166667 -33.666667 140 - -55.000000 -33.666667 107 - -54.833333 -33.666667 153 - -54.666667 -33.666667 66 - -54.500000 -33.666667 36 - -54.333333 -33.666667 33 - -54.166667 -33.666667 21 - -54.000000 -33.666667 16 - -53.833333 -33.666667 11 - -53.666667 -33.666667 7 - -53.500000 -33.666667 8 - -53.333333 -33.666667 14 - -53.166667 -33.666667 -13 - -53.000000 -33.666667 -20 - -52.833333 -33.666667 -21 - -52.666667 -33.666667 -20 - -52.500000 -33.666667 -20 - -52.333333 -33.666667 -44 - -52.166667 -33.666667 -70 - -52.000000 -33.666667 -49 - -51.833333 -33.666667 -58 - -51.666667 -33.666667 -76 - -51.500000 -33.666667 -118 - -51.333333 -33.666667 -189 - -51.166667 -33.666667 -287 - -51.000000 -33.666667 -583 - -50.833333 -33.666667 -728 - -50.666667 -33.666667 -927 - -50.500000 -33.666667 -1097 - -50.333333 -33.666667 -1307 - -50.166667 -33.666667 -1613 - -50.000000 -33.666667 -1896 - -49.833333 -33.666667 -2321 - -49.666667 -33.666667 -2690 - -49.500000 -33.666667 -2744 - -49.333333 -33.666667 -2981 - -49.166667 -33.666667 -2924 - -49.000000 -33.666667 -3020 - -48.833333 -33.666667 -3092 - -48.666667 -33.666667 -3157 - -48.500000 -33.666667 -3246 - -48.333333 -33.666667 -3347 - -48.166667 -33.666667 -3423 - -48.000000 -33.666667 -3527 - -47.833333 -33.666667 -3641 - -47.666667 -33.666667 -3701 - -47.500000 -33.666667 -3796 - -47.333333 -33.666667 -3852 - -47.166667 -33.666667 -3882 - -47.000000 -33.666667 -3920 - -46.833333 -33.666667 -3950 - -46.666667 -33.666667 -3996 - -46.500000 -33.666667 -4028 - -46.333333 -33.666667 -4074 - -46.166667 -33.666667 -4101 - -46.000000 -33.666667 -4104 - -45.833333 -33.666667 -4094 - -45.666667 -33.666667 -4108 - -45.500000 -33.666667 -4110 - -45.333333 -33.666667 -4163 - -45.166667 -33.666667 -4179 - -45.000000 -33.666667 -4188 - -44.833333 -33.666667 -4194 - -44.666667 -33.666667 -4206 - -44.500000 -33.666667 -4232 - -44.333333 -33.666667 -4288 - -44.166667 -33.666667 -4273 - -44.000000 -33.666667 -4248 - -43.833333 -33.666667 -4279 - -43.666667 -33.666667 -4305 - -43.500000 -33.666667 -4292 - -43.333333 -33.666667 -4332 - -43.166667 -33.666667 -4342 - -43.000000 -33.666667 -4370 - -42.833333 -33.666667 -4418 - -42.666667 -33.666667 -4442 - -42.500000 -33.666667 -4411 - -42.333333 -33.666667 -4452 - -42.166667 -33.666667 -4489 - -42.000000 -33.666667 -4510 - -41.833333 -33.666667 -4548 - -41.666667 -33.666667 -4563 - -41.500000 -33.666667 -4612 - -41.333333 -33.666667 -4644 - -41.166667 -33.666667 -4616 - -41.000000 -33.666667 -4537 - -40.833333 -33.666667 -4570 - -40.666667 -33.666667 -4598 - -40.500000 -33.666667 -4430 - -40.333333 -33.666667 -4566 - -40.166667 -33.666667 -4704 - -40.000000 -33.666667 -4506 - -65.000000 -33.833333 389 - -64.833333 -33.833333 352 - -64.666667 -33.833333 317 - -64.500000 -33.833333 279 - -64.333333 -33.833333 234 - -64.166667 -33.833333 217 - -64.000000 -33.833333 212 - -63.833333 -33.833333 178 - -63.666667 -33.833333 153 - -63.500000 -33.833333 135 - -63.333333 -33.833333 128 - -63.166667 -33.833333 129 - -63.000000 -33.833333 127 - -62.833333 -33.833333 126 - -62.666667 -33.833333 124 - -62.500000 -33.833333 124 - -62.333333 -33.833333 122 - -62.166667 -33.833333 113 - -62.000000 -33.833333 110 - -61.833333 -33.833333 109 - -61.666667 -33.833333 111 - -61.500000 -33.833333 106 - -61.333333 -33.833333 97 - -61.166667 -33.833333 83 - -61.000000 -33.833333 87 - -60.833333 -33.833333 76 - -60.666667 -33.833333 76 - -60.500000 -33.833333 80 - -60.333333 -33.833333 61 - -60.166667 -33.833333 58 - -60.000000 -33.833333 44 - -59.833333 -33.833333 34 - -59.666667 -33.833333 10 - -59.500000 -33.833333 27 - -59.333333 -33.833333 2 - -59.166667 -33.833333 2 - -59.000000 -33.833333 3 - -58.833333 -33.833333 3 - -58.666667 -33.833333 2 - -58.500000 -33.833333 6 - -58.333333 -33.833333 31 - -58.166667 -33.833333 53 - -58.000000 -33.833333 82 - -57.833333 -33.833333 75 - -57.666667 -33.833333 88 - -57.500000 -33.833333 131 - -57.333333 -33.833333 160 - -57.166667 -33.833333 128 - -57.000000 -33.833333 157 - -56.833333 -33.833333 111 - -56.666667 -33.833333 131 - -56.500000 -33.833333 140 - -56.333333 -33.833333 148 - -56.166667 -33.833333 94 - -56.000000 -33.833333 116 - -55.833333 -33.833333 154 - -55.666667 -33.833333 182 - -55.500000 -33.833333 215 - -55.333333 -33.833333 227 - -55.166667 -33.833333 212 - -55.000000 -33.833333 85 - -54.833333 -33.833333 65 - -54.666667 -33.833333 52 - -54.500000 -33.833333 49 - -54.333333 -33.833333 51 - -54.166667 -33.833333 27 - -54.000000 -33.833333 29 - -53.833333 -33.833333 15 - -53.666667 -33.833333 6 - -53.500000 -33.833333 16 - -53.333333 -33.833333 -13 - -53.166667 -33.833333 -20 - -53.000000 -33.833333 -20 - -52.833333 -33.833333 -25 - -52.666667 -33.833333 -28 - -52.500000 -33.833333 -35 - -52.333333 -33.833333 -77 - -52.166667 -33.833333 -45 - -52.000000 -33.833333 -51 - -51.833333 -33.833333 -69 - -51.666667 -33.833333 -100 - -51.500000 -33.833333 -171 - -51.333333 -33.833333 -692 - -51.166667 -33.833333 -860 - -51.000000 -33.833333 -1236 - -50.833333 -33.833333 -1380 - -50.666667 -33.833333 -1399 - -50.500000 -33.833333 -1521 - -50.333333 -33.833333 -1760 - -50.166667 -33.833333 -2170 - -50.000000 -33.833333 -2353 - -49.833333 -33.833333 -2588 - -49.666667 -33.833333 -2752 - -49.500000 -33.833333 -2800 - -49.333333 -33.833333 -2923 - -49.166667 -33.833333 -2993 - -49.000000 -33.833333 -3138 - -48.833333 -33.833333 -3110 - -48.666667 -33.833333 -3271 - -48.500000 -33.833333 -3386 - -48.333333 -33.833333 -3501 - -48.166667 -33.833333 -3597 - -48.000000 -33.833333 -3736 - -47.833333 -33.833333 -3851 - -47.666667 -33.833333 -3956 - -47.500000 -33.833333 -4029 - -47.333333 -33.833333 -4097 - -47.166667 -33.833333 -4136 - -47.000000 -33.833333 -4192 - -46.833333 -33.833333 -4197 - -46.666667 -33.833333 -4181 - -46.500000 -33.833333 -4192 - -46.333333 -33.833333 -4212 - -46.166667 -33.833333 -4235 - -46.000000 -33.833333 -4298 - -45.833333 -33.833333 -4290 - -45.666667 -33.833333 -4297 - -45.500000 -33.833333 -4295 - -45.333333 -33.833333 -4301 - -45.166667 -33.833333 -4356 - -45.000000 -33.833333 -4282 - -44.833333 -33.833333 -4316 - -44.666667 -33.833333 -4331 - -44.500000 -33.833333 -4317 - -44.333333 -33.833333 -4317 - -44.166667 -33.833333 -4342 - -44.000000 -33.833333 -4419 - -43.833333 -33.833333 -4342 - -43.666667 -33.833333 -4460 - -43.500000 -33.833333 -4365 - -43.333333 -33.833333 -4413 - -43.166667 -33.833333 -4381 - -43.000000 -33.833333 -4444 - -42.833333 -33.833333 -4430 - -42.666667 -33.833333 -4474 - -42.500000 -33.833333 -4480 - -42.333333 -33.833333 -4518 - -42.166667 -33.833333 -4508 - -42.000000 -33.833333 -4543 - -41.833333 -33.833333 -4551 - -41.666667 -33.833333 -4599 - -41.500000 -33.833333 -4581 - -41.333333 -33.833333 -4615 - -41.166667 -33.833333 -4600 - -41.000000 -33.833333 -4611 - -40.833333 -33.833333 -4599 - -40.666667 -33.833333 -4463 - -40.500000 -33.833333 -4717 - -40.333333 -33.833333 -4741 - -40.166667 -33.833333 -4775 - -40.000000 -33.833333 -4562 - -65.000000 -34.000000 352 - -64.833333 -34.000000 322 - -64.666667 -34.000000 286 - -64.500000 -34.000000 254 - -64.333333 -34.000000 220 - -64.166667 -34.000000 199 - -64.000000 -34.000000 186 - -63.833333 -34.000000 164 - -63.666667 -34.000000 150 - -63.500000 -34.000000 138 - -63.333333 -34.000000 130 - -63.166667 -34.000000 133 - -63.000000 -34.000000 131 - -62.833333 -34.000000 129 - -62.666667 -34.000000 119 - -62.500000 -34.000000 122 - -62.333333 -34.000000 124 - -62.166667 -34.000000 117 - -62.000000 -34.000000 116 - -61.833333 -34.000000 106 - -61.666667 -34.000000 97 - -61.500000 -34.000000 102 - -61.333333 -34.000000 101 - -61.166667 -34.000000 98 - -61.000000 -34.000000 70 - -60.833333 -34.000000 81 - -60.666667 -34.000000 78 - -60.500000 -34.000000 61 - -60.333333 -34.000000 46 - -60.166667 -34.000000 53 - -60.000000 -34.000000 56 - -59.833333 -34.000000 30 - -59.666667 -34.000000 32 - -59.500000 -34.000000 30 - -59.333333 -34.000000 5 - -59.166667 -34.000000 25 - -59.000000 -34.000000 2 - -58.833333 -34.000000 3 - -58.666667 -34.000000 3 - -58.500000 -34.000000 4 - -58.333333 -34.000000 -1 - -58.166667 -34.000000 29 - -58.000000 -34.000000 58 - -57.833333 -34.000000 87 - -57.666667 -34.000000 106 - -57.500000 -34.000000 99 - -57.333333 -34.000000 124 - -57.166667 -34.000000 115 - -57.000000 -34.000000 123 - -56.833333 -34.000000 69 - -56.666667 -34.000000 98 - -56.500000 -34.000000 122 - -56.333333 -34.000000 88 - -56.166667 -34.000000 71 - -56.000000 -34.000000 96 - -55.833333 -34.000000 129 - -55.666667 -34.000000 153 - -55.500000 -34.000000 156 - -55.333333 -34.000000 219 - -55.166667 -34.000000 197 - -55.000000 -34.000000 227 - -54.833333 -34.000000 190 - -54.666667 -34.000000 164 - -54.500000 -34.000000 67 - -54.333333 -34.000000 93 - -54.166667 -34.000000 46 - -54.000000 -34.000000 117 - -53.833333 -34.000000 28 - -53.666667 -34.000000 4 - -53.500000 -34.000000 -4 - -53.333333 -34.000000 -20 - -53.166667 -34.000000 -21 - -53.000000 -34.000000 -19 - -52.833333 -34.000000 -34 - -52.666667 -34.000000 -47 - -52.500000 -34.000000 -57 - -52.333333 -34.000000 -49 - -52.166667 -34.000000 -69 - -52.000000 -34.000000 -44 - -51.833333 -34.000000 -57 - -51.666667 -34.000000 -177 - -51.500000 -34.000000 -669 - -51.333333 -34.000000 -888 - -51.166667 -34.000000 -1396 - -51.000000 -34.000000 -1788 - -50.833333 -34.000000 -1991 - -50.666667 -34.000000 -1901 - -50.500000 -34.000000 -1976 - -50.333333 -34.000000 -2144 - -50.166667 -34.000000 -2457 - -50.000000 -34.000000 -2671 - -49.833333 -34.000000 -2845 - -49.666667 -34.000000 -2852 - -49.500000 -34.000000 -2795 - -49.333333 -34.000000 -2980 - -49.166667 -34.000000 -3101 - -49.000000 -34.000000 -3181 - -48.833333 -34.000000 -3333 - -48.666667 -34.000000 -3353 - -48.500000 -34.000000 -3456 - -48.333333 -34.000000 -3580 - -48.166667 -34.000000 -3700 - -48.000000 -34.000000 -3783 - -47.833333 -34.000000 -3915 - -47.666667 -34.000000 -4017 - -47.500000 -34.000000 -4138 - -47.333333 -34.000000 -4208 - -47.166667 -34.000000 -4310 - -47.000000 -34.000000 -4340 - -46.833333 -34.000000 -4385 - -46.666667 -34.000000 -4425 - -46.500000 -34.000000 -4450 - -46.333333 -34.000000 -4476 - -46.166667 -34.000000 -4501 - -46.000000 -34.000000 -4506 - -45.833333 -34.000000 -4501 - -45.666667 -34.000000 -4488 - -45.500000 -34.000000 -4514 - -45.333333 -34.000000 -4520 - -45.166667 -34.000000 -4496 - -45.000000 -34.000000 -4482 - -44.833333 -34.000000 -4429 - -44.666667 -34.000000 -4459 - -44.500000 -34.000000 -4457 - -44.333333 -34.000000 -4480 - -44.166667 -34.000000 -4513 - -44.000000 -34.000000 -4486 - -43.833333 -34.000000 -4508 - -43.666667 -34.000000 -4436 - -43.500000 -34.000000 -4494 - -43.333333 -34.000000 -4445 - -43.166667 -34.000000 -4448 - -43.000000 -34.000000 -4496 - -42.833333 -34.000000 -4495 - -42.666667 -34.000000 -4510 - -42.500000 -34.000000 -4532 - -42.333333 -34.000000 -4560 - -42.166667 -34.000000 -4579 - -42.000000 -34.000000 -4572 - -41.833333 -34.000000 -4576 - -41.666667 -34.000000 -4621 - -41.500000 -34.000000 -4613 - -41.333333 -34.000000 -4617 - -41.166667 -34.000000 -4625 - -41.000000 -34.000000 -4640 - -40.833333 -34.000000 -4566 - -40.666667 -34.000000 -4529 - -40.500000 -34.000000 -4599 - -40.333333 -34.000000 -4765 - -40.166667 -34.000000 -4748 - -40.000000 -34.000000 -4748 - -65.000000 -34.166667 329 - -64.833333 -34.166667 298 - -64.666667 -34.166667 270 - -64.500000 -34.166667 244 - -64.333333 -34.166667 221 - -64.166667 -34.166667 194 - -64.000000 -34.166667 176 - -63.833333 -34.166667 158 - -63.666667 -34.166667 148 - -63.500000 -34.166667 142 - -63.333333 -34.166667 136 - -63.166667 -34.166667 132 - -63.000000 -34.166667 128 - -62.833333 -34.166667 128 - -62.666667 -34.166667 122 - -62.500000 -34.166667 118 - -62.333333 -34.166667 115 - -62.166667 -34.166667 113 - -62.000000 -34.166667 105 - -61.833333 -34.166667 101 - -61.666667 -34.166667 92 - -61.500000 -34.166667 86 - -61.333333 -34.166667 91 - -61.166667 -34.166667 98 - -61.000000 -34.166667 80 - -60.833333 -34.166667 65 - -60.666667 -34.166667 76 - -60.500000 -34.166667 57 - -60.333333 -34.166667 72 - -60.166667 -34.166667 56 - -60.000000 -34.166667 43 - -59.833333 -34.166667 43 - -59.666667 -34.166667 45 - -59.500000 -34.166667 45 - -59.333333 -34.166667 16 - -59.166667 -34.166667 30 - -59.000000 -34.166667 4 - -58.833333 -34.166667 6 - -58.666667 -34.166667 4 - -58.500000 -34.166667 6 - -58.333333 -34.166667 -1 - -58.166667 -34.166667 12 - -58.000000 -34.166667 75 - -57.833333 -34.166667 35 - -57.666667 -34.166667 78 - -57.500000 -34.166667 106 - -57.333333 -34.166667 72 - -57.166667 -34.166667 61 - -57.000000 -34.166667 115 - -56.833333 -34.166667 62 - -56.666667 -34.166667 60 - -56.500000 -34.166667 88 - -56.333333 -34.166667 67 - -56.166667 -34.166667 97 - -56.000000 -34.166667 85 - -55.833333 -34.166667 58 - -55.666667 -34.166667 87 - -55.500000 -34.166667 103 - -55.333333 -34.166667 117 - -55.166667 -34.166667 299 - -55.000000 -34.166667 225 - -54.833333 -34.166667 153 - -54.666667 -34.166667 91 - -54.500000 -34.166667 82 - -54.333333 -34.166667 84 - -54.166667 -34.166667 131 - -54.000000 -34.166667 78 - -53.833333 -34.166667 36 - -53.666667 -34.166667 -1 - -53.500000 -34.166667 -18 - -53.333333 -34.166667 -20 - -53.166667 -34.166667 -26 - -53.000000 -34.166667 -46 - -52.833333 -34.166667 -49 - -52.666667 -34.166667 -65 - -52.500000 -34.166667 -40 - -52.333333 -34.166667 -46 - -52.166667 -34.166667 -87 - -52.000000 -34.166667 -92 - -51.833333 -34.166667 -92 - -51.666667 -34.166667 -692 - -51.500000 -34.166667 -776 - -51.333333 -34.166667 -1117 - -51.166667 -34.166667 -1559 - -51.000000 -34.166667 -2027 - -50.833333 -34.166667 -2246 - -50.666667 -34.166667 -2280 - -50.500000 -34.166667 -2465 - -50.333333 -34.166667 -2504 - -50.166667 -34.166667 -2558 - -50.000000 -34.166667 -2770 - -49.833333 -34.166667 -2889 - -49.666667 -34.166667 -2929 - -49.500000 -34.166667 -3141 - -49.333333 -34.166667 -3145 - -49.166667 -34.166667 -3244 - -49.000000 -34.166667 -3371 - -48.833333 -34.166667 -3415 - -48.666667 -34.166667 -3476 - -48.500000 -34.166667 -3613 - -48.333333 -34.166667 -3738 - -48.166667 -34.166667 -3824 - -48.000000 -34.166667 -4003 - -47.833333 -34.166667 -4072 - -47.666667 -34.166667 -4124 - -47.500000 -34.166667 -4222 - -47.333333 -34.166667 -4271 - -47.166667 -34.166667 -4351 - -47.000000 -34.166667 -4431 - -46.833333 -34.166667 -4513 - -46.666667 -34.166667 -4564 - -46.500000 -34.166667 -4614 - -46.333333 -34.166667 -4624 - -46.166667 -34.166667 -4646 - -46.000000 -34.166667 -4655 - -45.833333 -34.166667 -4666 - -45.666667 -34.166667 -4654 - -45.500000 -34.166667 -4655 - -45.333333 -34.166667 -4654 - -45.166667 -34.166667 -4632 - -45.000000 -34.166667 -4643 - -44.833333 -34.166667 -4565 - -44.666667 -34.166667 -4632 - -44.500000 -34.166667 -4676 - -44.333333 -34.166667 -4675 - -44.166667 -34.166667 -4693 - -44.000000 -34.166667 -4595 - -43.833333 -34.166667 -4566 - -43.666667 -34.166667 -4539 - -43.500000 -34.166667 -4533 - -43.333333 -34.166667 -4514 - -43.166667 -34.166667 -4537 - -43.000000 -34.166667 -4577 - -42.833333 -34.166667 -4566 - -42.666667 -34.166667 -4569 - -42.500000 -34.166667 -4570 - -42.333333 -34.166667 -4585 - -42.166667 -34.166667 -4616 - -42.000000 -34.166667 -4620 - -41.833333 -34.166667 -4633 - -41.666667 -34.166667 -4629 - -41.500000 -34.166667 -4656 - -41.333333 -34.166667 -4633 - -41.166667 -34.166667 -4674 - -41.000000 -34.166667 -4582 - -40.833333 -34.166667 -4553 - -40.666667 -34.166667 -4614 - -40.500000 -34.166667 -4707 - -40.333333 -34.166667 -4754 - -40.166667 -34.166667 -4695 - -40.000000 -34.166667 -4873 - -65.000000 -34.333333 309 - -64.833333 -34.333333 281 - -64.666667 -34.333333 257 - -64.500000 -34.333333 235 - -64.333333 -34.333333 214 - -64.166667 -34.333333 190 - -64.000000 -34.333333 172 - -63.833333 -34.333333 157 - -63.666667 -34.333333 147 - -63.500000 -34.333333 142 - -63.333333 -34.333333 138 - -63.166667 -34.333333 132 - -63.000000 -34.333333 127 - -62.833333 -34.333333 121 - -62.666667 -34.333333 112 - -62.500000 -34.333333 108 - -62.333333 -34.333333 103 - -62.166667 -34.333333 103 - -62.000000 -34.333333 104 - -61.833333 -34.333333 97 - -61.666667 -34.333333 95 - -61.500000 -34.333333 93 - -61.333333 -34.333333 84 - -61.166667 -34.333333 85 - -61.000000 -34.333333 72 - -60.833333 -34.333333 65 - -60.666667 -34.333333 70 - -60.500000 -34.333333 62 - -60.333333 -34.333333 59 - -60.166667 -34.333333 67 - -60.000000 -34.333333 54 - -59.833333 -34.333333 50 - -59.666667 -34.333333 50 - -59.500000 -34.333333 48 - -59.333333 -34.333333 39 - -59.166667 -34.333333 19 - -59.000000 -34.333333 27 - -58.833333 -34.333333 17 - -58.666667 -34.333333 3 - -58.500000 -34.333333 3 - -58.333333 -34.333333 -1 - -58.166667 -34.333333 -1 - -58.000000 -34.333333 -1 - -57.833333 -34.333333 37 - -57.666667 -34.333333 53 - -57.500000 -34.333333 47 - -57.333333 -34.333333 15 - -57.166667 -34.333333 49 - -57.000000 -34.333333 67 - -56.833333 -34.333333 64 - -56.666667 -34.333333 31 - -56.500000 -34.333333 49 - -56.333333 -34.333333 19 - -56.166667 -34.333333 35 - -56.000000 -34.333333 34 - -55.833333 -34.333333 60 - -55.666667 -34.333333 85 - -55.500000 -34.333333 90 - -55.333333 -34.333333 156 - -55.166667 -34.333333 180 - -55.000000 -34.333333 285 - -54.833333 -34.333333 137 - -54.666667 -34.333333 355 - -54.500000 -34.333333 116 - -54.333333 -34.333333 101 - -54.166667 -34.333333 57 - -54.000000 -34.333333 3 - -53.833333 -34.333333 3 - -53.666667 -34.333333 -19 - -53.500000 -34.333333 -20 - -53.333333 -34.333333 -25 - -53.166667 -34.333333 -38 - -53.000000 -34.333333 -62 - -52.833333 -34.333333 -45 - -52.666667 -34.333333 -38 - -52.500000 -34.333333 -67 - -52.333333 -34.333333 -81 - -52.166667 -34.333333 -108 - -52.000000 -34.333333 -126 - -51.833333 -34.333333 -308 - -51.666667 -34.333333 -550 - -51.500000 -34.333333 -1066 - -51.333333 -34.333333 -1551 - -51.166667 -34.333333 -1959 - -51.000000 -34.333333 -2290 - -50.833333 -34.333333 -2452 - -50.666667 -34.333333 -2561 - -50.500000 -34.333333 -2666 - -50.333333 -34.333333 -2780 - -50.166667 -34.333333 -2836 - -50.000000 -34.333333 -2941 - -49.833333 -34.333333 -2991 - -49.666667 -34.333333 -3144 - -49.500000 -34.333333 -3381 - -49.333333 -34.333333 -3438 - -49.166667 -34.333333 -3644 - -49.000000 -34.333333 -3625 - -48.833333 -34.333333 -3644 - -48.666667 -34.333333 -3699 - -48.500000 -34.333333 -3855 - -48.333333 -34.333333 -3940 - -48.166667 -34.333333 -4038 - -48.000000 -34.333333 -4232 - -47.833333 -34.333333 -4255 - -47.666667 -34.333333 -4350 - -47.500000 -34.333333 -4389 - -47.333333 -34.333333 -4438 - -47.166667 -34.333333 -4455 - -47.000000 -34.333333 -4490 - -46.833333 -34.333333 -4529 - -46.666667 -34.333333 -4600 - -46.500000 -34.333333 -4637 - -46.333333 -34.333333 -4666 - -46.166667 -34.333333 -4675 - -46.000000 -34.333333 -4702 - -45.833333 -34.333333 -4736 - -45.666667 -34.333333 -4742 - -45.500000 -34.333333 -4759 - -45.333333 -34.333333 -4756 - -45.166667 -34.333333 -4743 - -45.000000 -34.333333 -4754 - -44.833333 -34.333333 -4713 - -44.666667 -34.333333 -4713 - -44.500000 -34.333333 -4757 - -44.333333 -34.333333 -4718 - -44.166667 -34.333333 -4723 - -44.000000 -34.333333 -4682 - -43.833333 -34.333333 -4674 - -43.666667 -34.333333 -4646 - -43.500000 -34.333333 -4632 - -43.333333 -34.333333 -4636 - -43.166667 -34.333333 -4643 - -43.000000 -34.333333 -4620 - -42.833333 -34.333333 -4619 - -42.666667 -34.333333 -4621 - -42.500000 -34.333333 -4620 - -42.333333 -34.333333 -4620 - -42.166667 -34.333333 -4643 - -42.000000 -34.333333 -4650 - -41.833333 -34.333333 -4653 - -41.666667 -34.333333 -4642 - -41.500000 -34.333333 -4648 - -41.333333 -34.333333 -4670 - -41.166667 -34.333333 -4635 - -41.000000 -34.333333 -4655 - -40.833333 -34.333333 -4555 - -40.666667 -34.333333 -4615 - -40.500000 -34.333333 -4786 - -40.333333 -34.333333 -4785 - -40.166667 -34.333333 -4826 - -40.000000 -34.333333 -4669 - -65.000000 -34.500000 287 - -64.833333 -34.500000 262 - -64.666667 -34.500000 238 - -64.500000 -34.500000 217 - -64.333333 -34.500000 191 - -64.166667 -34.500000 178 - -64.000000 -34.500000 162 - -63.833333 -34.500000 149 - -63.666667 -34.500000 145 - -63.500000 -34.500000 141 - -63.333333 -34.500000 137 - -63.166667 -34.500000 132 - -63.000000 -34.500000 126 - -62.833333 -34.500000 122 - -62.666667 -34.500000 119 - -62.500000 -34.500000 111 - -62.333333 -34.500000 112 - -62.166667 -34.500000 108 - -62.000000 -34.500000 106 - -61.833333 -34.500000 102 - -61.666667 -34.500000 91 - -61.500000 -34.500000 87 - -61.333333 -34.500000 83 - -61.166667 -34.500000 75 - -61.000000 -34.500000 85 - -60.833333 -34.500000 78 - -60.666667 -34.500000 71 - -60.500000 -34.500000 72 - -60.333333 -34.500000 68 - -60.166667 -34.500000 64 - -60.000000 -34.500000 50 - -59.833333 -34.500000 55 - -59.666667 -34.500000 53 - -59.500000 -34.500000 50 - -59.333333 -34.500000 42 - -59.166667 -34.500000 27 - -59.000000 -34.500000 13 - -58.833333 -34.500000 27 - -58.666667 -34.500000 20 - -58.500000 -34.500000 23 - -58.333333 -34.500000 -1 - -58.166667 -34.500000 -1 - -58.000000 -34.500000 -1 - -57.833333 -34.500000 -1 - -57.666667 -34.500000 -1 - -57.500000 -34.500000 -1 - -57.333333 -34.500000 -1 - -57.166667 -34.500000 -1 - -57.000000 -34.500000 11 - -56.833333 -34.500000 26 - -56.666667 -34.500000 16 - -56.500000 -34.500000 33 - -56.333333 -34.500000 16 - -56.166667 -34.500000 40 - -56.000000 -34.500000 61 - -55.833333 -34.500000 71 - -55.666667 -34.500000 51 - -55.500000 -34.500000 37 - -55.333333 -34.500000 215 - -55.166667 -34.500000 292 - -55.000000 -34.500000 156 - -54.833333 -34.500000 137 - -54.666667 -34.500000 85 - -54.500000 -34.500000 102 - -54.333333 -34.500000 18 - -54.166667 -34.500000 51 - -54.000000 -34.500000 13 - -53.833333 -34.500000 -23 - -53.666667 -34.500000 -31 - -53.500000 -34.500000 -35 - -53.333333 -34.500000 -42 - -53.166667 -34.500000 -55 - -53.000000 -34.500000 -53 - -52.833333 -34.500000 -84 - -52.666667 -34.500000 -63 - -52.500000 -34.500000 -72 - -52.333333 -34.500000 -83 - -52.166667 -34.500000 -125 - -52.000000 -34.500000 -208 - -51.833333 -34.500000 -448 - -51.666667 -34.500000 -1076 - -51.500000 -34.500000 -1407 - -51.333333 -34.500000 -1776 - -51.166667 -34.500000 -2116 - -51.000000 -34.500000 -2490 - -50.833333 -34.500000 -2822 - -50.666667 -34.500000 -2857 - -50.500000 -34.500000 -2972 - -50.333333 -34.500000 -3009 - -50.166667 -34.500000 -3138 - -50.000000 -34.500000 -3196 - -49.833333 -34.500000 -3309 - -49.666667 -34.500000 -3542 - -49.500000 -34.500000 -3556 - -49.333333 -34.500000 -3592 - -49.166667 -34.500000 -3738 - -49.000000 -34.500000 -3784 - -48.833333 -34.500000 -3923 - -48.666667 -34.500000 -4017 - -48.500000 -34.500000 -4143 - -48.333333 -34.500000 -4189 - -48.166667 -34.500000 -4264 - -48.000000 -34.500000 -4384 - -47.833333 -34.500000 -4462 - -47.666667 -34.500000 -4521 - -47.500000 -34.500000 -4566 - -47.333333 -34.500000 -4588 - -47.166667 -34.500000 -4608 - -47.000000 -34.500000 -4621 - -46.833333 -34.500000 -4633 - -46.666667 -34.500000 -4613 - -46.500000 -34.500000 -4650 - -46.333333 -34.500000 -4695 - -46.166667 -34.500000 -4737 - -46.000000 -34.500000 -4768 - -45.833333 -34.500000 -4764 - -45.666667 -34.500000 -4779 - -45.500000 -34.500000 -4785 - -45.333333 -34.500000 -4801 - -45.166667 -34.500000 -4803 - -45.000000 -34.500000 -4796 - -44.833333 -34.500000 -4783 - -44.666667 -34.500000 -4774 - -44.500000 -34.500000 -4761 - -44.333333 -34.500000 -4771 - -44.166667 -34.500000 -4748 - -44.000000 -34.500000 -4749 - -43.833333 -34.500000 -4748 - -43.666667 -34.500000 -4735 - -43.500000 -34.500000 -4732 - -43.333333 -34.500000 -4705 - -43.166667 -34.500000 -4712 - -43.000000 -34.500000 -4703 - -42.833333 -34.500000 -4670 - -42.666667 -34.500000 -4667 - -42.500000 -34.500000 -4664 - -42.333333 -34.500000 -4665 - -42.166667 -34.500000 -4677 - -42.000000 -34.500000 -4687 - -41.833333 -34.500000 -4682 - -41.666667 -34.500000 -4671 - -41.500000 -34.500000 -4670 - -41.333333 -34.500000 -4683 - -41.166667 -34.500000 -4670 - -41.000000 -34.500000 -4725 - -40.833333 -34.500000 -4672 - -40.666667 -34.500000 -4645 - -40.500000 -34.500000 -4731 - -40.333333 -34.500000 -4863 - -40.166667 -34.500000 -4845 - -40.000000 -34.500000 -4837 - -65.000000 -34.666667 269 - -64.833333 -34.666667 249 - -64.666667 -34.666667 231 - -64.500000 -34.666667 203 - -64.333333 -34.666667 182 - -64.166667 -34.666667 162 - -64.000000 -34.666667 150 - -63.833333 -34.666667 145 - -63.666667 -34.666667 139 - -63.500000 -34.666667 129 - -63.333333 -34.666667 132 - -63.166667 -34.666667 128 - -63.000000 -34.666667 121 - -62.833333 -34.666667 116 - -62.666667 -34.666667 113 - -62.500000 -34.666667 108 - -62.333333 -34.666667 103 - -62.166667 -34.666667 102 - -62.000000 -34.666667 100 - -61.833333 -34.666667 94 - -61.666667 -34.666667 91 - -61.500000 -34.666667 87 - -61.333333 -34.666667 79 - -61.166667 -34.666667 80 - -61.000000 -34.666667 77 - -60.833333 -34.666667 77 - -60.666667 -34.666667 66 - -60.500000 -34.666667 67 - -60.333333 -34.666667 66 - -60.166667 -34.666667 59 - -60.000000 -34.666667 54 - -59.833333 -34.666667 51 - -59.666667 -34.666667 47 - -59.500000 -34.666667 34 - -59.333333 -34.666667 33 - -59.166667 -34.666667 33 - -59.000000 -34.666667 24 - -58.833333 -34.666667 27 - -58.666667 -34.666667 30 - -58.500000 -34.666667 21 - -58.333333 -34.666667 6 - -58.166667 -34.666667 -1 - -58.000000 -34.666667 -1 - -57.833333 -34.666667 -1 - -57.666667 -34.666667 -1 - -57.500000 -34.666667 -1 - -57.333333 -34.666667 -1 - -57.166667 -34.666667 -1 - -57.000000 -34.666667 -1 - -56.833333 -34.666667 3 - -56.666667 -34.666667 19 - -56.500000 -34.666667 -3 - -56.333333 -34.666667 21 - -56.166667 -34.666667 51 - -56.000000 -34.666667 35 - -55.833333 -34.666667 45 - -55.666667 -34.666667 20 - -55.500000 -34.666667 37 - -55.333333 -34.666667 336 - -55.166667 -34.666667 85 - -55.000000 -34.666667 81 - -54.833333 -34.666667 46 - -54.666667 -34.666667 61 - -54.500000 -34.666667 31 - -54.333333 -34.666667 7 - -54.166667 -34.666667 1 - -54.000000 -34.666667 -20 - -53.833333 -34.666667 -38 - -53.666667 -34.666667 -44 - -53.500000 -34.666667 -47 - -53.333333 -34.666667 -65 - -53.166667 -34.666667 -39 - -53.000000 -34.666667 -38 - -52.833333 -34.666667 -76 - -52.666667 -34.666667 -67 - -52.500000 -34.666667 -37 - -52.333333 -34.666667 -94 - -52.166667 -34.666667 -126 - -52.000000 -34.666667 -438 - -51.833333 -34.666667 -1038 - -51.666667 -34.666667 -1396 - -51.500000 -34.666667 -1747 - -51.333333 -34.666667 -1987 - -51.166667 -34.666667 -2170 - -51.000000 -34.666667 -2372 - -50.833333 -34.666667 -2976 - -50.666667 -34.666667 -3064 - -50.500000 -34.666667 -3137 - -50.333333 -34.666667 -3225 - -50.166667 -34.666667 -3295 - -50.000000 -34.666667 -3386 - -49.833333 -34.666667 -3479 - -49.666667 -34.666667 -3462 - -49.500000 -34.666667 -3625 - -49.333333 -34.666667 -3747 - -49.166667 -34.666667 -3880 - -49.000000 -34.666667 -3953 - -48.833333 -34.666667 -4082 - -48.666667 -34.666667 -4225 - -48.500000 -34.666667 -4312 - -48.333333 -34.666667 -4357 - -48.166667 -34.666667 -4508 - -48.000000 -34.666667 -4598 - -47.833333 -34.666667 -4612 - -47.666667 -34.666667 -4631 - -47.500000 -34.666667 -4674 - -47.333333 -34.666667 -4686 - -47.166667 -34.666667 -4730 - -47.000000 -34.666667 -4719 - -46.833333 -34.666667 -4716 - -46.666667 -34.666667 -4704 - -46.500000 -34.666667 -4664 - -46.333333 -34.666667 -4674 - -46.166667 -34.666667 -4727 - -46.000000 -34.666667 -4766 - -45.833333 -34.666667 -4786 - -45.666667 -34.666667 -4792 - -45.500000 -34.666667 -4822 - -45.333333 -34.666667 -4833 - -45.166667 -34.666667 -4806 - -45.000000 -34.666667 -4792 - -44.833333 -34.666667 -4818 - -44.666667 -34.666667 -4819 - -44.500000 -34.666667 -4809 - -44.333333 -34.666667 -4798 - -44.166667 -34.666667 -4791 - -44.000000 -34.666667 -4794 - -43.833333 -34.666667 -4804 - -43.666667 -34.666667 -4796 - -43.500000 -34.666667 -4775 - -43.333333 -34.666667 -4785 - -43.166667 -34.666667 -4749 - -43.000000 -34.666667 -4757 - -42.833333 -34.666667 -4735 - -42.666667 -34.666667 -4723 - -42.500000 -34.666667 -4724 - -42.333333 -34.666667 -4726 - -42.166667 -34.666667 -4700 - -42.000000 -34.666667 -4715 - -41.833333 -34.666667 -4701 - -41.666667 -34.666667 -4701 - -41.500000 -34.666667 -4695 - -41.333333 -34.666667 -4689 - -41.166667 -34.666667 -4713 - -41.000000 -34.666667 -4703 - -40.833333 -34.666667 -4750 - -40.666667 -34.666667 -4662 - -40.500000 -34.666667 -4747 - -40.333333 -34.666667 -4792 - -40.166667 -34.666667 -4902 - -40.000000 -34.666667 -4880 - -65.000000 -34.833333 267 - -64.833333 -34.833333 233 - -64.666667 -34.833333 230 - -64.500000 -34.833333 201 - -64.333333 -34.833333 175 - -64.166667 -34.833333 159 - -64.000000 -34.833333 148 - -63.833333 -34.833333 141 - -63.666667 -34.833333 132 - -63.500000 -34.833333 127 - -63.333333 -34.833333 122 - -63.166667 -34.833333 121 - -63.000000 -34.833333 119 - -62.833333 -34.833333 117 - -62.666667 -34.833333 113 - -62.500000 -34.833333 109 - -62.333333 -34.833333 105 - -62.166667 -34.833333 114 - -62.000000 -34.833333 100 - -61.833333 -34.833333 107 - -61.666667 -34.833333 93 - -61.500000 -34.833333 84 - -61.333333 -34.833333 81 - -61.166667 -34.833333 77 - -61.000000 -34.833333 77 - -60.833333 -34.833333 74 - -60.666667 -34.833333 63 - -60.500000 -34.833333 55 - -60.333333 -34.833333 60 - -60.166667 -34.833333 54 - -60.000000 -34.833333 56 - -59.833333 -34.833333 49 - -59.666667 -34.833333 48 - -59.500000 -34.833333 41 - -59.333333 -34.833333 37 - -59.166667 -34.833333 40 - -59.000000 -34.833333 34 - -58.833333 -34.833333 25 - -58.666667 -34.833333 20 - -58.500000 -34.833333 15 - -58.333333 -34.833333 20 - -58.166667 -34.833333 22 - -58.000000 -34.833333 2 - -57.833333 -34.833333 -1 - -57.666667 -34.833333 -1 - -57.500000 -34.833333 -1 - -57.333333 -34.833333 -1 - -57.166667 -34.833333 -1 - -57.000000 -34.833333 -1 - -56.833333 -34.833333 -1 - -56.666667 -34.833333 -1 - -56.500000 -34.833333 -1 - -56.333333 -34.833333 38 - -56.166667 -34.833333 33 - -56.000000 -34.833333 15 - -55.833333 -34.833333 -2 - -55.666667 -34.833333 -3 - -55.500000 -34.833333 -1 - -55.333333 -34.833333 -1 - -55.166667 -34.833333 13 - -55.000000 -34.833333 28 - -54.833333 -34.833333 32 - -54.666667 -34.833333 4 - -54.500000 -34.833333 -18 - -54.333333 -34.833333 -23 - -54.166667 -34.833333 -22 - -54.000000 -34.833333 -31 - -53.833333 -34.833333 -42 - -53.666667 -34.833333 -61 - -53.500000 -34.833333 -35 - -53.333333 -34.833333 -49 - -53.166667 -34.833333 -49 - -53.000000 -34.833333 -49 - -52.833333 -34.833333 -63 - -52.666667 -34.833333 -82 - -52.500000 -34.833333 -112 - -52.333333 -34.833333 -108 - -52.166667 -34.833333 -204 - -52.000000 -34.833333 -881 - -51.833333 -34.833333 -1303 - -51.666667 -34.833333 -1717 - -51.500000 -34.833333 -1973 - -51.333333 -34.833333 -2251 - -51.166667 -34.833333 -2508 - -51.000000 -34.833333 -2756 - -50.833333 -34.833333 -2699 - -50.666667 -34.833333 -3199 - -50.500000 -34.833333 -3237 - -50.333333 -34.833333 -3515 - -50.166667 -34.833333 -3427 - -50.000000 -34.833333 -3581 - -49.833333 -34.833333 -3746 - -49.666667 -34.833333 -3773 - -49.500000 -34.833333 -3871 - -49.333333 -34.833333 -3957 - -49.166667 -34.833333 -4243 - -49.000000 -34.833333 -4190 - -48.833333 -34.833333 -4311 - -48.666667 -34.833333 -4430 - -48.500000 -34.833333 -4530 - -48.333333 -34.833333 -4537 - -48.166667 -34.833333 -4586 - -48.000000 -34.833333 -4641 - -47.833333 -34.833333 -4675 - -47.666667 -34.833333 -4696 - -47.500000 -34.833333 -4720 - -47.333333 -34.833333 -4750 - -47.166667 -34.833333 -4765 - -47.000000 -34.833333 -4782 - -46.833333 -34.833333 -4772 - -46.666667 -34.833333 -4762 - -46.500000 -34.833333 -4742 - -46.333333 -34.833333 -4714 - -46.166667 -34.833333 -4717 - -46.000000 -34.833333 -4743 - -45.833333 -34.833333 -4795 - -45.666667 -34.833333 -4816 - -45.500000 -34.833333 -4828 - -45.333333 -34.833333 -4836 - -45.166667 -34.833333 -4825 - -45.000000 -34.833333 -4825 - -44.833333 -34.833333 -4836 - -44.666667 -34.833333 -4847 - -44.500000 -34.833333 -4836 - -44.333333 -34.833333 -4843 - -44.166667 -34.833333 -4848 - -44.000000 -34.833333 -4852 - -43.833333 -34.833333 -4842 - -43.666667 -34.833333 -4830 - -43.500000 -34.833333 -4832 - -43.333333 -34.833333 -4804 - -43.166667 -34.833333 -4794 - -43.000000 -34.833333 -4802 - -42.833333 -34.833333 -4779 - -42.666667 -34.833333 -4778 - -42.500000 -34.833333 -4760 - -42.333333 -34.833333 -4760 - -42.166667 -34.833333 -4747 - -42.000000 -34.833333 -4733 - -41.833333 -34.833333 -4740 - -41.666667 -34.833333 -4730 - -41.500000 -34.833333 -4724 - -41.333333 -34.833333 -4708 - -41.166667 -34.833333 -4723 - -41.000000 -34.833333 -4733 - -40.833333 -34.833333 -4732 - -40.666667 -34.833333 -4716 - -40.500000 -34.833333 -4699 - -40.333333 -34.833333 -4763 - -40.166667 -34.833333 -4804 - -40.000000 -34.833333 -4945 - -65.000000 -35.000000 269 - -64.833333 -35.000000 261 - -64.666667 -35.000000 233 - -64.500000 -35.000000 196 - -64.333333 -35.000000 179 - -64.166667 -35.000000 157 - -64.000000 -35.000000 145 - -63.833333 -35.000000 137 - -63.666667 -35.000000 126 - -63.500000 -35.000000 125 - -63.333333 -35.000000 121 - -63.166667 -35.000000 116 - -63.000000 -35.000000 114 - -62.833333 -35.000000 114 - -62.666667 -35.000000 110 - -62.500000 -35.000000 105 - -62.333333 -35.000000 105 - -62.166667 -35.000000 128 - -62.000000 -35.000000 109 - -61.833333 -35.000000 99 - -61.666667 -35.000000 89 - -61.500000 -35.000000 82 - -61.333333 -35.000000 77 - -61.166667 -35.000000 73 - -61.000000 -35.000000 70 - -60.833333 -35.000000 63 - -60.666667 -35.000000 64 - -60.500000 -35.000000 55 - -60.333333 -35.000000 55 - -60.166667 -35.000000 48 - -60.000000 -35.000000 46 - -59.833333 -35.000000 50 - -59.666667 -35.000000 44 - -59.500000 -35.000000 44 - -59.333333 -35.000000 35 - -59.166667 -35.000000 34 - -59.000000 -35.000000 37 - -58.833333 -35.000000 31 - -58.666667 -35.000000 23 - -58.500000 -35.000000 25 - -58.333333 -35.000000 22 - -58.166667 -35.000000 24 - -58.000000 -35.000000 25 - -57.833333 -35.000000 6 - -57.666667 -35.000000 5 - -57.500000 -35.000000 -1 - -57.333333 -35.000000 -1 - -57.166667 -35.000000 -1 - -57.000000 -35.000000 -1 - -56.833333 -35.000000 -1 - -56.666667 -35.000000 -2 - -56.500000 -35.000000 -3 - -56.333333 -35.000000 -3 - -56.166667 -35.000000 -4 - -56.000000 -35.000000 -7 - -55.833333 -35.000000 -10 - -55.666667 -35.000000 -12 - -55.500000 -35.000000 -15 - -55.333333 -35.000000 -19 - -55.166667 -35.000000 -21 - -55.000000 -35.000000 -18 - -54.833333 -35.000000 -21 - -54.666667 -35.000000 -21 - -54.500000 -35.000000 -25 - -54.333333 -35.000000 -25 - -54.166667 -35.000000 -27 - -54.000000 -35.000000 -32 - -53.833333 -35.000000 -41 - -53.666667 -35.000000 -39 - -53.500000 -35.000000 -39 - -53.333333 -35.000000 -41 - -53.166667 -35.000000 -48 - -53.000000 -35.000000 -48 - -52.833333 -35.000000 -68 - -52.666667 -35.000000 -103 - -52.500000 -35.000000 -153 - -52.333333 -35.000000 -170 - -52.166667 -35.000000 -663 - -52.000000 -35.000000 -1148 - -51.833333 -35.000000 -1485 - -51.666667 -35.000000 -1815 - -51.500000 -35.000000 -2103 - -51.333333 -35.000000 -2311 - -51.166667 -35.000000 -2503 - -51.000000 -35.000000 -2714 - -50.833333 -35.000000 -2868 - -50.666667 -35.000000 -2942 - -50.500000 -35.000000 -3442 - -50.333333 -35.000000 -3519 - -50.166667 -35.000000 -3590 - -50.000000 -35.000000 -3661 - -49.833333 -35.000000 -3793 - -49.666667 -35.000000 -3858 - -49.500000 -35.000000 -4042 - -49.333333 -35.000000 -4192 - -49.166667 -35.000000 -4296 - -49.000000 -35.000000 -4316 - -48.833333 -35.000000 -4414 - -48.666667 -35.000000 -4530 - -48.500000 -35.000000 -4574 - -48.333333 -35.000000 -4604 - -48.166667 -35.000000 -4637 - -48.000000 -35.000000 -4697 - -47.833333 -35.000000 -4714 - -47.666667 -35.000000 -4725 - -47.500000 -35.000000 -4765 - -47.333333 -35.000000 -4787 - -47.166667 -35.000000 -4798 - -47.000000 -35.000000 -4815 - -46.833333 -35.000000 -4819 - -46.666667 -35.000000 -4804 - -46.500000 -35.000000 -4800 - -46.333333 -35.000000 -4786 - -46.166667 -35.000000 -4752 - -46.000000 -35.000000 -4755 - -45.833333 -35.000000 -4783 - -45.666667 -35.000000 -4822 - -45.500000 -35.000000 -4839 - -45.333333 -35.000000 -4842 - -45.166667 -35.000000 -4848 - -45.000000 -35.000000 -4854 - -44.833333 -35.000000 -4851 - -44.666667 -35.000000 -4854 - -44.500000 -35.000000 -4850 - -44.333333 -35.000000 -4859 - -44.166667 -35.000000 -4867 - -44.000000 -35.000000 -4867 - -43.833333 -35.000000 -4865 - -43.666667 -35.000000 -4861 - -43.500000 -35.000000 -4845 - -43.333333 -35.000000 -4839 - -43.166667 -35.000000 -4831 - -43.000000 -35.000000 -4819 - -42.833333 -35.000000 -4814 - -42.666667 -35.000000 -4804 - -42.500000 -35.000000 -4795 - -42.333333 -35.000000 -4784 - -42.166667 -35.000000 -4775 - -42.000000 -35.000000 -4777 - -41.833333 -35.000000 -4770 - -41.666667 -35.000000 -4772 - -41.500000 -35.000000 -4767 - -41.333333 -35.000000 -4760 - -41.166667 -35.000000 -4761 - -41.000000 -35.000000 -4771 - -40.833333 -35.000000 -4755 - -40.666667 -35.000000 -4748 - -40.500000 -35.000000 -4574 - -40.333333 -35.000000 -4731 - -40.166667 -35.000000 -4809 - -40.000000 -35.000000 -4859 diff --git a/dep/tesseroids/cookbook/dem_brasil/dem_brasil.bat b/dep/tesseroids/cookbook/dem_brasil/dem_brasil.bat deleted file mode 100755 index eaa4a6a..0000000 --- a/dep/tesseroids/cookbook/dem_brasil/dem_brasil.bat +++ /dev/null @@ -1,22 +0,0 @@ - - -:: First, insert the density information into -:: the DEM file using the Python script. -python dem_density.py dem.xyz > dem-dens.txt - -:: Next, use the modified DEM with tessmodgen -:: to create a tesseroid model -tessmodgen -s0.166667/0.166667 -z0 -v < dem-dens.txt ^ -> dem-tess.txt - -:: Calculate the GGT on a regular grid at 250km -:: use the -l option to log the processes to files -:: (usefull to diagnose when things go wrong) -:: The output is dumped to dem-ggt.txt -tessgrd -r-60/-45/-30/-15 -b50/50 -z250e03 | ^ -tessgxx dem-tess.txt -lgxx.log | ^ -tessgxy dem-tess.txt -lgxy.log | ^ -tessgxz dem-tess.txt -lgxz.log | ^ -tessgyy dem-tess.txt -lgyy.log | ^ -tessgyz dem-tess.txt -lgyz.log | ^ -tessgzz dem-tess.txt -lgzz.log -v > dem-ggt.txt diff --git a/dep/tesseroids/cookbook/dem_brasil/dem_brasil.sh b/dep/tesseroids/cookbook/dem_brasil/dem_brasil.sh deleted file mode 100755 index e3524bf..0000000 --- a/dep/tesseroids/cookbook/dem_brasil/dem_brasil.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -# First, insert the density information into -# the DEM file using the Python script. -python dem_density.py dem.xyz > dem-dens.txt - -# Next, use the modified DEM with tessmodgen -# to create a tesseroid model -tessmodgen -s0.166667/0.166667 -z0 -v < dem-dens.txt \ -> dem-tess.txt - -# Calculate the GGT on a regular grid at 250km -# use the -l option to log the processes to files -# (usefull to diagnose when things go wrong) -# The output is dumped to dem-ggt.txt -tessgrd -r-60/-45/-30/-15 -b50/50 -z250e03 | \ -tessgxx dem-tess.txt -lgxx.log | \ -tessgxy dem-tess.txt -lgxy.log | \ -tessgxz dem-tess.txt -lgxz.log | \ -tessgyy dem-tess.txt -lgyy.log | \ -tessgyz dem-tess.txt -lgyz.log | \ -tessgzz dem-tess.txt -lgzz.log -v > dem-ggt.txt diff --git a/dep/tesseroids/cookbook/dem_brasil/dem_density.py b/dep/tesseroids/cookbook/dem_brasil/dem_density.py deleted file mode 100755 index 784e51e..0000000 --- a/dep/tesseroids/cookbook/dem_brasil/dem_density.py +++ /dev/null @@ -1,13 +0,0 @@ -""" -Assign density values for the DEM points. -""" -import sys -import numpy - -lons, lats, heights = numpy.loadtxt(sys.argv[1], unpack=True) - -for i in xrange(len(heights)): - if heights[i] >=0: - print "%lf %lf %lf %lf" % (lons[i], lats[i], heights[i], 2670.0) - else: - print "%lf %lf %lf %lf" % (lons[i], lats[i], heights[i], 1670.0) diff --git a/dep/tesseroids/cookbook/dem_brasil/plot.py b/dep/tesseroids/cookbook/dem_brasil/plot.py deleted file mode 100755 index 6f5b988..0000000 --- a/dep/tesseroids/cookbook/dem_brasil/plot.py +++ /dev/null @@ -1,117 +0,0 @@ -# Make some nice plots of the DEM, the densities used and the calculated GGT -import numpy -from matplotlib import pyplot as plt -from mpl_toolkits.basemap import Basemap - -# Plot the DEM and density maps -################################################################################ -lons, lats, heights, dens = numpy.loadtxt('dem-dens.txt', unpack=True) -nlons = 151 # Number of points in the longitude direction -nlats = len(lats)/nlons - -# Convert the lists to 2D grids -glons = numpy.reshape(lons, (nlats, nlons)) -glats = numpy.reshape(lats, (nlats, nlons)) -gheights = numpy.reshape(heights, (nlats, nlons)) -gdens = numpy.reshape(dens, (nlats, nlons)) - -# Set up a Mercator projection -bm = Basemap(projection='merc', - llcrnrlon=lons[0], llcrnrlat=lats[-1], - urcrnrlon=lons[-1], urcrnrlat=lats[0], - lon_0=lons[nlons//2], lat_0=lats[len(lats)//2], - resolution='l', - area_thresh=10000) -glons, glats = bm(glons, glats) - -# Plot the DEM first -print "Plotting DEM" -plt.figure() -bm.drawmeridians(numpy.arange(lons[0]+5., lons[-1], 5.), - labels=[0,0,0,1], fontsize=12, linewidth=0.5) -bm.drawparallels(numpy.arange(lats[-1]+5., lats[0], 5.), - labels=[1,0,0,0], fontsize=12, linewidth=0.5) -bm.drawcoastlines(linewidth=1) -bm.drawmapboundary() -bm.drawcountries(linewidth=0.8) -# Do the pseudocolor plot -cf = bm.pcolor(glons, glats, gheights, cmap=plt.cm.gist_earth, \ - vmin=-1000, vmax=1000) -cb = plt.colorbar() -cb.set_label("Height [m]") -# Plot the calculation area used later -w = -60 -e = -45 -s = -30 -n = -15 -areax, areay = bm([w, w, e, e, w], \ - [n, s, s, n, n]) -bm.plot(areax, areay, '-r', label="Computation grid", linewidth=1.8) -plt.legend(shadow=True, loc='lower right', prop={'size':10}) -# Save a png figure -plt.savefig('dem.png') - -# Now plot the densities -print "Plotting density model" -plt.figure() -bm.drawmeridians(numpy.arange(lons[0]+5., lons[-1], 5.), - labels=[0,0,0,1], fontsize=12, linewidth=0.5) -bm.drawparallels(numpy.arange(lats[-1]+5., lats[0], 5.), - labels=[1,0,0,0], fontsize=12, linewidth=0.5) -bm.drawcoastlines(linewidth=1) -bm.drawmapboundary() -bm.drawcountries(linewidth=0.8) -# Do the pseudocolor plot -cf = bm.pcolor(glons, glats, gdens, cmap=plt.cm.jet) -cb = plt.colorbar() -cb.set_label(r"Density [$g.cm^{-3}$]") -# Save a png figure -plt.savefig('dem-dens.png') - -# Plot the GGT -################################################################################ -print "Plotting GGT" -data = numpy.loadtxt('dem-ggt.txt') -lons, lats, heights, gxx, gxy, gxz, gyy, gyz, gzz = data.T -nlons = 50 # Number of points in the longitude direction -nlats = len(lats)/nlons - -# Convert the lists to 2D grids -glons = numpy.reshape(lons, (nlats, nlons)) -glats = numpy.reshape(lats, (nlats, nlons)) - -# Set up a Mercator projection -bm = Basemap(projection='merc', \ - llcrnrlon=lons[0], llcrnrlat=lats[0], \ - urcrnrlon=lons[-1], urcrnrlat=lats[-1], \ - lon_0=lons[nlons//2], lat_0=lats[len(lats)//2], - resolution='l', area_thresh=10000) -glons, glats = bm(glons, glats) - -# Plot each component -fig = plt.figure(figsize=(14,9)) -plt.subplots_adjust(wspace=0.35) -titles = [r"$g_{xx}$", r"$g_{xy}$", r"$g_{xz}$", r"$g_{yy}$", r"$g_{yz}$", - r"$g_{zz}$"] -fields = [gxx, gxy, gxz, gyy, gyz, gzz] -for i, args in enumerate(zip(fields, titles)): - field, title = args - ax = plt.subplot(2, 3, i + 1, aspect='equal') - plt.title(title, fontsize=18) - # Make it a 2D grid - gfield = numpy.reshape(field, (nlats, nlons)) - # Plot the coastlines and etc - mer = bm.drawmeridians(numpy.arange(lons[0]+3, lons[-1]-3, 3), - labels=[0,0,0,1], fontsize=9, linewidth=0.5) - bm.drawparallels(numpy.arange(lats[0]+3, lats[-1]-3, 3), - labels=[1,0,0,0], fontsize=9, linewidth=0.5) - bm.drawcoastlines(linewidth=1) - bm.drawmapboundary() - bm.drawcountries(linewidth=1) - bm.drawstates(linewidth=0.2) - # Make a pseudocolor plot - cf = bm.pcolor(glons, glats, gfield, cmap=plt.cm.jet) - cb = plt.colorbar(orientation='vertical', format='%.2f', shrink=0.8) - cb.set_label(r"$E\"otv\"os$") -# Save a png figure -plt.savefig('dem-ggt.png') diff --git a/dep/tesseroids/cookbook/dem_brasil/sample-dem-dens.png b/dep/tesseroids/cookbook/dem_brasil/sample-dem-dens.png deleted file mode 100755 index 9a7ebc773169cf3b3eded610625e382c8a6dffc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154152 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�j@6_**zJa~jq%fR-6v2-kfy|pL2 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 va`E9<71EP2;gEdoAC<(zPoDIT2WE!! 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 diff --git a/dep/tesseroids/cookbook/simple_prism/model.txt b/dep/tesseroids/cookbook/simple_prism/model.txt deleted file mode 100755 index c54bac1..0000000 --- a/dep/tesseroids/cookbook/simple_prism/model.txt +++ /dev/null @@ -1,3 +0,0 @@ -# Test prism model file -2000 5000 2000 15000 0 5000 1000 -10000 18000 10000 18000 0 5000 -1000 diff --git a/dep/tesseroids/cookbook/simple_prism/plot.py b/dep/tesseroids/cookbook/simple_prism/plot.py deleted file mode 100755 index 53de530..0000000 --- a/dep/tesseroids/cookbook/simple_prism/plot.py +++ /dev/null @@ -1,25 +0,0 @@ -""" -Plot the columns of the output files -""" -import sys -import pylab - -data = pylab.loadtxt(sys.argv[1], unpack=True) -shape = (int(sys.argv[2]), int(sys.argv[3])) -lon = pylab.reshape(data[0], shape) -lat = pylab.reshape(data[1], shape) -xmin, xmax = lon.min(), lon.max() -ymin, ymax = lat.min(), lat.max() -for i, value in enumerate(data[3:]): - value = pylab.reshape(value, shape) - pylab.figure(figsize=(4, 3)) - pylab.title("Column %d" % (i + 4)) - pylab.axis('scaled') - pylab.pcolor(lon, lat, value) - pylab.colorbar() - pylab.contour(lon, lat, value, 12, color='k') - #pylab.xlabel("Longitude") - #pylab.ylabel("Latitude") - pylab.xlim(xmin, xmax) - pylab.ylim(ymin, ymax) - pylab.savefig('column%d.png' % (i + 4)) diff --git a/dep/tesseroids/cookbook/simple_prism/simple_prism.bat b/dep/tesseroids/cookbook/simple_prism/simple_prism.bat deleted file mode 100755 index 174e5a7..0000000 --- a/dep/tesseroids/cookbook/simple_prism/simple_prism.bat +++ /dev/null @@ -1,11 +0,0 @@ - - -:: Generate a regular grid, pipe it to all the computation programs, -:: and write the result to output.txt - -tessgrd -r0/20000/0/20000 -b50/50 -z1000 | ^ -prismpot model.txt | ^ -prismgx model.txt | prismgy model.txt | prismgz model.txt | ^ -prismgxx model.txt | prismgxy model.txt | ^ -prismgxz model.txt | prismgyy model.txt | ^ -prismgyz model.txt | prismgzz model.txt > output.txt diff --git a/dep/tesseroids/cookbook/simple_prism/simple_prism.png b/dep/tesseroids/cookbook/simple_prism/simple_prism.png deleted file mode 100755 index b2775eebbbc5f8e06accc4e687ca981137aa8ccc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 598782 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
g{-{9)wK2;X$Qc47poHzEd5O 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ΠT5}z5%+&-_u2kk-v1uneAHHMY>?0W0=L+a--`8Jz-Y#v zT$m00?v&`;xP6zPuBy5kRZ&^A($Z;p>-3 z>`?By%%cbm@VsM>dlbcpA{>XDybsxT$nG8&^8*z@koc^EBd!}ISqj&5Q1rh@7Z!_p zR9vsP)-+RV$peWUTFOH4KAE7Kw(GTx6>=y4Q7#z$L_%y$MWMRi)<73oo7+GlzElgWGugaVP}zo{&= z4caxs9@G(>qr(ObUdEvd-uq)aH2X=MWzK2>w|;D$K{?A53DT3y*_jBI|7M9j0JMl| zBNOP+wlo8JJE~>bDB2Q?Xc7g&CStz5`IpV~jMpX`Z1iyM{unhB{b=PnwjcimxTw{e7ksh=k(^8inG(ht%PE&YLIqSMp1&&_a#>}WceB$1`nBcp~Fjyb^}{}ztG zc)tx}gs`aG{8t%bs?_w7!2VclWVltvbsj572`Kh2WHUJY{k*xu}uh0x(RI6YOS6_zfbjS3Wqmcv}bX{6s3;P3{o zJ~tm?Xyt zS(Y+fB^8HVq%;5JI)kk?OHw1iF9dggM*>5G(_p52kx49vjFTh!m+sMnx3={!V=N~# z#31VBu;1t1D3mY#S}&_QcT!RKf#ljaWn6sK(T%~2yPz(uhhTcKl;pk~o>1`Tmj zb({Q}TlD|F)%n}bo=7rB>arJ4X+7P_8cb^A5{XK*!gezgvhjE=GS@RkYz_Fv?Lsf1 z(tm@^4{9_c`{5>4eOm`=J59VSf$`c8jIgGk(yz{6yt;;@#*0C$FJ(RvRaWDMix$*L zEyJCZU0aI;d~Jt8ndhfL5JZZIO8;&^mVzf>F|t1>A^5fRzZ(eLngEC$Mf5xm$?PnX zR!w}=Q6*fHCt;ZtJ{M|VXw1VNkh>{lB7>dxHDalX#VO~U-}o6PLN18RuH-rBXRs{dp}d1J&lQ_ZnGRIn z)DpGqMzFrt%ilnNh(;$@;nV9MDoyT{=}><9Rr$f`L9#TvmWo^tFhgy&4f1;08#VE=f+sU;Xh)$I+Jd*;6q&Z9r2&rE-wLE+Df z37q@*K;0wV3x}1xV@H0+QW1LO21`FjZ&?`y*0;FF3(nnj*DJgDN^a)F==!YIQctbM zE07yPJFG}&mN0l;Q+3}nzAirThb#?}(~M6H?IPb?Au{w;A4T6tSEWr2^>UP`+7RP- z=g4%@?;I_EAGGJyN#d`dg#_m-QCZdUho9kzIBQ{p45}nM{lghurt{WREpmfYYsR_@@m0koQ$`d>(THIzduM2HAsgQ zkF`Y_$Yxf2!Dg&fHqVvOLkc*y^bh|xShWT2LY~TCgTD0uvu+K0ywhrHvE3J3yqTBF ziic7W{rJ%h6`#pKw$6RU*?&g~0`TUsA-7R={c%eIA8#I^739HncrQ5~Kq}DvmjM#{ zwB6K>Q^D77jfT>hnS3d$9x98tr;DSAUBaD|D zAhW|KK+1kVhp(5fIjRadr?d51WmybRHq9aKj|g(il*J_@lrHQ4!%xCWcJ1|rc$+Mf zo9_GEi6pe>HlI?1m(TOL4F*1ln&b@-Advsh?W8adyc5r|gRAI~1P~*p@qHGQ5+MiKFrl+6-F8%mUPgRUN56L1*K`tjJHV9L~f{M5f@oLC;`j-qY_o9}2$gUG&rr3#--drqs-D z4UkRp8nOx+v!#pdEP=y;O!OwAn12_g5s^+uEi@D_AHAQxhvT70+eT7}c>wElAbxEX zkNo_6BpNn~^bNu5S%_HkI;Q8C<7!s>I*2o6cm5##WW+Ml_el9JgK(G+DT^S~eo)gM zH*cu2W=7oms_ISFUk#}zV)nyrdWDK6dt_W5%XXj%O;%HdDc?QQ5y!&yrd;dBYkpGYNb22_-St?Ara<*SI zKd#-LsuFs08;0uozW`tNmM%ILl}aAV(k0eDi}C0dElTF#whJj?mhnW1 z-N~PvYCN>iR!wjbnHJuWvAeR+5jLXei)wr?E>b%dxs8CE51)7aR`~11?Lz=>S|o-= z9F(gaprO|V)mXH*NcRES;qxN5qTr^OnNxveAbW`D%@4a6OX@iI;sWY6u~C`%x}ia> z)AQ+WufxL)EdV^g$+Q0M}n*BHk_NwBAT2Z=wZ1?-kZm| zjiF4+g)0;hPS|VQWxvZmk?y40?SQ2U0KR?*M_MP|&>GdgZaa~~O!bwh zOae9)58KBU2G%jy?FaP*9}sn4pChRV_yZ#cCyiU)kI}Q6iEB+B_+8)XpCAv{uSX+5 zZLA1y$`%aF@}~~s<`skCzfc!ThNM?iW9{buqZQ=$G<1%|@H6#&GdebxvR?^$87_u-v5H6WWN6!fuicz0oI&BiVh>o}EKgW2EWEEz(joZdA`cxu} za~1H}&t7YvrC16JDD(F_VR0tY`UeD6Ac5l0+8jp;QAg$XK~rdUXgA}XDr|7&eoJEf zb&Q@a@rVHCxPhD9-bJ92krz>&-^kf+2w&fJGaHy2n%CON?3qMtFq=coUlCA)6e&?d3u1 zX8xCApfPVY{oxJqUmfA*TKM|}OeE0*`0%&{Ffn@0_6|{+>+HoT%?tFSiiY&UJnVPQ z_~GFzzHQie!wKR`Z*3WJvQqf<48d;i;*Tsv-t;~|Dj%V{uX(%s;5l`2u(&$D=YAOeEO)$1Ff6sj7G?j~GSJRbLNcL& znx+nuy-1G$Kavn&pCC-F?j7qHQoSX)_84P}>UPGgaeah~|PYZ3HnrVwG)YXDpJD=g(^zvV=<3ZX@ zV=}5Uvi1Bpn)0gyp#M>LBT5xJ^uiDfK*SAd z_bZXBOEFO8w+cO=!r`0QMOPjC3GS6hg7kjf!9gPD)7mN>Hekr_)EaV!#&1xsj~6?w zopV(C5u$(3p1dNU902WGS~(!dy6&^3`?z3NOiETspkBLi#ov=$7gmc>{$mv=D zU&xuO8tUD~Ip8K5QW%TEooc^w}yAn9ts>a3niHV1HtA5-Vm#{0{%z_wsZy0*)0V> z9mLo(U1WHCP869l_1GIYxa7-YNkf0pn$bOVF%u-^;i&jQ{eQPmKz7MYJObA2@8xFk zSwf7arQEVn@bdI7;o_zaIu0RcRnoOZzdeCr_ZT{wS|vx5BQ}El!%Z+<1Qpl4CaNIC z+;M$3AMVpGN}jjezw~e9?zj;gjo!p z#;cV79`Bm}uA>=ZSV59kalCK|S+S3HjXz>p$=IW&Bjjoe^P#4WSnq+Wf!Rbv zVtp{jPPY#9NBWS+*o$1X+bqzEQ6>5RwQ>6?_v~uU8}x&4W8MEV#MXAXzkzw3LEs)1 zVYl#~kGNc5>ZKE;qYxU<$Q7Z3ea|IBMI}(%Yfu>u(-w+~P~4t;-&DK3gl<2{hy6e` zlk7x~g=jfS`IW{#VShIvGv{MjvIyex{BpbD(-W=1(DOWNkMo7SawEpgt^lFrfs9An zWbTAu4L{i1` z6K;!~^9t()Pqklp>=g33R6cPxmZ5@dbyWu8W}&ZU(%b6-Z}I7LLgO)K#pIFy7!H?#$kMbhtvhf>#93H|GVVc@j91dX<25OxQ9sp zULO|$G@Hf&MM4x2S1c39!cW7fiq*(;R?mvYz?V{|Oq5@r6O>JY z0?>(I6B{(rni(W-J1d;aZMVJ6KIfnP*YMn7xx2EQ9eY)vlQy~ISMK+`e$utNVOx7+ z^R{@~^K1c?A91Sg9iWWwYh9%;Beap!h${ShO!c^t z?1DmL9@6HAiWZXb9My`hC1sN&$)VQEsj*hWozrRF(&!%q(tAnE(RZcsnUAI)`58e1 z6s{ESgts)7j4kgQiTtjI^nFagZ9Nmp3A#%{t&7NXga)m&ofrnkgU!k#)cv!WL=y=S z9Wy6%+S=ro$0xeD=o!keTF9~(g+MWRqr;y>?Sxlgb=rGqNe$~u$b(>ac7a<~cdJzlIeugYw=5w`wjkWotV zIM59j5C7=e9{_Czn`JCUs84;@E;AovPL_{VLj3rL#g14|$Z{@@#vni0PW$*FK7Nus zZEosQUY&>`OkA=dGuDR{ztL7_krl5b$ej-U5PRZLnW!E{h-YAfP7||cqfyz25n4co zwgFGH0fLZ4kS-?-b3_m0!Q6lM4#iGUOiz>&xwPnK64S9gedRNrGQMtSv2??7`SLh0 zJUD4S)otf+H#CfJqGK_RNO^-Uhdie1tV)KzPd zXZThzQEu*9Fw$8`{Z$XIlfOAH2lhg0Bl0>xZK`!l-u>a+W1y;zMwWoPTz0Nt8l+Ij zu9}=A9V(Pe&$KNMR!Iuv4#th=kc>j%Ww4K!EtHPF>d&S6Tn`*@`fRTklzpVA5pSb5 zBIk$JO@-p1OgXTb8@Lx#ypoUa0<>#7;$t1-2P%FeTB6lLVkt-=CYF#R|5<8cXSPVD zJXB8wYvXm>S8!+uGF(?0Vh8jE)gOel;MN4n`XT^V$LSP;b^k%NrSnen*t97(y!A?&tYi312m_%u6*cDOTG9s#( zpQu&xc4T2*YYVMGU5*7}mz#VeES;z?+2sY}-jjobWuS==@McW@*9!o|BgfY9o1r8W zB!NJQ z&jFf<5Qq)eMVAx1nb@I5Ky|=`lq87%=cVh3v>^ib%;Gdcn|y<29`E>V$)J&e;5U`j zeRNGnad=r`%2ly8PeWozGOyhT(q$*3HG13t>x`$H`ux)K6SGy@-f7CbAX5o`o%njBjb0?NEjsbBg)9;{Si)!&oHINF8f8(%Q= z^hBYxbs(53RgQJ`bqyTe?Vn7f&GZ?R2X{W@HlC!{y3o&H5rETSuYOK~$+O$25`pM0 zjHDHs=TP?A+T0fUK7?~Iak?SiJrahjG$|a`Exrc_{b$YZ{hRgx<*ZnkY;C5x3p&)D z-&*7yLiiMt={-JXd@hpwMy5AA!^vc%N=@~JOud8@wKnd-CbH4z7=;j1W=?iu@wiHB z9FXwMPFHbj;Tgqi0$KD|in--o^y_1u&n0eZ?UdE4OS>0?- zJJa}3grDL;dZ=BKI8N3nv@UdU>qUI2`rDHAk@sB_v#sVzX01;EEx zBn9qv9UAWLR4_A67vd4)k_g}`rw9IeGD^K1c*2AJ7DX$>602hqGb(Q;l@h0XPtHpQf(|ji-|mm1CiQs z`HF9hpO*y#e8GZNY9{B97^)T0X*j{()Ah;~6sTc|sES8^sK1n2X_P1w9?59u!kt}4 z$C?AE`VC-Yd^lz?2o#)GA2@;KkUc%ltC|#gd7B#)W#xrJdCg7HHZ7HKyj^l1ZT{SV zFMLpLapP6oa7rVAF4^PLTv5Yq8fG~W0l{BNwX5%R0v>h106CGpfBd+A=&s(k>%+Ey zx3<@RsH0!t2DDtCh!6DiMChu&q0Nz0aiJ5yNY$JsJjX8-SsHYNgF#Pt;&I%Qz?jkH zEvf^lGSpL)g&}Clg;64^YOxZ&3fbW7bFU%U&YJI6f0bZ}lG3Eo1O5JMRYFTRX?~K1 zinm=&z%)Iq^pV!Qbvm<_YTDF9xE()m4&^Y^{;}-XIH9_9FS3YZopP0ee$2ojpHPDG z2ZfRt05@p*%_^tDD+YfXEmria>0Q$&n~Ws^VWZtZIP0|a0&f`^1yG8GxE0Y5cIT)c z^CxMn<5oPyYS<`aJ@Qi;unI?<76^7i zPLI}kN2ZZnq-DxtIt(YVv}QgCDyE9H`2Y$rosB&D%cr?!dIK&4ZJ!z-rP@cRXo|tX zp|Y@q0VG)8vY)*~rfb65RWW9vFsS&y_C;OEx&YDJtksjZHFY`@k$bnCSm23$l{9?7 zRAfB8JklTcE;{GV$z5v1I#XL#O)^~T>0on_D-UVH(R|Ail~dvGf)(Bmiw5|L>JASwtQ(yCe3X49 zl^bF)7))AiO@GJm=~rFs3Lj;<{*A4oo235@`dJW)R+GQ`#e;L97QwL?S&INKqFDSS^>M2fs$b)wx&42M~#d%T%g@8;U*@>f5nN! zz!J*^G3-p3XRK4a#L;6U*OR1FKtEoT&_uPeKchgcAM*XFt=ix4ABh0n`1ks37?9ayUIR z!@}2}N`{E}nnA*(g0F-I0cjNm{k=Ombd!t>*Ngpk2vNQVjEJ>ES~SRj3NFr_ zyuqar6_44R`%#RPKu)cy*oA>nVbrFR*GQgolNsse3vtG;C+uOlDC&0`65`Bl*D9=H>*3`}yPKh^ub8J^0U4Vj1j1 zS_7)M3Jp_l{+L!gF|xhBmX3@794nGjj=GgpR9xO)emL~L9)Ik%I_}PfqY`K4=L0|##SxkiHDld7$CF$p7tPybN8#6bp}6KGH|%PNI=PB6 z^5}shy(~gLN!E-;^;pLH5KsMBE-UQ#`174D|J{*VTiEu2qv5yI@e<>2r&(x=Qyq}* zSE&CWl(1vFz5UVX16BX(xwcLj5?hI~LNi_b)W@ob*7LL+Y4#I#W_@wzT|9Gr0n=K? z|Eaur_mHK3=iuRS3to8pS8U2GpZKjawN+rqDpRuXb;QV+)JuY(2aR{cpDaS4-Yb8w ztj1ajjrTiC1YeAT6mfXXlfJy*xGcZHsq_;Ad_)RTqMk_SjkmWHI96w^?1F^CcyZpmq+XJusXdMc^>2pYR5?mX5jg61yP88aiB88Yi3O0Lvc z)3Q*Mp(W8iPG%;Ik!1OyV-~rtrTe1I??b6Ec^nLA3S-UzvEhNq(^@f9U%!PI!Y<;9 z(hII2+)bjH!w}%%7)5R8NOB&3N3kOjr>c@HZ5ZDNR_a&iiL0AqFwU==VTMdYoaBq) z>vY(|C<%U}8zG>Y{SRA-N})DS4|zjL(h;@>69dlGIdP7LkGqMT7cvg7`CJr&I;Ta9 zekijw62!#lr-AC)P$SsBA+9wm!RX(BS&E8)B3B5s1X6HV{pZY@pO}`0JIG$DDbM}k z+@aWEXaW9QvFxO}MGw$hh+I;NTMA==F!Z@o#E3MIZ!p?zH)yAWWNWeDO4Reiw?{Q)ffxc{AXbaR)_e-9FHnE>$W6`9ji|3Kg?+|KI#sgH z^FxP=Ac&S_pA6-_zNO{+rfvLK4qG@g{WZ^Tp##;Hba%A#%$0A5NnOtN6sdt+s*XZP z*eo~{mq~V4dahk$+YZEMcxfG-;Yly)N*aObIxP6OJ@!-Z&-l~2VZSS(m%uhL?@Tv3 z##B?|8WjhmRF~!Af`yS(Q+NdE3By@`pjdq&cddkQK|bdQ@6@d5SD{|jdTcx3jO2iw z{;?qwG4Q;c@;O*1g#lQm6IfG%7Y7s!=8F}|6TRk35#$;u-~5fN*?D*X`%+j>9gSu- z=^$P9LQobAw5ET$ctNSXSuMc$!ziCi8ae^WUY)>o*}Wj)ml5@Cy(T%0;OTRQxj_S= zJz~l@)|&L9rP-PUH|#Qu>3B+d-nU?SAiIr-pqu~{E98^tvbuDGu$Egl7XfpJ2{bj` z8mr)L8P9G?mjY}H$#LRt>9v?LbQaH5_qhy)GpLNL6h@O75g7m{)J&LsvkjjFT~hiV ztEJK>i>a01T_)XM>W3EP(P7<}HAx$tz7T?+e6az!r&(Sy&2FyXRH5V5iL7dTUzM6L}@++pzVqXj0h-~9ygyqtQe`BaTaxQ>j z>!JGO_uN*DSmH5(siT`1X3jN3{Ns~bdg7eiSu~}S(xaz|VZ^QqZ!sOTRQbucYe2 z%3^aw&P8I|(c4s}km5cz<+#Qdg-C@AQE0IUvbv{lq~4O}o(Vfd9-DuUOtJOK)ERc( zcAlZ?o10zbOLP##id2D1k)4GvhRdoN*FgZnI zqm$lZO%sY&ye+_%5-(yL=570Z_NWN-FMMb1+X8k`N{_UiJ4c zDl9L@o3-}9X4T3VlvOjlY7|O&%RGo<7xcY$S%yH5#9ILBN*5GZn2qa@ZrZ|^FS78>nx0(AXqnw@0;k^*t3FTwPOz8r# zR*z_**;s$N4r=AGCMNUOVEhF;R#;-yMmk-zix6U;sEBN6mW)UF;e z^4R9Vh=#rerKsFLEU7G6ac5>{A7li)W~f9vc6r>;p-6z;{FmRx|NX|!fBf$zpdiE8 zpKz+N{k*DLIm+?#zuiwI{=DOV#al20@+)m`%TKk6=n#p>!fFOZ)&YnltsrhU`!?%H zD4tq-C?@E9oS=k>=#BRYY>v=@snV~pVo^lAa4kIH_O-t<5pAHq8K;n8f{z|5J8!ya z;wWd;aUaj`A!)QR`h4b-QJD+nXS~oB+((iSM6P?)-0%8?Ye-`jfofK^@fdA+?6eh% zr&h$SBiuDB5JRDAIY+b!M>gmp#BvGc)P>Mo`WprNgNlPZL)yS&PZ|#d0kRP&_H)kF zq*ZS(T!)I%Qt>nG4N=k>6W!K+ola}WpVprC@HPr6qSV1Z_I~0;oM2&9JrkJDQx(R` zXw}+Vx7^oM#SM_)RX4M@w5U)yaq>z3IJF8Dj@P69J}HKwMnrvOQszA`T!r#NIWHT| zE<-6ul{SS`zZQBNZMS(Y<=H8-oQPzp^B)WGB+t)kOug5k`QLEDd2j+S3lN`MLm(=i z8?#Eb<}5$=tkGbSf))9Ukq|fTWFwL>F@&HKTDFxxf`W5HZpJ<8p|(el@s51Ck$47qLy$11CSfopU-GnC=Ye%e(}=v0 z6RqZ-C{+ImP!P5EP2fQ#1MC~ZfQ4v@{j2^Za)r|eFZsCUMLCk6cV`dlxu_(*oL_OQ z=nH-kvRLdzxVEVb7~yjDp9l%wmTKP!{NvBBJ$5E$A*JIZ`ZVVUaM>P}HR| z{Wg;Khv{%|GbXC=jG*@z#u+nJmmUZNP`Nfn(+YyuU)oW_ISZ>NO^g_V3B?Vl4c!#x zS4f!F5p|Wn2@S1_ZCCEetM}`oz}F`ufwNeg zKwYvfFzlRZq#fg_Rln1hH2Ez;! z)KeQL?_L)JM(}CP?0vo9Kf)vDtmnSZ|LitfQJ3CF&f@(__~Pf#g27l359&|?cJGXg zjDIX-Pq6SE173_~wH6o>|1Y~FAs-MbUsg)`|$$Td*JaS;O^CbM(o`N6J->Y zl)$*U*I%E1*{<6U(S+ak(V>$epL}-T$k2rzFu?zw0>Sg+^`zsXuIn523tb{?G}41E z5GEwCi0hkM`W(AxD%2@~WE0;0F_*E+JuzfXQCHv=4~faVSvOhbnt3!Fv*)sf&pZ-B zH1C7lgEFfLM6>rivS|Nt9&5GB#S59{*8utw50fjL|^ z#uqrGYF4d;RiQZlGML0p$rHgm1RDHytF+vjtXH=9tFLDQxk#NC>O3 z)|Hxr>?qpWShOwrwd%FnV54|11}XV=IZ^e+;iv_;oIYyo@=3%%gwR>XHvNRXm^TY1 znoF_FLduy{&D1d$ch)F!EuMy4ns-a`59d6QR(;V=Mw;N(lf|VUaWGiW{Z6HFmuV6q!(SehgG$n8`55nsb|a|A>oiwwVd}cJyP>w1!l|FOgME8N2l`{NOHvHO+pk~VW~Do1+VPGDP2PJKCgU^ z0O+=KNrZ}$o`4>Lo^`v{1V;r01@JD*b(+QRy@make*v?sywodk;L*uIU@66u;~dB1 z@*Ic3XTN__qSGP1maAIRh(x^XG_wMtASLC!1{1q-jTN%z@7Wv+jyZx$u3KZXbk3Ram$fxWZq&3!))-;O8sCs^HPK*j$a``_M% zyiF;14-J7wcLrDLj1v9xV!ERo@imftfebyX%4&1T8kp4fSaK$sHBfQ@N7Q@$ZX};+Mvakav6&&hhN||I-3+1A@_CQjJ zEibLwP|PdZX<7OC$1%q5RA9T@v%V1moA}yV7Gd{4FZM~I@UhSDOu_g7JcziTZCeL8 z6k-j}Oue{r@}9CkF_B?mmQwt)#fWt&xrv!MdgB!jkCIM;5pi163yWG` zT{naX&&W_dmMc6;K}tdQ_Qxs+@r$H3TrdSEoQtB0*5Q$mK&dckMh?W@P+d0b(F7nU~7xy#(TBv zy(tKE{I|753tDc$G&Iv6Ka#+FoTuyU%`v|Jgg+ltK3(N~H^<@V){Dc= z&rG?>vjovt1-MP|@gu-C>X@?z?P+O>ZOUHGzM$&aCfAa%2!enum*uL7r7gheeVR@W zui*T-QeJT!9u^caLAzmyNV>)dL50V9b${u?u)|CC1W1w>YA?&3-b_W;*kE(_rJ%l` zhgvI9b=#ZgVs{ui#balbTg!$F-5>%7Fg#uTYF>{S_9=DKPstPa&2#s5qFT5mzEV=; zM0B7jItgOCQ8o__7C`!lN&AuXRX(_0zXYfed|?%QLbA&Wp12ZaU1#M|LTDB)Q|H9- zcG1Q%#8n!oudGFcGuK+Yi+PYWVOLK2abz*EpE6>hYtZK1JfT)zvy&ka!im_PNit>* zl>n`4r~bgixy(IC;p!dgb%fZO&T*VDuHO}|Z~UL2-EUD5=E3j!oA^!-1kD$!#>vxM zg-3tg`X|Nxv7!%wfJQXKLi=`e5(KuC&%O<4vJ*p^(Kd}JnqMT#YkUq{kmEVa6?%uGI5oc8n%CIc84)&UY<{dP1&f&H*A;cvRny^ z*8VopyrPQnlQHuS|4^#lFk%E&_ggqS_FZcZ)jh4KC?&3QPL8iJg8-<}j??kJRYhM? z(c~6|J!tMb0t(B!6;8rTHdD7^PNPL`x)l}`Znu{9+FTUc_~W>~Z_aMp@J@h#P>1D_ z_^}5xp7GDd3+Rb9Ebi&F#APX@@&3n$7|i9Z|L@0 z3p!x8!{v+d=ik*JnrRu43Qfj;6{IP)zAcflAGtwB!3_-@(lRn{loD)x@0=wiC0{OS zz?qyD{Uh^6@f`eR-Yzj4iVBZdBrYPo1sXGw`TKN69B@a%3cHuD;<47&e;8hZcE?)v zzr^}6s%w(Vq~jBL57$Umf`dpe{V8wTgC%qZWVFNL>a2=>hUJgsWG=*vy_dlUC`2^oz=zy-6|fB!Bg*EI%8% z2El>DzUu}O)d;Vdl!k$@GTK7q1hOCl)-ah*YJmULBWA+&%Fd8(&g&~0hSQ5voWm+~ z_Vmm|Vw<`gr&(>mR3ouevwy4!mt-s7gNR2bgU5mF-~}*?XcN61!pZvqHRTg%yJ#Cvpy{DX@fj}kkA)-4Ob;uR-M$jHde`nA~XmM61$e$!E( zU3k0B9b1SmO7Tcy8kVPRqEV3Ue#^5hz$cH&GarK0EvA&zUnByPbS zSwoR4=OIg-eAB#3Ht_d}(6~nbkf|4i^AYD0rm9I64k>f=e+UYbkWZ4ke#)_BMuw_$cCDH9`p&(#0@ zD!2=~s+Y1?Qd)d|RJP$`@uV64QQ=>@sby;F1F@p1DIhhH|F5gwmswWw6rg(EV;s;43)o>U{ z$?EvXe5XQNve4t$Q=+0*wUnB|?}8bis%EZyWP`0qcI8(JA&UW7EgaK&d%9{B@k_Mh zXz-wDpsJJQ>ccH;GqoTfJJmtnHGyQzcM-?P6*kTo#+9eo$0_>>Gh)nawe|5{InFez z$-}Qrz!bRzdVL+*Yl3E6=us~iojit<84;=3%{-5tiTQbqg8wcp0nQ+VzPGNvsWIUv z4zTy@f1TGceyrf295s%>vgKdo&w&6jSNil!z=z>ita@EGN6E*i~)n@{w z@)ieY7A?rLA{BmHekzI zWsYC*H=wU?9mzym(t7=)W+g3Y)ElpQU*`4=?-luEmk`x!9OC!9WyzJ71Tv3bFjEdy zGJ%rym}fk-{VS-qjmHqAZ9r{>g!e6T#`31p7;xW5nE6`DR+XEib&TNAzue4C|0T=XhTi@IQU_ zvJF|sX83k}rAwY4SuZ%fFWdkEtKK@&($c4{{I2|@;G}Atv{~RRx%ue~n4tak9QDW5 zY{Hxq?19?wyo!+vc{hLZ83j|EJ|E)K!a>qjanq}o+*UQL!bz4gx)mdM|7JG1aUCI@ z6SwP!TG9dOT%;kS>m(sfbrzFR$CD?R6&YCazq(P2y9SY|fr^_%{~t|P9n@y`bdlih zP6_VCU4v_p;_ei8cXxM(A}#Lj?(SNOI~0dfzVLqY`y8b?!hk$>8i;q*jLuEaAG=7@R$>(aWqU!BeQU{q10U9vj$A<&TE zzTj~3Hi?IF7}rs;Uf7IiletrKJiKVA{=SPGIQ=erixY^Id?7GzkW3M_5RlL4>tI*orEx@L+G zML&QUbk~{zYmYvtZ^paRe{G6jgr|+Iz=b=X+dgeEY$iNSSpkicptu7zVdYOOGNni?08)n8B z6f{;y=WKbEvX^*3Vp1$4JPKKa?fLy6FI!>oRa-udiE={rt`qf79C^uq>=nK;I2o`x z65v5I@!?OsbC~8&I*28!f$e^qdp}j7MfgqNGc=v>+2^EbDvVN&K|(~*7CoOo`DrK# z*;dd`jfAh;cl*YE^hI{U3tBa;|xC!e+rAXH6?eWKq48;zaxG=NwN* zmKYN7=C$ywtG&e2B23NqWAoj-eox^$6cGy%d_r=cnFrpTAKpAUuP=V}1%K2YUR~3_ zf0KjT?dIV6V#B^C*M)CNqvu8K!)%+WWi#l=)8}<#=kP<#6b-E3tf7oB%7O<3 zL`Tceepr}CM@N4&Hv<@II+Nf&`6Psf!Zh0u$d`R0AvrL0I)SU+f9QGcQJc_L&Ey<2 zgCOt{C_Z2_l`ed(ac%{aR}+ZfhNB8m5$@B@Q+$cK>t$9%^$rM^_?57Hs_B(jnNFMk z`C2SmxA@?D7`kpbS$gb!t>b zPK>7ZDS8;GPBZ-a#l9eRG^FA0b|+m*nH0IYA4jtf@IlgBGX=V7S5*r)mMt6jk`cB< zt<@6PFd3zNtD0G~L1fnmK@mRN#S1q#o#;D{tDU?npK}vrGv%!i8Zu+X_DwO%wP;(5 z7skA0%Jh0mbk(oaM*|TCNWlQF%1_+nBpYfg+TF@+ibn-EJA%fo{{@V(6`EiN|sVTHQJ%#;bbto89-g{)EJy`EwSl=O@ip?z7pua8$pFK0DZdphU< znqM1rCL=EZAJ*;@%)Je8p0@mt7o255Kj8{LetmK~dg~b<+~77U-_rWBp<5@jYsr$= zZ!A5r;KBmu)H08_V?6c?)6n?GCQ#$~sWK2|11Q!@efl>?neWM_aLM0FUq{y#*(+mz zaSj<)FoeDsID}(p$w|g;KDs<5l>1fMb!~7)Qr@afRZJ+t#>r1vwB~!M`7)e5?ch(< ztH9}GB|&=YUAuN{A6sF16B#1@v>>)kl~cb|#(LchuBI>(DtQ@t{s{L>MtSO=3)mAf z>V1D4k3E$(0pC(vtPcZn_SGPs&+8xbxP9?uMHROwEqcup4V6PfJj!JPqyl26evDsC zU?foqD#df4JbBz5C(?w=#3PU8uuB_Nc)#2o*G7Z}D?kP+&=LYl)1c2wF+y{`Qd)D0 z-%5<41}7%kVN#%&p+HOlGkNf$*(q@r@r^g@%f~8FT&U5;t)Gal0(YL4pzch+uAa;G z4(}{krR0Q$Sde+$q(Hq&CamyvzdgStpL=!a`|!^FilL2G9Alm!w4GZ&;k<}iCzM|& zYX~*#__0pt4zESdBq5eS!)L}^5{(X9v@;@r5fnjPUv3{AAb~6o;6--A=UFA33F_^e z^S}jAZ9=MbMg&Iwe8Eo|7$jdD?jw_0d{oyI*G5h5Em@tp2<9$^9`{PzjP#_Xz1)w3gCj$^C=TIgETK$Jij==d^jpR zW;ZryXf+NMhzIJT-iHx%fR6AH)gUPEPj~g=4i92U(AQ~D@W&1fNQ2WsX0g!%_BH{z z#rnJ)~eX@YgUZDi{7SVeF7F5m_i*da&U|p-U8MmtKzqJvx5YZWpb@)Kj7{cmt z@*4ES{=vCzg+z3ziJoc92T#1Pn$8dduVYo0li8xF@pJl)o+sKPa&SN=5%%k}$MQQC z`$Qf^4i0fM;C`Rb{0T?PmK#whC@?dVpr2*`13C$WBQ=~zW9m`DeRTa66SwC8W+2vq zTXx+=Yj!Q3zawd00H|14ST(G~N63&I19qFrvzzalZc5_pb|$ zgm3Wl)GA-!-`F?^ObJ2-zvo=h4Mq<-Ir)Yd3Z>JM=aVg<@=t?qIDnAZ`Ue5@QJ!Ww zL={Q6>v+dqLR(o-1Ro4Cqp5=&`9DHC)xf3C0OsF&${^DNINZGE5>pSZyu&^eG3bfA zIwrIpYqn)sRr~790xxOJP8q_z+Hp^!+JF3%9i~7{N6m1h_d6bKxu!jz$R|INV!1v5 zcSx!Jf@M_&FlsH+j7FZ_c(#PteRW~|pUm`$YS#}`IsHzSyC#!_3EqrS(Jp4VQYC2& z05G?kpR7pVUX`{Ou9_$%p^vQZp3p^z3?2%}Td?}e8%?evUpe+yVggcw3U`K-_x?Bp zIcU}_@8>yG`~vVB$b+h;}3+7)Cg z>g2*LI|G*Q-02gJ;J@GTcot~ab+67iQKVh`V3u+}T^*~Dsq*S0U9*0-n*DTyD0DtDe zs*F6~BX4TzAkvK#Nbx}*D-+z@rmXZa1$QXt;_ZAc5oAZbP@O-MbP8ttw?R(af)FMWv)ZdPPvt;|qxOA`UE$?V=}@g;lItg-9=Os=6%lz|s-z)V+K^C38@T ztkW1Qst83sV1*wrjir@ zVAgXv;0u*1zIksAC~IN@K?&Ud3l41a<@#gwYXgOQvlsku7~kt~yD(m<);qe7i3Yxz zxp{hK4h>0UDP(51f-@rL8Nm^76-+@v;qxasf4?FBjZqkk@MPrVn7;peTRgiL+SnN# zh5vv+9=E+er|Y>9fKw}hzt;oA{BAKs_9=~N8v348_TC#C9^f$Jar(1t)Vx99&nN{r z{c?D_Ux8+W^YHM|xhULCN(H%WT57In?QXL$ z8)2hQ1wlhOup$)Wzj9TvSicYjClG$ivXYoiG**WGsmwNMNw$Znyflg?K<;(AHz@)2 z8T~8gB*RNkn?4(4gZgOa35FZvUrEHz96Xg0>F`*n)^i+*p_KJ1M==wp`!aR**okUr zKV#rWIe$eE;!Z#q>><*X2Bb-vros_|$pa!CNF#z7nTpk!lLNcyO%I0w1K}o9a|P*r26d`XuMp{?pKTnuG@{&o`M zucUtRu>nBec?q$zGYm#LB`1p!3*{t;#l)w>u7Cdyi-d%Lj)xfb!W30JnNY{gmc&=2 zj+B}I-$(-din9-8|u$?>IPA~F!=H|U^_{+Rvso!<0fz89j zM@KuU7=!g@9K8M}CMN%_{|=bXl9`cV=;W02fxLs)-w%Hpy#5~?C65o>=w_Ixjxjp? zlV1kdjOPa6^E$54-4AYqB9t##ecJg=+;UdalQ%-@9rLl^6*b*i<_%*XEi+eel`HFG zT?c}OBML_svmKOi99vif&9LqN_*TpaBU_1@&?sJs8d5F+$f%_KJBhJtq`EZCim{m5 zpDM-@G{M0v0af4l4TV;dOOIH6iCeuNtOjyvLXViOr65DZu0qTS8Wm|}{q;neKJ5da z4aGvn2B@(l65Olbm@FSj6YJG@!i|qc>O$xZ8JH3MDw?*!QgGZ`o)#nwI~(em>V#j; z!WRquWn0Sn3nEWt39X%JZC77t8)+>vK#4do3#r19lM<#=#DXTF5JUc@Kg?D!uF|Or#_%UYP^3 zkA$f!sib{tTu#eMa@pg3j6FufI4g#?hO1u;qH;>7e;<4zS2zGm{MdH6(d4_kWRv%s z1@#d!#y3+CTO2vCo^bPRT#nmVILA|5(7EnPxOOdO1QA0JDlPIDopt969!rKmVLb3w zdxN5%@;F&XZBaXi7PgO&oS};_LdI{Zdk!6@zH;6uk%Jn_a()?9kD|LysH`4mlttLK z%p;+$Ni7kLBRiQuGf1T%9jNBi|6M9wa?;C|@2Paj;(5lf-qbpk$pLOT1U{Pgf*U_E z_EQG2>NhKDTxCm^nvyEBkiHw*Z(k6i+h`#}gIIXWjm-NZED2>cSfS*^ih|~VY**c>em(QPT%6T3&%NNW3J2mN!14^3#Fh!ZRsU7SY~$~gFVTbGNqw$G!H!y2jvuY;4>Q}3GW^rO z>u_HmaJqAN*>QClu1*xz_rVOf?0Vc5a$7oc{dXMy?-(2f{vHX>K%)tWG^`Ca+g^6w zPWuUi`HpKNEnxOb`g?wtdvw$Jk1JtewWjJC-BXs5lsyX%K8l)~lnnty5fK6wn}08M!EV~uv4UYm(9 z@R#u$Lpy>@}{h1?QM$%T3h$Px1--8j%#)sNd0jAHGD#Wium z7Vm#hhznFff^U95S1Xu`g;I#w5KBnm<~YECwiIb&LPf$VYo5Y`6tJNGyx*M6Z(H_Q z?c3oySTwa6S8L*5U4-EdqHW4AqCH_3RjHpwgoGh%`<^QvdB}34WfV*o?vV&7<|S`A z*Wc=Jbb^9#tzTu_(n&ttNDEJb@J7WKLrms$g-qkj0RxF~t9SLMKi6XCK^3=Qcxg#Z zAAF*+XHR*65n)^aY&hB{NxC6JmS13w0_A^N*UQVe6%`de*TJ7C80z#4ka5zRi`Rkcf>-CftWnv*8h29A zMaY4zhR^FmT1#h%(GCP`FyyD#)sd%Z_wE7k^?cZQj)VCp|H4e(K46y_pF?(mn?Wqg zDqh!9>?<&Z3U`Fz^e9QU+-tF<=rjNsC z1y?x<;oH%!(lYf?b6k$%ZshzET8z6-BByJcV!LHFV(=*Z_|Nmsnp)fwv^nmT3^Wx)ROx< z9xfiRb|0)^z>{*3Q7^LI{6AV$D);zJgG1A2Aa3nI)?H0ki3Dzz@CK9J`i@kHNL=`)YT+TVexpkUFj@lcPyo3Of5W z^$`$QK`JAfodLZ)?;jokB@@j{N5!O`KpC5Q83F&vbP4z?;So{>i;smrpl}wlt+_%Z z5@Vl_Y>D(aCT(AqJ=zIYqBl}2Xx?gfg$h>DW9JHjwhLjdym5*3l2!dY7?Vdo$P;0& zjjB_YDgr_U#kYlp3dZs?DYdJ}d!9EyFx(L~81?JVHFcDyb3I37n!h>MsQ%t}Kgi$# z6&0xsRwX+tBCWl>&Dyx%H!i$1Ewl=ns>GEi*VgHIolHgW!x}dra}{mnHPp`sVB-eA z*;cJ*KEgX|CsK4H5+L&pI*vwSan@2Qd=J|`Yl<|v5~QL_Xm8gcMxsoi%HgFrzQ=|` z^@tqSz@|xys7&Ga!H_n#ygz;9au8Q9d8}@s9Ar9fbzf6)=ttr^X5hhq2C=Y16(5FF zIQ=wqPIs$9jBlH>+ST8eOhBYNKpFVc%&<{s|B)Bt@-$kHxt(u-?;^h~HaDxCb(iD0 z7NC9vj6Nd!VT$u2t}gQ3Kz2$-?bFpT)nndh>t7pjH?1U6jvVREZha_8 zrKy#TINFB2XH!T{Pc>Sy_yQhiog<(yG=uf5e%<8U8+?Y?{wLRN@m^FGUI0s_yC`I`?n*(XDr?EjIM^#MNueU#X{n#dVa4>Q>T8EVdy(k1Wz! z%c(3LS+#x$m^L%vuKlrLSJWB4}^qm^D@Lr zhydI1Q9HJ_lR!DHnmf!v*rMzb!H%1(IGF{7dz)lEBz#EnS8TulvTq4E+SbJULWIW{ zwK9WdWMZ{JWRgI^?48nm2NQi=r^SwNDs|>SCdAUoW46*ESXLczn>I5x8JYAP^eI+Z za>j{i!xIvhIm*25pi=B4@pU&{P8e-ja_fM@DTFHyRZ0cpBB!v zo4i!r((GqeM508|*(iF+##nNS3r0c`a@3^OTU&*fht)gr8KlXv10QYgX%V`9%;5$> zk~krn?-$1bRM08V2Rk+eyBE$k{Kgf&Xt^*9R_CqZ(WcQNPR`pcIgOSMF%w?3iWfv? zvX<^q2LeOmxyft{X&Dn!EllN;N9jL9{ULW50Z8B`dAGS?X<>@%6+tb!WjMF$;R04T)QAme0O}Y%WXnjeR_%8pEZCGRtx_ zwifp_P`-h_(z|cnIfL`Uhxw{a4MqafT{{9oe?vn!T2jfgAcN~(r#!qmTU%UPyH;g@ zSwpWTs!IZXIE$R5a*S^eh{iF!$8Sja1u_-T*Y35a^OIyz*X zaTZ#FHD7cO$|~T;(j&@1fWDxp8Er0w-CUChqQ`(q7$dX&Nsqkm@=9Q1t9G2zan_de z?O`MND)Eq5ecbUJp2~PQfOrv^KsnvCgnW%O&-q&1ylYgswYpo?n6#$*!l@>*OMwT$ z?}^JNBgPb#qDvEmRstQSv83%%8QmqP9z8%QdQ*V+H%yJ8Mc*zqs#Mz3BRa-p+H#q( zR>mdSu0E9`e6%t(qmQB<;)>5b-z03XXP-xld;`tmh1+dX2T4&Xm;l!>ev2efD3D&LN7TkopN zkWDKLNs3slb48?G-WY8Pfe}f>;0ITZo!{`a<-U(;<6CMnrBwyUYdGD zWx&2&>s)04-VAZ#MdIjbwXZi-8%54GFN_8;twAE&y--R*h8*cbgIIX97sQ-;Tv7}B%? z>VbZUF^0F8hUbb11eNhWzA0kzT$n|-UZLj*>75N@Am&u9n$z<7wsVPi>O&A5O>2qS zL{^&1iK{2WCgL>mxZ6S3@;9BGxl&+!*Dxgcs(FP8Fu>pMw5cT#W{`oT!qlo63;l1Zr;Zh%dzV^ z^I{ZE=o(V!IuK3wF$XNH3@#y_1-Fitm{qw5u$Xm+HnT5A?lL(dUS47d#npqum@#4q zd8uG{cY|yO+PNSHV8wdpezT~`MoG+S#D^eHQC*3hV>%3)ys-fgt{kq7DdeC=A2K=!fbdMB~Lk7PR(zs z3TNAC`u<03l?Ol^QZ+7&8~~;0{h$In<>#Isut2(_c*U0U?{j6BAhMKVKktK-cnWYq?Fz}XK^x~HK@kz!ACVOxRVRzS92~?(1LQlimHrfVk9ST! zL`?gI8;^R?tR?6It7^zl;EKz{fR?;G#bzbxH)ki7Q^iomExsz27J;fe;}|`D{-0y` z46h>Kq|EH+rS=5;y|X1jeW&&__FCDQ^DP7wR=nXknV`O@$*#g6WlU!%1d$fI z#Y9)xA_no(Q6mC@CvdK!Sl9gbWp-hL{N@b-mTa@sOBe)3SSlzc0u7C!24o<>)5|wx`xI zoB^wu^K;*=!Jgii$(23zUv(M?HZB!`8^h}9{EpgF|K?0PF%y^Sj|KU<+z+M`GGg{} zc8R5A5M(mz4agMNn0Or6_BQ<`n_oX|&~zk0)xf>fy2A2A=gw3+xOx>?%OJ=HUeqC*KXbC-g6u57dS~=F=Q+* zj*Mj=Yuvjv%QYHd*Lf+u@tLnMyEaqvo25B02&d@T!z{6l<29#qqaa?8BWXPeruZ0K z@ayVlcyu9M){4$@=7V*Ac_L%2Pe!sfYSOr^{(_J1AvrlUr$|5yPv)9bim9Wcg$X-~ zT+`KL>vIm#1-i-)rRm#Tf>Ifjv5VzT8u|hdAXUpLOKmY9yqjAY@raGoI#-vrK1tny ztK#NOS1&CN?ic?Bn&kS7n|;P;g%$&Kz#EesSdR$GeV0 zJ=*UVS(Iv)afBcFLv)7dwMP94r|Zo`io=uVR@Jja6wmV?V{6 zkx(}d%Wk|(aLsro{v#CHgI&B3FYY=ZQJvc!2oGl_rZ9u*k5Sg>h8XD#U!IT_-%#fho_M1G=LRL8J6h04?*Hd_{{K zVgJl$pBVHYb%s(#P7wV3SGN2k-S$Qad{|=M`r$&cG_JxGIlMLl+uRL-Khjg(OIPmT z!oNLnp5tIN(d&Ug0s%d_Ei`0~_VDj>1SJNsa31DJlK17!sQEJ4{ixl#-Z9K|@a=Uk zE05DC*Z#P&cV`QfOF@g(J*YQx@KC0@RZpGV!?cOnnbTMlwi##OYrk)#?EpC)Z;czb z!?L(KH`;=?Ml%fwHZK#i5v!=47jf_5j2h*Bp0Auzj^WY*%;Vy6L_*3UbTX_RTODZU z1c53_?J9fD&Pz!~aS>mMW}0hzBIO9aRXRQ2)j%<%NW@`PhYX`P%l!?J*Z$_R1#{9f zTgoOC5Y!hO*5EjJSdtJtg0wC;)<^Hdn?9Q~+36Wd4TEU|1}pLqWp-NEE)6Bj`Jt*dxoJ9?x=UT1&!`?5~6s!Qc4sMwh3QBqSng z2hyPB@F@)4%mKllg+$)PO!L>0HB&E=91#}kERz||c`4qJnxe_*=$?D((FlQ3PSlwT zFr~;OV^fgEr!K~BD+92%2$Wd}p-3g^HY~fIY;l;gQU$X`a->4dtwKp~N^|_D?nN6R z7pbAlu6U_LA#VGDrNOfSS`|dq@)vQ}MK`KHPHB;T`PUM)DU(jDu+2?W;g(!Ur7~ra z`7+E?!mIix_unZWWS>S$z!{O=#66;y;FZv9KH8OERogPf^8U(A4){4%Te-KNX!1;+ zbHTA>2b#dpT7vFMBw+~-tyYum1#2!+7bw14h{ubpo>OV>n>vA*M`*Dyvv4TE$D{I` zFr;bmVurrN{8JhQ+E4p4P4rpU2hePxLsxSW<`5*FzL44AH&|WD5*Xsa+ToODZhPG0 z;T#-9M8}4e66Cj95?YDxRl&r`$V`tHMB8N| zrC|@q0Z4dDYO987Ckb>2$fCe|JEPVS{+^kbK#h@x z$*Spe2-t3cGoo7CQr6vfax_%>O80WT#d?Bd_bx8ead;PnvP#nGb^zI<@AdkM;+{i>WfL8=IyzeJT3+j9rf>3@iXZ0(Zt;b=^W z!k%sS``9CkxzC7*?xwETLz=8^LLmR$uVgyw9sx+vl56>8=J)o;;`?qrS3eHb?6KX3<16PQy#i3`7;n= z%F<-J$8$Jjzs}ddU(kvf`l*_Pr;qPxhU{@lhlaLBc)h49RLZ^IAL?aTo1u@7`liO) z=RxfBTyN^C#>LWw)(z=*T#_N^My&6Kggx^HU_-#Z_vVKw*bO~p<$t&`Pu0fvcs24E zANVWe1K)jBPV9zEcm4JL8?KFix`)hV8264)l2hFG{mBzHiUUMQyhO@LO*5MAbU}ILa85+*Y}D{Y^H9v8*#Sv}Wqj{s1ZxV5%l9CrQx|7z zS z|HA`J>55KqyffMY10!>Hk{?8N9+SX155_eAg2Qj1C7y#>M6QP7t^?rcNW^q)*?*Vk zZ_nqAAC{7{Cj+XaGyNF5EM1D~x+Dy@xb1D~&3bm^I&uT3AGQqo>gL7?@RNNaUC)Y_n3 zOy_DP^m=mA0(9Z>nsmKia7cplBN+9|(7u>dC@GiToFgRR2|Wwm=#Ahf{JZDVKsP4$ zfp#_=S-OyD)?M8^M^g><3=|x`Krb*Hn@qZ&ZA1#KFT@H&VhC$(DrB07QybHB zXH4*p+q5R=*XSL$b;(ayZixV9otb~&42g08+Xm9Yh+RFF<+eE=liI$@B0gztPowb; z@ImVr55cA@>5{p+2^%-DQqy|vhfHqSmo&VtH|dG@hpptpBClSPOSHSR{$6VcjJ9q+ z&-08WCG0bs@k2T0z9W@tJuV53(%J=6UWvGJ%tOtRsv~T$DBIls!V6Y=9JuoInw^68 z9V!L*IhGWXiU^5ljf%|T*wG4qUDrHJa^46j)Nm_~T#?+|j&a*~ooswPaPC5^xT zWDD(tg`9@mBHYo8KSdzdBq+!yBcKg|feDchk=Cd&op=}LtiQTQ(9Tbv3rH#ScG4H@ z)^c{PWi1_CP-L@-wx_xO34CU0qMAW z(i69IqA!RB9lQSS2W1RtqnoqysqKgSZJK~R5m9@N~{iUuO+5RN=aR8cY6zYm3M zZ^2xVM2of#8Hh!XHG5z`IMslg?x_cyS9gTSB+c++1al>>$wB}iiZUNXVwlf&1)*+) zY1fD;jgy@6EyY0Bp_dNphaC-fwm(GCFt0M-BAf2Gj=YF)R+ijwDFCy<&4YV3o!if_ zDR%qVo6*>SNtssCiZ9F30?rzCsnQ&Jk}d>5EwjkiLe3*X+JgXNF6Fjn8!bu z8u$)jYTELv2d8Ul6wKp45viihgZ7jDF%8}1)a8aN2%c7t~S{?l-J8XR~)b3e?H1T`tTp&ala%E zMx)r%C<%ehw_!PhBjljqMMu{5zA68mtG{rSE1Iwen z5m~Oe=gMV-pmJYyjj%Y-mE;Tt`hJlNM7U^|+BtaSm}k*37v3thq3L{PE`3~<21!qp zw1pFL!{A6{Pn}ruj_c@B1Klmx33!=4!x;w^>}9?IXuH&mDs*x*sbB+bj=5}=spcD6 zroWQW9yd&XLv2u${iHB*AvBy)>80o(-)9BAqgH!JaupQ>9SFy6d0;9<=~;-c9|cdY zkdlI;AM``Xw3L3Ql%>450lRLs`PW|ir(uz~#X} z!=*FphcYmCXDuC^ULQohVi3trPvQuJ?=rSpk0gX3xaoWhU<-u7WEI-U5Mh@*{$M|7llS*tsM8b%YYl?5KC__30gH7PGN^(P{*ICrZY0}hB$Mr zbUGCdR|*(>Yo$hcWfkKHR%uzlZSOk25n!Aa^Cx=r6=!e!3OYR0N?AqL27Xg}E+_2n zeRxJ^;B#!Ia{{qgoMgcXyLbWy3()lNw>&l^29>SsihsGl&J_MQm-FAw0Xk<>Xb_JS z1-x#t{z@nS=_(8LHf-Bu+~{+C%}9*c_6_{PsF)q}o>l2A`kM6pB88a8o>F#a;K>DZ zq4`D}&AO8e5i$Wg2iKEM!E7Zai*;jzrC|vcc7M}iPLg4|b7i*e4i^{KQ~diA+Q(g; zqVg9!zQ6zB4*vlbKZC83Q8&9EF5+s-)#zbf{ns44Y#03mMH@((myae%7nf@LO)c)>Sm&hHD`Dp?$dM*=5M=a{g;2+^{V|Hl3yEm6tfxQHojN@Gq@hbvb(q^z zLM%Ft&u>yyw2^k@$fW1-&Yf_S@CC@YSx3yze~X7lGI0#DJJ#W4vEG9^z$wz?T2`aK zdTBL)eAlj3wH03EaeRNA(Afq>e!CQ5y3(bN-5F;qWW;jcnI(xn^NuLd8JrqHqNveU zyNPsHJa-8usgN7_ecECx(y-EQj+HnJ;OfNCsyjIM<8x#?&t_N=V0SvvYFYja;?N~p~}>lv38}uog6N$H@>f+`|mV z%0WU+g#@f#^nFb#9P11lot^BATK|=o`Q061>rp+ilh#31zh}JP`wLJCy)#Cf)q(#s6Tpd4EqCN&9;(hihiocD2 z7-Z|aPB+X5O?<%rEZ|%1!_hvf=ofge#6N@Qpme~T5PdL7q+4(2eTlLkzqoEXe0DW7 z{>6~OIu)Xr`)!;yek#?GSQ{#1 z(C#iTxgRaM7tTqLx|F{zm6<&mS4R`W`< zVIDHS{~;cg$y{)2D2c$|av03sa}3a01d{Ez4o*%r+vh5Ve@xVW%u|7t*={}*qdxoW zBKh1z8|dzlf;(MPMK|EY8Dr-f`T75;SDX5XSY}|@`el14HpPf zE^144mZWg2>*YixE9^FQ%eEP%T-PSf3(XB%LrXSxUdg+)y69R2&;x}dr?f^3){W{D zikIbQ-hx}Rkg&loeh_AKgs$VarKBUZZ60+&H~8n4xGcG{htApGTh<-bAwAOBCm4ws zAkhc3@tD1%aeUM5TD{VPF=@9tt{~avhWGrD+90nIGl;yuP;nG;07?vfYToFY-h?ld~#aC%Ix)qu~eZycPR->_RIK)1G<*fb--5l zai8)GT|_$eUl9!(rRK7V0hv2g@(uaa<8Oy{b4Xcyn&k97J2)KoJ~CfiZ%N4^T=dM3 zskd);{E@c_`SCHXLEP<)xQdX z1)O{i7z}p7T(@cK;gitBTfhc9bpO)>BgCEpqxkl0D4odb2%MZ3j^CjlmTkKG1iuuV zg5JvuTVm>~zl5n;Raol3{jv@4=c1S8=l{nAs9q*|JPZCwqY5fs9$R|grVBZMc07V7 zo2LsLqYEWZU&;&F`ctQ=obNHKJff<%L``ux(@A zign;E@uZc-Cgb6ssCj2;&To5OV%xKFMWJ>l+UJ)ixP-xlQquA=V-fSQ+gy8Ft&Z`X zbx#F&$j?*_VOZT*ZEFvGX!4>t@bapQ565-^m>2$GYq zl32Q^2I@cyMuQMObO9LbB|8kOP0CQwi(;Rc9GSXM&9I<8$J#&9<|%n?JkPeGy~;`@hmgt?Hs? zw==jO5R%6_zPb(b8fMM2GA(*q+FyVS#RCl$J9{78R-K#?H(qT=T{(xww*J|}Nayg@ z4qc40*yIEYl{f?*xCH_wd4KI~=H4t+?N!yUjR! zeS;@Bi)22L*ZQU3h#QX9MM8KnvzK+asIPEfc^pBlJj;P~z@A%_XpoXB>@)Sx;2`8eIR)h}Mre6hw?y=834;%7zh1M)s*vF>B&V((&TL%dltJYW+mmv8rRInjlA%#m|(F2m2k@_jS~tfx_*x9F5>_oe@OFp zCX;<#f+%wrY-(i4;O72v#ohC)kmviL#jM{sy1q{Mp+aQuIiVw+L{0YRL%Itb+uZSE zC3E;(qYR!?4IIVIYEUBQC{aI|$&~nzSI|3*%SwyR&pMZ-H;%$bwn_J;gdo^bCRsYh zC-O&pILE0i-?h4>(?U6I_nHDoIGLn~Fgyx3s zHws8G01FNj)-mZY0yY0GLj`qH+Xt&dHXtFimm$0mVraFOfmT-4sj`}t+D6mH@1$Ff zk1|nB7l|1qpaNUWn2g~Cf_Mq|JG8e3jJzuT)ex7qtOKw$84F@Id+I%Vyu_W_3t6kR z#EXl`Ay17xnVY3?d8}V?7KbSY61>GVoGEXITFi)}+3lRL$rDhRqXB_8+Y2eUp;9|b zCVI?8@~9;_A<#43l~PFos~F z5g56eGX&jXNq5ZpL_a1LG&+d;=fa0xgM**=kvk;?ILpGEF^b%~XhjlF{ zTy0>Z9!Yb?Hub6={+IM1SRG0ZS73H~B5Eb+;>i6xrzEHA!C8=`mCSB;X1SuQz8+lD z*Kml8=NX7eK|%0#G^D{u%JTe57g8{XS{UxiP5V_#DKM22p^bhPlmLUtL<3J*H?1s5 zk%2KDq_h}q1fvSFcVsk`1$*zv({=47A=G1N6Z6oxosTon!sCHerV1|p+1Eb31I3O2 zat_4rFj1IeIh&4AtKCMoXNSxWlkGNi6dZe@ugm80J4iT}EasOdKp5wlG{$gl9i^~% zhP=c?BhLVUGc~h_PV3fbP>4?-U{R`&mcaWj{&H6hT=oxExAhzTKQ`t4i??=e`H5GO ziZy;PxOPKo3hUR2 z;fBQS7L>^vsYx+3HiS2W<%2nN&0KHw_L$9>=a^u0s*yj4lMp#M<*SHKXHJ#e^(||+ zJcU(IUbH0#q-+nWSc~pnfV7EiY7H%zX3M{))d#U&jc z+7cKM=x)L3go#*<$xR@j2cUjyj706LAm^){oE243nTCo2DTiGSNyn~Hc{dC#0P+yJ zwf}(8@c%S79Df6@JZHRl{Qn93Cn5GdUTC~b`0Yd@WAbAtDO~uk5vl)QN55S>zrYXW zKA#W2-IKEX?s493RVqWtQ9u(s?>)&N`a(vIX~@c)YWtm58QP>Ye*HKfoh?+m4Mw6$ z5#b8{dJ0PCl22ey{bYgbC#3TjCs7Y<-j*>wK6b_WAu7^CGj**4L|?A|qv;%gD~Yx> z96OoVwsB%kY-?g06Wg|J+qP|UV%rl=X5PuY?^dNNRjDL>DmlA*_1gdXzKC=*&*LzY znC%IWkU7knV)A$+Atr3eAXs{$k_(}`JJK8Bnm?GzH)ZI`*XVW9lQAB3Uy1kq+4i6q_Y zbI#};?Bu2zMoMxNDpGDU_-LA0wi|X00ozOd&K;%j$1a*9eOH_P5$A7_uyCl+w!=oT zkN0)nz8N6|R$>xh(COeg*>-3|gS2XpY;6%x@bnZ9a~)n=>iE+216S(gS1a(x{+)_M zty0hG8T~nWjIjB&);S&LPza~R zW>5a5Yi>ifmFC?j7tJ&q0~`N5?5v=>=21{0dU2@_Rx0s}sgt4Zxve&usk~6Fv3WZV znQ{T4^d$(WD3j=Xi!Nw2(WpftrM|9Acau*(g~xOXwvtCS6-8Nf@assFEef~Hr-2yu zOhT8tI98nF7Th7O#3kv_Nt?jN9U~J~Xk#=GJimLRfCWZ?R0J0&ALuoNMTbk?Jv5A~ zgiu|OV@!hNunL+-v%|9kaZo5C8Q^H^qYDjYc{T^Q$thGqCCz4OIDTTao-GR$!OJ-qVe2GUP+-1Amh~m_&cOFgq-{$>JZlU15ZULjHu z%*i8Op4&&{;PZ-U=8CQU?0Yr=!%ECEas)Z^nbE&q)9YuGVV7K=y7V0;An4DT$7Qm7 z_q}HK0QhYAefM>g^A%|Mf$7)(GopX@)z|u3E#y*zzjmHEzKEoMfpPb!uSZg^&VSar zsAkoQ%;Jw={G-hsV>PC`vfP6_m(J~jwA-Jcrfj0rFt>S1xri)GVdw$9dY$LLgd=fM zyMGcH9~5Vu&1@lE-VEPhFHi8H57bUoPECiya9?aaHG!DuIC#-cetJEE<`pJwz|NXL#iM+jrcxtCilKzrX8%h`gKq z4D;N5IXllKTkBoDqI^Eybj%+m;~QP&`JxsBR}XR;6ZY%dzWpmSvCpI&i?3D}fB7ZR zw|zCDucJopo;|yq-6`VR|BUilgvwoObi1Xy=~2h942EvpCcS!i*8O&?+n?zjg0}~j z#qs2@mzS=Pn$|N|eXnA^H>bWo8>&8ljLbXWc*PDg#A&UK0tAP|fzm8$!aaZ`ZOiIq zCNVycy*3`Ok1*!;-eISJ8pM@BB5!8$U3!nAUGCJ?^@j&sjA-fy`C`GJlVL9lbG#iL zIiZ)q_YR%fyIxkQXmW=I&4OR>vlBYLd!Nn$ZN|GlIcRTZ?0i`r@E?J26-HmLhY2c8 zUEO2g*B<41UUWUKBZiSLxpNBTDnDS@a9C87rR~;UR){f0v=ad(L*bx!TQdDZj1KAW z_{aEmg7(o(_{a1TTw^R8num)Ax1fwp@l*ImU}0QyN*rAM6zZB~bMZlfgIh9?zb_K< zLVdo@=kb1C_C=ly__fx%jl$alC)JtG5**VZ=U;rxUn)FbB#MfffJ}yGQ<(7U;i`Rr zONbc7xo3bI)N=$j&^86XfJD((3A&p+9j-DRgmnX}deN z14#qv{bdJwd|o5koN`C^wqx1A2H$(+l<|62)YzS=m1gWn&}RTfhG)$uiqwV5i?PyC zcw?cGv#yqFwCaP}QYLELUBKZUsJ+1ucv;G%5WR`4ou|@~jygysq?O9>?Z0Wj_YT`# zE2`L8!@@5J07G4M`24SD1Q-;EV$ovR_CO=i$?W(bSsPUXloFuqnFrR|A0luVKB1*q zVgPIj4+W&MVF9=3tVjyy!RKaQ+X6}!3sa5c%zX}<4D%V=##c0Cqz0^5I37O09BCY4 z8pFQ6UvlVfjOBt&G%SA`^suDM5>_x$tWSEo2G_@>VwYy2d1D}PM|uA7V#yV`+v*#? zy?@Q1AV)w3i?d4FVN++`nw!W1z7uNx<#A|SfX4DQI$3ypvr;j7HJU?6ILC+)7?y#B zhljUFG-s@EpkDhVNn|)TB)1c)7PdsHTAyaa(=`qln4NRVaDB0MTif9ci+%czj0GF+ zA+w)vt7}YQ+;F@K$Zy6$`J>VFwjQ*eFLbZ>OV_TcwRKb!7Sq>MzWx1y*jJqaj0j=* z-D7#Ib?uDk|NE`~7|IE3oI6jZ_5CsR{rBRR_eEUXUFy--T^wa(Yr}8XWsiepDwYc- z?v8+}tcWr>cfa6(-?B53f@Z$vQNIa4Qt*||jNs2U{61jwp#E{u88${Zv*FN=8GVqyE@2(A7XSQsougdr zdy6Th*FM zOV1>QR@L0Mw8^9&DOil>s6DT8+#ur*+%xywI-WP~3yc9{3-v0%zQ}dn-}AixfI`3O zFyPY`@HXZ*_C+%GeKz-VZ4h$!Z*9x4Alt*&Bhc|P*6a+&9~?%ybQ%_i3>Kx@3#}4a zOuSy>1r8=1&2i(hzD8=&V|PE393h7CLbd=Vy$%|I&XLr@z%yp(>8Ho*CIt4XJ(MG& zh@HH?G`8NrW+P29EB2})nEGbxbU~0o^DjXtk+?&V6y_%~R!3}}={jUVP_!S=3zm9$ z>NE-6JijRr_`zBmgA1@K+^^D$so91KK8N2w6Zh+Hf>&`;5yD!pOPbgFq@iI%#Plc{ zpJpLtY}oNvlRjN}T~E<(d{gxN4yvkjLxy=uNnu_~nUf zRYas9MO&8eikY8AbGzY1ZjG;+2du$9cC=z$w1wNisn;JyTZQntC5Yqts{oHMkvG}i znTo++IBC;pX~P1u3s!Cgm9A}Kx^f366TcJlZpD31-F(A<-l**_R43HlbOtNPj|6oB zpo(C@Vi-sOliTwI=h)Kwaq;wC6q#Pc2gt*$LeJJbvqb`&9)}Pb&l9TCjkdp7AWp(@ zYdgQeCc+Qn@8dH_7l*Y?f?nIpte)4ziIHnqRZpH@gRlgIjnrdr4Lb1<@Oj|yTej5dOF`DbI%vP5;0JgQCuhvtP0IVqzaPY z@YuE8uCIRf@+r#o$PTblpkJF!wyVSFX*m?5B@VBtF%L=uZS{9KSg#Iis^Ms0WHm7JJDTx?3G)01fn56@P?FOp2} zfJ}rnmX`M-R|N?a5V13=K5IPZ?%?l4-?=B$H3FF3Xj?6isbm%y!}AJs&u z9lNSywR~@;m?Y@AjNU#p3Uz=RPtFXu?bpLJtQUiu^G{R`exH(HLMFSXJFnG2|#s9G=Xk!-bZl9;H1u%&&wm0*yv=@ZmJwCNgpy<8nlCpij zpUf+2KRYk+a@9T^7Tdrs`*n()j|V(?cfm_}{Zi^LBRA{;;C`TdHdjD$Vw}&FvCYq) z55URjgl|4)BEVfCBF${4|L>Ys3{Ph?^(C2N%%M~g6WxAyx6v}fI;UJ8>A8D9y;YTE zO?&H=tom&gm5s&sI1RzuDSAbD<)Z+~On}X0R9!<5Y-lDF5D9lO^m#q$TEg7ViIVm2 zQa}Ft=aukUmiC>!)5y)G{y&~upk$*?`}s?|MhJ{`j@o_k_20(){z&xxuCZ%qZEbyl zZl~))oeJdM$JWl?$7XV13fmw*Iyq9jVm@Kvc>AXTneT_j+-txY7Z_H0=0sBDl+aQl z!S<)wCki!P$k};U?k*8#HD1T@lY3pH{xLZ@9ASJ*{(9!yCu_Ck&ohZPAOW_s%xgQPs}U<IfMbF!e-HB7)2Y%ki)@iNR4lpsH=Ok};lD^jH^MvoD zhCIBw&v5d=7lnGa48cpbseoTcr5w0p-mTrIf6KhJ1ItRFi0i(6iJI&6Gp)Z9M7--- z?q}E!vwnHNJxu!|j>>eQ4@Cpmym(?({NnO;!e2YTEf^Jszn5Njet&mkE_a?=+wQ+^ zZfgu5=DsK9nE(8MVDQ&Ltls{w2HY3o{tgI>ZgJ2<7t?9CFL3z$ijx4r`mt-njJFCh zU~o6b6lUZ)CtQ#TLkcl=-uFnyAl%UH!<0Uy#an&1ZuO+XK|BcyysC}9lp(Af?Bm_m z#3)xzdxJ3}2C%T&u8+qjJU#P;#D(_NR~#J^H^3e6B@$rSe~pd(#E^$@>#MUMo|s|% z%hOi4Iic-k-sQ*5q#Uv(g46~TZ5T(du;j^t1Dr!fhpY}$-a%_r0`|-4>Iqmc-C8Oz z`?KjN!PNtr_-r)M`&LM%3jR%<863>5msn`=F_T2B5cz2vf!akUkuC<=0=u0V5M!7; zEBWBx48t;L1gN^{>woIhZq^wb>3{6t9SyBvyr4Hk7AZ9}+mnP4nc^~@f-&6lAYw=} zGTtMd;NfU=D*%6T#MMr?o^HH2g=|KPcd-)XiLf1w%;{TdoQtn(-8q*G z_LmH@cIU^MS%crS%=0ycph478D%xjt)Lx;J5s3 z#^XAAJ9>r={=v+5qp_)uy#4Y(gm|y( zU=}=VQ~-)ch>e~ePwh@%ar-jM)iwZRuQ1b#=EIkaarYH2bpU zehBNcZ9jy__j_5TdmquR|B(+UtotIMzy1c+Z%ZFSOok8T`%CrQ3B)qkkSVB<0mDOX zjt#Q0c0-m#`)R_8a{QP5zNaW8O2w()m|OSQ2nlfAC9{UKyMJV$u^*xk!$@AsAfpoB zRiqx3osL`IAxERB7-tkMZ^RYH?)r7bM7uh9QowDbEr6CHs!8{k(!o6M+B zsg}vP4iXi^|7LvtY{896i|! zbSJ#YNpP{w*@crfJ7;x0rx!?yt?H=b-9J4b&1xf1i8ityLyze&otn>^@9i7#(b>xo zCNHM2u-{xAH&RP>Agj=GT~Ot+#;j8^m3^&>6h-?n>)fy$z9monnCh;^F{S^kR5R5tgx!v|Dqt`_MN>k2h~S+dvcCZUkF57o)qncJH#4*-hZ2bbtF;9Wwv=4;D%J zP2}VD=AcU!T6Q1PGa-zdYzrz=a~yKeC`EpN4TJ(A<;o)NAO`A!SW@C<0TNMjr|FJz+|(_v1M+FxuBey(=$&8nWQUV=}4IRo__{ zES`Z?INLYXOg=*%u_R7WsoyF04oko!KBso?Xr~TUM@Jo5fTj0COBc4vp+k!C#k0Tn%WXRt^sJ}Nh- z<`rwwu2^HBP9yqG-P_zaL`Im57V%F%sNvkySOeHk&B+HsX_N0BNtvJPUK$Y~V`mgv z4sUQJ_LF)r4&ff^i-g)Znm%xPE5;^f{(7PYl)+D^$>v0*X~aht-AtO4QYs+=A<*1% zYbUrLr+$CUdw~s(CZ|(*#*QP@=WEtCz>HavSyKdZATW&J<9%(dZ~S;N0|Z{i03jrF z^z`)I21D=O#Chrdgn%@u*{JI!hLtz?GnBO0G0~FDHr+)ucd;Aur*Qh)R!zYLL(n`; zs0kn5M4liAMVAiaOof}@YU z<)8FNoeGtX%lN&o4+Bh*Q8Y=Qpz%{T)HtM++iVg4CI?K#Fv`()cHZRU^)xWilXwZ z0}7P)m_dV<-zUw05y(>kYmC7oqY4NeH43_bR#h8Y zL)J9_EeBlHWwR1F1#(OLI_=zci@PVQW~Uz&zCudH!e8a7MGx4-as22~9jXb-lAT1q z(?qYW)h)(*9Mey_qU!JGDmuodumjzF!u|Yhe@`9=lfg{XAI_b!Z&Tx*7;a-(`hNb+ z+Vbd3oKqvYzN1^FQlfcmgd%l_Gk4c4ptf2ePHD1G1{eXD$bLgapcX5Wnnup^2d}zo zMozO8I2T8iqm`4Ui0z?pts@7p<7wMM&)Xx$q&;T05^H&&09Zt>U76!XcCIAvxTga%#rI^KEMW! zlqTCzl|2rg$&G7VU^%;z{K%J|EM!f<;O9}*Y(`@sH(AZl;HKP(E@Ec7ubcT_7Qh8C z;Q&2QmrEU60!((nsaWyn8Qaz|shU8WJ!qXNf;CE43v}$k@DrswKy5!7mWm)1hDjR$ z9kANCX86bzp%@pe>V%?dPBEzcHPkN&l=C-WIP@d&T((W?+273{FTtm|%x)E7&0WVdSzL2zd>ZJg6*anT9 z`Q=UO6&`Ley>VQT%D(58I-m=9WN(icNNCjl_wf~*0$#uTctO7SL0|iouUn@A5=|Q> zR#uVU{9cD_cDg;})_iFaOjh3kk9V=8$m%FTDnAE}@y|ijJep+;@CZRCL1&qBHCLdQ z6h}uCFGLE$HToqI5?H2?0~s+ksh#~2po31V=X0;U`3}Fnk3#k9EcT;4zesrb<-r5@3(G4T?|#-xq(z@bWyxge{!=#zF`M zH4h(A3zg&}yv$%#i_8)tFrI`I^Sz%blf-*cCZ3#8lOBv{ATfsy2aHIrD_ETIECpSy z&kmibZeYp!=+}g)b}DrjrEW2+{6sg)o#@<8V&15qrNpl0N?4vqMC7JB))cpP>+ zzGbwd?pHjv$@DKI#ZGdT!hrWr3RB{$c~0+N+S3_WkTC#G8aucf(iolrHq`1?)_CK?3e`lOPF4?76C~>lC zzifj=<*X7FuQOrJL;Bz1^(i2qHz{rvxZRYRM4(~4h+>beG3HUR5u{akI;$n4cypIi zy~io^#=72u5WpsS@i@s?S+mkxs(Y}NN^!;@fK^nAege=|bRBp37PA^c9MZVKueHj( zeyM7wXJ>Qoe3mMF*txjIzpPJR@or2^Om`s0Z}8PAjm~<-3&Aanu1Q@(#}^o8P!kVQfm*oyUhx6 zzhFs=jQh%&^@yhfVuUmSt!mvy8GOcci+-OB5B5fED)$ zmc>MJif4+9d2;ClxH!>@-WvwXqWcM@jpGsTJ(rTGhwCF}Aw}6T3e*2_wU2>Xyg&Xd~tg^@ccxLmhx-*e*D1WGqctuVKs~#hk?iW&hnR{ zMVz}XViqlq$h1Q+%ZUYxAXIg&^N^(qMG<>KKY*TL9aqFQU3b_<6e=A(v?crx!c*dP z(X)5V96oG)ub0Y!QD*#f=ur*yOd|xuCv%@ugyWklU@?L=BuT$Gs@ZDsbf@WgrI9hR@7=x8euhl!%||7##^DigfYX(@5RHV9AD z#-UDtap&}cA+Ok=ujIUfAapoP`2EM8I!PpBBIp`HC4^Eu^J$6A&mTB<`6ttP^8x%?py|Da|ZV*c-?4o zy#XZ){)nI%AoKQJ4CWeEb z$=IS|P&8TD0mQ9RnwUOaPJucXqw2}XJd*8RuKIK041J#!%kq=jC=oa4DCEM0=KHDy z>*^^6qLt1*eqFM=6rvOfcJS}@69e49%9$M6&0)53z~X5ao28aye~>6W>4vnw`9PE> zrt6f>?)XxtF}gLbDuI0*9AOdyclQyTl}*WzimFFyytTzkNvDEf;8=YNUr3MmT!*-< z;3hOR3O$dEE-^$_w*9FjJSya2ug4E70SkRry*Y!y-fZ|p@TSBNON~vs*YDD-fc%P; z887}lOIP*m7sdYIM^6Y~(82ea3!fK>Y>1hI_AclTr_dEW3nDDT=?Vc#{Ss)Ir6e}i z2rS|>=ApkDUY6G3IRNC4I8o?S00G%4WadrI-yFp`qCGUX#=-K27TZ13pD{NnNth1NpY+!tCBY%0sM_q!o`F{_xP z^u|fn{AQH%iIgsA?zU8-zcc20GnkRgKokiKJ|Fag|M-ZTh2RKeLM0w_;PlkqO7!Zb z9rflJ3>X!kMp(S<46pz4WC|OHp}Q1<)b>$0!$^FoS+=H;-oyFlvCrAzKijUx0@9{` zWBx8ub93K}C zh)B|AW|5b2ve?8`LC|tp4BFoP=C^ul;m?|SNEum4uF-~;({&yqZvt_)0c7$|W=;_0 zgWk|dNxwpioSqOL3n*oIt!GSK+zb1K42(gbvvsb?Fa!q)t%qc3`-5o8;%o)@F1e=a zzNwT3rMKhRlc$IZg^jte_=R;7X4o-iddSd^V{3?ATQCqOaKL_&H;>+(L_G~kK2Rqj zORa!uql17%k|4mr=fX6ZH9dXleBo&@*+(MuYzZT2y)ER(pf+8>2 zkQ;)2OYcARYfm&kYYg#$5Pb@N_sB$H=!BT&?bi@ET!ptNA2h{xeTZ#Cu^)b55ax+~ zBnCai7Y1>`eS+cs+0%zXJN!D$n+2+y=|jea9*Cm^a|RVjrqqzcR*4Z&S6>(&vq>h0 z?nOXgJNS*u=r>*i^+xv|tBa_E&1N;bS7kl6g)ul(W`dwSJ%*1#ZawrgPR0Q9baZC+ z?mAKxjp0tm4n^*s<>~e>9O)akoi+x-D;I>#>t1mW8n0^l^d~{!=bRQ>FLLg^yYEzd zuDn?tzZU3|?);k@%vP0$6rxn7T17KCu+FDdUL1n5sH`vrmuAih zG!tYz!Rfd3@01A42zK&kSvgKGqnwUE16|`AQoqx$`mY!ck`zf2VpOu@1tytXi(-laHQ#(TR??3t_*60*<9L_b97c@$A)ql58yuTK@{G8;Pl672=fYq65ZCO{vMlS8Q4LMEF#B(ac=sVC2M8hWGfOBQ|qWQtk0hI-65_N&V?c&LRidHX3Jggc33^4#+71fp^*#tVp(l_ zu+2w|p1-5;xAc22L)6@7h*%PpEIBdy9EgWK1`-N|Gr923H}GsMbs zG8xPinu#h~O;3a9nOGIF0iW$W=*z0U;#70I3TV^E*DV{*eDkBgsGm z;pdANb%HEap}s(|JcbQ>au3LcYXEHs z7J5m);~1B;+$e^7BlQQFdOoL&#|dZELvx64#a<%T?x0IzZ?4Lnd(k_;@19(Hf}6|6SLw=> zl$UjRWuzB2a&96=#D37`dGL6<=lB^~OeV(H(>9w{J~u&qvSe$BS_z@%88R`Ux4{kM4}SiPNXy3> zB`c9jfry*b5{_VyA{U6L$=_pDkQV)Okls6|mbFr{GX56zw3zRG=rQn@E-i*K+fUS3 zto@N&l2JVj&OcVAjgyTX@aQ?*@X64Tron)LV$L*xK%r3PE)`i;Nsdp25vlPyd>w>*|EbUMCH zVdj1RaK2nqoyf6#NP&t{=8LQ1w+aT{WED}OTM^LVc%GZcBKT6k=qQMISboW#co~AF z%s|X9_})STm7_aMa*wDH5}1&ECWm@l?<|S#Q)U}nc5V~yT7TsHoGlfF3>HfDIau4b zVwpDXwI_or-cigg_o6BIpWO}VdSh|G8Q$Wn^#W`Hwcvt;c3#(X&bdd~Zv8}byFz45 zA_q+xp^GE6EZp7^R#=fH_AU=rz7P88Ie1D+@}eTRU4b%bu?9<(290K@z0oxcV?yiz zJip$(p-u)m2tH?sK$zB8AqoZPYGvuP-`+t&2`Vjc#whrcdxB7hBsR{uQWRjM>!kPs z!E*9MDUoKZ_2}e$no%Baj)*8cZ^x*iVh%*46^gC`ZZPiNE!y2UqvbsoPrYZV`*83k z6xV?_%ci4r7+q;>is=4ik+h5ZkQm3!9D^ogO=~(Ux#0joS{vYvF&@6+;vW(X#^cZz_UwWEH^#8ne3x!)8g%8X818) z$=!!%X?G|tc%>ocUHjoM0RH3(b`TGp(cqlvu}wr=uzU~ zMlenGE@yx-FeeCEW~m|dktfM=mW%A73f@Ov(ju#YMz*MazXsY#ci#;HxFo)s?zN9=l+g+{O>& z77~LrV}S{8H+-crv&6a_9+UR~`dN&_7vVcPf3SaWFqO!v#MVOFI7Ni?yXH&~9YZ)x z=E3RabydM?u1*1E(MDTkaMaK+QOLs-kXaj^lZ#-H6d0`RqW3mE?XjqMAKs+U7FA_Z zBlsC-{=T?*O38#0$ng;%y9stQk<$xt%6}H=n8NSy{l%n$DA#zrMfa+;7bjcCYjqQ0 z5QAg+k|0E7xx69!AV!Z1Y7nj$NA+!20{^#m;py)YKIng#FKqDc^b;#=mN7|H6nG4R zPGT3#CdGc(CiB?x<+iXIA;iV5UQH}S&Y$JZ6+q@qhkn!Ph3Lu&@7*uK5LBOv*DPu@ zOh~}OCu^cKw8U{$82X7=M;OvYAXuWCwJ%Wy)@Y>!)mVx5H@``fyBvvhB`QLTTi7m$B>ZYIHQUpyMB#W%Pr>q=?lkwU=$nUhw ze(p0Me_j^?iGCqSpgzFZW@5NI!k%3Fq{`*rfM~85ZlbWIiQgRo%utKxfA34o@@-hX zXg#l=bK+#Qs>l=l0-N#e3;S`7s=!%5=%k?T?5MkZ0;`nGOl%ZY1y2(-UCWWmGol*7 zonr3kv&6}?C?)wwj7!usm6*^V8z~VvjQ)DQuBa4{4>|ojry5Pl6)X`*D%J=(((4;R zGQgpX4*PM9lZEU~jwBdn0H3L8&X*V_}>V-0A1{`~l!*z&btaSqya5EMAK-@gceUrjad>33hTQ%%OWQv@~1Q#frXld-h$MZ~gMfM(*8zSymHBqOKFVKm|Emm5%e7 zwOiMe^H>HQ=&CN@KC&@W1(};o;wQ)NZxWJf=urr4Ez<1CriIQv^=4pr=JGeiD{s8= zSB_y8Okw=E+Ok4LoiDm<#t~j{K$g`OZN9$mXbE08eaoUM>bBVv<9S^6oi}(q7F2Hl zH!1l6q8Y;3|HKce-vb-V6Dh&0Ih%%oCwuk~2-aiQ!+d!3#8IQfW@l=&QmDkl zn=h`U;cs38(HN;U@8DmJix*wmXLBoL-Lznd`4VsucqXhX?6w)|44y(V6x5)Nr)}V1 zH?TG~=`oD~Z?e*KDY}Ozz`6WMDJc<9r4JSXZh|4_&$tRwsf{cUpKcvFNe%!>tnfwa z>p)bNfVJ%j6@O<2$v~#(WTL=SNE+w2K$z@f^2BW7CZi<3>FO4$1!+{iB6jt!_O7KU zRYZo&qMvl$@nyvcOb2iMqy#|dn%h3&&;{s==?I4%2)H988Jy^)1uuj4@G$U9JzRhJ zjwYz`j(*qq@pEoFqk+WnKV!S?cu<8QVZ4+BT{~aNJ-naohM$bSna;qwdzr`vZeBBT zdve*JO3 zOHB5AjXP#b?#=HG$@uqATwc}!cEWq<38d})

L>HUc&6Q@dRR1&TPgC6-b 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%0AAMwDuT`>As@SMqTk#wqzl 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 !wv2HUSGr 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 z

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

K9 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⪻0d34 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%0DLmicR2&upYAeJk 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 z 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

E$*N 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 diff --git a/dep/tesseroids/cookbook/simple_prism/simple_prism.sh b/dep/tesseroids/cookbook/simple_prism/simple_prism.sh deleted file mode 100755 index 2387e11..0000000 --- a/dep/tesseroids/cookbook/simple_prism/simple_prism.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -# Generate a regular grid, pipe it to all the computation programs, -# and write the result to output.txt - -tessgrd -r0/20000/0/20000 -b50/50 -z1000 | \ -prismpot model.txt | \ -prismgx model.txt | prismgy model.txt | prismgz model.txt | \ -prismgxx model.txt | prismgxy model.txt | \ -prismgxz model.txt | prismgyy model.txt | \ -prismgyz model.txt | prismgzz model.txt > output.txt diff --git a/dep/tesseroids/cookbook/simple_tess/model.txt b/dep/tesseroids/cookbook/simple_tess/model.txt deleted file mode 100755 index b2331d2..0000000 --- a/dep/tesseroids/cookbook/simple_tess/model.txt +++ /dev/null @@ -1,3 +0,0 @@ -# Test tesseroid model file -10 20 10 20 0 -50000 200 --20 -10 -20 -10 0 -30000 -500 diff --git a/dep/tesseroids/cookbook/simple_tess/plot.py b/dep/tesseroids/cookbook/simple_tess/plot.py deleted file mode 100755 index bb5f5d8..0000000 --- a/dep/tesseroids/cookbook/simple_tess/plot.py +++ /dev/null @@ -1,29 +0,0 @@ -""" -Plot the columns of the output files -""" -import sys -from matplotlib import pyplot as plt -from mpl_toolkits.basemap import Basemap -import numpy as np - -# Set up a projection -bm = Basemap(projection='ortho', lon_0=0, lat_0=0, - resolution='l', area_thresh=10000) - -# Load the data and make them into matrices -data = np.loadtxt(sys.argv[1], unpack=True) -shape = (int(sys.argv[2]), int(sys.argv[3])) -lon = data[0].reshape(shape) -lat = data[1].reshape(shape) -glon, glat = bm(lon, lat) - -plt.figure(figsize=(14, 12)) -for i, value in enumerate(data[3:]): - plt.subplot(3, 4, i + 1) - plt.title("Column %d" % (i + 4)) - bm.drawcoastlines() - bm.drawmapboundary() - bm.contourf(glon, glat, value.reshape(shape), 15, cmap=plt.cm.RdBu_r) - plt.colorbar(orientation="horizontal", pad=0, aspect=30) -plt.tight_layout() -plt.savefig('output.png') diff --git a/dep/tesseroids/cookbook/simple_tess/simple_tess.bat b/dep/tesseroids/cookbook/simple_tess/simple_tess.bat deleted file mode 100755 index 094bf78..0000000 --- a/dep/tesseroids/cookbook/simple_tess/simple_tess.bat +++ /dev/null @@ -1,12 +0,0 @@ -:: Generate a regular grid, pipe it to all the computation programs, -:: and write the result to output.txt - -tessgrd -r-45/45/-45/45 -b101/101 -z260e03 | ^ -tesspot model.txt | ^ -tessgx model.txt | tessgy model.txt | tessgz model.txt | ^ -tessgxx model.txt | tessgxy model.txt | ^ -tessgxz model.txt | tessgyy model.txt | ^ -tessgyz model.txt | tessgzz model.txt -v -llog.txt > output.txt - -:: Make a plot with the columns of output.txt -python plot.py output.txt 101 101 diff --git a/dep/tesseroids/cookbook/simple_tess/simple_tess.png b/dep/tesseroids/cookbook/simple_tess/simple_tess.png deleted file mode 100755 index 06da4eb047c60cc75149d6005ce36abd275d45ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 398435 zcmeFZcRbhq|2F(74HZcxqB1fHk&%^AQD#~yvdWCemaSA$_9m+ml0CCk_9(0Dk&zLR zy}6F}dHt^I{{Q~>zR$<^d!9KTC!hEG^?HuuIG)GT%d5(=l)LG7lSm{=c{!QuB+_;} z5@}mH`40S>^HnT&@Q-a)7vxpQ@s|_1o(I0(WiF>?MIuq%BmTeTgH(bMiNr*bmpQLu z7dg@MNabMLs?=aW^ZB~5g#EzcVD7TK5A|H!k@HExNgq~TQYU^#w#Y;LSY(0cUh%2-0oiPNVW zTQBA?+(`*pS)97Eckf=Apii#Jq|f5zs^cqvlF~lN`LkrsS9sEXI&Vb!+`3OU#c*-5 z=SRX7MoU}U`0r6?1MyrHm6g};-#_uUBkKjba^(GSmaUH|nZ6rnHod!O^gUAa)!(hY zj8gHJBZRKK+|Tym{L>vmCyoxW-~aVoNj=Y;`CHW4P)?N(=g!(ryjhtauUimxS~`77 zJ-2>GT$c78TAud|!VeoW_3Q4hElub0>?O66>m<)R&;Puw^7g`Zby_l#ANJF6IYoy zJh$iXbHD#sX%`h$0uC@BFz~=pal5O0st2fZ9<=%FJtlraz0`Tt*0{Gwl!iwmOhZ$% zrmZdX5U-ZW^!Q=a5Vo8_Q!RGuoD-Alu*>PNhZ zdag;vsJNGAiBtF?Zq;*}t9_f*ZEeCg>`9N;rM4o`^)O+o*Y8lE%+r4pz8W_JXRx(&g@E<5OCG{n_Df?|&MP%{E9S z(4R35>uIa0k)N@z^g5hvH?1=>H}~FUeZ{}9@GMTl&!9f+{0l0^_~WuZs=vnq6W>y@ zUw$paaV7eFs%GK!LfgO9eSI+o-(Fv=si{%PzJKlYnFoiQ*QTrHnq(Q9{Ey4t|MvRK z`-zBix8C3mtPAq8yXs}3G1n(wj<8v>LQV)3qiF)@q|!CQu;J+h3FHABy2oApV) zdiCnvp;LFR{``1TAc|^;nZj>Z%AFjYV1uvxdg9WL#2cBq&z?WeP>37&FD9sti1-oT@8~#- z2PvO7>n-Zv&!&)`l*AQ!;+mVZv~-2($&)8FVlPqJ+S(4&@@mP=+(=Zx&$4SzzsF7P zmM1A95_a_H(fmu^^oR5K>jx{nb!lm7_wL$t&tUifhjKbTX=8oW@B||%-PI$b)jMM) z^DytRW5<>zt8>_r2TE(x28)B~DUh2MfY&oa( zm@cC74qxs?&qLYBN{6*2J~j@HmZv+Z?k~^$mXQ%OsHf{pzb9>Q1vPM=jtTvP@^&2N zKI$eM&RF@&19NTKuGf^5D4xG~(K1vMI5s_4^&>-9_LYy%_gW*e$5H1aFYBfhBxn5l zXD;S2cOn><Vb)JlO=tI)&v;c*;cehgR)a2ewy#Bm4AcrXA-jKf|NKm%#bNtIMn+b5bw!}8%DHYVb5K)%ixdsqc0Tzhcn zb8q=+5vB`dyn3%BKcC#rXQiX7%QklT_v-Ms2=1WoMfmo*R#7pr_`=JvP1U(HC$Gy) z)2#@G)YFSw49GaFubeUMEmE^M!epQ2K6dc5*=OX3X<&KvO*7iDE{n46o2 z%xopCKEW-~^X1-edM6Vk6n^#7!ydgZsf{IF7M9%<6iUK)`m_5CTl8c#ZzcVFWx6v= zgOcLy6I%W_wJZaCL-x5#qh#+kf+=-Z<`tf__}z(G(7v7Yvo=@XFuh^#?KG{p_wQLh z-b$fI2eoLD%IPk!;ldwLEquHccauc7^9haEIXLVWFkGP#C8bLt9b#Q?=HLC|HZ(E8 z-IZ$AEvKMR+hn=ru_^O+gP8Tz#T$BhtU33a+&-!#>WmMZ<8ebr4?^PJc(Qf-{kBxi zgZuaE*!KPSp)x&HU^Bj7prs~|Lw~iW)HQ~Mg@w2wadGkb;l!y^|CXk8J96tndDYE# z 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

dv6wC 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�~1W|t~~ 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

w#vL|>$2&hnF_p+jsY0{vDk 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�B?pPkj3p210=&hpV}lX~DnwK)glkHr9POBN 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 P{6}0=N+juun#=zIG4>3+ diff --git a/dep/tesseroids/cookbook/tess2prism/tess2prism.sh b/dep/tesseroids/cookbook/tess2prism/tess2prism.sh deleted file mode 100755 index b1e9f53..0000000 --- a/dep/tesseroids/cookbook/tess2prism/tess2prism.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -# Generate a prism model from a tesseroid model. -# Prisms will have the same mass as the tesseroids and -# associated spherical coordinates of the center of -# the top of the tesseroid. - -tess2prism < tess-model.txt > prism-model.txt - -# Generate a regular grid in spherical coordinates, -# pipe the grid to the computation programs, -# and dump the result on output.txt -# prismpots calculates the potential in spherical -# coordinates, prismgs calculates the full -# gravity vector, and prismggts calculates the full -# gravity gradient tensor. - -tessgrd -r-160/0/-80/0 -b100/100 -z250e03 | \ -prismpots prism-model.txt | \ -prismgs prism-model.txt | \ -prismggts prism-model.txt -v > output.txt diff --git a/dep/tesseroids/cookbook/tess2prism_flatten/plot.py b/dep/tesseroids/cookbook/tess2prism_flatten/plot.py deleted file mode 100755 index 28c0c34..0000000 --- a/dep/tesseroids/cookbook/tess2prism_flatten/plot.py +++ /dev/null @@ -1,25 +0,0 @@ -""" -Plot the columns of the output files -""" -import sys -import pylab - -data = pylab.loadtxt(sys.argv[1], unpack=True) -shape = (int(sys.argv[2]), int(sys.argv[3])) -lon = pylab.reshape(data[0], shape)*0.001 -lat = pylab.reshape(data[1], shape)*0.001 -xmin, xmax = lon.min(), lon.max() -ymin, ymax = lat.min(), lat.max() -for i, value in enumerate(data[3:]): - value = pylab.reshape(value, shape) - pylab.figure(figsize=(4, 3)) - pylab.title("Column %d" % (i + 4)) - pylab.axis('scaled') - pylab.pcolor(lon, lat, value) - pylab.colorbar() - pylab.contour(lon, lat, value, 12, color='k') - #pylab.xlabel("Longitude") - #pylab.ylabel("Latitude") - pylab.xlim(xmin, xmax) - pylab.ylim(ymin, ymax) - pylab.savefig('column%d.png' % (i + 4)) diff --git a/dep/tesseroids/cookbook/tess2prism_flatten/sample-prism-model.txt b/dep/tesseroids/cookbook/tess2prism_flatten/sample-prism-model.txt deleted file mode 100755 index ddd27d6..0000000 --- a/dep/tesseroids/cookbook/tess2prism_flatten/sample-prism-model.txt +++ /dev/null @@ -1,9 +0,0 @@ -# Prisms converted from tesseroid model with tess2prism 1.1dev -# local time: Tue May 8 14:55:02 2012 -# tesseroids file: stdin -# conversion type: flatten -# format: x1 x2 y1 y2 z1 z2 density -# Test tesseroid model file -1111100 1666650 1111100 1666650 0 30000 487.534658568521 --1111100 1111100 -1666650 -1111100 0 50000 198.175508383774 --1777760 -1111100 -1666650 555550 0 30000 -291.9029748328 diff --git a/dep/tesseroids/cookbook/tess2prism_flatten/tess-model.txt b/dep/tesseroids/cookbook/tess2prism_flatten/tess-model.txt deleted file mode 100755 index 72ef672..0000000 --- a/dep/tesseroids/cookbook/tess2prism_flatten/tess-model.txt +++ /dev/null @@ -1,4 +0,0 @@ -# Test tesseroid model file -10 15 10 15 0 -30000 500 --15 -10 -10 10 0 -50000 200 --15 5 -16 -10 0 -30000 -300 diff --git a/dep/tesseroids/cookbook/tess2prism_flatten/tess2prism_flatten.bat b/dep/tesseroids/cookbook/tess2prism_flatten/tess2prism_flatten.bat deleted file mode 100755 index b1a1a87..0000000 --- a/dep/tesseroids/cookbook/tess2prism_flatten/tess2prism_flatten.bat +++ /dev/null @@ -1,21 +0,0 @@ - - -:: Generate a prism model from a tesseroid model by -:: flattening the tesseroids (1 degree = 111.11 km). -:: This way the converted prisms can be used -:: with the prism* programs in Cartesian coordinates. - -tess2prism --flatten < tess-model.txt > prism-model.txt - -:: Generate a regular grid in Cartesian coordinates, -:: pipe the grid to the computation programs, -:: and dump the result on output.txt - -tessgrd -r-3e06/3e06/-3e06/3e06 -b50/50 -z250e03 | ^ -prismpot prism-model.txt | ^ -prismgx prism-model.txt | ^ -prismgy prism-model.txt | ^ -prismgz prism-model.txt | ^ -prismgxx prism-model.txt | prismgxy prism-model.txt | ^ -prismgxz prism-model.txt | prismgyy prism-model.txt | ^ -prismgyz prism-model.txt | prismgzz prism-model.txt > output.txt diff --git a/dep/tesseroids/cookbook/tess2prism_flatten/tess2prism_flatten.png b/dep/tesseroids/cookbook/tess2prism_flatten/tess2prism_flatten.png deleted file mode 100755 index 9c34bbe2b9d688358f5302adf7f0e5fc7f9d316f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 588500 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ⅅ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 z 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

E#E4A8449SnMA= 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 z%0A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


tqmfcM*Oamf!qiCW7#mEa|5A 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 prism-model.txt - -# Generate a regular grid in Cartesian coordinates, -# pipe the grid to the computation programs, -# and dump the result on output.txt - -tessgrd -r-3e06/3e06/-3e06/3e06 -b50/50 -z250e03 | \ -prismpot prism-model.txt | \ -prismgx prism-model.txt | \ -prismgy prism-model.txt | \ -prismgz prism-model.txt | \ -prismgxx prism-model.txt | prismgxy prism-model.txt | \ -prismgxz prism-model.txt | prismgyy prism-model.txt | \ -prismgyz prism-model.txt | prismgzz prism-model.txt > output.txt diff --git a/dep/tesseroids/cookbook/tesslayers/layers.png b/dep/tesseroids/cookbook/tesslayers/layers.png deleted file mode 100755 index cb3f5fc2c99e2dd0e36496f77036a0d894745c71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46425 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 diff --git a/dep/tesseroids/cookbook/tesslayers/layers.txt b/dep/tesseroids/cookbook/tesslayers/layers.txt deleted file mode 100755 index e943571..0000000 --- a/dep/tesseroids/cookbook/tesslayers/layers.txt +++ /dev/null @@ -1,1683 +0,0 @@ -# Synthetic layer model of sediments and topography -# lon lat height thickness density --10 30 800 800.002 1900 --9.5 30 800 800.006 1900 --9 30 800 800.016 1900 --8.5 30 800 800.042 1900 --8 30 800 800.105 1900 --7.5 30 800 800.248 1900 --7 30 800 800.554 1900 --6.5 30 800 801.173 1900 --6 30 800 802.348 1900 --5.5 30 800 804.448 1900 --5 30 800 807.972 1900 --4.5 30 800 813.513 1900 --4 30 800 821.669 1900 --3.5 30 800 832.87 1900 --3 30 800 847.166 1900 --2.5 30 800 864.022 1900 --2 30 800 882.205 1900 --1.5 30 800 899.85 1900 --1 30 800 914.727 1900 --0.5 30 800 924.697 1900 -0 30 800 928.209 1900 -0.5 30 800 924.697 1900 -1 30 800 914.727 1900 -1.5 30 800 899.85 1900 -2 30 800 882.205 1900 -2.5 30 800 864.022 1900 -3 30 800 847.166 1900 -3.5 30 800 832.87 1900 -4 30 800 821.669 1900 -4.5 30 800 813.513 1900 -5 30 800 807.972 1900 -5.5 30 800 804.448 1900 -6 30 800 802.348 1900 -6.5 30 800 801.173 1900 -7 30 800 800.554 1900 -7.5 30 800 800.248 1900 -8 30 800 800.105 1900 -8.5 30 800 800.042 1900 -9 30 800 800.016 1900 -9.5 30 800 800.006 1900 -10 30 800 800.002 1900 --10 30.5 800 800.003 1900 --9.5 30.5 800 800.008 1900 --9 30.5 800 800.023 1900 --8.5 30.5 800 800.062 1900 --8 30.5 800 800.155 1900 --7.5 30.5 800 800.366 1900 --7 30.5 800 800.818 1900 --6.5 30.5 800 801.732 1900 --6 30.5 800 803.468 1900 --5.5 30.5 800 806.57 1900 --5 30.5 800 811.774 1900 --4.5 30.5 800 819.959 1900 --4 30.5 800 832.005 1900 --3.5 30.5 800 848.548 1900 --3 30.5 800 869.663 1900 --2.5 30.5 800 894.559 1900 --2 30.5 800 921.416 1900 --1.5 30.5 800 947.476 1900 --1 30.5 800 969.449 1900 --0.5 30.5 800 984.175 1900 -0 30.5 800 989.363 1900 -0.5 30.5 800 984.175 1900 -1 30.5 800 969.449 1900 -1.5 30.5 800 947.476 1900 -2 30.5 800 921.416 1900 -2.5 30.5 800 894.559 1900 -3 30.5 800 869.663 1900 -3.5 30.5 800 848.548 1900 -4 30.5 800 832.005 1900 -4.5 30.5 800 819.959 1900 -5 30.5 800 811.774 1900 -5.5 30.5 800 806.57 1900 -6 30.5 800 803.468 1900 -6.5 30.5 800 801.732 1900 -7 30.5 800 800.818 1900 -7.5 30.5 800 800.366 1900 -8 30.5 800 800.155 1900 -8.5 30.5 800 800.062 1900 -9 30.5 800 800.023 1900 -9.5 30.5 800 800.008 1900 -10 30.5 800 800.003 1900 --10 31 800 800.004 1900 --9.5 31 800 800.012 1900 --9 31 800 800.034 1900 --8.5 31 800 800.089 1900 --8 31 800 800.224 1900 --7.5 31 800 800.529 1900 --7 31 800 801.184 1900 --6.5 31 800 802.507 1900 --6 31 800 805.021 1900 --5.5 31 800 809.512 1900 --5 31 800 817.046 1900 --4.5 31 800 828.895 1900 --4 31 800 846.335 1900 --3.5 31 800 870.285 1900 --3 31 800 900.853 1900 --2.5 31 800 936.896 1900 --2 31 800 975.778 1900 --1.5 31 800 1013.51 1900 --1 31 800 1045.32 1900 --0.5 31 800 1066.64 1900 -0 31 800 1074.15 1900 -0.5 31 800 1066.64 1900 -1 31 800 1045.32 1900 -1.5 31 800 1013.51 1900 -2 31 800 975.778 1900 -2.5 31 800 936.896 1900 -3 31 800 900.853 1900 -3.5 31 800 870.285 1900 -4 31 800 846.335 1900 -4.5 31 800 828.895 1900 -5 31 800 817.046 1900 -5.5 31 800 809.512 1900 -6 31 800 805.021 1900 -6.5 31 800 802.507 1900 -7 31 800 801.184 1900 -7.5 31 800 800.529 1900 -8 31 800 800.224 1900 -8.5 31 800 800.089 1900 -9 31 800 800.034 1900 -9.5 31 800 800.012 1900 -10 31 800 800.004 1900 --10 31.5 800 800.006 1900 --9.5 31.5 800 800.017 1900 --9 31.5 800 800.048 1900 --8.5 31.5 800 800.127 1900 --8 31.5 800 800.317 1900 --7.5 31.5 800 800.751 1900 --7 31.5 800 801.681 1900 --6.5 31.5 800 803.558 1900 --6 31.5 800 807.125 1900 --5.5 31.5 800 813.498 1900 --5 31.5 800 824.189 1900 --4.5 31.5 800 841.004 1900 --4 31.5 800 865.752 1900 --3.5 31.5 800 899.739 1900 --3 31.5 800 943.117 1900 --2.5 31.5 800 994.265 1900 --2 31.5 800 1049.44 1900 --1.5 31.5 800 1102.98 1900 --1 31.5 800 1148.12 1900 --0.5 31.5 800 1178.38 1900 -0 31.5 800 1189.03 1900 -0.5 31.5 800 1178.38 1900 -1 31.5 800 1148.12 1900 -1.5 31.5 800 1102.98 1900 -2 31.5 800 1049.44 1900 -2.5 31.5 800 994.265 1900 -3 31.5 800 943.117 1900 -3.5 31.5 800 899.739 1900 -4 31.5 800 865.752 1900 -4.5 31.5 800 841.004 1900 -5 31.5 800 824.189 1900 -5.5 31.5 800 813.498 1900 -6 31.5 800 807.125 1900 -6.5 31.5 800 803.558 1900 -7 31.5 800 801.681 1900 -7.5 31.5 800 800.751 1900 -8 31.5 800 800.317 1900 -8.5 31.5 800 800.127 1900 -9 31.5 800 800.048 1900 -9.5 31.5 800 800.017 1900 -10 31.5 800 800.006 1900 --10 32 800 800.008 1900 --9.5 32 800 800.024 1900 --9 32 800 800.067 1900 --8.5 32 800 800.177 1900 --8 32 800 800.442 1900 --7.5 32 800 801.045 1900 --7 32 800 802.338 1900 --6.5 32 800 804.949 1900 --6 32 800 809.911 1900 --5.5 32 800 818.776 1900 --5 32 800 833.646 1900 --4.5 32 800 857.035 1900 --4 32 800 891.459 1900 --3.5 32 800 938.733 1900 --3 32 800 999.072 1900 --2.5 32 800 1070.22 1900 --2 32 800 1146.96 1900 --1.5 32 800 1221.43 1900 --1 32 800 1284.23 1900 --0.5 32 800 1326.31 1900 -0 32 800 1341.13 1900 -0.5 32 800 1326.31 1900 -1 32 800 1284.23 1900 -1.5 32 800 1221.43 1900 -2 32 800 1146.96 1900 -2.5 32 800 1070.22 1900 -3 32 800 999.072 1900 -3.5 32 800 938.733 1900 -4 32 800 891.459 1900 -4.5 32 800 857.035 1900 -5 32 800 833.646 1900 -5.5 32 800 818.776 1900 -6 32 800 809.911 1900 -6.5 32 800 804.949 1900 -7 32 800 802.338 1900 -7.5 32 800 801.045 1900 -8 32 800 800.442 1900 -8.5 32 800 800.177 1900 -9 32 800 800.067 1900 -9.5 32 800 800.024 1900 -10 32 800 800.008 1900 --10 32.5 800 800.011 1900 --9.5 32.5 800 800.033 1900 --9 32.5 800 800.091 1900 --8.5 32.5 800 800.241 1900 --8 32.5 800 800.602 1900 --7.5 32.5 800 801.424 1900 --7 32.5 800 803.187 1900 --6.5 32.5 800 806.748 1900 --6 32.5 800 813.513 1900 --5.5 32.5 800 825.599 1900 --5 32.5 800 845.874 1900 --4.5 32.5 800 877.763 1900 --4 32.5 800 924.697 1900 --3.5 32.5 800 989.153 1900 --3 32.5 800 1071.42 1900 --2.5 32.5 800 1168.42 1900 --2 32.5 800 1273.06 1900 --1.5 32.5 800 1374.59 1900 --1 32.5 800 1460.21 1900 --0.5 32.5 800 1517.58 1900 -0 32.5 800 1537.79 1900 -0.5 32.5 800 1517.58 1900 -1 32.5 800 1460.21 1900 -1.5 32.5 800 1374.59 1900 -2 32.5 800 1273.06 1900 -2.5 32.5 800 1168.42 1900 -3 32.5 800 1071.42 1900 -3.5 32.5 800 989.153 1900 -4 32.5 800 924.697 1900 -4.5 32.5 800 877.763 1900 -5 32.5 800 845.874 1900 -5.5 32.5 800 825.599 1900 -6 32.5 800 813.513 1900 -6.5 32.5 800 806.748 1900 -7 32.5 800 803.187 1900 -7.5 32.5 800 801.424 1900 -8 32.5 800 800.602 1900 -8.5 32.5 800 800.241 1900 -9 32.5 800 800.091 1900 -9.5 32.5 800 800.033 1900 -10 32.5 800 800.011 1900 --10 33 800 800.015 1900 --9.5 33 800 800.044 1900 --9 33 800 800.122 1900 --8.5 33 800 800.322 1900 --8 33 800 800.805 1900 --7.5 33 800 801.903 1900 --7 33 800 804.26 1900 --6.5 33 800 809.018 1900 --6 33 800 818.059 1900 --5.5 33 800 834.211 1900 --5 33 800 861.307 1900 --4.5 33 800 903.925 1900 --4 33 800 966.649 1900 --3.5 33 800 1052.79 1900 --3 33 800 1162.73 1900 --2.5 33 800 1292.37 1900 --2 33 800 1432.21 1900 --1.5 33 800 1567.9 1900 --1 33 800 1682.32 1900 --0.5 33 800 1759 1900 -0 33 800 1786.01 1900 -0.5 33 800 1759 1900 -1 33 800 1682.32 1900 -1.5 33 800 1567.9 1900 -2 33 800 1432.21 1900 -2.5 33 800 1292.37 1900 -3 33 800 1162.73 1900 -3.5 33 800 1052.79 1900 -4 33 800 966.649 1900 -4.5 33 800 903.925 1900 -5 33 800 861.307 1900 -5.5 33 800 834.211 1900 -6 33 800 818.059 1900 -6.5 33 800 809.018 1900 -7 33 800 804.26 1900 -7.5 33 800 801.903 1900 -8 33 800 800.805 1900 -8.5 33 800 800.322 1900 -9 33 800 800.122 1900 -9.5 33 800 800.044 1900 -10 33 800 800.015 1900 --10 33.5 800 800.019 1900 --9.5 33.5 800 800.057 1900 --9 33.5 800 800.159 1900 --8.5 33.5 800 800.421 1900 --8 33.5 800 801.054 1900 --7.5 33.5 800 802.493 1900 --7 33.5 800 805.58 1900 --6.5 33.5 800 811.813 1900 --6 33.5 800 823.657 1900 --5.5 33.5 800 844.815 1900 --5 33.5 800 880.309 1900 --4.5 33.5 799.999 936.137 1900 --4 33.5 799.999 1018.3 1900 --3.5 33.5 799.999 1131.14 1900 --3 33.5 799.998 1275.16 1900 --2.5 33.5 799.998 1444.98 1900 --2 33.5 799.997 1628.17 1900 --1.5 33.5 799.996 1805.92 1900 --1 33.5 799.996 1955.8 1900 --0.5 33.5 799.995 2056.25 1900 -0 33.5 799.995 2091.63 1900 -0.5 33.5 799.995 2056.25 1900 -1 33.5 799.996 1955.8 1900 -1.5 33.5 799.996 1805.92 1900 -2 33.5 799.997 1628.17 1900 -2.5 33.5 799.998 1444.98 1900 -3 33.5 799.998 1275.16 1900 -3.5 33.5 799.999 1131.14 1900 -4 33.5 799.999 1018.3 1900 -4.5 33.5 799.999 936.137 1900 -5 33.5 800 880.309 1900 -5.5 33.5 800 844.815 1900 -6 33.5 800 823.657 1900 -6.5 33.5 800 811.813 1900 -7 33.5 800 805.58 1900 -7.5 33.5 800 802.493 1900 -8 33.5 800 801.054 1900 -8.5 33.5 800 800.421 1900 -9 33.5 800 800.159 1900 -9.5 33.5 800 800.057 1900 -10 33.5 800 800.019 1900 --10 34 800 800.025 1900 --9.5 34 800 800.073 1900 --9 34 800 800.205 1900 --8.5 34 800 800.541 1900 --8 34 800 801.353 1900 --7.5 34 800 803.201 1900 --7 34 799.999 807.165 1900 --6.5 34 799.999 815.167 1900 --6 34 799.998 830.374 1900 --5.5 34 799.996 857.54 1900 --5 34 799.992 903.112 1900 --4.5 34 799.987 974.791 1900 --4 34 799.979 1080.29 1900 --3.5 34 799.968 1225.17 1900 --3 34 799.955 1410.08 1900 --2.5 34 799.938 1628.11 1900 --2 34 799.921 1863.31 1900 --1.5 34 799.904 2091.54 1900 --1 34 799.89 2283.98 1900 --0.5 34 799.88 2412.94 1900 -0 34 799.877 2458.37 1900 -0.5 34 799.88 2412.94 1900 -1 34 799.89 2283.98 1900 -1.5 34 799.904 2091.54 1900 -2 34 799.921 1863.31 1900 -2.5 34 799.938 1628.11 1900 -3 34 799.955 1410.08 1900 -3.5 34 799.968 1225.17 1900 -4 34 799.979 1080.29 1900 -4.5 34 799.987 974.791 1900 -5 34 799.992 903.112 1900 -5.5 34 799.996 857.54 1900 -6 34 799.998 830.374 1900 -6.5 34 799.999 815.167 1900 -7 34 799.999 807.165 1900 -7.5 34 800 803.201 1900 -8 34 800 801.353 1900 -8.5 34 800 800.541 1900 -9 34 800 800.205 1900 -9.5 34 800 800.073 1900 -10 34 800 800.025 1900 --10 34.5 800 800.031 1900 --9.5 34.5 800 800.092 1900 --9 34.5 800 800.257 1900 --8.5 34.5 799.999 800.68 1900 --8 34.5 799.998 801.702 1900 --7.5 34.5 799.996 804.026 1900 --7 34.5 799.992 809.01 1900 --6.5 34.5 799.982 819.073 1900 --6 34.5 799.965 838.196 1900 --5.5 34.5 799.933 872.358 1900 --5 34.5 799.88 929.666 1900 --4.5 34.5 799.797 1019.8 1900 --4 34.5 799.674 1152.47 1900 --3.5 34.5 799.505 1334.66 1900 --3 34.5 799.29 1567.19 1900 --2.5 34.5 799.036 1841.37 1900 --2 34.5 798.762 2137.15 1900 --1.5 34.5 798.497 2424.15 1900 --1 34.5 798.273 2666.14 1900 --0.5 34.5 798.122 2828.32 1900 -0 34.5 798.07 2885.45 1900 -0.5 34.5 798.122 2828.32 1900 -1 34.5 798.273 2666.14 1900 -1.5 34.5 798.497 2424.15 1900 -2 34.5 798.762 2137.15 1900 -2.5 34.5 799.036 1841.37 1900 -3 34.5 799.29 1567.19 1900 -3.5 34.5 799.505 1334.66 1900 -4 34.5 799.674 1152.47 1900 -4.5 34.5 799.797 1019.8 1900 -5 34.5 799.88 929.666 1900 -5.5 34.5 799.933 872.358 1900 -6 34.5 799.965 838.196 1900 -6.5 34.5 799.982 819.073 1900 -7 34.5 799.992 809.01 1900 -7.5 34.5 799.996 804.026 1900 -8 34.5 799.998 801.702 1900 -8.5 34.5 799.999 800.68 1900 -9 34.5 800 800.257 1900 -9.5 34.5 800 800.092 1900 -10 34.5 800 800.031 1900 --10 35 800 800.038 1900 --9.5 35 799.999 800.113 1900 --9 35 799.998 800.316 1900 --8.5 35 799.994 800.834 1900 --8 35 799.985 802.086 1900 --7.5 35 799.965 804.936 1900 --7 35 799.921 811.046 1900 --6.5 35 799.832 823.385 1900 --6 35 799.665 846.83 1900 --5.5 35 799.365 888.714 1900 --5 35 798.861 958.975 1900 --4.5 35 798.07 1069.49 1900 --4 35 796.904 1232.14 1900 --3.5 35 795.304 1455.51 1900 --3 35 793.262 1740.61 1900 --2.5 35 790.854 2076.76 1900 --2 35 788.256 2439.4 1900 --1.5 35 785.736 2791.27 1900 --1 35 783.61 3087.96 1900 --0.5 35 782.186 3286.79 1900 -0 35 781.684 3356.84 1900 -0.5 35 782.186 3286.79 1900 -1 35 783.61 3087.96 1900 -1.5 35 785.736 2791.27 1900 -2 35 788.256 2439.4 1900 -2.5 35 790.854 2076.76 1900 -3 35 793.262 1740.61 1900 -3.5 35 795.304 1455.51 1900 -4 35 796.904 1232.14 1900 -4.5 35 798.07 1069.49 1900 -5 35 798.861 958.975 1900 -5.5 35 799.365 888.714 1900 -6 35 799.665 846.83 1900 -6.5 35 799.832 823.385 1900 -7 35 799.921 811.046 1900 -7.5 35 799.965 804.936 1900 -8 35 799.985 802.086 1900 -8.5 35 799.994 800.834 1900 -9 35 799.998 800.316 1900 -9.5 35 799.999 800.113 1900 -10 35 800 800.038 1900 --10 35.5 799.998 800.045 1900 --9.5 35.5 799.995 800.133 1900 --9 35.5 799.987 800.371 1900 --8.5 35.5 799.966 800.982 1900 --8 35.5 799.914 802.455 1900 --7.5 35.5 799.797 805.808 1900 --7 35.5 799.545 812.998 1900 --6.5 35.5 799.036 827.517 1900 --6 35.5 798.07 855.105 1900 --5.5 35.5 796.343 904.389 1900 --5 35.5 793.447 987.065 1900 --4.5 35.5 788.891 1117.1 1900 --4 35.5 782.186 1308.49 1900 --3.5 35.5 772.978 1571.33 1900 --3 35.5 761.226 1906.8 1900 --2.5 35.5 747.369 2302.35 1900 --2 35.5 732.42 2729.06 1900 --1.5 35.5 717.915 3143.11 1900 --1 35.5 705.685 3492.22 1900 --0.5 35.5 697.488 3726.18 1900 -0 35.5 694.601 3808.61 1900 -0.5 35.5 697.488 3726.18 1900 -1 35.5 705.685 3492.22 1900 -1.5 35.5 717.915 3143.11 1900 -2 35.5 732.42 2729.06 1900 -2.5 35.5 747.369 2302.35 1900 -3 35.5 761.226 1906.8 1900 -3.5 35.5 772.978 1571.33 1900 -4 35.5 782.186 1308.49 1900 -4.5 35.5 788.891 1117.1 1900 -5 35.5 793.447 987.065 1900 -5.5 35.5 796.343 904.389 1900 -6 35.5 798.07 855.105 1900 -6.5 35.5 799.036 827.517 1900 -7 35.5 799.545 812.998 1900 -7.5 35.5 799.797 805.808 1900 -8 35.5 799.914 802.455 1900 -8.5 35.5 799.966 800.982 1900 -9 35.5 799.987 800.371 1900 -9.5 35.5 799.995 800.133 1900 -10 35.5 799.998 800.045 1900 --10 36 799.995 800.05 1900 --9.5 36 799.984 800.147 1900 --9 36 799.955 800.41 1900 --8.5 36 799.88 801.084 1900 --8 36 799.7 802.712 1900 --7.5 36 799.29 806.415 1900 --7 36 798.411 814.357 1900 --6.5 36 796.635 830.394 1900 --6 36 793.262 860.866 1900 --5.5 36 787.236 915.303 1900 --5 36 777.127 1006.62 1900 --4.5 36 761.226 1150.26 1900 --4 36 737.823 1361.66 1900 --3.5 36 705.685 1651.98 1900 --3 36 664.665 2022.53 1900 --2.5 36 616.299 2459.43 1900 --2 36 564.123 2930.75 1900 --1.5 36 513.495 3388.09 1900 --1 36 470.807 3773.7 1900 --0.5 36 442.199 4032.13 1900 -0 36 432.121 4123.17 1900 -0.5 36 442.199 4032.13 1900 -1 36 470.807 3773.7 1900 -1.5 36 513.495 3388.09 1900 -2 36 564.123 2930.75 1900 -2.5 36 616.299 2459.43 1900 -3 36 664.665 2022.53 1900 -3.5 36 705.685 1651.98 1900 -4 36 737.823 1361.66 1900 -4.5 36 761.226 1150.26 1900 -5 36 777.127 1006.62 1900 -5.5 36 787.236 915.303 1900 -6 36 793.262 860.866 1900 -6.5 36 796.635 830.394 1900 -7 36 798.411 814.357 1900 -7.5 36 799.29 806.415 1900 -8 36 799.7 802.712 1900 -8.5 36 799.88 801.084 1900 -9 36 799.955 800.41 1900 -9.5 36 799.984 800.147 1900 -10 36 799.995 800.05 1900 --10 36.5 799.988 800.052 1900 --9.5 36.5 799.966 800.155 1900 --9 36.5 799.904 800.433 1900 --8.5 36.5 799.746 801.145 1900 --8 36.5 799.365 802.864 1900 --7.5 36.5 798.497 806.775 1900 --7 36.5 796.635 815.162 1900 --6.5 36.5 792.877 832.098 1900 --6 36.5 785.736 864.28 1900 --5.5 36.5 772.978 921.771 1900 --5 36.5 751.577 1018.21 1900 --4.5 36.5 717.915 1169.91 1900 --4 36.5 668.372 1393.17 1900 --3.5 36.5 600.334 1699.77 1900 --3 36.5 513.495 2091.1 1900 --2.5 36.5 411.104 2552.52 1900 --2 36.5 300.648 3050.28 1900 --1.5 36.5 193.469 3533.27 1900 --1 36.5 103.098 3940.51 1900 --0.5 36.5 42.5349 4213.44 1900 -0 36.5 21.1992 4309.58 1900 -0.5 36.5 42.5349 4213.44 1900 -1 36.5 103.098 3940.51 1900 -1.5 36.5 193.469 3533.27 1900 -2 36.5 300.648 3050.28 1900 -2.5 36.5 411.104 2552.52 1900 -3 36.5 513.495 2091.1 1900 -3.5 36.5 600.334 1699.77 1900 -4 36.5 668.372 1393.17 1900 -4.5 36.5 717.915 1169.91 1900 -5 36.5 751.577 1018.21 1900 -5.5 36.5 772.978 921.771 1900 -6 36.5 785.736 864.28 1900 -6.5 36.5 792.877 832.098 1900 -7 36.5 796.635 815.162 1900 -7.5 36.5 798.497 806.775 1900 -8 36.5 799.365 802.864 1900 -8.5 36.5 799.746 801.145 1900 -9 36.5 799.904 800.433 1900 -9.5 36.5 799.966 800.155 1900 -10 36.5 799.988 800.052 1900 --10 37 799.985 800.058 1900 --9.5 37 799.956 800.171 1900 --9 37 799.877 800.479 1900 --8.5 37 799.674 801.267 1900 --8 37 799.184 803.169 1900 --7.5 37 798.07 807.497 1900 --7 37 795.68 816.779 1900 --6.5 37 790.854 835.52 1900 --6 37 781.684 871.133 1900 --5.5 37 765.303 934.753 1900 --5 37 737.823 1041.48 1900 --4.5 37 694.601 1209.34 1900 --4 37 630.987 1456.4 1900 --3.5 37 543.624 1795.7 1900 --3 37 432.121 2228.75 1900 --2.5 37 300.648 2739.35 1900 --2 37 158.82 3290.17 1900 --1.5 37 21.1992 3824.66 1900 --1 37 -94.8393 4275.32 1900 --0.5 37 -172.604 4577.34 1900 -0 37 -200 4683.73 1900 -0.5 37 -172.604 4577.34 1900 -1 37 -94.8393 4275.32 1900 -1.5 37 21.1992 3824.66 1900 -2 37 158.82 3290.17 1900 -2.5 37 300.648 2739.35 1900 -3 37 432.121 2228.75 1900 -3.5 37 543.624 1795.7 1900 -4 37 630.987 1456.4 1900 -4.5 37 694.601 1209.34 1900 -5 37 737.823 1041.48 1900 -5.5 37 765.303 934.753 1900 -6 37 781.684 871.133 1900 -6.5 37 790.854 835.52 1900 -7 37 795.68 816.779 1900 -7.5 37 798.07 807.497 1900 -8 37 799.184 803.169 1900 -8.5 37 799.674 801.267 1900 -9 37 799.877 800.479 1900 -9.5 37 799.956 800.171 1900 -10 37 799.985 800.058 1900 --10 37.5 799.988 800.07 1900 --9.5 37.5 799.966 800.206 1900 --9 37.5 799.904 800.577 1900 --8.5 37.5 799.746 801.525 1900 --8 37.5 799.365 803.813 1900 --7.5 37.5 798.497 809.021 1900 --7 37.5 796.635 820.188 1900 --6.5 37.5 792.877 842.737 1900 --6 37.5 785.736 885.585 1900 --5.5 37.5 772.978 962.131 1900 --5 37.5 751.577 1090.54 1900 --4.5 37.5 717.915 1292.51 1900 --4 37.5 668.372 1589.77 1900 --3.5 37.5 600.334 1997.99 1900 --3 37.5 513.495 2519.03 1900 --2.5 37.5 411.104 3133.37 1900 --2 37.5 300.648 3796.11 1900 --1.5 37.5 193.469 4439.18 1900 --1 37.5 103.098 4981.41 1900 --0.5 37.5 42.5349 5344.79 1900 -0 37.5 21.1992 5472.8 1900 -0.5 37.5 42.5349 5344.79 1900 -1 37.5 103.098 4981.41 1900 -1.5 37.5 193.469 4439.18 1900 -2 37.5 300.648 3796.11 1900 -2.5 37.5 411.104 3133.37 1900 -3 37.5 513.495 2519.03 1900 -3.5 37.5 600.334 1997.99 1900 -4 37.5 668.372 1589.77 1900 -4.5 37.5 717.915 1292.51 1900 -5 37.5 751.577 1090.54 1900 -5.5 37.5 772.978 962.131 1900 -6 37.5 785.736 885.585 1900 -6.5 37.5 792.877 842.737 1900 -7 37.5 796.635 820.188 1900 -7.5 37.5 798.497 809.021 1900 -8 37.5 799.365 803.813 1900 -8.5 37.5 799.746 801.525 1900 -9 37.5 799.904 800.577 1900 -9.5 37.5 799.966 800.206 1900 -10 37.5 799.988 800.07 1900 --10 38 799.995 800.084 1900 --9.5 38 799.984 800.247 1900 --9 38 799.955 800.691 1900 --8.5 38 799.88 801.826 1900 --8 38 799.7 804.567 1900 --7.5 38 799.29 810.805 1900 --7 38 798.411 824.181 1900 --6.5 38 796.635 851.191 1900 --6 38 793.262 902.515 1900 --5.5 38 787.236 994.202 1900 --5 38 777.127 1148.01 1900 --4.5 38 761.226 1389.93 1900 --4 38 737.823 1745.99 1900 --3.5 38 705.685 2234.97 1900 --3 38 664.665 2859.07 1900 --2.5 38 616.299 3594.94 1900 --2 38 564.123 4388.77 1900 --1.5 38 513.495 5159.05 1900 --1 38 470.807 5808.53 1900 --0.5 38 442.199 6243.79 1900 -0 38 432.121 6397.13 1900 -0.5 38 442.199 6243.79 1900 -1 38 470.807 5808.53 1900 -1.5 38 513.495 5159.05 1900 -2 38 564.123 4388.77 1900 -2.5 38 616.299 3594.94 1900 -3 38 664.665 2859.07 1900 -3.5 38 705.685 2234.97 1900 -4 38 737.823 1745.99 1900 -4.5 38 761.226 1389.93 1900 -5 38 777.127 1148.01 1900 -5.5 38 787.236 994.202 1900 -6 38 793.262 902.515 1900 -6.5 38 796.635 851.191 1900 -7 38 798.411 824.181 1900 -7.5 38 799.29 810.805 1900 -8 38 799.7 804.567 1900 -8.5 38 799.88 801.826 1900 -9 38 799.955 800.691 1900 -9.5 38 799.984 800.247 1900 -10 38 799.995 800.084 1900 --10 38.5 799.998 800.094 1900 --9.5 38.5 799.995 800.278 1900 --9 38.5 799.987 800.777 1900 --8.5 38.5 799.966 802.053 1900 --8 38.5 799.914 805.134 1900 --7.5 38.5 799.797 812.147 1900 --7 38.5 799.545 827.183 1900 --6.5 38.5 799.036 857.547 1900 --6 38.5 798.07 915.244 1900 --5.5 38.5 796.343 1018.32 1900 --5 38.5 793.447 1191.22 1900 --4.5 38.5 788.891 1463.18 1900 --4 38.5 782.186 1863.45 1900 --3.5 38.5 772.978 2413.15 1900 --3 38.5 761.226 3114.74 1900 --2.5 38.5 747.369 3941.98 1900 --2 38.5 732.42 4834.38 1900 --1.5 38.5 717.915 5700.31 1900 --1 38.5 705.685 6430.44 1900 --0.5 38.5 697.488 6919.74 1900 -0 38.5 694.601 7092.12 1900 -0.5 38.5 697.488 6919.74 1900 -1 38.5 705.685 6430.44 1900 -1.5 38.5 717.915 5700.31 1900 -2 38.5 732.42 4834.38 1900 -2.5 38.5 747.369 3941.98 1900 -3 38.5 761.226 3114.74 1900 -3.5 38.5 772.978 2413.15 1900 -4 38.5 782.186 1863.45 1900 -4.5 38.5 788.891 1463.18 1900 -5 38.5 793.447 1191.22 1900 -5.5 38.5 796.343 1018.32 1900 -6 38.5 798.07 915.244 1900 -6.5 38.5 799.036 857.547 1900 -7 38.5 799.545 827.183 1900 -7.5 38.5 799.797 812.147 1900 -8 38.5 799.914 805.134 1900 -8.5 38.5 799.966 802.053 1900 -9 38.5 799.987 800.777 1900 -9.5 38.5 799.995 800.278 1900 -10 38.5 799.998 800.094 1900 --10 39 800 800.1 1900 --9.5 39 799.999 800.296 1900 --9 39 799.998 800.828 1900 --8.5 39 799.994 802.188 1900 --8 39 799.985 805.473 1900 --7.5 39 799.965 812.948 1900 --7 39 799.921 828.977 1900 --6.5 39 799.832 861.344 1900 --6 39 799.665 922.847 1900 --5.5 39 799.365 1032.72 1900 --5 39 798.861 1217.03 1900 --4.5 39 798.07 1506.93 1900 --4 39 796.904 1933.61 1900 --3.5 39 795.304 2519.57 1900 --3 39 793.262 3267.44 1900 --2.5 39 790.854 4149.26 1900 --2 39 788.256 5100.53 1900 --1.5 39 785.736 6023.58 1900 --1 39 783.61 6801.88 1900 --0.5 39 782.186 7323.46 1900 -0 39 781.684 7507.21 1900 -0.5 39 782.186 7323.46 1900 -1 39 783.61 6801.88 1900 -1.5 39 785.736 6023.58 1900 -2 39 788.256 5100.53 1900 -2.5 39 790.854 4149.26 1900 -3 39 793.262 3267.44 1900 -3.5 39 795.304 2519.57 1900 -4 39 796.904 1933.61 1900 -4.5 39 798.07 1506.93 1900 -5 39 798.861 1217.03 1900 -5.5 39 799.365 1032.72 1900 -6 39 799.665 922.847 1900 -6.5 39 799.832 861.344 1900 -7 39 799.921 828.977 1900 -7.5 39 799.965 812.948 1900 -8 39 799.985 805.473 1900 -8.5 39 799.994 802.188 1900 -9 39 799.998 800.828 1900 -9.5 39 799.999 800.296 1900 -10 39 800 800.1 1900 --10 39.5 800 800.104 1900 --9.5 39.5 800 800.306 1900 --9 39.5 800 800.855 1900 --8.5 39.5 799.999 802.261 1900 --8 39.5 799.998 805.654 1900 --7.5 39.5 799.996 813.375 1900 --7 39.5 799.992 829.932 1900 --6.5 39.5 799.982 863.367 1900 --6 39.5 799.965 926.898 1900 --5.5 39.5 799.933 1040.39 1900 --5 39.5 799.88 1230.78 1900 --4.5 39.5 799.797 1530.25 1900 --4 39.5 799.674 1970.99 1900 --3.5 39.5 799.505 2576.28 1900 --3 39.5 799.29 3348.82 1900 --2.5 39.5 799.036 4259.72 1900 --2 39.5 798.762 5242.37 1900 --1.5 39.5 798.497 6195.86 1900 --1 39.5 798.273 6999.82 1900 --0.5 39.5 798.122 7538.61 1900 -0 39.5 798.07 7728.42 1900 -0.5 39.5 798.122 7538.61 1900 -1 39.5 798.273 6999.82 1900 -1.5 39.5 798.497 6195.86 1900 -2 39.5 798.762 5242.37 1900 -2.5 39.5 799.036 4259.72 1900 -3 39.5 799.29 3348.82 1900 -3.5 39.5 799.505 2576.28 1900 -4 39.5 799.674 1970.99 1900 -4.5 39.5 799.797 1530.25 1900 -5 39.5 799.88 1230.78 1900 -5.5 39.5 799.933 1040.39 1900 -6 39.5 799.965 926.898 1900 -6.5 39.5 799.982 863.367 1900 -7 39.5 799.992 829.932 1900 -7.5 39.5 799.996 813.375 1900 -8 39.5 799.998 805.654 1900 -8.5 39.5 799.999 802.261 1900 -9 39.5 800 800.855 1900 -9.5 39.5 800 800.306 1900 -10 39.5 800 800.104 1900 --10 40 800 800.105 1900 --9.5 40 800 800.309 1900 --9 40 800 800.864 1900 --8.5 40 800 802.284 1900 --8 40 800 805.712 1900 --7.5 40 800 813.513 1900 --7 40 799.999 830.241 1900 --6.5 40 799.999 864.021 1900 --6 40 799.998 928.207 1900 --5.5 40 799.996 1042.87 1900 --5 40 799.992 1235.23 1900 --4.5 40 799.987 1537.78 1900 --4 40 799.979 1983.07 1900 --3.5 40 799.968 2594.6 1900 --3 40 799.955 3375.11 1900 --2.5 40 799.938 4295.4 1900 --2 40 799.921 5288.18 1900 --1.5 40 799.904 6251.51 1900 --1 40 799.89 7063.76 1900 --0.5 40 799.88 7608.11 1900 -0 40 799.877 7799.88 1900 -0.5 40 799.88 7608.11 1900 -1 40 799.89 7063.76 1900 -1.5 40 799.904 6251.51 1900 -2 40 799.921 5288.18 1900 -2.5 40 799.938 4295.4 1900 -3 40 799.955 3375.11 1900 -3.5 40 799.968 2594.6 1900 -4 40 799.979 1983.07 1900 -4.5 40 799.987 1537.78 1900 -5 40 799.992 1235.23 1900 -5.5 40 799.996 1042.87 1900 -6 40 799.998 928.207 1900 -6.5 40 799.999 864.021 1900 -7 40 799.999 830.241 1900 -7.5 40 800 813.513 1900 -8 40 800 805.712 1900 -8.5 40 800 802.284 1900 -9 40 800 800.864 1900 -9.5 40 800 800.309 1900 -10 40 800 800.105 1900 --10 40.5 800 800.104 1900 --9.5 40.5 800 800.306 1900 --9 40.5 800 800.855 1900 --8.5 40.5 800 802.261 1900 --8 40.5 800 805.655 1900 --7.5 40.5 800 813.379 1900 --7 40.5 800 829.941 1900 --6.5 40.5 800 863.385 1900 --6 40.5 800 926.934 1900 --5.5 40.5 800 1040.46 1900 --5 40.5 800 1230.9 1900 --4.5 40.5 799.999 1530.45 1900 --4 40.5 799.999 1971.32 1900 --3.5 40.5 799.999 2576.77 1900 --3 40.5 799.998 3349.53 1900 --2.5 40.5 799.998 4260.68 1900 --2 40.5 799.997 5243.6 1900 --1.5 40.5 799.996 6197.36 1900 --1 40.5 799.996 7001.54 1900 --0.5 40.5 799.995 7540.48 1900 -0 40.5 799.995 7730.34 1900 -0.5 40.5 799.995 7540.48 1900 -1 40.5 799.996 7001.54 1900 -1.5 40.5 799.996 6197.36 1900 -2 40.5 799.997 5243.6 1900 -2.5 40.5 799.998 4260.68 1900 -3 40.5 799.998 3349.53 1900 -3.5 40.5 799.999 2576.77 1900 -4 40.5 799.999 1971.32 1900 -4.5 40.5 799.999 1530.45 1900 -5 40.5 800 1230.9 1900 -5.5 40.5 800 1040.46 1900 -6 40.5 800 926.934 1900 -6.5 40.5 800 863.385 1900 -7 40.5 800 829.941 1900 -7.5 40.5 800 813.379 1900 -8 40.5 800 805.655 1900 -8.5 40.5 800 802.261 1900 -9 40.5 800 800.855 1900 -9.5 40.5 800 800.306 1900 -10 40.5 800 800.104 1900 --10 41 800 800.101 1900 --9.5 41 800 800.297 1900 --9 41 800 800.83 1900 --8.5 41 800 802.194 1900 --8 41 800 805.488 1900 --7.5 41 800 812.983 1900 --7 41 800 829.056 1900 --6.5 41 800 861.511 1900 --6 41 800 923.182 1900 --5.5 41 800 1033.35 1900 --5 41 800 1218.17 1900 --4.5 41 800 1508.87 1900 --4 41 800 1936.7 1900 --3.5 41 800 2524.26 1900 --3 41 800 3274.18 1900 --2.5 41 800 4158.4 1900 --2 41 800 5112.28 1900 --1.5 41 800 6037.84 1900 --1 41 800 6818.27 1900 --0.5 41 800 7341.28 1900 -0 41 800 7525.53 1900 -0.5 41 800 7341.28 1900 -1 41 800 6818.27 1900 -1.5 41 800 6037.84 1900 -2 41 800 5112.28 1900 -2.5 41 800 4158.4 1900 -3 41 800 3274.18 1900 -3.5 41 800 2524.26 1900 -4 41 800 1936.7 1900 -4.5 41 800 1508.87 1900 -5 41 800 1218.17 1900 -5.5 41 800 1033.35 1900 -6 41 800 923.182 1900 -6.5 41 800 861.511 1900 -7 41 800 829.056 1900 -7.5 41 800 812.983 1900 -8 41 800 805.488 1900 -8.5 41 800 802.194 1900 -9 41 800 800.83 1900 -9.5 41 800 800.297 1900 -10 41 800 800.101 1900 --10 41.5 800 800.096 1900 --9.5 41.5 800 800.282 1900 --9 41.5 800 800.79 1900 --8.5 41.5 800 802.087 1900 --8 41.5 800 805.22 1900 --7.5 41.5 800 812.35 1900 --7 41.5 800 827.639 1900 --6.5 41.5 800 858.511 1900 --6 41.5 800 917.175 1900 --5.5 41.5 800 1021.97 1900 --5 41.5 800 1197.78 1900 --4.5 41.5 800 1474.29 1900 --4 41.5 800 1881.27 1900 --3.5 41.5 800 2440.17 1900 --3 41.5 800 3153.52 1900 --2.5 41.5 800 3994.61 1900 --2 41.5 800 4901.96 1900 --1.5 41.5 800 5782.39 1900 --1 41.5 800 6524.75 1900 --0.5 41.5 800 7022.25 1900 -0 41.5 800 7197.52 1900 -0.5 41.5 800 7022.25 1900 -1 41.5 800 6524.75 1900 -1.5 41.5 800 5782.39 1900 -2 41.5 800 4901.96 1900 -2.5 41.5 800 3994.61 1900 -3 41.5 800 3153.52 1900 -3.5 41.5 800 2440.17 1900 -4 41.5 800 1881.27 1900 -4.5 41.5 800 1474.29 1900 -5 41.5 800 1197.78 1900 -5.5 41.5 800 1021.97 1900 -6 41.5 800 917.175 1900 -6.5 41.5 800 858.511 1900 -7 41.5 800 827.639 1900 -7.5 41.5 800 812.35 1900 -8 41.5 800 805.22 1900 -8.5 41.5 800 802.087 1900 -9 41.5 800 800.79 1900 -9.5 41.5 800 800.282 1900 -10 41.5 800 800.096 1900 --10 42 800 800.089 1900 --9.5 42 800 800.263 1900 --9 42 800 800.736 1900 --8.5 42 800 801.946 1900 --8 42 800 804.867 1900 --7.5 42 800 811.515 1900 --7 42 800 825.77 1900 --6.5 42 800 854.556 1900 --6 42 800 909.253 1900 --5.5 42 800 1006.97 1900 --5 42 800 1170.88 1900 --4.5 42 800 1428.71 1900 --4 42 800 1808.17 1900 --3.5 42 800 2329.28 1900 --3 42 800 2994.4 1900 --2.5 42 800 3778.64 1900 --2 42 800 4624.65 1900 --1.5 42 800 5445.55 1900 --1 42 800 6137.72 1900 --0.5 42 800 6601.59 1900 -0 42 800 6765.01 1900 -0.5 42 800 6601.59 1900 -1 42 800 6137.72 1900 -1.5 42 800 5445.55 1900 -2 42 800 4624.65 1900 -2.5 42 800 3778.64 1900 -3 42 800 2994.4 1900 -3.5 42 800 2329.28 1900 -4 42 800 1808.17 1900 -4.5 42 800 1428.71 1900 -5 42 800 1170.88 1900 -5.5 42 800 1006.97 1900 -6 42 800 909.253 1900 -6.5 42 800 854.556 1900 -7 42 800 825.77 1900 -7.5 42 800 811.515 1900 -8 42 800 804.867 1900 -8.5 42 800 801.946 1900 -9 42 800 800.736 1900 -9.5 42 800 800.263 1900 -10 42 800 800.089 1900 --10 42.5 800 800.081 1900 --9.5 42.5 800 800.241 1900 --9 42.5 800 800.673 1900 --8.5 42.5 800 801.779 1900 --8 42.5 800 804.448 1900 --7.5 42.5 800 810.524 1900 --7 42.5 800 823.552 1900 --6.5 42.5 800 849.86 1900 --6 42.5 800 899.85 1900 --5.5 42.5 800 989.153 1900 --5 42.5 800 1138.96 1900 --4.5 42.5 800 1374.59 1900 --4 42.5 800 1721.39 1900 --3.5 42.5 800 2197.66 1900 --3 42.5 800 2805.53 1900 --2.5 42.5 800 3522.27 1900 --2 42.5 800 4295.46 1900 --1.5 42.5 800 5045.71 1900 --1 42.5 800 5678.31 1900 --0.5 42.5 800 6102.26 1900 -0 42.5 800 6251.61 1900 -0.5 42.5 800 6102.26 1900 -1 42.5 800 5678.31 1900 -1.5 42.5 800 5045.71 1900 -2 42.5 800 4295.46 1900 -2.5 42.5 800 3522.27 1900 -3 42.5 800 2805.53 1900 -3.5 42.5 800 2197.66 1900 -4 42.5 800 1721.39 1900 -4.5 42.5 800 1374.59 1900 -5 42.5 800 1138.96 1900 -5.5 42.5 800 989.153 1900 -6 42.5 800 899.85 1900 -6.5 42.5 800 849.86 1900 -7 42.5 800 823.552 1900 -7.5 42.5 800 810.524 1900 -8 42.5 800 804.448 1900 -8.5 42.5 800 801.779 1900 -9 42.5 800 800.673 1900 -9.5 42.5 800 800.241 1900 -10 42.5 800 800.081 1900 --10 43 800 800.073 1900 --9.5 43 800 800.216 1900 --9 43 800 800.603 1900 --8.5 43 800 801.593 1900 --8 43 800 803.985 1900 --7.5 43 800 809.428 1900 --7 43 800 821.099 1900 --6.5 43 800 844.666 1900 --6 43 800 889.449 1900 --5.5 43 800 969.449 1900 --5 43 800 1103.65 1900 --4.5 43 800 1314.74 1900 --4 43 800 1625.42 1900 --3.5 43 800 2052.07 1900 --3 43 800 2596.63 1900 --2.5 43 800 3238.7 1900 --2 43 800 3931.35 1900 --1.5 43 800 4603.46 1900 --1 43 800 5170.16 1900 --0.5 43 800 5549.94 1900 -0 43 800 5683.73 1900 -0.5 43 800 5549.94 1900 -1 43 800 5170.16 1900 -1.5 43 800 4603.46 1900 -2 43 800 3931.35 1900 -2.5 43 800 3238.7 1900 -3 43 800 2596.63 1900 -3.5 43 800 2052.07 1900 -4 43 800 1625.42 1900 -4.5 43 800 1314.74 1900 -5 43 800 1103.65 1900 -5.5 43 800 969.449 1900 -6 43 800 889.449 1900 -6.5 43 800 844.666 1900 -7 43 800 821.099 1900 -7.5 43 800 809.428 1900 -8 43 800 803.985 1900 -8.5 43 800 801.593 1900 -9 43 800 800.603 1900 -9.5 43 800 800.216 1900 -10 43 800 800.073 1900 --10 43.5 800 800.064 1900 --9.5 43.5 800 800.189 1900 --9 43.5 800 800.529 1900 --8.5 43.5 800 801.399 1900 --8 43.5 800 803.499 1900 --7.5 43.5 800 808.279 1900 --7 43.5 800 818.527 1900 --6.5 43.5 800 839.221 1900 --6 43.5 800 878.545 1900 --5.5 43.5 800 948.793 1900 --5 43.5 800 1066.64 1900 --4.5 43.5 800 1251.99 1900 --4 43.5 800 1524.79 1900 --3.5 43.5 800 1899.44 1900 --3 43.5 800 2377.61 1900 --2.5 43.5 800 2941.41 1900 --2 43.5 800 3549.63 1900 --1.5 43.5 800 4139.8 1900 --1 43.5 800 4637.42 1900 --0.5 43.5 800 4970.9 1900 -0 43.5 800 5088.38 1900 -0.5 43.5 800 4970.9 1900 -1 43.5 800 4637.42 1900 -1.5 43.5 800 4139.8 1900 -2 43.5 800 3549.63 1900 -2.5 43.5 800 2941.41 1900 -3 43.5 800 2377.61 1900 -3.5 43.5 800 1899.44 1900 -4 43.5 800 1524.79 1900 -4.5 43.5 800 1251.99 1900 -5 43.5 800 1066.64 1900 -5.5 43.5 800 948.793 1900 -6 43.5 800 878.545 1900 -6.5 43.5 800 839.221 1900 -7 43.5 800 818.527 1900 -7.5 43.5 800 808.279 1900 -8 43.5 800 803.499 1900 -8.5 43.5 800 801.399 1900 -9 43.5 800 800.529 1900 -9.5 43.5 800 800.189 1900 -10 43.5 800 800.064 1900 --10 44 800 800.055 1900 --9.5 44 800 800.163 1900 --9 44 800 800.456 1900 --8.5 44 800 801.204 1900 --8 44 800 803.012 1900 --7.5 44 800 807.125 1900 --7 44 800 815.946 1900 --6.5 44 800 833.758 1900 --6 44 800 867.604 1900 --5.5 44 800 928.067 1900 --5 44 800 1029.5 1900 --4.5 44 800 1189.03 1900 --4 44 800 1423.84 1900 --3.5 44 800 1746.29 1900 --3 44 800 2157.86 1900 --2.5 44 800 2643.13 1900 --2 44 800 3166.63 1900 --1.5 44 800 3674.59 1900 --1 44 800 4102.89 1900 --0.5 44 800 4389.93 1900 -0 44 800 4491.05 1900 -0.5 44 800 4389.93 1900 -1 44 800 4102.89 1900 -1.5 44 800 3674.59 1900 -2 44 800 3166.63 1900 -2.5 44 800 2643.13 1900 -3 44 800 2157.86 1900 -3.5 44 800 1746.29 1900 -4 44 800 1423.84 1900 -4.5 44 800 1189.03 1900 -5 44 800 1029.5 1900 -5.5 44 800 928.067 1900 -6 44 800 867.604 1900 -6.5 44 800 833.758 1900 -7 44 800 815.946 1900 -7.5 44 800 807.125 1900 -8 44 800 803.012 1900 -8.5 44 800 801.204 1900 -9 44 800 800.456 1900 -9.5 44 800 800.163 1900 -10 44 800 800.055 1900 --10 44.5 800 800.047 1900 --9.5 44.5 800 800.138 1900 --9 44.5 800 800.384 1900 --8.5 44.5 800 801.016 1900 --8 44.5 800 802.541 1900 --7.5 44.5 800 806.011 1900 --7 44.5 800 813.453 1900 --6.5 44.5 800 828.481 1900 --6 44.5 800 857.035 1900 --5.5 44.5 800 908.046 1900 --5 44.5 800 993.618 1900 --4.5 44.5 800 1128.21 1900 --4 44.5 800 1326.31 1900 --3.5 44.5 800 1598.36 1900 --3 44.5 800 1945.58 1900 --2.5 44.5 800 2354.98 1900 --2 44.5 800 2796.64 1900 --1.5 44.5 800 3225.19 1900 --1 44.5 800 3586.54 1900 --0.5 44.5 800 3828.7 1900 -0 44.5 800 3914.01 1900 -0.5 44.5 800 3828.7 1900 -1 44.5 800 3586.54 1900 -1.5 44.5 800 3225.19 1900 -2 44.5 800 2796.64 1900 -2.5 44.5 800 2354.98 1900 -3 44.5 800 1945.58 1900 -3.5 44.5 800 1598.36 1900 -4 44.5 800 1326.31 1900 -4.5 44.5 800 1128.21 1900 -5 44.5 800 993.618 1900 -5.5 44.5 800 908.046 1900 -6 44.5 800 857.035 1900 -6.5 44.5 800 828.481 1900 -7 44.5 800 813.453 1900 -7.5 44.5 800 806.011 1900 -8 44.5 800 802.541 1900 -8.5 44.5 800 801.016 1900 -9 44.5 800 800.384 1900 -9.5 44.5 800 800.138 1900 -10 44.5 800 800.047 1900 --10 45 800 800.038 1900 --9.5 45 800 800.114 1900 --9 45 800 800.318 1900 --8.5 45 800 800.84 1900 --8 45 800 802.101 1900 --7.5 45 800 804.971 1900 --7 45 800 811.125 1900 --6.5 45 800 823.552 1900 --6 45 800 847.166 1900 --5.5 45 800 889.349 1900 --5 45 800 960.114 1900 --4.5 45 800 1071.42 1900 --4 45 800 1235.24 1900 --3.5 45 800 1460.21 1900 --3 45 800 1747.35 1900 --2.5 45 800 2085.91 1900 --2 45 800 2451.14 1900 --1.5 45 800 2805.53 1900 --1 45 800 3104.35 1900 --0.5 45 800 3304.61 1900 -0 45 800 3375.16 1900 -0.5 45 800 3304.61 1900 -1 45 800 3104.35 1900 -1.5 45 800 2805.53 1900 -2 45 800 2451.14 1900 -2.5 45 800 2085.91 1900 -3 45 800 1747.35 1900 -3.5 45 800 1460.21 1900 -4 45 800 1235.24 1900 -4.5 45 800 1071.42 1900 -5 45 800 960.114 1900 -5.5 45 800 889.349 1900 -6 45 800 847.166 1900 -6.5 45 800 823.552 1900 -7 45 800 811.125 1900 -7.5 45 800 804.971 1900 -8 45 800 802.101 1900 -8.5 45 800 800.84 1900 -9 45 800 800.318 1900 -9.5 45 800 800.114 1900 -10 45 800 800.038 1900 --10 45.5 800 800.031 1900 --9.5 45.5 800 800.092 1900 --9 45.5 800 800.258 1900 --8.5 45.5 800 800.681 1900 --8 45.5 800 801.703 1900 --7.5 45.5 800 804.03 1900 --7 45.5 800 809.018 1900 --6.5 45.5 800 819.091 1900 --6 45.5 800 838.232 1900 --5.5 45.5 800 872.425 1900 --5 45.5 800 929.786 1900 --4.5 45.5 800 1020.01 1900 --4 45.5 800 1152.8 1900 --3.5 45.5 800 1335.15 1900 --3 45.5 800 1567.9 1900 --2.5 45.5 800 1842.34 1900 --2 45.5 800 2138.39 1900 --1.5 45.5 800 2425.65 1900 --1 45.5 800 2667.87 1900 --0.5 45.5 800 2830.2 1900 -0 45.5 800 2887.38 1900 -0.5 45.5 800 2830.2 1900 -1 45.5 800 2667.87 1900 -1.5 45.5 800 2425.65 1900 -2 45.5 800 2138.39 1900 -2.5 45.5 800 1842.34 1900 -3 45.5 800 1567.9 1900 -3.5 45.5 800 1335.15 1900 -4 45.5 800 1152.8 1900 -4.5 45.5 800 1020.01 1900 -5 45.5 800 929.786 1900 -5.5 45.5 800 872.425 1900 -6 45.5 800 838.232 1900 -6.5 45.5 800 819.091 1900 -7 45.5 800 809.018 1900 -7.5 45.5 800 804.03 1900 -8 45.5 800 801.703 1900 -8.5 45.5 800 800.681 1900 -9 45.5 800 800.258 1900 -9.5 45.5 800 800.092 1900 -10 45.5 800 800.031 1900 --10 46 800 800.025 1900 --9.5 46 800 800.073 1900 --9 46 800 800.205 1900 --8.5 46 800 800.541 1900 --8 46 800 801.353 1900 --7.5 46 800 803.202 1900 --7 46 800 807.165 1900 --6.5 46 800 815.169 1900 --6 46 800 830.376 1900 --5.5 46 800 857.544 1900 --5 46 800 903.119 1900 --4.5 46 800 974.804 1900 --4 46 800 1080.31 1900 --3.5 46 800 1225.2 1900 --3 46 800 1410.13 1900 --2.5 46 800 1628.17 1900 --2 46 800 1863.39 1900 --1.5 46 800 2091.64 1900 --1 46 800 2284.09 1900 --0.5 46 800 2413.06 1900 -0 46 800 2458.49 1900 -0.5 46 800 2413.06 1900 -1 46 800 2284.09 1900 -1.5 46 800 2091.64 1900 -2 46 800 1863.39 1900 -2.5 46 800 1628.17 1900 -3 46 800 1410.13 1900 -3.5 46 800 1225.2 1900 -4 46 800 1080.31 1900 -4.5 46 800 974.804 1900 -5 46 800 903.119 1900 -5.5 46 800 857.544 1900 -6 46 800 830.376 1900 -6.5 46 800 815.169 1900 -7 46 800 807.165 1900 -7.5 46 800 803.202 1900 -8 46 800 801.353 1900 -8.5 46 800 800.541 1900 -9 46 800 800.205 1900 -9.5 46 800 800.073 1900 -10 46 800 800.025 1900 --10 46.5 800 800.019 1900 --9.5 46.5 800 800.057 1900 --9 46.5 800 800.159 1900 --8.5 46.5 800 800.421 1900 --8 46.5 800 801.054 1900 --7.5 46.5 800 802.493 1900 --7 46.5 800 805.58 1900 --6.5 46.5 800 811.813 1900 --6 46.5 800 823.657 1900 --5.5 46.5 800 844.816 1900 --5 46.5 800 880.309 1900 --4.5 46.5 800 936.138 1900 --4 46.5 800 1018.3 1900 --3.5 46.5 800 1131.14 1900 --3 46.5 800 1275.17 1900 --2.5 46.5 800 1444.98 1900 --2 46.5 800 1628.17 1900 --1.5 46.5 800 1805.93 1900 --1 46.5 800 1955.81 1900 --0.5 46.5 800 2056.25 1900 -0 46.5 800 2091.64 1900 -0.5 46.5 800 2056.25 1900 -1 46.5 800 1955.81 1900 -1.5 46.5 800 1805.93 1900 -2 46.5 800 1628.17 1900 -2.5 46.5 800 1444.98 1900 -3 46.5 800 1275.17 1900 -3.5 46.5 800 1131.14 1900 -4 46.5 800 1018.3 1900 -4.5 46.5 800 936.138 1900 -5 46.5 800 880.309 1900 -5.5 46.5 800 844.816 1900 -6 46.5 800 823.657 1900 -6.5 46.5 800 811.813 1900 -7 46.5 800 805.58 1900 -7.5 46.5 800 802.493 1900 -8 46.5 800 801.054 1900 -8.5 46.5 800 800.421 1900 -9 46.5 800 800.159 1900 -9.5 46.5 800 800.057 1900 -10 46.5 800 800.019 1900 --10 47 800 800.015 1900 --9.5 47 800 800.044 1900 --9 47 800 800.122 1900 --8.5 47 800 800.322 1900 --8 47 800 800.805 1900 --7.5 47 800 801.903 1900 --7 47 800 804.26 1900 --6.5 47 800 809.018 1900 --6 47 800 818.059 1900 --5.5 47 800 834.211 1900 --5 47 800 861.307 1900 --4.5 47 800 903.925 1900 --4 47 800 966.649 1900 --3.5 47 800 1052.79 1900 --3 47 800 1162.73 1900 --2.5 47 800 1292.37 1900 --2 47 800 1432.21 1900 --1.5 47 800 1567.9 1900 --1 47 800 1682.32 1900 --0.5 47 800 1759 1900 -0 47 800 1786.01 1900 -0.5 47 800 1759 1900 -1 47 800 1682.32 1900 -1.5 47 800 1567.9 1900 -2 47 800 1432.21 1900 -2.5 47 800 1292.37 1900 -3 47 800 1162.73 1900 -3.5 47 800 1052.79 1900 -4 47 800 966.649 1900 -4.5 47 800 903.925 1900 -5 47 800 861.307 1900 -5.5 47 800 834.211 1900 -6 47 800 818.059 1900 -6.5 47 800 809.018 1900 -7 47 800 804.26 1900 -7.5 47 800 801.903 1900 -8 47 800 800.805 1900 -8.5 47 800 800.322 1900 -9 47 800 800.122 1900 -9.5 47 800 800.044 1900 -10 47 800 800.015 1900 --10 47.5 800 800.011 1900 --9.5 47.5 800 800.033 1900 --9 47.5 800 800.091 1900 --8.5 47.5 800 800.241 1900 --8 47.5 800 800.602 1900 --7.5 47.5 800 801.424 1900 --7 47.5 800 803.187 1900 --6.5 47.5 800 806.748 1900 --6 47.5 800 813.513 1900 --5.5 47.5 800 825.599 1900 --5 47.5 800 845.874 1900 --4.5 47.5 800 877.763 1900 --4 47.5 800 924.697 1900 --3.5 47.5 800 989.153 1900 --3 47.5 800 1071.42 1900 --2.5 47.5 800 1168.42 1900 --2 47.5 800 1273.06 1900 --1.5 47.5 800 1374.59 1900 --1 47.5 800 1460.21 1900 --0.5 47.5 800 1517.58 1900 -0 47.5 800 1537.79 1900 -0.5 47.5 800 1517.58 1900 -1 47.5 800 1460.21 1900 -1.5 47.5 800 1374.59 1900 -2 47.5 800 1273.06 1900 -2.5 47.5 800 1168.42 1900 -3 47.5 800 1071.42 1900 -3.5 47.5 800 989.153 1900 -4 47.5 800 924.697 1900 -4.5 47.5 800 877.763 1900 -5 47.5 800 845.874 1900 -5.5 47.5 800 825.599 1900 -6 47.5 800 813.513 1900 -6.5 47.5 800 806.748 1900 -7 47.5 800 803.187 1900 -7.5 47.5 800 801.424 1900 -8 47.5 800 800.602 1900 -8.5 47.5 800 800.241 1900 -9 47.5 800 800.091 1900 -9.5 47.5 800 800.033 1900 -10 47.5 800 800.011 1900 --10 48 800 800.008 1900 --9.5 48 800 800.024 1900 --9 48 800 800.067 1900 --8.5 48 800 800.177 1900 --8 48 800 800.442 1900 --7.5 48 800 801.045 1900 --7 48 800 802.338 1900 --6.5 48 800 804.949 1900 --6 48 800 809.911 1900 --5.5 48 800 818.776 1900 --5 48 800 833.646 1900 --4.5 48 800 857.035 1900 --4 48 800 891.459 1900 --3.5 48 800 938.733 1900 --3 48 800 999.072 1900 --2.5 48 800 1070.22 1900 --2 48 800 1146.96 1900 --1.5 48 800 1221.43 1900 --1 48 800 1284.23 1900 --0.5 48 800 1326.31 1900 -0 48 800 1341.13 1900 -0.5 48 800 1326.31 1900 -1 48 800 1284.23 1900 -1.5 48 800 1221.43 1900 -2 48 800 1146.96 1900 -2.5 48 800 1070.22 1900 -3 48 800 999.072 1900 -3.5 48 800 938.733 1900 -4 48 800 891.459 1900 -4.5 48 800 857.035 1900 -5 48 800 833.646 1900 -5.5 48 800 818.776 1900 -6 48 800 809.911 1900 -6.5 48 800 804.949 1900 -7 48 800 802.338 1900 -7.5 48 800 801.045 1900 -8 48 800 800.442 1900 -8.5 48 800 800.177 1900 -9 48 800 800.067 1900 -9.5 48 800 800.024 1900 -10 48 800 800.008 1900 --10 48.5 800 800.006 1900 --9.5 48.5 800 800.017 1900 --9 48.5 800 800.048 1900 --8.5 48.5 800 800.127 1900 --8 48.5 800 800.317 1900 --7.5 48.5 800 800.751 1900 --7 48.5 800 801.681 1900 --6.5 48.5 800 803.558 1900 --6 48.5 800 807.125 1900 --5.5 48.5 800 813.498 1900 --5 48.5 800 824.189 1900 --4.5 48.5 800 841.004 1900 --4 48.5 800 865.752 1900 --3.5 48.5 800 899.739 1900 --3 48.5 800 943.117 1900 --2.5 48.5 800 994.265 1900 --2 48.5 800 1049.44 1900 --1.5 48.5 800 1102.98 1900 --1 48.5 800 1148.12 1900 --0.5 48.5 800 1178.38 1900 -0 48.5 800 1189.03 1900 -0.5 48.5 800 1178.38 1900 -1 48.5 800 1148.12 1900 -1.5 48.5 800 1102.98 1900 -2 48.5 800 1049.44 1900 -2.5 48.5 800 994.265 1900 -3 48.5 800 943.117 1900 -3.5 48.5 800 899.739 1900 -4 48.5 800 865.752 1900 -4.5 48.5 800 841.004 1900 -5 48.5 800 824.189 1900 -5.5 48.5 800 813.498 1900 -6 48.5 800 807.125 1900 -6.5 48.5 800 803.558 1900 -7 48.5 800 801.681 1900 -7.5 48.5 800 800.751 1900 -8 48.5 800 800.317 1900 -8.5 48.5 800 800.127 1900 -9 48.5 800 800.048 1900 -9.5 48.5 800 800.017 1900 -10 48.5 800 800.006 1900 --10 49 800 800.004 1900 --9.5 49 800 800.012 1900 --9 49 800 800.034 1900 --8.5 49 800 800.089 1900 --8 49 800 800.224 1900 --7.5 49 800 800.529 1900 --7 49 800 801.184 1900 --6.5 49 800 802.507 1900 --6 49 800 805.021 1900 --5.5 49 800 809.512 1900 --5 49 800 817.046 1900 --4.5 49 800 828.895 1900 --4 49 800 846.335 1900 --3.5 49 800 870.285 1900 --3 49 800 900.853 1900 --2.5 49 800 936.896 1900 --2 49 800 975.778 1900 --1.5 49 800 1013.51 1900 --1 49 800 1045.32 1900 --0.5 49 800 1066.64 1900 -0 49 800 1074.15 1900 -0.5 49 800 1066.64 1900 -1 49 800 1045.32 1900 -1.5 49 800 1013.51 1900 -2 49 800 975.778 1900 -2.5 49 800 936.896 1900 -3 49 800 900.853 1900 -3.5 49 800 870.285 1900 -4 49 800 846.335 1900 -4.5 49 800 828.895 1900 -5 49 800 817.046 1900 -5.5 49 800 809.512 1900 -6 49 800 805.021 1900 -6.5 49 800 802.507 1900 -7 49 800 801.184 1900 -7.5 49 800 800.529 1900 -8 49 800 800.224 1900 -8.5 49 800 800.089 1900 -9 49 800 800.034 1900 -9.5 49 800 800.012 1900 -10 49 800 800.004 1900 --10 49.5 800 800.003 1900 --9.5 49.5 800 800.008 1900 --9 49.5 800 800.023 1900 --8.5 49.5 800 800.062 1900 --8 49.5 800 800.155 1900 --7.5 49.5 800 800.366 1900 --7 49.5 800 800.818 1900 --6.5 49.5 800 801.732 1900 --6 49.5 800 803.468 1900 --5.5 49.5 800 806.57 1900 --5 49.5 800 811.774 1900 --4.5 49.5 800 819.959 1900 --4 49.5 800 832.005 1900 --3.5 49.5 800 848.548 1900 --3 49.5 800 869.663 1900 --2.5 49.5 800 894.559 1900 --2 49.5 800 921.416 1900 --1.5 49.5 800 947.476 1900 --1 49.5 800 969.449 1900 --0.5 49.5 800 984.175 1900 -0 49.5 800 989.363 1900 -0.5 49.5 800 984.175 1900 -1 49.5 800 969.449 1900 -1.5 49.5 800 947.476 1900 -2 49.5 800 921.416 1900 -2.5 49.5 800 894.559 1900 -3 49.5 800 869.663 1900 -3.5 49.5 800 848.548 1900 -4 49.5 800 832.005 1900 -4.5 49.5 800 819.959 1900 -5 49.5 800 811.774 1900 -5.5 49.5 800 806.57 1900 -6 49.5 800 803.468 1900 -6.5 49.5 800 801.732 1900 -7 49.5 800 800.818 1900 -7.5 49.5 800 800.366 1900 -8 49.5 800 800.155 1900 -8.5 49.5 800 800.062 1900 -9 49.5 800 800.023 1900 -9.5 49.5 800 800.008 1900 -10 49.5 800 800.003 1900 --10 50 800 800.002 1900 --9.5 50 800 800.006 1900 --9 50 800 800.016 1900 --8.5 50 800 800.042 1900 --8 50 800 800.105 1900 --7.5 50 800 800.248 1900 --7 50 800 800.554 1900 --6.5 50 800 801.173 1900 --6 50 800 802.348 1900 --5.5 50 800 804.448 1900 --5 50 800 807.972 1900 --4.5 50 800 813.513 1900 --4 50 800 821.669 1900 --3.5 50 800 832.87 1900 --3 50 800 847.166 1900 --2.5 50 800 864.022 1900 --2 50 800 882.205 1900 --1.5 50 800 899.85 1900 --1 50 800 914.727 1900 --0.5 50 800 924.697 1900 -0 50 800 928.209 1900 -0.5 50 800 924.697 1900 -1 50 800 914.727 1900 -1.5 50 800 899.85 1900 -2 50 800 882.205 1900 -2.5 50 800 864.022 1900 -3 50 800 847.166 1900 -3.5 50 800 832.87 1900 -4 50 800 821.669 1900 -4.5 50 800 813.513 1900 -5 50 800 807.972 1900 -5.5 50 800 804.448 1900 -6 50 800 802.348 1900 -6.5 50 800 801.173 1900 -7 50 800 800.554 1900 -7.5 50 800 800.248 1900 -8 50 800 800.105 1900 -8.5 50 800 800.042 1900 -9 50 800 800.016 1900 -9.5 50 800 800.006 1900 -10 50 800 800.002 1900 diff --git a/dep/tesseroids/cookbook/tesslayers/makelayers.py b/dep/tesseroids/cookbook/tesslayers/makelayers.py deleted file mode 100755 index d4342d2..0000000 --- a/dep/tesseroids/cookbook/tesslayers/makelayers.py +++ /dev/null @@ -1,34 +0,0 @@ -import numpy as np -import fatiando as ft - -shape = (41, 41) -x, y = ft.grd.regular((-10, 10, 30, 50), shape) -height = 800 - 1000*ft.utils.gaussian2d(x, y, 3, 1, x0=0, y0=37) -rel = -7000*ft.utils.gaussian2d(x, y, 3, 5, x0=0, y0=40) -thick = height - rel -dens = 1900*np.ones_like(thick) -data = np.transpose([x, y, height, thick, dens]) -with open('layers.txt', 'w') as f: - f.write("# Synthetic layer model of sediments and topography\n") - f.write("# Columns are:\n") - f.write("# lon lat height thickness density\n") - np.savetxt(f, data, fmt='%g') -ft.vis.figure(figsize=(4, 3)) -ft.vis.title('Depth of sediments [m]') -ft.vis.axis('scaled') -ft.vis.pcolor(x, y, rel, shape) -ft.vis.colorbar() -ft.vis.savefig('depth.png') -ft.vis.figure(figsize=(4, 3)) -ft.vis.title('Topography [m]') -ft.vis.axis('scaled') -ft.vis.pcolor(x, y, height, shape) -ft.vis.colorbar() -ft.vis.savefig('topography.png') -ft.vis.figure(figsize=(4, 3)) -ft.vis.title('Thickness of sediment layer [m]') -ft.vis.axis('scaled') -ft.vis.pcolor(x, y, thick, shape) -ft.vis.colorbar() -ft.vis.savefig('thickness.png') -ft.vis.show() diff --git a/dep/tesseroids/cookbook/tesslayers/plot.py b/dep/tesseroids/cookbook/tesslayers/plot.py deleted file mode 100755 index bdbef0b..0000000 --- a/dep/tesseroids/cookbook/tesslayers/plot.py +++ /dev/null @@ -1,20 +0,0 @@ -""" -Plot the columns of the output files -""" -import sys -import pylab - -data = pylab.loadtxt(sys.argv[1], unpack=True) -shape = (int(sys.argv[2]), int(sys.argv[3])) -lon = pylab.reshape(data[0], shape) -lat = pylab.reshape(data[1], shape) -for i, value in enumerate(data[3:]): - value = pylab.reshape(value, shape) - pylab.figure(figsize=(4, 3)) - pylab.axis('scaled') - pylab.title("Column %d" % (i + 4)) - pylab.pcolor(lon, lat, value) - pylab.colorbar() - pylab.xlim(lon.min(), lon.max()) - pylab.ylim(lat.min(), lat.max()) - pylab.savefig('column%d.png' % (i + 4)) diff --git a/dep/tesseroids/cookbook/tesslayers/sample-tessmodel.txt b/dep/tesseroids/cookbook/tesslayers/sample-tessmodel.txt deleted file mode 100755 index 8a871dc..0000000 --- a/dep/tesseroids/cookbook/tesslayers/sample-tessmodel.txt +++ /dev/null @@ -1,1684 +0,0 @@ -# Tesseroid model generated by tesslayers 1.1dev: -# local time: Fri Jul 20 18:02:45 2012 -# grid spacing (size of tesseroids): 0.5 deg lon / 0.5 deg lat --10.25 -9.75 29.75 30.25 800 -0.00200000032782555 1900 --9.75 -9.25 29.75 30.25 800 -0.00600000005215406 1900 --9.25 -8.75 29.75 30.25 800 -0.0159999998286366 1900 --8.75 -8.25 29.75 30.25 800 -0.0420000003650784 1900 --8.25 -7.75 29.75 30.25 800 -0.105000000447035 1900 --7.75 -7.25 29.75 30.25 800 -0.247999999672174 1900 --7.25 -6.75 29.75 30.25 800 -0.553999999538064 1900 --6.75 -6.25 29.75 30.25 800 -1.17300000041723 1900 --6.25 -5.75 29.75 30.25 800 -2.34800000023097 1900 --5.75 -5.25 29.75 30.25 800 -4.44799999985844 1900 --5.25 -4.75 29.75 30.25 800 -7.97200000006706 1900 --4.75 -4.25 29.75 30.25 800 -13.5130000002682 1900 --4.25 -3.75 29.75 30.25 800 -21.6689999997616 1900 --3.75 -3.25 29.75 30.25 800 -32.8700000001118 1900 --3.25 -2.75 29.75 30.25 800 -47.1660000002012 1900 --2.75 -2.25 29.75 30.25 800 -64.0219999998808 1900 --2.25 -1.75 29.75 30.25 800 -82.2050000000745 1900 --1.75 -1.25 29.75 30.25 800 -99.8499999996275 1900 --1.25 -0.75 29.75 30.25 800 -114.726999999955 1900 --0.75 -0.25 29.75 30.25 800 -124.696999999695 1900 --0.25 0.25 29.75 30.25 800 -128.208999999799 1900 -0.25 0.75 29.75 30.25 800 -124.696999999695 1900 -0.75 1.25 29.75 30.25 800 -114.726999999955 1900 -1.25 1.75 29.75 30.25 800 -99.8499999996275 1900 -1.75 2.25 29.75 30.25 800 -82.2050000000745 1900 -2.25 2.75 29.75 30.25 800 -64.0219999998808 1900 -2.75 3.25 29.75 30.25 800 -47.1660000002012 1900 -3.25 3.75 29.75 30.25 800 -32.8700000001118 1900 -3.75 4.25 29.75 30.25 800 -21.6689999997616 1900 -4.25 4.75 29.75 30.25 800 -13.5130000002682 1900 -4.75 5.25 29.75 30.25 800 -7.97200000006706 1900 -5.25 5.75 29.75 30.25 800 -4.44799999985844 1900 -5.75 6.25 29.75 30.25 800 -2.34800000023097 1900 -6.25 6.75 29.75 30.25 800 -1.17300000041723 1900 -6.75 7.25 29.75 30.25 800 -0.553999999538064 1900 -7.25 7.75 29.75 30.25 800 -0.247999999672174 1900 -7.75 8.25 29.75 30.25 800 -0.105000000447035 1900 -8.25 8.75 29.75 30.25 800 -0.0420000003650784 1900 -8.75 9.25 29.75 30.25 800 -0.0159999998286366 1900 -9.25 9.75 29.75 30.25 800 -0.00600000005215406 1900 -9.75 10.25 29.75 30.25 800 -0.00200000032782555 1900 --10.25 -9.75 30.25 30.75 800 -0.00299999956041574 1900 --9.75 -9.25 30.25 30.75 800 -0.00800000037997961 1900 --9.25 -8.75 30.25 30.75 800 -0.0230000000447035 1900 --8.75 -8.25 30.25 30.75 800 -0.0619999999180436 1900 --8.25 -7.75 30.25 30.75 800 -0.15500000026077 1900 --7.75 -7.25 30.25 30.75 800 -0.36600000038743 1900 --7.25 -6.75 30.25 30.75 800 -0.817999999970198 1900 --6.75 -6.25 30.25 30.75 800 -1.73199999984354 1900 --6.25 -5.75 30.25 30.75 800 -3.46800000034273 1900 --5.75 -5.25 30.25 30.75 800 -6.57000000029802 1900 --5.25 -4.75 30.25 30.75 800 -11.7740000002086 1900 --4.75 -4.25 30.25 30.75 800 -19.9589999997988 1900 --4.25 -3.75 30.25 30.75 800 -32.0049999998882 1900 --3.75 -3.25 30.25 30.75 800 -48.5480000004172 1900 --3.25 -2.75 30.25 30.75 800 -69.6629999997094 1900 --2.75 -2.25 30.25 30.75 800 -94.5590000003576 1900 --2.25 -1.75 30.25 30.75 800 -121.416000000201 1900 --1.75 -1.25 30.25 30.75 800 -147.475999999791 1900 --1.25 -0.75 30.25 30.75 800 -169.449000000022 1900 --0.75 -0.25 30.25 30.75 800 -184.174999999814 1900 --0.25 0.25 30.25 30.75 800 -189.362999999896 1900 -0.25 0.75 30.25 30.75 800 -184.174999999814 1900 -0.75 1.25 30.25 30.75 800 -169.449000000022 1900 -1.25 1.75 30.25 30.75 800 -147.475999999791 1900 -1.75 2.25 30.25 30.75 800 -121.416000000201 1900 -2.25 2.75 30.25 30.75 800 -94.5590000003576 1900 -2.75 3.25 30.25 30.75 800 -69.6629999997094 1900 -3.25 3.75 30.25 30.75 800 -48.5480000004172 1900 -3.75 4.25 30.25 30.75 800 -32.0049999998882 1900 -4.25 4.75 30.25 30.75 800 -19.9589999997988 1900 -4.75 5.25 30.25 30.75 800 -11.7740000002086 1900 -5.25 5.75 30.25 30.75 800 -6.57000000029802 1900 -5.75 6.25 30.25 30.75 800 -3.46800000034273 1900 -6.25 6.75 30.25 30.75 800 -1.73199999984354 1900 -6.75 7.25 30.25 30.75 800 -0.817999999970198 1900 -7.25 7.75 30.25 30.75 800 -0.36600000038743 1900 -7.75 8.25 30.25 30.75 800 -0.15500000026077 1900 -8.25 8.75 30.25 30.75 800 -0.0619999999180436 1900 -8.75 9.25 30.25 30.75 800 -0.0230000000447035 1900 -9.25 9.75 30.25 30.75 800 -0.00800000037997961 1900 -9.75 10.25 30.25 30.75 800 -0.00299999956041574 1900 --10.25 -9.75 30.75 31.25 800 -0.00399999972432852 1900 --9.75 -9.25 30.75 31.25 800 -0.0120000001043081 1900 --9.25 -8.75 30.75 31.25 800 -0.0339999999850988 1900 --8.75 -8.25 30.75 31.25 800 -0.0889999996870756 1900 --8.25 -7.75 30.75 31.25 800 -0.224000000394881 1900 --7.75 -7.25 30.75 31.25 800 -0.529000000096858 1900 --7.25 -6.75 30.75 31.25 800 -1.18400000035763 1900 --6.75 -6.25 30.75 31.25 800 -2.50700000021607 1900 --6.25 -5.75 30.75 31.25 800 -5.02099999971688 1900 --5.75 -5.25 30.75 31.25 800 -9.51200000010431 1900 --5.25 -4.75 30.75 31.25 800 -17.0460000000894 1900 --4.75 -4.25 30.75 31.25 800 -28.894999999553 1900 --4.25 -3.75 30.75 31.25 800 -46.3349999999627 1900 --3.75 -3.25 30.75 31.25 800 -70.285000000149 1900 --3.25 -2.75 30.75 31.25 800 -100.853000000119 1900 --2.75 -2.25 30.75 31.25 800 -136.895999999717 1900 --2.25 -1.75 30.75 31.25 800 -175.777999999933 1900 --1.75 -1.25 30.75 31.25 800 -213.509999999776 1900 --1.25 -0.75 30.75 31.25 800 -245.320000000298 1900 --0.75 -0.25 30.75 31.25 800 -266.639999999665 1900 --0.25 0.25 30.75 31.25 800 -274.150000000373 1900 -0.25 0.75 30.75 31.25 800 -266.639999999665 1900 -0.75 1.25 30.75 31.25 800 -245.320000000298 1900 -1.25 1.75 30.75 31.25 800 -213.509999999776 1900 -1.75 2.25 30.75 31.25 800 -175.777999999933 1900 -2.25 2.75 30.75 31.25 800 -136.895999999717 1900 -2.75 3.25 30.75 31.25 800 -100.853000000119 1900 -3.25 3.75 30.75 31.25 800 -70.285000000149 1900 -3.75 4.25 30.75 31.25 800 -46.3349999999627 1900 -4.25 4.75 30.75 31.25 800 -28.894999999553 1900 -4.75 5.25 30.75 31.25 800 -17.0460000000894 1900 -5.25 5.75 30.75 31.25 800 -9.51200000010431 1900 -5.75 6.25 30.75 31.25 800 -5.02099999971688 1900 -6.25 6.75 30.75 31.25 800 -2.50700000021607 1900 -6.75 7.25 30.75 31.25 800 -1.18400000035763 1900 -7.25 7.75 30.75 31.25 800 -0.529000000096858 1900 -7.75 8.25 30.75 31.25 800 -0.224000000394881 1900 -8.25 8.75 30.75 31.25 800 -0.0889999996870756 1900 -8.75 9.25 30.75 31.25 800 -0.0339999999850988 1900 -9.25 9.75 30.75 31.25 800 -0.0120000001043081 1900 -9.75 10.25 30.75 31.25 800 -0.00399999972432852 1900 --10.25 -9.75 31.25 31.75 800 -0.00600000005215406 1900 --9.75 -9.25 31.25 31.75 800 -0.0169999999925494 1900 --9.25 -8.75 31.25 31.75 800 -0.0480000004172325 1900 --8.75 -8.25 31.25 31.75 800 -0.127000000327826 1900 --8.25 -7.75 31.25 31.75 800 -0.316999999806285 1900 --7.75 -7.25 31.25 31.75 800 -0.751000000163913 1900 --7.25 -6.75 31.25 31.75 800 -1.68099999986589 1900 --6.75 -6.25 31.25 31.75 800 -3.55800000019372 1900 --6.25 -5.75 31.25 31.75 800 -7.125 1900 --5.75 -5.25 31.25 31.75 800 -13.4979999996722 1900 --5.25 -4.75 31.25 31.75 800 -24.1890000002459 1900 --4.75 -4.25 31.25 31.75 800 -41.0039999997243 1900 --4.25 -3.75 31.25 31.75 800 -65.7520000003278 1900 --3.75 -3.25 31.25 31.75 800 -99.7390000000596 1900 --3.25 -2.75 31.25 31.75 800 -143.11699999962 1900 --2.75 -2.25 31.25 31.75 800 -194.264999999665 1900 --2.25 -1.75 31.25 31.75 800 -249.44000000041 1900 --1.75 -1.25 31.25 31.75 800 -302.980000000447 1900 --1.25 -0.75 31.25 31.75 800 -348.120000000112 1900 --0.75 -0.25 31.25 31.75 800 -378.379999999888 1900 --0.25 0.25 31.25 31.75 800 -389.030000000261 1900 -0.25 0.75 31.25 31.75 800 -378.379999999888 1900 -0.75 1.25 31.25 31.75 800 -348.120000000112 1900 -1.25 1.75 31.25 31.75 800 -302.980000000447 1900 -1.75 2.25 31.25 31.75 800 -249.44000000041 1900 -2.25 2.75 31.25 31.75 800 -194.264999999665 1900 -2.75 3.25 31.25 31.75 800 -143.11699999962 1900 -3.25 3.75 31.25 31.75 800 -99.7390000000596 1900 -3.75 4.25 31.25 31.75 800 -65.7520000003278 1900 -4.25 4.75 31.25 31.75 800 -41.0039999997243 1900 -4.75 5.25 31.25 31.75 800 -24.1890000002459 1900 -5.25 5.75 31.25 31.75 800 -13.4979999996722 1900 -5.75 6.25 31.25 31.75 800 -7.125 1900 -6.25 6.75 31.25 31.75 800 -3.55800000019372 1900 -6.75 7.25 31.25 31.75 800 -1.68099999986589 1900 -7.25 7.75 31.25 31.75 800 -0.751000000163913 1900 -7.75 8.25 31.25 31.75 800 -0.316999999806285 1900 -8.25 8.75 31.25 31.75 800 -0.127000000327826 1900 -8.75 9.25 31.25 31.75 800 -0.0480000004172325 1900 -9.25 9.75 31.25 31.75 800 -0.0169999999925494 1900 -9.75 10.25 31.25 31.75 800 -0.00600000005215406 1900 --10.25 -9.75 31.75 32.25 800 -0.00800000037997961 1900 --9.75 -9.25 31.75 32.25 800 -0.0240000002086163 1900 --9.25 -8.75 31.75 32.25 800 -0.0669999998062849 1900 --8.75 -8.25 31.75 32.25 800 -0.177000000141561 1900 --8.25 -7.75 31.75 32.25 800 -0.441999999806285 1900 --7.75 -7.25 31.75 32.25 800 -1.04499999992549 1900 --7.25 -6.75 31.75 32.25 800 -2.33800000045449 1900 --6.75 -6.25 31.75 32.25 800 -4.94900000002235 1900 --6.25 -5.75 31.75 32.25 800 -9.91100000031292 1900 --5.75 -5.25 31.75 32.25 800 -18.7759999996051 1900 --5.25 -4.75 31.75 32.25 800 -33.6459999997169 1900 --4.75 -4.25 31.75 32.25 800 -57.035000000149 1900 --4.25 -3.75 31.75 32.25 800 -91.4589999997988 1900 --3.75 -3.25 31.75 32.25 800 -138.733000000007 1900 --3.25 -2.75 31.75 32.25 800 -199.071999999695 1900 --2.75 -2.25 31.75 32.25 800 -270.219999999739 1900 --2.25 -1.75 31.75 32.25 800 -346.959999999963 1900 --1.75 -1.25 31.75 32.25 800 -421.429999999702 1900 --1.25 -0.75 31.75 32.25 800 -484.230000000447 1900 --0.75 -0.25 31.75 32.25 800 -526.30999999959 1900 --0.25 0.25 31.75 32.25 800 -541.129999999888 1900 -0.25 0.75 31.75 32.25 800 -526.30999999959 1900 -0.75 1.25 31.75 32.25 800 -484.230000000447 1900 -1.25 1.75 31.75 32.25 800 -421.429999999702 1900 -1.75 2.25 31.75 32.25 800 -346.959999999963 1900 -2.25 2.75 31.75 32.25 800 -270.219999999739 1900 -2.75 3.25 31.75 32.25 800 -199.071999999695 1900 -3.25 3.75 31.75 32.25 800 -138.733000000007 1900 -3.75 4.25 31.75 32.25 800 -91.4589999997988 1900 -4.25 4.75 31.75 32.25 800 -57.035000000149 1900 -4.75 5.25 31.75 32.25 800 -33.6459999997169 1900 -5.25 5.75 31.75 32.25 800 -18.7759999996051 1900 -5.75 6.25 31.75 32.25 800 -9.91100000031292 1900 -6.25 6.75 31.75 32.25 800 -4.94900000002235 1900 -6.75 7.25 31.75 32.25 800 -2.33800000045449 1900 -7.25 7.75 31.75 32.25 800 -1.04499999992549 1900 -7.75 8.25 31.75 32.25 800 -0.441999999806285 1900 -8.25 8.75 31.75 32.25 800 -0.177000000141561 1900 -8.75 9.25 31.75 32.25 800 -0.0669999998062849 1900 -9.25 9.75 31.75 32.25 800 -0.0240000002086163 1900 -9.75 10.25 31.75 32.25 800 -0.00800000037997961 1900 --10.25 -9.75 32.25 32.75 800 -0.0109999999403954 1900 --9.75 -9.25 32.25 32.75 800 -0.0329999998211861 1900 --9.25 -8.75 32.25 32.75 800 -0.0910000000149012 1900 --8.75 -8.25 32.25 32.75 800 -0.24100000038743 1900 --8.25 -7.75 32.25 32.75 800 -0.601999999955297 1900 --7.75 -7.25 32.25 32.75 800 -1.42399999964982 1900 --7.25 -6.75 32.25 32.75 800 -3.18699999991804 1900 --6.75 -6.25 32.25 32.75 800 -6.74799999967217 1900 --6.25 -5.75 32.25 32.75 800 -13.5130000002682 1900 --5.75 -5.25 32.25 32.75 800 -25.5990000003949 1900 --5.25 -4.75 32.25 32.75 800 -45.8739999998361 1900 --4.75 -4.25 32.25 32.75 800 -77.7630000002682 1900 --4.25 -3.75 32.25 32.75 800 -124.696999999695 1900 --3.75 -3.25 32.25 32.75 800 -189.152999999933 1900 --3.25 -2.75 32.25 32.75 800 -271.419999999925 1900 --2.75 -2.25 32.25 32.75 800 -368.419999999925 1900 --2.25 -1.75 32.25 32.75 800 -473.05999999959 1900 --1.75 -1.25 32.25 32.75 800 -574.589999999851 1900 --1.25 -0.75 32.25 32.75 800 -660.209999999963 1900 --0.75 -0.25 32.25 32.75 800 -717.580000000075 1900 --0.25 0.25 32.25 32.75 800 -737.790000000037 1900 -0.25 0.75 32.25 32.75 800 -717.580000000075 1900 -0.75 1.25 32.25 32.75 800 -660.209999999963 1900 -1.25 1.75 32.25 32.75 800 -574.589999999851 1900 -1.75 2.25 32.25 32.75 800 -473.05999999959 1900 -2.25 2.75 32.25 32.75 800 -368.419999999925 1900 -2.75 3.25 32.25 32.75 800 -271.419999999925 1900 -3.25 3.75 32.25 32.75 800 -189.152999999933 1900 -3.75 4.25 32.25 32.75 800 -124.696999999695 1900 -4.25 4.75 32.25 32.75 800 -77.7630000002682 1900 -4.75 5.25 32.25 32.75 800 -45.8739999998361 1900 -5.25 5.75 32.25 32.75 800 -25.5990000003949 1900 -5.75 6.25 32.25 32.75 800 -13.5130000002682 1900 -6.25 6.75 32.25 32.75 800 -6.74799999967217 1900 -6.75 7.25 32.25 32.75 800 -3.18699999991804 1900 -7.25 7.75 32.25 32.75 800 -1.42399999964982 1900 -7.75 8.25 32.25 32.75 800 -0.601999999955297 1900 -8.25 8.75 32.25 32.75 800 -0.24100000038743 1900 -8.75 9.25 32.25 32.75 800 -0.0910000000149012 1900 -9.25 9.75 32.25 32.75 800 -0.0329999998211861 1900 -9.75 10.25 32.25 32.75 800 -0.0109999999403954 1900 --10.25 -9.75 32.75 33.25 800 -0.0149999996647239 1900 --9.75 -9.25 32.75 33.25 800 -0.0439999997615814 1900 --9.25 -8.75 32.75 33.25 800 -0.122000000439584 1900 --8.75 -8.25 32.75 33.25 800 -0.321999999694526 1900 --8.25 -7.75 32.75 33.25 800 -0.804999999701977 1900 --7.75 -7.25 32.75 33.25 800 -1.90299999993294 1900 --7.25 -6.75 32.75 33.25 800 -4.25999999977648 1900 --6.75 -6.25 32.75 33.25 800 -9.01800000015646 1900 --6.25 -5.75 32.75 33.25 800 -18.0590000003576 1900 --5.75 -5.25 32.75 33.25 800 -34.2110000001267 1900 --5.25 -4.75 32.75 33.25 800 -61.3070000000298 1900 --4.75 -4.25 32.75 33.25 800 -103.924999999814 1900 --4.25 -3.75 32.75 33.25 800 -166.649000000209 1900 --3.75 -3.25 32.75 33.25 800 -252.790000000037 1900 --3.25 -2.75 32.75 33.25 800 -362.730000000447 1900 --2.75 -2.25 32.75 33.25 800 -492.370000000112 1900 --2.25 -1.75 32.75 33.25 800 -632.209999999963 1900 --1.75 -1.25 32.75 33.25 800 -767.900000000373 1900 --1.25 -0.75 32.75 33.25 800 -882.320000000298 1900 --0.75 -0.25 32.75 33.25 800 -959 1900 --0.25 0.25 32.75 33.25 800 -986.009999999776 1900 -0.25 0.75 32.75 33.25 800 -959 1900 -0.75 1.25 32.75 33.25 800 -882.320000000298 1900 -1.25 1.75 32.75 33.25 800 -767.900000000373 1900 -1.75 2.25 32.75 33.25 800 -632.209999999963 1900 -2.25 2.75 32.75 33.25 800 -492.370000000112 1900 -2.75 3.25 32.75 33.25 800 -362.730000000447 1900 -3.25 3.75 32.75 33.25 800 -252.790000000037 1900 -3.75 4.25 32.75 33.25 800 -166.649000000209 1900 -4.25 4.75 32.75 33.25 800 -103.924999999814 1900 -4.75 5.25 32.75 33.25 800 -61.3070000000298 1900 -5.25 5.75 32.75 33.25 800 -34.2110000001267 1900 -5.75 6.25 32.75 33.25 800 -18.0590000003576 1900 -6.25 6.75 32.75 33.25 800 -9.01800000015646 1900 -6.75 7.25 32.75 33.25 800 -4.25999999977648 1900 -7.25 7.75 32.75 33.25 800 -1.90299999993294 1900 -7.75 8.25 32.75 33.25 800 -0.804999999701977 1900 -8.25 8.75 32.75 33.25 800 -0.321999999694526 1900 -8.75 9.25 32.75 33.25 800 -0.122000000439584 1900 -9.25 9.75 32.75 33.25 800 -0.0439999997615814 1900 -9.75 10.25 32.75 33.25 800 -0.0149999996647239 1900 --10.25 -9.75 33.25 33.75 800 -0.019000000320375 1900 --9.75 -9.25 33.25 33.75 800 -0.0570000000298023 1900 --9.25 -8.75 33.25 33.75 800 -0.158999999985099 1900 --8.75 -8.25 33.25 33.75 800 -0.421000000089407 1900 --8.25 -7.75 33.25 33.75 800 -1.05399999953806 1900 --7.75 -7.25 33.25 33.75 800 -2.49299999978393 1900 --7.25 -6.75 33.25 33.75 800 -5.58000000007451 1900 --6.75 -6.25 33.25 33.75 800 -11.813000000082 1900 --6.25 -5.75 33.25 33.75 800 -23.6569999996573 1900 --5.75 -5.25 33.25 33.75 800 -44.8150000004098 1900 --5.25 -4.75 33.25 33.75 800 -80.3090000003576 1900 --4.75 -4.25 33.25 33.75 799.998999999836 -136.138000000268 1900 --4.25 -3.75 33.25 33.75 799.998999999836 -218.300999999978 1900 --3.75 -3.25 33.25 33.75 799.998999999836 -331.140999999829 1900 --3.25 -2.75 33.25 33.75 799.997999999672 -475.162000000477 1900 --2.75 -2.25 33.25 33.75 799.997999999672 -644.982000000775 1900 --2.25 -1.75 33.25 33.75 799.99700000044 -828.172999999486 1900 --1.75 -1.25 33.25 33.75 799.996000000276 -1005.92399999965 1900 --1.25 -0.75 33.25 33.75 799.996000000276 -1155.80399999954 1900 --0.75 -0.25 33.25 33.75 799.995000000112 -1256.25499999989 1900 --0.25 0.25 33.25 33.75 799.995000000112 -1291.63499999978 1900 -0.25 0.75 33.25 33.75 799.995000000112 -1256.25499999989 1900 -0.75 1.25 33.25 33.75 799.996000000276 -1155.80399999954 1900 -1.25 1.75 33.25 33.75 799.996000000276 -1005.92399999965 1900 -1.75 2.25 33.25 33.75 799.99700000044 -828.172999999486 1900 -2.25 2.75 33.25 33.75 799.997999999672 -644.982000000775 1900 -2.75 3.25 33.25 33.75 799.997999999672 -475.162000000477 1900 -3.25 3.75 33.25 33.75 799.998999999836 -331.140999999829 1900 -3.75 4.25 33.25 33.75 799.998999999836 -218.300999999978 1900 -4.25 4.75 33.25 33.75 799.998999999836 -136.138000000268 1900 -4.75 5.25 33.25 33.75 800 -80.3090000003576 1900 -5.25 5.75 33.25 33.75 800 -44.8150000004098 1900 -5.75 6.25 33.25 33.75 800 -23.6569999996573 1900 -6.25 6.75 33.25 33.75 800 -11.813000000082 1900 -6.75 7.25 33.25 33.75 800 -5.58000000007451 1900 -7.25 7.75 33.25 33.75 800 -2.49299999978393 1900 -7.75 8.25 33.25 33.75 800 -1.05399999953806 1900 -8.25 8.75 33.25 33.75 800 -0.421000000089407 1900 -8.75 9.25 33.25 33.75 800 -0.158999999985099 1900 -9.25 9.75 33.25 33.75 800 -0.0570000000298023 1900 -9.75 10.25 33.25 33.75 800 -0.019000000320375 1900 --10.25 -9.75 33.75 34.25 800 -0.025000000372529 1900 --9.75 -9.25 33.75 34.25 800 -0.072999999858439 1900 --9.25 -8.75 33.75 34.25 800 -0.205000000074506 1900 --8.75 -8.25 33.75 34.25 800 -0.541000000201166 1900 --8.25 -7.75 33.75 34.25 800 -1.35300000011921 1900 --7.75 -7.25 33.75 34.25 800 -3.20100000035018 1900 --7.25 -6.75 33.75 34.25 799.998999999836 -7.16600000020117 1900 --6.75 -6.25 33.75 34.25 799.998999999836 -15.168000000529 1900 --6.25 -5.75 33.75 34.25 799.997999999672 -30.3760000001639 1900 --5.75 -5.25 33.75 34.25 799.996000000276 -57.5439999997616 1900 --5.25 -4.75 33.75 34.25 799.99199999962 -103.120000000112 1900 --4.75 -4.25 33.75 34.25 799.986999999732 -174.804000000469 1900 --4.25 -3.75 33.75 34.25 799.979000000283 -280.310999999754 1900 --3.75 -3.25 33.75 34.25 799.968000000343 -425.201999999583 1900 --3.25 -2.75 33.75 34.25 799.955000000075 -610.125 1900 --2.75 -2.25 33.75 34.25 799.938000000082 -828.172000000253 1900 --2.25 -1.75 33.75 34.25 799.921000000089 -1063.3889999995 1900 --1.75 -1.25 33.75 34.25 799.904000000097 -1291.63599999994 1900 --1.25 -0.75 33.75 34.25 799.889999999665 -1484.09000000078 1900 --0.75 -0.25 33.75 34.25 799.879999999888 -1613.06000000052 1900 --0.25 0.25 33.75 34.25 799.877000000328 -1658.49299999978 1900 -0.25 0.75 33.75 34.25 799.879999999888 -1613.06000000052 1900 -0.75 1.25 33.75 34.25 799.889999999665 -1484.09000000078 1900 -1.25 1.75 33.75 34.25 799.904000000097 -1291.63599999994 1900 -1.75 2.25 33.75 34.25 799.921000000089 -1063.3889999995 1900 -2.25 2.75 33.75 34.25 799.938000000082 -828.172000000253 1900 -2.75 3.25 33.75 34.25 799.955000000075 -610.125 1900 -3.25 3.75 33.75 34.25 799.968000000343 -425.201999999583 1900 -3.75 4.25 33.75 34.25 799.979000000283 -280.310999999754 1900 -4.25 4.75 33.75 34.25 799.986999999732 -174.804000000469 1900 -4.75 5.25 33.75 34.25 799.99199999962 -103.120000000112 1900 -5.25 5.75 33.75 34.25 799.996000000276 -57.5439999997616 1900 -5.75 6.25 33.75 34.25 799.997999999672 -30.3760000001639 1900 -6.25 6.75 33.75 34.25 799.998999999836 -15.168000000529 1900 -6.75 7.25 33.75 34.25 799.998999999836 -7.16600000020117 1900 -7.25 7.75 33.75 34.25 800 -3.20100000035018 1900 -7.75 8.25 33.75 34.25 800 -1.35300000011921 1900 -8.25 8.75 33.75 34.25 800 -0.541000000201166 1900 -8.75 9.25 33.75 34.25 800 -0.205000000074506 1900 -9.25 9.75 33.75 34.25 800 -0.072999999858439 1900 -9.75 10.25 33.75 34.25 800 -0.025000000372529 1900 --10.25 -9.75 34.25 34.75 800 -0.0310000004246831 1900 --9.75 -9.25 34.25 34.75 800 -0.0920000001788139 1900 --9.25 -8.75 34.25 34.75 800 -0.257000000216067 1900 --8.75 -8.25 34.25 34.75 799.998999999836 -0.68099999986589 1900 --8.25 -7.75 34.25 34.75 799.997999999672 -1.70399999991059 1900 --7.75 -7.25 34.25 34.75 799.996000000276 -4.02999999932945 1900 --7.25 -6.75 34.25 34.75 799.99199999962 -9.01800000015646 1900 --6.75 -6.25 34.25 34.75 799.981999999844 -19.0910000000149 1900 --6.25 -5.75 34.25 34.75 799.964999999851 -38.2310000006109 1900 --5.75 -5.25 34.25 34.75 799.933000000194 -72.4249999998137 1900 --5.25 -4.75 34.25 34.75 799.879999999888 -129.786000000313 1900 --4.75 -4.25 34.25 34.75 799.797000000253 -220.00299999956 1900 --4.25 -3.75 34.25 34.75 799.67399999965 -352.796000000089 1900 --3.75 -3.25 34.25 34.75 799.504999999888 -535.155000000261 1900 --3.25 -2.75 34.25 34.75 799.290000000037 -767.900000000373 1900 --2.75 -2.25 34.25 34.75 799.036000000313 -1042.3339999998 1900 --2.25 -1.75 34.25 34.75 798.762000000104 -1338.38800000027 1900 --1.75 -1.25 34.25 34.75 798.49700000044 -1625.65299999993 1900 --1.25 -0.75 34.25 34.75 798.273000000045 -1867.86699999962 1900 --0.75 -0.25 34.25 34.75 798.12200000044 -2030.19799999986 1900 --0.25 0.25 34.25 34.75 798.070000000298 -2087.37999999989 1900 -0.25 0.75 34.25 34.75 798.12200000044 -2030.19799999986 1900 -0.75 1.25 34.25 34.75 798.273000000045 -1867.86699999962 1900 -1.25 1.75 34.25 34.75 798.49700000044 -1625.65299999993 1900 -1.75 2.25 34.25 34.75 798.762000000104 -1338.38800000027 1900 -2.25 2.75 34.25 34.75 799.036000000313 -1042.3339999998 1900 -2.75 3.25 34.25 34.75 799.290000000037 -767.900000000373 1900 -3.25 3.75 34.25 34.75 799.504999999888 -535.155000000261 1900 -3.75 4.25 34.25 34.75 799.67399999965 -352.796000000089 1900 -4.25 4.75 34.25 34.75 799.797000000253 -220.00299999956 1900 -4.75 5.25 34.25 34.75 799.879999999888 -129.786000000313 1900 -5.25 5.75 34.25 34.75 799.933000000194 -72.4249999998137 1900 -5.75 6.25 34.25 34.75 799.964999999851 -38.2310000006109 1900 -6.25 6.75 34.25 34.75 799.981999999844 -19.0910000000149 1900 -6.75 7.25 34.25 34.75 799.99199999962 -9.01800000015646 1900 -7.25 7.75 34.25 34.75 799.996000000276 -4.02999999932945 1900 -7.75 8.25 34.25 34.75 799.997999999672 -1.70399999991059 1900 -8.25 8.75 34.25 34.75 799.998999999836 -0.68099999986589 1900 -8.75 9.25 34.25 34.75 800 -0.257000000216067 1900 -9.25 9.75 34.25 34.75 800 -0.0920000001788139 1900 -9.75 10.25 34.25 34.75 800 -0.0310000004246831 1900 --10.25 -9.75 34.75 35.25 800 -0.0379999997094274 1900 --9.75 -9.25 34.75 35.25 799.998999999836 -0.114000000059605 1900 --9.25 -8.75 34.75 35.25 799.997999999672 -0.317999999970198 1900 --8.75 -8.25 34.75 35.25 799.993999999948 -0.839999999850988 1900 --8.25 -7.75 34.75 35.25 799.985000000335 -2.10099999979138 1900 --7.75 -7.25 34.75 35.25 799.964999999851 -4.97099999990314 1900 --7.25 -6.75 34.75 35.25 799.921000000089 -11.125 1900 --6.75 -6.25 34.75 35.25 799.832000000402 -23.5529999993742 1900 --6.25 -5.75 34.75 35.25 799.665000000037 -47.1650000000373 1900 --5.75 -5.25 34.75 35.25 799.365000000224 -89.3489999994636 1900 --5.25 -4.75 34.75 35.25 798.860999999568 -160.11400000006 1900 --4.75 -4.25 34.75 35.25 798.070000000298 -271.419999999925 1900 --4.25 -3.75 34.75 35.25 796.904000000097 -435.235999999568 1900 --3.75 -3.25 34.75 35.25 795.303999999538 -660.206000000238 1900 --3.25 -2.75 34.75 35.25 793.262000000104 -947.348000000231 1900 --2.75 -2.25 34.75 35.25 790.854000000283 -1285.90599999949 1900 --2.25 -1.75 34.75 35.25 788.256000000052 -1651.14400000032 1900 --1.75 -1.25 34.75 35.25 785.735999999568 -2005.53399999999 1900 --1.25 -0.75 34.75 35.25 783.610000000335 -2304.34999999963 1900 --0.75 -0.25 34.75 35.25 782.185999999754 -2504.60400000028 1900 --0.25 0.25 34.75 35.25 781.684000000358 -2575.15599999949 1900 -0.25 0.75 34.75 35.25 782.185999999754 -2504.60400000028 1900 -0.75 1.25 34.75 35.25 783.610000000335 -2304.34999999963 1900 -1.25 1.75 34.75 35.25 785.735999999568 -2005.53399999999 1900 -1.75 2.25 34.75 35.25 788.256000000052 -1651.14400000032 1900 -2.25 2.75 34.75 35.25 790.854000000283 -1285.90599999949 1900 -2.75 3.25 34.75 35.25 793.262000000104 -947.348000000231 1900 -3.25 3.75 34.75 35.25 795.303999999538 -660.206000000238 1900 -3.75 4.25 34.75 35.25 796.904000000097 -435.235999999568 1900 -4.25 4.75 34.75 35.25 798.070000000298 -271.419999999925 1900 -4.75 5.25 34.75 35.25 798.860999999568 -160.11400000006 1900 -5.25 5.75 34.75 35.25 799.365000000224 -89.3489999994636 1900 -5.75 6.25 34.75 35.25 799.665000000037 -47.1650000000373 1900 -6.25 6.75 34.75 35.25 799.832000000402 -23.5529999993742 1900 -6.75 7.25 34.75 35.25 799.921000000089 -11.125 1900 -7.25 7.75 34.75 35.25 799.964999999851 -4.97099999990314 1900 -7.75 8.25 34.75 35.25 799.985000000335 -2.10099999979138 1900 -8.25 8.75 34.75 35.25 799.993999999948 -0.839999999850988 1900 -8.75 9.25 34.75 35.25 799.997999999672 -0.317999999970198 1900 -9.25 9.75 34.75 35.25 799.998999999836 -0.114000000059605 1900 -9.75 10.25 34.75 35.25 800 -0.0379999997094274 1900 --10.25 -9.75 35.25 35.75 799.997999999672 -0.0470000002533197 1900 --9.75 -9.25 35.25 35.75 799.995000000112 -0.138000000268221 1900 --9.25 -8.75 35.25 35.75 799.986999999732 -0.384000000543892 1900 --8.75 -8.25 35.25 35.75 799.966000000015 -1.01599999982864 1900 --8.25 -7.75 35.25 35.75 799.913999999873 -2.54100000020117 1900 --7.75 -7.25 35.25 35.75 799.797000000253 -6.0109999999404 1900 --7.25 -6.75 35.25 35.75 799.544999999925 -13.4529999997467 1900 --6.75 -6.25 35.25 35.75 799.036000000313 -28.4809999996796 1900 --6.25 -5.75 35.25 35.75 798.070000000298 -57.035000000149 1900 --5.75 -5.25 35.25 35.75 796.343000000343 -108.046000000089 1900 --5.25 -4.75 35.25 35.75 793.446999999695 -193.618000000715 1900 --4.75 -4.25 35.25 35.75 788.890999999829 -328.208999999799 1900 --4.25 -3.75 35.25 35.75 782.185999999754 -526.304000000469 1900 --3.75 -3.25 35.25 35.75 772.978000000119 -798.351999999955 1900 --3.25 -2.75 35.25 35.75 761.225999999791 -1145.57400000002 1900 --2.75 -2.25 35.25 35.75 747.368999999948 -1554.98099999968 1900 --2.25 -1.75 35.25 35.75 732.419999999925 -1996.63999999966 1900 --1.75 -1.25 35.25 35.75 717.915000000037 -2425.1950000003 1900 --1.25 -0.75 35.25 35.75 705.68499999959 -2786.53500000015 1900 --0.75 -0.25 35.25 35.75 697.487999999896 -3028.69199999981 1900 --0.25 0.25 35.25 35.75 694.600999999791 -3114.00900000054 1900 -0.25 0.75 35.25 35.75 697.487999999896 -3028.69199999981 1900 -0.75 1.25 35.25 35.75 705.68499999959 -2786.53500000015 1900 -1.25 1.75 35.25 35.75 717.915000000037 -2425.1950000003 1900 -1.75 2.25 35.25 35.75 732.419999999925 -1996.63999999966 1900 -2.25 2.75 35.25 35.75 747.368999999948 -1554.98099999968 1900 -2.75 3.25 35.25 35.75 761.225999999791 -1145.57400000002 1900 -3.25 3.75 35.25 35.75 772.978000000119 -798.351999999955 1900 -3.75 4.25 35.25 35.75 782.185999999754 -526.304000000469 1900 -4.25 4.75 35.25 35.75 788.890999999829 -328.208999999799 1900 -4.75 5.25 35.25 35.75 793.446999999695 -193.618000000715 1900 -5.25 5.75 35.25 35.75 796.343000000343 -108.046000000089 1900 -5.75 6.25 35.25 35.75 798.070000000298 -57.035000000149 1900 -6.25 6.75 35.25 35.75 799.036000000313 -28.4809999996796 1900 -6.75 7.25 35.25 35.75 799.544999999925 -13.4529999997467 1900 -7.25 7.75 35.25 35.75 799.797000000253 -6.0109999999404 1900 -7.75 8.25 35.25 35.75 799.913999999873 -2.54100000020117 1900 -8.25 8.75 35.25 35.75 799.966000000015 -1.01599999982864 1900 -8.75 9.25 35.25 35.75 799.986999999732 -0.384000000543892 1900 -9.25 9.75 35.25 35.75 799.995000000112 -0.138000000268221 1900 -9.75 10.25 35.25 35.75 799.997999999672 -0.0470000002533197 1900 --10.25 -9.75 35.75 36.25 799.995000000112 -0.0549999997019768 1900 --9.75 -9.25 35.75 36.25 799.984000000171 -0.162999999709427 1900 --9.25 -8.75 35.75 36.25 799.955000000075 -0.455000000074506 1900 --8.75 -8.25 35.75 36.25 799.879999999888 -1.20399999991059 1900 --8.25 -7.75 35.75 36.25 799.700000000186 -3.01200000010431 1900 --7.75 -7.25 35.75 36.25 799.290000000037 -7.125 1900 --7.25 -6.75 35.75 36.25 798.411000000313 -15.9459999995306 1900 --6.75 -6.25 35.75 36.25 796.634999999776 -33.7590000005439 1900 --6.25 -5.75 35.75 36.25 793.262000000104 -67.6040000002831 1900 --5.75 -5.25 35.75 36.25 787.235999999568 -128.067000000738 1900 --5.25 -4.75 35.75 36.25 777.127000000328 -229.492999999784 1900 --4.75 -4.25 35.75 36.25 761.225999999791 -389.033999999985 1900 --4.25 -3.75 35.75 36.25 737.822999999858 -623.837000000291 1900 --3.75 -3.25 35.75 36.25 705.68499999959 -946.295000000857 1900 --3.25 -2.75 35.75 36.25 664.665000000037 -1357.86500000022 1900 --2.75 -2.25 35.75 36.25 616.29899999965 -1843.13100000005 1900 --2.25 -1.75 35.75 36.25 564.122999999672 -2366.62700000033 1900 --1.75 -1.25 35.75 36.25 513.495000000112 -2874.59499999974 1900 --1.25 -0.75 35.75 36.25 470.80700000003 -3302.89300000016 1900 --0.75 -0.25 35.75 36.25 442.199000000022 -3589.93099999987 1900 --0.25 0.25 35.75 36.25 432.121000000276 -3691.04899999965 1900 -0.25 0.75 35.75 36.25 442.199000000022 -3589.93099999987 1900 -0.75 1.25 35.75 36.25 470.80700000003 -3302.89300000016 1900 -1.25 1.75 35.75 36.25 513.495000000112 -2874.59499999974 1900 -1.75 2.25 35.75 36.25 564.122999999672 -2366.62700000033 1900 -2.25 2.75 35.75 36.25 616.29899999965 -1843.13100000005 1900 -2.75 3.25 35.75 36.25 664.665000000037 -1357.86500000022 1900 -3.25 3.75 35.75 36.25 705.68499999959 -946.295000000857 1900 -3.75 4.25 35.75 36.25 737.822999999858 -623.837000000291 1900 -4.25 4.75 35.75 36.25 761.225999999791 -389.033999999985 1900 -4.75 5.25 35.75 36.25 777.127000000328 -229.492999999784 1900 -5.25 5.75 35.75 36.25 787.235999999568 -128.067000000738 1900 -5.75 6.25 35.75 36.25 793.262000000104 -67.6040000002831 1900 -6.25 6.75 35.75 36.25 796.634999999776 -33.7590000005439 1900 -6.75 7.25 35.75 36.25 798.411000000313 -15.9459999995306 1900 -7.25 7.75 35.75 36.25 799.290000000037 -7.125 1900 -7.75 8.25 35.75 36.25 799.700000000186 -3.01200000010431 1900 -8.25 8.75 35.75 36.25 799.879999999888 -1.20399999991059 1900 -8.75 9.25 35.75 36.25 799.955000000075 -0.455000000074506 1900 -9.25 9.75 35.75 36.25 799.984000000171 -0.162999999709427 1900 -9.75 10.25 35.75 36.25 799.995000000112 -0.0549999997019768 1900 --10.25 -9.75 36.25 36.75 799.987999999896 -0.0640000002458692 1900 --9.75 -9.25 36.25 36.75 799.966000000015 -0.189000000245869 1900 --9.25 -8.75 36.25 36.75 799.904000000097 -0.529000000096858 1900 --8.75 -8.25 36.25 36.75 799.746000000276 -1.39899999927729 1900 --8.25 -7.75 36.25 36.75 799.365000000224 -3.49899999983609 1900 --7.75 -7.25 36.25 36.75 798.49700000044 -8.27799999993294 1900 --7.25 -6.75 36.25 36.75 796.634999999776 -18.526999999769 1900 --6.75 -6.25 36.25 36.75 792.877000000328 -39.2209999999031 1900 --6.25 -5.75 36.25 36.75 785.735999999568 -78.5440000006929 1900 --5.75 -5.25 36.25 36.75 772.978000000119 -148.792999999598 1900 --5.25 -4.75 36.25 36.75 751.576999999583 -266.63300000038 1900 --4.75 -4.25 36.25 36.75 717.915000000037 -451.995000000112 1900 --4.25 -3.75 36.25 36.75 668.37200000044 -724.797999999486 1900 --3.75 -3.25 36.25 36.75 600.333999999799 -1099.43599999975 1900 --3.25 -2.75 36.25 36.75 513.495000000112 -1577.60499999952 1900 --2.75 -2.25 36.25 36.75 411.104000000283 -2141.41599999927 1900 --2.25 -1.75 36.25 36.75 300.648000000045 -2749.63200000022 1900 --1.75 -1.25 36.25 36.75 193.468999999575 -3339.80099999998 1900 --1.25 -0.75 36.25 36.75 103.098000000231 -3837.41199999955 1900 --0.75 -0.25 36.25 36.75 42.5349000003189 -4170.90510000009 1900 --0.25 0.25 36.25 36.75 21.1991999996826 -4288.38080000039 1900 -0.25 0.75 36.25 36.75 42.5349000003189 -4170.90510000009 1900 -0.75 1.25 36.25 36.75 103.098000000231 -3837.41199999955 1900 -1.25 1.75 36.25 36.75 193.468999999575 -3339.80099999998 1900 -1.75 2.25 36.25 36.75 300.648000000045 -2749.63200000022 1900 -2.25 2.75 36.25 36.75 411.104000000283 -2141.41599999927 1900 -2.75 3.25 36.25 36.75 513.495000000112 -1577.60499999952 1900 -3.25 3.75 36.25 36.75 600.333999999799 -1099.43599999975 1900 -3.75 4.25 36.25 36.75 668.37200000044 -724.797999999486 1900 -4.25 4.75 36.25 36.75 717.915000000037 -451.995000000112 1900 -4.75 5.25 36.25 36.75 751.576999999583 -266.63300000038 1900 -5.25 5.75 36.25 36.75 772.978000000119 -148.792999999598 1900 -5.75 6.25 36.25 36.75 785.735999999568 -78.5440000006929 1900 -6.25 6.75 36.25 36.75 792.877000000328 -39.2209999999031 1900 -6.75 7.25 36.25 36.75 796.634999999776 -18.526999999769 1900 -7.25 7.75 36.25 36.75 798.49700000044 -8.27799999993294 1900 -7.75 8.25 36.25 36.75 799.365000000224 -3.49899999983609 1900 -8.25 8.75 36.25 36.75 799.746000000276 -1.39899999927729 1900 -8.75 9.25 36.25 36.75 799.904000000097 -0.529000000096858 1900 -9.25 9.75 36.25 36.75 799.966000000015 -0.189000000245869 1900 -9.75 10.25 36.25 36.75 799.987999999896 -0.0640000002458692 1900 --10.25 -9.75 36.75 37.25 799.985000000335 -0.072999999858439 1900 --9.75 -9.25 36.75 37.25 799.956000000238 -0.214999999850988 1900 --9.25 -8.75 36.75 37.25 799.877000000328 -0.601999999955297 1900 --8.75 -8.25 36.75 37.25 799.67399999965 -1.59300000034273 1900 --8.25 -7.75 36.75 37.25 799.184000000358 -3.98499999940395 1900 --7.75 -7.25 36.75 37.25 798.070000000298 -9.42700000014156 1900 --7.25 -6.75 36.75 37.25 795.679999999702 -21.0990000003949 1900 --6.75 -6.25 36.75 37.25 790.854000000283 -44.6659999992698 1900 --6.25 -5.75 36.75 37.25 781.684000000358 -89.4490000000224 1900 --5.75 -5.25 36.75 37.25 765.303000000305 -169.449999999255 1900 --5.25 -4.75 36.75 37.25 737.822999999858 -303.657000000589 1900 --4.75 -4.25 36.75 37.25 694.600999999791 -514.73900000006 1900 --4.25 -3.75 36.75 37.25 630.986999999732 -825.413000000641 1900 --3.75 -3.25 36.75 37.25 543.623999999836 -1252.07600000035 1900 --3.25 -2.75 36.75 37.25 432.121000000276 -1796.62899999972 1900 --2.75 -2.25 36.75 37.25 300.648000000045 -2438.70199999958 1900 --2.25 -1.75 36.75 37.25 158.820000000298 -3131.34999999963 1900 --1.75 -1.25 36.75 37.25 21.1991999996826 -3803.46080000047 1900 --1.25 -0.75 36.75 37.25 -94.8393000001088 -4370.15930000041 1900 --0.75 -0.25 36.75 37.25 -172.604000000283 -4749.94400000013 1900 --0.25 0.25 36.75 37.25 -200 -4883.73000000045 1900 -0.25 0.75 36.75 37.25 -172.604000000283 -4749.94400000013 1900 -0.75 1.25 36.75 37.25 -94.8393000001088 -4370.15930000041 1900 -1.25 1.75 36.75 37.25 21.1991999996826 -3803.46080000047 1900 -1.75 2.25 36.75 37.25 158.820000000298 -3131.34999999963 1900 -2.25 2.75 36.75 37.25 300.648000000045 -2438.70199999958 1900 -2.75 3.25 36.75 37.25 432.121000000276 -1796.62899999972 1900 -3.25 3.75 36.75 37.25 543.623999999836 -1252.07600000035 1900 -3.75 4.25 36.75 37.25 630.986999999732 -825.413000000641 1900 -4.25 4.75 36.75 37.25 694.600999999791 -514.73900000006 1900 -4.75 5.25 36.75 37.25 737.822999999858 -303.657000000589 1900 -5.25 5.75 36.75 37.25 765.303000000305 -169.449999999255 1900 -5.75 6.25 36.75 37.25 781.684000000358 -89.4490000000224 1900 -6.25 6.75 36.75 37.25 790.854000000283 -44.6659999992698 1900 -6.75 7.25 36.75 37.25 795.679999999702 -21.0990000003949 1900 -7.25 7.75 36.75 37.25 798.070000000298 -9.42700000014156 1900 -7.75 8.25 36.75 37.25 799.184000000358 -3.98499999940395 1900 -8.25 8.75 36.75 37.25 799.67399999965 -1.59300000034273 1900 -8.75 9.25 36.75 37.25 799.877000000328 -0.601999999955297 1900 -9.25 9.75 36.75 37.25 799.956000000238 -0.214999999850988 1900 -9.75 10.25 36.75 37.25 799.985000000335 -0.072999999858439 1900 --10.25 -9.75 37.25 37.75 799.987999999896 -0.0820000004023314 1900 --9.75 -9.25 37.25 37.75 799.966000000015 -0.240000000223517 1900 --9.25 -8.75 37.25 37.75 799.904000000097 -0.67299999948591 1900 --8.75 -8.25 37.25 37.75 799.746000000276 -1.77900000009686 1900 --8.25 -7.75 37.25 37.75 799.365000000224 -4.44799999985844 1900 --7.75 -7.25 37.25 37.75 798.49700000044 -10.5239999992773 1900 --7.25 -6.75 37.25 37.75 796.634999999776 -23.5530000003055 1900 --6.75 -6.25 37.25 37.75 792.877000000328 -49.859999999404 1900 --6.25 -5.75 37.25 37.75 785.735999999568 -99.8490000003949 1900 --5.75 -5.25 37.25 37.75 772.978000000119 -189.152999999933 1900 --5.25 -4.75 37.25 37.75 751.576999999583 -338.963000000454 1900 --4.75 -4.25 37.25 37.75 717.915000000037 -574.594999999739 1900 --4.25 -3.75 37.25 37.75 668.37200000044 -921.397999999113 1900 --3.75 -3.25 37.25 37.75 600.333999999799 -1397.65600000042 1900 --3.25 -2.75 37.25 37.75 513.495000000112 -2005.53500000015 1900 --2.75 -2.25 37.25 37.75 411.104000000283 -2722.26599999983 1900 --2.25 -1.75 37.25 37.75 300.648000000045 -3495.46200000029 1900 --1.75 -1.25 37.25 37.75 193.468999999575 -4245.71100000013 1900 --1.25 -0.75 37.25 37.75 103.098000000231 -4878.31199999992 1900 --0.75 -0.25 37.25 37.75 42.5349000003189 -5302.25509999972 1900 --0.25 0.25 37.25 37.75 21.1991999996826 -5451.60080000013 1900 -0.25 0.75 37.25 37.75 42.5349000003189 -5302.25509999972 1900 -0.75 1.25 37.25 37.75 103.098000000231 -4878.31199999992 1900 -1.25 1.75 37.25 37.75 193.468999999575 -4245.71100000013 1900 -1.75 2.25 37.25 37.75 300.648000000045 -3495.46200000029 1900 -2.25 2.75 37.25 37.75 411.104000000283 -2722.26599999983 1900 -2.75 3.25 37.25 37.75 513.495000000112 -2005.53500000015 1900 -3.25 3.75 37.25 37.75 600.333999999799 -1397.65600000042 1900 -3.75 4.25 37.25 37.75 668.37200000044 -921.397999999113 1900 -4.25 4.75 37.25 37.75 717.915000000037 -574.594999999739 1900 -4.75 5.25 37.25 37.75 751.576999999583 -338.963000000454 1900 -5.25 5.75 37.25 37.75 772.978000000119 -189.152999999933 1900 -5.75 6.25 37.25 37.75 785.735999999568 -99.8490000003949 1900 -6.25 6.75 37.25 37.75 792.877000000328 -49.859999999404 1900 -6.75 7.25 37.25 37.75 796.634999999776 -23.5530000003055 1900 -7.25 7.75 37.25 37.75 798.49700000044 -10.5239999992773 1900 -7.75 8.25 37.25 37.75 799.365000000224 -4.44799999985844 1900 -8.25 8.75 37.25 37.75 799.746000000276 -1.77900000009686 1900 -8.75 9.25 37.25 37.75 799.904000000097 -0.67299999948591 1900 -9.25 9.75 37.25 37.75 799.966000000015 -0.240000000223517 1900 -9.75 10.25 37.25 37.75 799.987999999896 -0.0820000004023314 1900 --10.25 -9.75 37.75 38.25 799.995000000112 -0.0889999996870756 1900 --9.75 -9.25 37.75 38.25 799.984000000171 -0.263000000268221 1900 --9.25 -8.75 37.75 38.25 799.955000000075 -0.735999999567866 1900 --8.75 -8.25 37.75 38.25 799.879999999888 -1.94600000046194 1900 --8.25 -7.75 37.75 38.25 799.700000000186 -4.86699999962002 1900 --7.75 -7.25 37.75 38.25 799.290000000037 -11.5149999996647 1900 --7.25 -6.75 37.75 38.25 798.411000000313 -25.769999999553 1900 --6.75 -6.25 37.75 38.25 796.634999999776 -54.5559999998659 1900 --6.25 -5.75 37.75 38.25 793.262000000104 -109.25299999956 1900 --5.75 -5.25 37.75 38.25 787.235999999568 -206.966000000015 1900 --5.25 -4.75 37.75 38.25 777.127000000328 -370.882999999449 1900 --4.75 -4.25 37.75 38.25 761.225999999791 -628.703999999911 1900 --4.25 -3.75 37.75 38.25 737.822999999858 -1008.16700000037 1900 --3.75 -3.25 37.75 38.25 705.68499999959 -1529.28500000015 1900 --3.25 -2.75 37.75 38.25 664.665000000037 -2194.40500000026 1900 --2.75 -2.25 37.75 38.25 616.29899999965 -2978.64100000076 1900 --2.25 -1.75 37.75 38.25 564.122999999672 -3824.64699999988 1900 --1.75 -1.25 37.75 38.25 513.495000000112 -4645.5549999997 1900 --1.25 -0.75 37.75 38.25 470.80700000003 -5337.72300000023 1900 --0.75 -0.25 37.75 38.25 442.199000000022 -5801.59100000001 1900 --0.25 0.25 37.75 38.25 432.121000000276 -5965.00899999961 1900 -0.25 0.75 37.75 38.25 442.199000000022 -5801.59100000001 1900 -0.75 1.25 37.75 38.25 470.80700000003 -5337.72300000023 1900 -1.25 1.75 37.75 38.25 513.495000000112 -4645.5549999997 1900 -1.75 2.25 37.75 38.25 564.122999999672 -3824.64699999988 1900 -2.25 2.75 37.75 38.25 616.29899999965 -2978.64100000076 1900 -2.75 3.25 37.75 38.25 664.665000000037 -2194.40500000026 1900 -3.25 3.75 37.75 38.25 705.68499999959 -1529.28500000015 1900 -3.75 4.25 37.75 38.25 737.822999999858 -1008.16700000037 1900 -4.25 4.75 37.75 38.25 761.225999999791 -628.703999999911 1900 -4.75 5.25 37.75 38.25 777.127000000328 -370.882999999449 1900 -5.25 5.75 37.75 38.25 787.235999999568 -206.966000000015 1900 -5.75 6.25 37.75 38.25 793.262000000104 -109.25299999956 1900 -6.25 6.75 37.75 38.25 796.634999999776 -54.5559999998659 1900 -6.75 7.25 37.75 38.25 798.411000000313 -25.769999999553 1900 -7.25 7.75 37.75 38.25 799.290000000037 -11.5149999996647 1900 -7.75 8.25 37.75 38.25 799.700000000186 -4.86699999962002 1900 -8.25 8.75 37.75 38.25 799.879999999888 -1.94600000046194 1900 -8.75 9.25 37.75 38.25 799.955000000075 -0.735999999567866 1900 -9.25 9.75 37.75 38.25 799.984000000171 -0.263000000268221 1900 -9.75 10.25 37.75 38.25 799.995000000112 -0.0889999996870756 1900 --10.25 -9.75 38.25 38.75 799.997999999672 -0.0959999999031425 1900 --9.75 -9.25 38.25 38.75 799.995000000112 -0.282999999821186 1900 --9.25 -8.75 38.25 38.75 799.986999999732 -0.790000000037253 1900 --8.75 -8.25 38.25 38.75 799.966000000015 -2.08700000029057 1900 --8.25 -7.75 38.25 38.75 799.913999999873 -5.21999999973923 1900 --7.75 -7.25 38.25 38.75 799.797000000253 -12.3499999996275 1900 --7.25 -6.75 38.25 38.75 799.544999999925 -27.6380000002682 1900 --6.75 -6.25 38.25 38.75 799.036000000313 -58.5109999999404 1900 --6.25 -5.75 38.25 38.75 798.070000000298 -117.17399999965 1900 --5.75 -5.25 38.25 38.75 796.343000000343 -221.976999999955 1900 --5.25 -4.75 38.25 38.75 793.446999999695 -397.773000000045 1900 --4.75 -4.25 38.25 38.75 788.890999999829 -674.288999999873 1900 --4.25 -3.75 38.25 38.75 782.185999999754 -1081.26400000043 1900 --3.75 -3.25 38.25 38.75 772.978000000119 -1640.17200000025 1900 --3.25 -2.75 38.25 38.75 761.225999999791 -2353.51400000043 1900 --2.75 -2.25 38.25 38.75 747.368999999948 -3194.6110000005 1900 --2.25 -1.75 38.25 38.75 732.419999999925 -4101.95999999996 1900 --1.75 -1.25 38.25 38.75 717.915000000037 -4982.39499999955 1900 --1.25 -0.75 38.25 38.75 705.68499999959 -5724.75500000082 1900 --0.75 -0.25 38.25 38.75 697.487999999896 -6222.25200000033 1900 --0.25 0.25 38.25 38.75 694.600999999791 -6397.51900000032 1900 -0.25 0.75 38.25 38.75 697.487999999896 -6222.25200000033 1900 -0.75 1.25 38.25 38.75 705.68499999959 -5724.75500000082 1900 -1.25 1.75 38.25 38.75 717.915000000037 -4982.39499999955 1900 -1.75 2.25 38.25 38.75 732.419999999925 -4101.95999999996 1900 -2.25 2.75 38.25 38.75 747.368999999948 -3194.6110000005 1900 -2.75 3.25 38.25 38.75 761.225999999791 -2353.51400000043 1900 -3.25 3.75 38.25 38.75 772.978000000119 -1640.17200000025 1900 -3.75 4.25 38.25 38.75 782.185999999754 -1081.26400000043 1900 -4.25 4.75 38.25 38.75 788.890999999829 -674.288999999873 1900 -4.75 5.25 38.25 38.75 793.446999999695 -397.773000000045 1900 -5.25 5.75 38.25 38.75 796.343000000343 -221.976999999955 1900 -5.75 6.25 38.25 38.75 798.070000000298 -117.17399999965 1900 -6.25 6.75 38.25 38.75 799.036000000313 -58.5109999999404 1900 -6.75 7.25 38.25 38.75 799.544999999925 -27.6380000002682 1900 -7.25 7.75 38.25 38.75 799.797000000253 -12.3499999996275 1900 -7.75 8.25 38.25 38.75 799.913999999873 -5.21999999973923 1900 -8.25 8.75 38.25 38.75 799.966000000015 -2.08700000029057 1900 -8.75 9.25 38.25 38.75 799.986999999732 -0.790000000037253 1900 -9.25 9.75 38.25 38.75 799.995000000112 -0.282999999821186 1900 -9.75 10.25 38.25 38.75 799.997999999672 -0.0959999999031425 1900 --10.25 -9.75 38.75 39.25 800 -0.099999999627471 1900 --9.75 -9.25 38.75 39.25 799.998999999836 -0.29700000025332 1900 --9.25 -8.75 38.75 39.25 799.997999999672 -0.830000000074506 1900 --8.75 -8.25 38.75 39.25 799.993999999948 -2.19400000013411 1900 --8.25 -7.75 38.75 39.25 799.985000000335 -5.48799999989569 1900 --7.75 -7.25 38.75 39.25 799.964999999851 -12.9830000000075 1900 --7.25 -6.75 38.75 39.25 799.921000000089 -29.0559999998659 1900 --6.75 -6.25 38.75 39.25 799.832000000402 -61.511999999173 1900 --6.25 -5.75 38.75 39.25 799.665000000037 -123.18200000003 1900 --5.75 -5.25 38.75 39.25 799.365000000224 -233.354999999516 1900 --5.25 -4.75 38.75 39.25 798.860999999568 -418.169000000693 1900 --4.75 -4.25 38.75 39.25 798.070000000298 -708.859999999404 1900 --4.25 -3.75 38.75 39.25 796.904000000097 -1136.70600000024 1900 --3.75 -3.25 38.75 39.25 795.303999999538 -1724.26600000076 1900 --3.25 -2.75 38.75 39.25 793.262000000104 -2474.17800000031 1900 --2.75 -2.25 38.75 39.25 790.854000000283 -3358.40599999949 1900 --2.25 -1.75 38.75 39.25 788.256000000052 -4312.27400000021 1900 --1.75 -1.25 38.75 39.25 785.735999999568 -5237.84400000051 1900 --1.25 -0.75 38.75 39.25 783.610000000335 -6018.26999999955 1900 --0.75 -0.25 38.75 39.25 782.185999999754 -6541.27400000021 1900 --0.25 0.25 38.75 39.25 781.684000000358 -6725.52599999961 1900 -0.25 0.75 38.75 39.25 782.185999999754 -6541.27400000021 1900 -0.75 1.25 38.75 39.25 783.610000000335 -6018.26999999955 1900 -1.25 1.75 38.75 39.25 785.735999999568 -5237.84400000051 1900 -1.75 2.25 38.75 39.25 788.256000000052 -4312.27400000021 1900 -2.25 2.75 38.75 39.25 790.854000000283 -3358.40599999949 1900 -2.75 3.25 38.75 39.25 793.262000000104 -2474.17800000031 1900 -3.25 3.75 38.75 39.25 795.303999999538 -1724.26600000076 1900 -3.75 4.25 38.75 39.25 796.904000000097 -1136.70600000024 1900 -4.25 4.75 38.75 39.25 798.070000000298 -708.859999999404 1900 -4.75 5.25 38.75 39.25 798.860999999568 -418.169000000693 1900 -5.25 5.75 38.75 39.25 799.365000000224 -233.354999999516 1900 -5.75 6.25 38.75 39.25 799.665000000037 -123.18200000003 1900 -6.25 6.75 38.75 39.25 799.832000000402 -61.511999999173 1900 -6.75 7.25 38.75 39.25 799.921000000089 -29.0559999998659 1900 -7.25 7.75 38.75 39.25 799.964999999851 -12.9830000000075 1900 -7.75 8.25 38.75 39.25 799.985000000335 -5.48799999989569 1900 -8.25 8.75 38.75 39.25 799.993999999948 -2.19400000013411 1900 -8.75 9.25 38.75 39.25 799.997999999672 -0.830000000074506 1900 -9.25 9.75 38.75 39.25 799.998999999836 -0.29700000025332 1900 -9.75 10.25 38.75 39.25 800 -0.099999999627471 1900 --10.25 -9.75 39.25 39.75 800 -0.104000000283122 1900 --9.75 -9.25 39.25 39.75 800 -0.30599999986589 1900 --9.25 -8.75 39.25 39.75 800 -0.855000000447035 1900 --8.75 -8.25 39.25 39.75 799.998999999836 -2.26200000010431 1900 --8.25 -7.75 39.25 39.75 799.997999999672 -5.65600000042468 1900 --7.75 -7.25 39.25 39.75 799.996000000276 -13.3789999997243 1900 --7.25 -6.75 39.25 39.75 799.99199999962 -29.9400000004098 1900 --6.75 -6.25 39.25 39.75 799.981999999844 -63.3849999997765 1900 --6.25 -5.75 39.25 39.75 799.964999999851 -126.933000000194 1900 --5.75 -5.25 39.25 39.75 799.933000000194 -240.456999999471 1900 --5.25 -4.75 39.25 39.75 799.879999999888 -430.900000000373 1900 --4.75 -4.25 39.25 39.75 799.797000000253 -730.452999999747 1900 --4.25 -3.75 39.25 39.75 799.67399999965 -1171.31600000057 1900 --3.75 -3.25 39.25 39.75 799.504999999888 -1776.77500000037 1900 --3.25 -2.75 39.25 39.75 799.290000000037 -2549.53000000026 1900 --2.75 -2.25 39.25 39.75 799.036000000313 -3460.68399999943 1900 --2.25 -1.75 39.25 39.75 798.762000000104 -4443.60800000001 1900 --1.75 -1.25 39.25 39.75 798.49700000044 -5397.3629999999 1900 --1.25 -0.75 39.25 39.75 798.273000000045 -6201.54700000025 1900 --0.75 -0.25 39.25 39.75 798.12200000044 -6740.4879999999 1900 --0.25 0.25 39.25 39.75 798.070000000298 -6930.34999999963 1900 -0.25 0.75 39.25 39.75 798.12200000044 -6740.4879999999 1900 -0.75 1.25 39.25 39.75 798.273000000045 -6201.54700000025 1900 -1.25 1.75 39.25 39.75 798.49700000044 -5397.3629999999 1900 -1.75 2.25 39.25 39.75 798.762000000104 -4443.60800000001 1900 -2.25 2.75 39.25 39.75 799.036000000313 -3460.68399999943 1900 -2.75 3.25 39.25 39.75 799.290000000037 -2549.53000000026 1900 -3.25 3.75 39.25 39.75 799.504999999888 -1776.77500000037 1900 -3.75 4.25 39.25 39.75 799.67399999965 -1171.31600000057 1900 -4.25 4.75 39.25 39.75 799.797000000253 -730.452999999747 1900 -4.75 5.25 39.25 39.75 799.879999999888 -430.900000000373 1900 -5.25 5.75 39.25 39.75 799.933000000194 -240.456999999471 1900 -5.75 6.25 39.25 39.75 799.964999999851 -126.933000000194 1900 -6.25 6.75 39.25 39.75 799.981999999844 -63.3849999997765 1900 -6.75 7.25 39.25 39.75 799.99199999962 -29.9400000004098 1900 -7.25 7.75 39.25 39.75 799.996000000276 -13.3789999997243 1900 -7.75 8.25 39.25 39.75 799.997999999672 -5.65600000042468 1900 -8.25 8.75 39.25 39.75 799.998999999836 -2.26200000010431 1900 -8.75 9.25 39.25 39.75 800 -0.855000000447035 1900 -9.25 9.75 39.25 39.75 800 -0.30599999986589 1900 -9.75 10.25 39.25 39.75 800 -0.104000000283122 1900 --10.25 -9.75 39.75 40.25 800 -0.105000000447035 1900 --9.75 -9.25 39.75 40.25 800 -0.309000000357628 1900 --9.25 -8.75 39.75 40.25 800 -0.864000000059605 1900 --8.75 -8.25 39.75 40.25 800 -2.2839999999851 1900 --8.25 -7.75 39.75 40.25 800 -5.71200000029057 1900 --7.75 -7.25 39.75 40.25 800 -13.5130000002682 1900 --7.25 -6.75 39.75 40.25 799.998999999836 -30.2420000005513 1900 --6.75 -6.25 39.75 40.25 799.998999999836 -64.0219999998808 1900 --6.25 -5.75 39.75 40.25 799.997999999672 -128.20900000073 1900 --5.75 -5.25 39.75 40.25 799.996000000276 -242.873999999836 1900 --5.25 -4.75 39.75 40.25 799.99199999962 -435.238000000827 1900 --4.75 -4.25 39.75 40.25 799.986999999732 -737.793000000529 1900 --4.25 -3.75 39.75 40.25 799.979000000283 -1183.09100000001 1900 --3.75 -3.25 39.75 40.25 799.968000000343 -1794.63199999928 1900 --3.25 -2.75 39.75 40.25 799.955000000075 -2575.15500000026 1900 --2.75 -2.25 39.75 40.25 799.938000000082 -3495.46200000029 1900 --2.25 -1.75 39.75 40.25 799.921000000089 -4488.25899999961 1900 --1.75 -1.25 39.75 40.25 799.904000000097 -5451.60599999968 1900 --1.25 -0.75 39.75 40.25 799.889999999665 -6263.87000000011 1900 --0.75 -0.25 39.75 40.25 799.879999999888 -6808.23000000045 1900 --0.25 0.25 39.75 40.25 799.877000000328 -7000.00299999956 1900 -0.25 0.75 39.75 40.25 799.879999999888 -6808.23000000045 1900 -0.75 1.25 39.75 40.25 799.889999999665 -6263.87000000011 1900 -1.25 1.75 39.75 40.25 799.904000000097 -5451.60599999968 1900 -1.75 2.25 39.75 40.25 799.921000000089 -4488.25899999961 1900 -2.25 2.75 39.75 40.25 799.938000000082 -3495.46200000029 1900 -2.75 3.25 39.75 40.25 799.955000000075 -2575.15500000026 1900 -3.25 3.75 39.75 40.25 799.968000000343 -1794.63199999928 1900 -3.75 4.25 39.75 40.25 799.979000000283 -1183.09100000001 1900 -4.25 4.75 39.75 40.25 799.986999999732 -737.793000000529 1900 -4.75 5.25 39.75 40.25 799.99199999962 -435.238000000827 1900 -5.25 5.75 39.75 40.25 799.996000000276 -242.873999999836 1900 -5.75 6.25 39.75 40.25 799.997999999672 -128.20900000073 1900 -6.25 6.75 39.75 40.25 799.998999999836 -64.0219999998808 1900 -6.75 7.25 39.75 40.25 799.998999999836 -30.2420000005513 1900 -7.25 7.75 39.75 40.25 800 -13.5130000002682 1900 -7.75 8.25 39.75 40.25 800 -5.71200000029057 1900 -8.25 8.75 39.75 40.25 800 -2.2839999999851 1900 -8.75 9.25 39.75 40.25 800 -0.864000000059605 1900 -9.25 9.75 39.75 40.25 800 -0.309000000357628 1900 -9.75 10.25 39.75 40.25 800 -0.105000000447035 1900 --10.25 -9.75 40.25 40.75 800 -0.104000000283122 1900 --9.75 -9.25 40.25 40.75 800 -0.30599999986589 1900 --9.25 -8.75 40.25 40.75 800 -0.855000000447035 1900 --8.75 -8.25 40.25 40.75 800 -2.2609999999404 1900 --8.25 -7.75 40.25 40.75 800 -5.65500000026077 1900 --7.75 -7.25 40.25 40.75 800 -13.3789999997243 1900 --7.25 -6.75 40.25 40.75 800 -29.9409999996424 1900 --6.75 -6.25 40.25 40.75 800 -63.3849999997765 1900 --6.25 -5.75 40.25 40.75 800 -126.934000000358 1900 --5.75 -5.25 40.25 40.75 800 -240.459999999963 1900 --5.25 -4.75 40.25 40.75 800 -430.900000000373 1900 --4.75 -4.25 40.25 40.75 799.998999999836 -730.45100000035 1900 --4.25 -3.75 40.25 40.75 799.998999999836 -1171.32100000046 1900 --3.75 -3.25 40.25 40.75 799.998999999836 -1776.77099999972 1900 --3.25 -2.75 40.25 40.75 799.997999999672 -2549.53200000059 1900 --2.75 -2.25 40.25 40.75 799.997999999672 -3460.68200000003 1900 --2.25 -1.75 40.25 40.75 799.99700000044 -4443.60299999919 1900 --1.75 -1.25 40.25 40.75 799.996000000276 -5397.36400000006 1900 --1.25 -0.75 40.25 40.75 799.996000000276 -6201.54399999976 1900 --0.75 -0.25 40.25 40.75 799.995000000112 -6740.48500000034 1900 --0.25 0.25 40.25 40.75 799.995000000112 -6930.34499999974 1900 -0.25 0.75 40.25 40.75 799.995000000112 -6740.48500000034 1900 -0.75 1.25 40.25 40.75 799.996000000276 -6201.54399999976 1900 -1.25 1.75 40.25 40.75 799.996000000276 -5397.36400000006 1900 -1.75 2.25 40.25 40.75 799.99700000044 -4443.60299999919 1900 -2.25 2.75 40.25 40.75 799.997999999672 -3460.68200000003 1900 -2.75 3.25 40.25 40.75 799.997999999672 -2549.53200000059 1900 -3.25 3.75 40.25 40.75 799.998999999836 -1776.77099999972 1900 -3.75 4.25 40.25 40.75 799.998999999836 -1171.32100000046 1900 -4.25 4.75 40.25 40.75 799.998999999836 -730.45100000035 1900 -4.75 5.25 40.25 40.75 800 -430.900000000373 1900 -5.25 5.75 40.25 40.75 800 -240.459999999963 1900 -5.75 6.25 40.25 40.75 800 -126.934000000358 1900 -6.25 6.75 40.25 40.75 800 -63.3849999997765 1900 -6.75 7.25 40.25 40.75 800 -29.9409999996424 1900 -7.25 7.75 40.25 40.75 800 -13.3789999997243 1900 -7.75 8.25 40.25 40.75 800 -5.65500000026077 1900 -8.25 8.75 40.25 40.75 800 -2.2609999999404 1900 -8.75 9.25 40.25 40.75 800 -0.855000000447035 1900 -9.25 9.75 40.25 40.75 800 -0.30599999986589 1900 -9.75 10.25 40.25 40.75 800 -0.104000000283122 1900 --10.25 -9.75 40.75 41.25 800 -0.100999999791384 1900 --9.75 -9.25 40.75 41.25 800 -0.29700000025332 1900 --9.25 -8.75 40.75 41.25 800 -0.830000000074506 1900 --8.75 -8.25 40.75 41.25 800 -2.19400000013411 1900 --8.25 -7.75 40.75 41.25 800 -5.48799999989569 1900 --7.75 -7.25 40.75 41.25 800 -12.9830000000075 1900 --7.25 -6.75 40.75 41.25 800 -29.0559999998659 1900 --6.75 -6.25 40.75 41.25 800 -61.5109999999404 1900 --6.25 -5.75 40.75 41.25 800 -123.18200000003 1900 --5.75 -5.25 40.75 41.25 800 -233.349999999627 1900 --5.25 -4.75 40.75 41.25 800 -418.169999999925 1900 --4.75 -4.25 40.75 41.25 800 -708.870000000112 1900 --4.25 -3.75 40.75 41.25 800 -1136.70000000019 1900 --3.75 -3.25 40.75 41.25 800 -1724.25999999978 1900 --3.25 -2.75 40.75 41.25 800 -2474.1799999997 1900 --2.75 -2.25 40.75 41.25 800 -3358.40000000037 1900 --2.25 -1.75 40.75 41.25 800 -4312.28000000026 1900 --1.75 -1.25 40.75 41.25 800 -5237.83999999985 1900 --1.25 -0.75 40.75 41.25 800 -6018.26999999955 1900 --0.75 -0.25 40.75 41.25 800 -6541.28000000026 1900 --0.25 0.25 40.75 41.25 800 -6725.53000000026 1900 -0.25 0.75 40.75 41.25 800 -6541.28000000026 1900 -0.75 1.25 40.75 41.25 800 -6018.26999999955 1900 -1.25 1.75 40.75 41.25 800 -5237.83999999985 1900 -1.75 2.25 40.75 41.25 800 -4312.28000000026 1900 -2.25 2.75 40.75 41.25 800 -3358.40000000037 1900 -2.75 3.25 40.75 41.25 800 -2474.1799999997 1900 -3.25 3.75 40.75 41.25 800 -1724.25999999978 1900 -3.75 4.25 40.75 41.25 800 -1136.70000000019 1900 -4.25 4.75 40.75 41.25 800 -708.870000000112 1900 -4.75 5.25 40.75 41.25 800 -418.169999999925 1900 -5.25 5.75 40.75 41.25 800 -233.349999999627 1900 -5.75 6.25 40.75 41.25 800 -123.18200000003 1900 -6.25 6.75 40.75 41.25 800 -61.5109999999404 1900 -6.75 7.25 40.75 41.25 800 -29.0559999998659 1900 -7.25 7.75 40.75 41.25 800 -12.9830000000075 1900 -7.75 8.25 40.75 41.25 800 -5.48799999989569 1900 -8.25 8.75 40.75 41.25 800 -2.19400000013411 1900 -8.75 9.25 40.75 41.25 800 -0.830000000074506 1900 -9.25 9.75 40.75 41.25 800 -0.29700000025332 1900 -9.75 10.25 40.75 41.25 800 -0.100999999791384 1900 --10.25 -9.75 41.25 41.75 800 -0.0959999999031425 1900 --9.75 -9.25 41.25 41.75 800 -0.281999999657273 1900 --9.25 -8.75 41.25 41.75 800 -0.790000000037253 1900 --8.75 -8.25 41.25 41.75 800 -2.08700000029057 1900 --8.25 -7.75 41.25 41.75 800 -5.21999999973923 1900 --7.75 -7.25 41.25 41.75 800 -12.3499999996275 1900 --7.25 -6.75 41.25 41.75 800 -27.6390000004321 1900 --6.75 -6.25 41.25 41.75 800 -58.5109999999404 1900 --6.25 -5.75 41.25 41.75 800 -117.174999999814 1900 --5.75 -5.25 41.25 41.75 800 -221.969999999739 1900 --5.25 -4.75 41.25 41.75 800 -397.780000000261 1900 --4.75 -4.25 41.25 41.75 800 -674.290000000037 1900 --4.25 -3.75 41.25 41.75 800 -1081.26999999955 1900 --3.75 -3.25 41.25 41.75 800 -1640.16999999993 1900 --3.25 -2.75 41.25 41.75 800 -2353.51999999955 1900 --2.75 -2.25 41.25 41.75 800 -3194.61000000034 1900 --2.25 -1.75 41.25 41.75 800 -4101.95999999996 1900 --1.75 -1.25 41.25 41.75 800 -4982.38999999966 1900 --1.25 -0.75 41.25 41.75 800 -5724.75 1900 --0.75 -0.25 41.25 41.75 800 -6222.25 1900 --0.25 0.25 41.25 41.75 800 -6397.51999999955 1900 -0.25 0.75 41.25 41.75 800 -6222.25 1900 -0.75 1.25 41.25 41.75 800 -5724.75 1900 -1.25 1.75 41.25 41.75 800 -4982.38999999966 1900 -1.75 2.25 41.25 41.75 800 -4101.95999999996 1900 -2.25 2.75 41.25 41.75 800 -3194.61000000034 1900 -2.75 3.25 41.25 41.75 800 -2353.51999999955 1900 -3.25 3.75 41.25 41.75 800 -1640.16999999993 1900 -3.75 4.25 41.25 41.75 800 -1081.26999999955 1900 -4.25 4.75 41.25 41.75 800 -674.290000000037 1900 -4.75 5.25 41.25 41.75 800 -397.780000000261 1900 -5.25 5.75 41.25 41.75 800 -221.969999999739 1900 -5.75 6.25 41.25 41.75 800 -117.174999999814 1900 -6.25 6.75 41.25 41.75 800 -58.5109999999404 1900 -6.75 7.25 41.25 41.75 800 -27.6390000004321 1900 -7.25 7.75 41.25 41.75 800 -12.3499999996275 1900 -7.75 8.25 41.25 41.75 800 -5.21999999973923 1900 -8.25 8.75 41.25 41.75 800 -2.08700000029057 1900 -8.75 9.25 41.25 41.75 800 -0.790000000037253 1900 -9.25 9.75 41.25 41.75 800 -0.281999999657273 1900 -9.75 10.25 41.25 41.75 800 -0.0959999999031425 1900 --10.25 -9.75 41.75 42.25 800 -0.0889999996870756 1900 --9.75 -9.25 41.75 42.25 800 -0.263000000268221 1900 --9.25 -8.75 41.75 42.25 800 -0.735999999567866 1900 --8.75 -8.25 41.75 42.25 800 -1.94600000046194 1900 --8.25 -7.75 41.75 42.25 800 -4.86699999962002 1900 --7.75 -7.25 41.75 42.25 800 -11.5149999996647 1900 --7.25 -6.75 41.75 42.25 800 -25.769999999553 1900 --6.75 -6.25 41.75 42.25 800 -54.5559999998659 1900 --6.25 -5.75 41.75 42.25 800 -109.25299999956 1900 --5.75 -5.25 41.75 42.25 800 -206.969999999739 1900 --5.25 -4.75 41.75 42.25 800 -370.879999999888 1900 --4.75 -4.25 41.75 42.25 800 -628.709999999963 1900 --4.25 -3.75 41.75 42.25 800 -1008.16999999993 1900 --3.75 -3.25 41.75 42.25 800 -1529.28000000026 1900 --3.25 -2.75 41.75 42.25 800 -2194.40000000037 1900 --2.75 -2.25 41.75 42.25 800 -2978.63999999966 1900 --2.25 -1.75 41.75 42.25 800 -3824.65000000037 1900 --1.75 -1.25 41.75 42.25 800 -4645.54999999981 1900 --1.25 -0.75 41.75 42.25 800 -5337.71999999974 1900 --0.75 -0.25 41.75 42.25 800 -5801.58999999985 1900 --0.25 0.25 41.75 42.25 800 -5965.00999999978 1900 -0.25 0.75 41.75 42.25 800 -5801.58999999985 1900 -0.75 1.25 41.75 42.25 800 -5337.71999999974 1900 -1.25 1.75 41.75 42.25 800 -4645.54999999981 1900 -1.75 2.25 41.75 42.25 800 -3824.65000000037 1900 -2.25 2.75 41.75 42.25 800 -2978.63999999966 1900 -2.75 3.25 41.75 42.25 800 -2194.40000000037 1900 -3.25 3.75 41.75 42.25 800 -1529.28000000026 1900 -3.75 4.25 41.75 42.25 800 -1008.16999999993 1900 -4.25 4.75 41.75 42.25 800 -628.709999999963 1900 -4.75 5.25 41.75 42.25 800 -370.879999999888 1900 -5.25 5.75 41.75 42.25 800 -206.969999999739 1900 -5.75 6.25 41.75 42.25 800 -109.25299999956 1900 -6.25 6.75 41.75 42.25 800 -54.5559999998659 1900 -6.75 7.25 41.75 42.25 800 -25.769999999553 1900 -7.25 7.75 41.75 42.25 800 -11.5149999996647 1900 -7.75 8.25 41.75 42.25 800 -4.86699999962002 1900 -8.25 8.75 41.75 42.25 800 -1.94600000046194 1900 -8.75 9.25 41.75 42.25 800 -0.735999999567866 1900 -9.25 9.75 41.75 42.25 800 -0.263000000268221 1900 -9.75 10.25 41.75 42.25 800 -0.0889999996870756 1900 --10.25 -9.75 42.25 42.75 800 -0.0810000002384186 1900 --9.75 -9.25 42.25 42.75 800 -0.24100000038743 1900 --9.25 -8.75 42.25 42.75 800 -0.673000000417233 1900 --8.75 -8.25 42.25 42.75 800 -1.77900000009686 1900 --8.25 -7.75 42.25 42.75 800 -4.44799999985844 1900 --7.75 -7.25 42.25 42.75 800 -10.5240000002086 1900 --7.25 -6.75 42.25 42.75 800 -23.5520000001416 1900 --6.75 -6.25 42.25 42.75 800 -49.8600000003353 1900 --6.25 -5.75 42.25 42.75 800 -99.8499999996275 1900 --5.75 -5.25 42.25 42.75 800 -189.152999999933 1900 --5.25 -4.75 42.25 42.75 800 -338.959999999963 1900 --4.75 -4.25 42.25 42.75 800 -574.589999999851 1900 --4.25 -3.75 42.25 42.75 800 -921.389999999665 1900 --3.75 -3.25 42.25 42.75 800 -1397.66000000015 1900 --3.25 -2.75 42.25 42.75 800 -2005.53000000026 1900 --2.75 -2.25 42.25 42.75 800 -2722.26999999955 1900 --2.25 -1.75 42.25 42.75 800 -3495.45999999996 1900 --1.75 -1.25 42.25 42.75 800 -4245.70999999996 1900 --1.25 -0.75 42.25 42.75 800 -4878.30999999959 1900 --0.75 -0.25 42.25 42.75 800 -5302.25999999978 1900 --0.25 0.25 42.25 42.75 800 -5451.61000000034 1900 -0.25 0.75 42.25 42.75 800 -5302.25999999978 1900 -0.75 1.25 42.25 42.75 800 -4878.30999999959 1900 -1.25 1.75 42.25 42.75 800 -4245.70999999996 1900 -1.75 2.25 42.25 42.75 800 -3495.45999999996 1900 -2.25 2.75 42.25 42.75 800 -2722.26999999955 1900 -2.75 3.25 42.25 42.75 800 -2005.53000000026 1900 -3.25 3.75 42.25 42.75 800 -1397.66000000015 1900 -3.75 4.25 42.25 42.75 800 -921.389999999665 1900 -4.25 4.75 42.25 42.75 800 -574.589999999851 1900 -4.75 5.25 42.25 42.75 800 -338.959999999963 1900 -5.25 5.75 42.25 42.75 800 -189.152999999933 1900 -5.75 6.25 42.25 42.75 800 -99.8499999996275 1900 -6.25 6.75 42.25 42.75 800 -49.8600000003353 1900 -6.75 7.25 42.25 42.75 800 -23.5520000001416 1900 -7.25 7.75 42.25 42.75 800 -10.5240000002086 1900 -7.75 8.25 42.25 42.75 800 -4.44799999985844 1900 -8.25 8.75 42.25 42.75 800 -1.77900000009686 1900 -8.75 9.25 42.25 42.75 800 -0.673000000417233 1900 -9.25 9.75 42.25 42.75 800 -0.24100000038743 1900 -9.75 10.25 42.25 42.75 800 -0.0810000002384186 1900 --10.25 -9.75 42.75 43.25 800 -0.072999999858439 1900 --9.75 -9.25 42.75 43.25 800 -0.216000000014901 1900 --9.25 -8.75 42.75 43.25 800 -0.603000000119209 1900 --8.75 -8.25 42.75 43.25 800 -1.59300000034273 1900 --8.25 -7.75 42.75 43.25 800 -3.98500000033528 1900 --7.75 -7.25 42.75 43.25 800 -9.42800000030547 1900 --7.25 -6.75 42.75 43.25 800 -21.0990000003949 1900 --6.75 -6.25 42.75 43.25 800 -44.6660000002012 1900 --6.25 -5.75 42.75 43.25 800 -89.4490000000224 1900 --5.75 -5.25 42.75 43.25 800 -169.449000000022 1900 --5.25 -4.75 42.75 43.25 800 -303.650000000373 1900 --4.75 -4.25 42.75 43.25 800 -514.740000000224 1900 --4.25 -3.75 42.75 43.25 800 -825.419999999925 1900 --3.75 -3.25 42.75 43.25 800 -1252.0700000003 1900 --3.25 -2.75 42.75 43.25 800 -1796.62999999989 1900 --2.75 -2.25 42.75 43.25 800 -2438.70000000019 1900 --2.25 -1.75 42.75 43.25 800 -3131.34999999963 1900 --1.75 -1.25 42.75 43.25 800 -3803.45999999996 1900 --1.25 -0.75 42.75 43.25 800 -4370.16000000015 1900 --0.75 -0.25 42.75 43.25 800 -4749.94000000041 1900 --0.25 0.25 42.75 43.25 800 -4883.73000000045 1900 -0.25 0.75 42.75 43.25 800 -4749.94000000041 1900 -0.75 1.25 42.75 43.25 800 -4370.16000000015 1900 -1.25 1.75 42.75 43.25 800 -3803.45999999996 1900 -1.75 2.25 42.75 43.25 800 -3131.34999999963 1900 -2.25 2.75 42.75 43.25 800 -2438.70000000019 1900 -2.75 3.25 42.75 43.25 800 -1796.62999999989 1900 -3.25 3.75 42.75 43.25 800 -1252.0700000003 1900 -3.75 4.25 42.75 43.25 800 -825.419999999925 1900 -4.25 4.75 42.75 43.25 800 -514.740000000224 1900 -4.75 5.25 42.75 43.25 800 -303.650000000373 1900 -5.25 5.75 42.75 43.25 800 -169.449000000022 1900 -5.75 6.25 42.75 43.25 800 -89.4490000000224 1900 -6.25 6.75 42.75 43.25 800 -44.6660000002012 1900 -6.75 7.25 42.75 43.25 800 -21.0990000003949 1900 -7.25 7.75 42.75 43.25 800 -9.42800000030547 1900 -7.75 8.25 42.75 43.25 800 -3.98500000033528 1900 -8.25 8.75 42.75 43.25 800 -1.59300000034273 1900 -8.75 9.25 42.75 43.25 800 -0.603000000119209 1900 -9.25 9.75 42.75 43.25 800 -0.216000000014901 1900 -9.75 10.25 42.75 43.25 800 -0.072999999858439 1900 --10.25 -9.75 43.25 43.75 800 -0.0640000002458692 1900 --9.75 -9.25 43.25 43.75 800 -0.189000000245869 1900 --9.25 -8.75 43.25 43.75 800 -0.529000000096858 1900 --8.75 -8.25 43.25 43.75 800 -1.39900000020862 1900 --8.25 -7.75 43.25 43.75 800 -3.49899999983609 1900 --7.75 -7.25 43.25 43.75 800 -8.27900000009686 1900 --7.25 -6.75 43.25 43.75 800 -18.526999999769 1900 --6.75 -6.25 43.25 43.75 800 -39.2209999999031 1900 --6.25 -5.75 43.25 43.75 800 -78.5449999999255 1900 --5.75 -5.25 43.25 43.75 800 -148.792999999598 1900 --5.25 -4.75 43.25 43.75 800 -266.639999999665 1900 --4.75 -4.25 43.25 43.75 800 -451.990000000224 1900 --4.25 -3.75 43.25 43.75 800 -724.790000000037 1900 --3.75 -3.25 43.25 43.75 800 -1099.44000000041 1900 --3.25 -2.75 43.25 43.75 800 -1577.61000000034 1900 --2.75 -2.25 43.25 43.75 800 -2141.41000000015 1900 --2.25 -1.75 43.25 43.75 800 -2749.62999999989 1900 --1.75 -1.25 43.25 43.75 800 -3339.79999999981 1900 --1.25 -0.75 43.25 43.75 800 -3837.41999999993 1900 --0.75 -0.25 43.25 43.75 800 -4170.90000000037 1900 --0.25 0.25 43.25 43.75 800 -4288.37999999989 1900 -0.25 0.75 43.25 43.75 800 -4170.90000000037 1900 -0.75 1.25 43.25 43.75 800 -3837.41999999993 1900 -1.25 1.75 43.25 43.75 800 -3339.79999999981 1900 -1.75 2.25 43.25 43.75 800 -2749.62999999989 1900 -2.25 2.75 43.25 43.75 800 -2141.41000000015 1900 -2.75 3.25 43.25 43.75 800 -1577.61000000034 1900 -3.25 3.75 43.25 43.75 800 -1099.44000000041 1900 -3.75 4.25 43.25 43.75 800 -724.790000000037 1900 -4.25 4.75 43.25 43.75 800 -451.990000000224 1900 -4.75 5.25 43.25 43.75 800 -266.639999999665 1900 -5.25 5.75 43.25 43.75 800 -148.792999999598 1900 -5.75 6.25 43.25 43.75 800 -78.5449999999255 1900 -6.25 6.75 43.25 43.75 800 -39.2209999999031 1900 -6.75 7.25 43.25 43.75 800 -18.526999999769 1900 -7.25 7.75 43.25 43.75 800 -8.27900000009686 1900 -7.75 8.25 43.25 43.75 800 -3.49899999983609 1900 -8.25 8.75 43.25 43.75 800 -1.39900000020862 1900 -8.75 9.25 43.25 43.75 800 -0.529000000096858 1900 -9.25 9.75 43.25 43.75 800 -0.189000000245869 1900 -9.75 10.25 43.25 43.75 800 -0.0640000002458692 1900 --10.25 -9.75 43.75 44.25 800 -0.0549999997019768 1900 --9.75 -9.25 43.75 44.25 800 -0.162999999709427 1900 --9.25 -8.75 43.75 44.25 800 -0.456000000238419 1900 --8.75 -8.25 43.75 44.25 800 -1.20399999991059 1900 --8.25 -7.75 43.75 44.25 800 -3.01200000010431 1900 --7.75 -7.25 43.75 44.25 800 -7.125 1900 --7.25 -6.75 43.75 44.25 800 -15.9460000004619 1900 --6.75 -6.25 43.75 44.25 800 -33.75800000038 1900 --6.25 -5.75 43.75 44.25 800 -67.6040000002831 1900 --5.75 -5.25 43.75 44.25 800 -128.066999999806 1900 --5.25 -4.75 43.75 44.25 800 -229.5 1900 --4.75 -4.25 43.75 44.25 800 -389.030000000261 1900 --4.25 -3.75 43.75 44.25 800 -623.839999999851 1900 --3.75 -3.25 43.75 44.25 800 -946.290000000037 1900 --3.25 -2.75 43.75 44.25 800 -1357.86000000034 1900 --2.75 -2.25 43.75 44.25 800 -1843.12999999989 1900 --2.25 -1.75 43.75 44.25 800 -2366.62999999989 1900 --1.75 -1.25 43.75 44.25 800 -2874.58999999985 1900 --1.25 -0.75 43.75 44.25 800 -3302.88999999966 1900 --0.75 -0.25 43.75 44.25 800 -3589.9299999997 1900 --0.25 0.25 43.75 44.25 800 -3691.04999999981 1900 -0.25 0.75 43.75 44.25 800 -3589.9299999997 1900 -0.75 1.25 43.75 44.25 800 -3302.88999999966 1900 -1.25 1.75 43.75 44.25 800 -2874.58999999985 1900 -1.75 2.25 43.75 44.25 800 -2366.62999999989 1900 -2.25 2.75 43.75 44.25 800 -1843.12999999989 1900 -2.75 3.25 43.75 44.25 800 -1357.86000000034 1900 -3.25 3.75 43.75 44.25 800 -946.290000000037 1900 -3.75 4.25 43.75 44.25 800 -623.839999999851 1900 -4.25 4.75 43.75 44.25 800 -389.030000000261 1900 -4.75 5.25 43.75 44.25 800 -229.5 1900 -5.25 5.75 43.75 44.25 800 -128.066999999806 1900 -5.75 6.25 43.75 44.25 800 -67.6040000002831 1900 -6.25 6.75 43.75 44.25 800 -33.75800000038 1900 -6.75 7.25 43.75 44.25 800 -15.9460000004619 1900 -7.25 7.75 43.75 44.25 800 -7.125 1900 -7.75 8.25 43.75 44.25 800 -3.01200000010431 1900 -8.25 8.75 43.75 44.25 800 -1.20399999991059 1900 -8.75 9.25 43.75 44.25 800 -0.456000000238419 1900 -9.25 9.75 43.75 44.25 800 -0.162999999709427 1900 -9.75 10.25 43.75 44.25 800 -0.0549999997019768 1900 --10.25 -9.75 44.25 44.75 800 -0.0470000002533197 1900 --9.75 -9.25 44.25 44.75 800 -0.138000000268221 1900 --9.25 -8.75 44.25 44.75 800 -0.38399999961257 1900 --8.75 -8.25 44.25 44.75 800 -1.01599999982864 1900 --8.25 -7.75 44.25 44.75 800 -2.54100000020117 1900 --7.75 -7.25 44.25 44.75 800 -6.0109999999404 1900 --7.25 -6.75 44.25 44.75 800 -13.4529999997467 1900 --6.75 -6.25 44.25 44.75 800 -28.4809999996796 1900 --6.25 -5.75 44.25 44.75 800 -57.035000000149 1900 --5.75 -5.25 44.25 44.75 800 -108.046000000089 1900 --5.25 -4.75 44.25 44.75 800 -193.617999999784 1900 --4.75 -4.25 44.25 44.75 800 -328.209999999963 1900 --4.25 -3.75 44.25 44.75 800 -526.30999999959 1900 --3.75 -3.25 44.25 44.75 800 -798.360000000335 1900 --3.25 -2.75 44.25 44.75 800 -1145.58000000007 1900 --2.75 -2.25 44.25 44.75 800 -1554.98000000045 1900 --2.25 -1.75 44.25 44.75 800 -1996.63999999966 1900 --1.75 -1.25 44.25 44.75 800 -2425.19000000041 1900 --1.25 -0.75 44.25 44.75 800 -2786.54000000004 1900 --0.75 -0.25 44.25 44.75 800 -3028.70000000019 1900 --0.25 0.25 44.25 44.75 800 -3114.00999999978 1900 -0.25 0.75 44.25 44.75 800 -3028.70000000019 1900 -0.75 1.25 44.25 44.75 800 -2786.54000000004 1900 -1.25 1.75 44.25 44.75 800 -2425.19000000041 1900 -1.75 2.25 44.25 44.75 800 -1996.63999999966 1900 -2.25 2.75 44.25 44.75 800 -1554.98000000045 1900 -2.75 3.25 44.25 44.75 800 -1145.58000000007 1900 -3.25 3.75 44.25 44.75 800 -798.360000000335 1900 -3.75 4.25 44.25 44.75 800 -526.30999999959 1900 -4.25 4.75 44.25 44.75 800 -328.209999999963 1900 -4.75 5.25 44.25 44.75 800 -193.617999999784 1900 -5.25 5.75 44.25 44.75 800 -108.046000000089 1900 -5.75 6.25 44.25 44.75 800 -57.035000000149 1900 -6.25 6.75 44.25 44.75 800 -28.4809999996796 1900 -6.75 7.25 44.25 44.75 800 -13.4529999997467 1900 -7.25 7.75 44.25 44.75 800 -6.0109999999404 1900 -7.75 8.25 44.25 44.75 800 -2.54100000020117 1900 -8.25 8.75 44.25 44.75 800 -1.01599999982864 1900 -8.75 9.25 44.25 44.75 800 -0.38399999961257 1900 -9.25 9.75 44.25 44.75 800 -0.138000000268221 1900 -9.75 10.25 44.25 44.75 800 -0.0470000002533197 1900 --10.25 -9.75 44.75 45.25 800 -0.0379999997094274 1900 --9.75 -9.25 44.75 45.25 800 -0.114000000059605 1900 --9.25 -8.75 44.75 45.25 800 -0.317999999970198 1900 --8.75 -8.25 44.75 45.25 800 -0.839999999850988 1900 --8.25 -7.75 44.75 45.25 800 -2.10099999979138 1900 --7.75 -7.25 44.75 45.25 800 -4.97099999990314 1900 --7.25 -6.75 44.75 45.25 800 -11.125 1900 --6.75 -6.25 44.75 45.25 800 -23.5520000001416 1900 --6.25 -5.75 44.75 45.25 800 -47.1660000002012 1900 --5.75 -5.25 44.75 45.25 800 -89.3490000003949 1900 --5.25 -4.75 44.75 45.25 800 -160.11400000006 1900 --4.75 -4.25 44.75 45.25 800 -271.419999999925 1900 --4.25 -3.75 44.75 45.25 800 -435.240000000224 1900 --3.75 -3.25 44.75 45.25 800 -660.209999999963 1900 --3.25 -2.75 44.75 45.25 800 -947.349999999627 1900 --2.75 -2.25 44.75 45.25 800 -1285.91000000015 1900 --2.25 -1.75 44.75 45.25 800 -1651.13999999966 1900 --1.75 -1.25 44.75 45.25 800 -2005.53000000026 1900 --1.25 -0.75 44.75 45.25 800 -2304.34999999963 1900 --0.75 -0.25 44.75 45.25 800 -2504.61000000034 1900 --0.25 0.25 44.75 45.25 800 -2575.16000000015 1900 -0.25 0.75 44.75 45.25 800 -2504.61000000034 1900 -0.75 1.25 44.75 45.25 800 -2304.34999999963 1900 -1.25 1.75 44.75 45.25 800 -2005.53000000026 1900 -1.75 2.25 44.75 45.25 800 -1651.13999999966 1900 -2.25 2.75 44.75 45.25 800 -1285.91000000015 1900 -2.75 3.25 44.75 45.25 800 -947.349999999627 1900 -3.25 3.75 44.75 45.25 800 -660.209999999963 1900 -3.75 4.25 44.75 45.25 800 -435.240000000224 1900 -4.25 4.75 44.75 45.25 800 -271.419999999925 1900 -4.75 5.25 44.75 45.25 800 -160.11400000006 1900 -5.25 5.75 44.75 45.25 800 -89.3490000003949 1900 -5.75 6.25 44.75 45.25 800 -47.1660000002012 1900 -6.25 6.75 44.75 45.25 800 -23.5520000001416 1900 -6.75 7.25 44.75 45.25 800 -11.125 1900 -7.25 7.75 44.75 45.25 800 -4.97099999990314 1900 -7.75 8.25 44.75 45.25 800 -2.10099999979138 1900 -8.25 8.75 44.75 45.25 800 -0.839999999850988 1900 -8.75 9.25 44.75 45.25 800 -0.317999999970198 1900 -9.25 9.75 44.75 45.25 800 -0.114000000059605 1900 -9.75 10.25 44.75 45.25 800 -0.0379999997094274 1900 --10.25 -9.75 45.25 45.75 800 -0.0310000004246831 1900 --9.75 -9.25 45.25 45.75 800 -0.0920000001788139 1900 --9.25 -8.75 45.25 45.75 800 -0.25800000037998 1900 --8.75 -8.25 45.25 45.75 800 -0.68099999986589 1900 --8.25 -7.75 45.25 45.75 800 -1.70299999974668 1900 --7.75 -7.25 45.25 45.75 800 -4.03000000026077 1900 --7.25 -6.75 45.25 45.75 800 -9.01800000015646 1900 --6.75 -6.25 45.25 45.75 800 -19.0910000000149 1900 --6.25 -5.75 45.25 45.75 800 -38.2319999998435 1900 --5.75 -5.25 45.25 45.75 800 -72.4249999998137 1900 --5.25 -4.75 45.25 45.75 800 -129.786000000313 1900 --4.75 -4.25 45.25 45.75 800 -220.009999999776 1900 --4.25 -3.75 45.25 45.75 800 -352.799999999814 1900 --3.75 -3.25 45.25 45.75 800 -535.150000000373 1900 --3.25 -2.75 45.25 45.75 800 -767.900000000373 1900 --2.75 -2.25 45.25 45.75 800 -1042.33999999985 1900 --2.25 -1.75 45.25 45.75 800 -1338.38999999966 1900 --1.75 -1.25 45.25 45.75 800 -1625.65000000037 1900 --1.25 -0.75 45.25 45.75 800 -1867.87000000011 1900 --0.75 -0.25 45.25 45.75 800 -2030.20000000019 1900 --0.25 0.25 45.25 45.75 800 -2087.37999999989 1900 -0.25 0.75 45.25 45.75 800 -2030.20000000019 1900 -0.75 1.25 45.25 45.75 800 -1867.87000000011 1900 -1.25 1.75 45.25 45.75 800 -1625.65000000037 1900 -1.75 2.25 45.25 45.75 800 -1338.38999999966 1900 -2.25 2.75 45.25 45.75 800 -1042.33999999985 1900 -2.75 3.25 45.25 45.75 800 -767.900000000373 1900 -3.25 3.75 45.25 45.75 800 -535.150000000373 1900 -3.75 4.25 45.25 45.75 800 -352.799999999814 1900 -4.25 4.75 45.25 45.75 800 -220.009999999776 1900 -4.75 5.25 45.25 45.75 800 -129.786000000313 1900 -5.25 5.75 45.25 45.75 800 -72.4249999998137 1900 -5.75 6.25 45.25 45.75 800 -38.2319999998435 1900 -6.25 6.75 45.25 45.75 800 -19.0910000000149 1900 -6.75 7.25 45.25 45.75 800 -9.01800000015646 1900 -7.25 7.75 45.25 45.75 800 -4.03000000026077 1900 -7.75 8.25 45.25 45.75 800 -1.70299999974668 1900 -8.25 8.75 45.25 45.75 800 -0.68099999986589 1900 -8.75 9.25 45.25 45.75 800 -0.25800000037998 1900 -9.25 9.75 45.25 45.75 800 -0.0920000001788139 1900 -9.75 10.25 45.25 45.75 800 -0.0310000004246831 1900 --10.25 -9.75 45.75 46.25 800 -0.025000000372529 1900 --9.75 -9.25 45.75 46.25 800 -0.072999999858439 1900 --9.25 -8.75 45.75 46.25 800 -0.205000000074506 1900 --8.75 -8.25 45.75 46.25 800 -0.541000000201166 1900 --8.25 -7.75 45.75 46.25 800 -1.35300000011921 1900 --7.75 -7.25 45.75 46.25 800 -3.20199999958277 1900 --7.25 -6.75 45.75 46.25 800 -7.16500000003725 1900 --6.75 -6.25 45.75 46.25 800 -15.1689999997616 1900 --6.25 -5.75 45.75 46.25 800 -30.3760000001639 1900 --5.75 -5.25 45.75 46.25 800 -57.5439999997616 1900 --5.25 -4.75 45.75 46.25 800 -103.118999999948 1900 --4.75 -4.25 45.75 46.25 800 -174.803999999538 1900 --4.25 -3.75 45.75 46.25 800 -280.30999999959 1900 --3.75 -3.25 45.75 46.25 800 -425.200000000186 1900 --3.25 -2.75 45.75 46.25 800 -610.129999999888 1900 --2.75 -2.25 45.75 46.25 800 -828.169999999925 1900 --2.25 -1.75 45.75 46.25 800 -1063.38999999966 1900 --1.75 -1.25 45.75 46.25 800 -1291.63999999966 1900 --1.25 -0.75 45.75 46.25 800 -1484.08999999985 1900 --0.75 -0.25 45.75 46.25 800 -1613.05999999959 1900 --0.25 0.25 45.75 46.25 800 -1658.49000000022 1900 -0.25 0.75 45.75 46.25 800 -1613.05999999959 1900 -0.75 1.25 45.75 46.25 800 -1484.08999999985 1900 -1.25 1.75 45.75 46.25 800 -1291.63999999966 1900 -1.75 2.25 45.75 46.25 800 -1063.38999999966 1900 -2.25 2.75 45.75 46.25 800 -828.169999999925 1900 -2.75 3.25 45.75 46.25 800 -610.129999999888 1900 -3.25 3.75 45.75 46.25 800 -425.200000000186 1900 -3.75 4.25 45.75 46.25 800 -280.30999999959 1900 -4.25 4.75 45.75 46.25 800 -174.803999999538 1900 -4.75 5.25 45.75 46.25 800 -103.118999999948 1900 -5.25 5.75 45.75 46.25 800 -57.5439999997616 1900 -5.75 6.25 45.75 46.25 800 -30.3760000001639 1900 -6.25 6.75 45.75 46.25 800 -15.1689999997616 1900 -6.75 7.25 45.75 46.25 800 -7.16500000003725 1900 -7.25 7.75 45.75 46.25 800 -3.20199999958277 1900 -7.75 8.25 45.75 46.25 800 -1.35300000011921 1900 -8.25 8.75 45.75 46.25 800 -0.541000000201166 1900 -8.75 9.25 45.75 46.25 800 -0.205000000074506 1900 -9.25 9.75 45.75 46.25 800 -0.072999999858439 1900 -9.75 10.25 45.75 46.25 800 -0.025000000372529 1900 --10.25 -9.75 46.25 46.75 800 -0.019000000320375 1900 --9.75 -9.25 46.25 46.75 800 -0.0570000000298023 1900 --9.25 -8.75 46.25 46.75 800 -0.158999999985099 1900 --8.75 -8.25 46.25 46.75 800 -0.421000000089407 1900 --8.25 -7.75 46.25 46.75 800 -1.05399999953806 1900 --7.75 -7.25 46.25 46.75 800 -2.49299999978393 1900 --7.25 -6.75 46.25 46.75 800 -5.58000000007451 1900 --6.75 -6.25 46.25 46.75 800 -11.813000000082 1900 --6.25 -5.75 46.25 46.75 800 -23.6569999996573 1900 --5.75 -5.25 46.25 46.75 800 -44.8159999996424 1900 --5.25 -4.75 46.25 46.75 800 -80.3090000003576 1900 --4.75 -4.25 46.25 46.75 800 -136.138000000268 1900 --4.25 -3.75 46.25 46.75 800 -218.299999999814 1900 --3.75 -3.25 46.25 46.75 800 -331.139999999665 1900 --3.25 -2.75 46.25 46.75 800 -475.169999999925 1900 --2.75 -2.25 46.25 46.75 800 -644.980000000447 1900 --2.25 -1.75 46.25 46.75 800 -828.169999999925 1900 --1.75 -1.25 46.25 46.75 800 -1005.9299999997 1900 --1.25 -0.75 46.25 46.75 800 -1155.80999999959 1900 --0.75 -0.25 46.25 46.75 800 -1256.25 1900 --0.25 0.25 46.25 46.75 800 -1291.63999999966 1900 -0.25 0.75 46.25 46.75 800 -1256.25 1900 -0.75 1.25 46.25 46.75 800 -1155.80999999959 1900 -1.25 1.75 46.25 46.75 800 -1005.9299999997 1900 -1.75 2.25 46.25 46.75 800 -828.169999999925 1900 -2.25 2.75 46.25 46.75 800 -644.980000000447 1900 -2.75 3.25 46.25 46.75 800 -475.169999999925 1900 -3.25 3.75 46.25 46.75 800 -331.139999999665 1900 -3.75 4.25 46.25 46.75 800 -218.299999999814 1900 -4.25 4.75 46.25 46.75 800 -136.138000000268 1900 -4.75 5.25 46.25 46.75 800 -80.3090000003576 1900 -5.25 5.75 46.25 46.75 800 -44.8159999996424 1900 -5.75 6.25 46.25 46.75 800 -23.6569999996573 1900 -6.25 6.75 46.25 46.75 800 -11.813000000082 1900 -6.75 7.25 46.25 46.75 800 -5.58000000007451 1900 -7.25 7.75 46.25 46.75 800 -2.49299999978393 1900 -7.75 8.25 46.25 46.75 800 -1.05399999953806 1900 -8.25 8.75 46.25 46.75 800 -0.421000000089407 1900 -8.75 9.25 46.25 46.75 800 -0.158999999985099 1900 -9.25 9.75 46.25 46.75 800 -0.0570000000298023 1900 -9.75 10.25 46.25 46.75 800 -0.019000000320375 1900 --10.25 -9.75 46.75 47.25 800 -0.0149999996647239 1900 --9.75 -9.25 46.75 47.25 800 -0.0439999997615814 1900 --9.25 -8.75 46.75 47.25 800 -0.122000000439584 1900 --8.75 -8.25 46.75 47.25 800 -0.321999999694526 1900 --8.25 -7.75 46.75 47.25 800 -0.804999999701977 1900 --7.75 -7.25 46.75 47.25 800 -1.90299999993294 1900 --7.25 -6.75 46.75 47.25 800 -4.25999999977648 1900 --6.75 -6.25 46.75 47.25 800 -9.01800000015646 1900 --6.25 -5.75 46.75 47.25 800 -18.0590000003576 1900 --5.75 -5.25 46.75 47.25 800 -34.2110000001267 1900 --5.25 -4.75 46.75 47.25 800 -61.3070000000298 1900 --4.75 -4.25 46.75 47.25 800 -103.924999999814 1900 --4.25 -3.75 46.75 47.25 800 -166.649000000209 1900 --3.75 -3.25 46.75 47.25 800 -252.790000000037 1900 --3.25 -2.75 46.75 47.25 800 -362.730000000447 1900 --2.75 -2.25 46.75 47.25 800 -492.370000000112 1900 --2.25 -1.75 46.75 47.25 800 -632.209999999963 1900 --1.75 -1.25 46.75 47.25 800 -767.900000000373 1900 --1.25 -0.75 46.75 47.25 800 -882.320000000298 1900 --0.75 -0.25 46.75 47.25 800 -959 1900 --0.25 0.25 46.75 47.25 800 -986.009999999776 1900 -0.25 0.75 46.75 47.25 800 -959 1900 -0.75 1.25 46.75 47.25 800 -882.320000000298 1900 -1.25 1.75 46.75 47.25 800 -767.900000000373 1900 -1.75 2.25 46.75 47.25 800 -632.209999999963 1900 -2.25 2.75 46.75 47.25 800 -492.370000000112 1900 -2.75 3.25 46.75 47.25 800 -362.730000000447 1900 -3.25 3.75 46.75 47.25 800 -252.790000000037 1900 -3.75 4.25 46.75 47.25 800 -166.649000000209 1900 -4.25 4.75 46.75 47.25 800 -103.924999999814 1900 -4.75 5.25 46.75 47.25 800 -61.3070000000298 1900 -5.25 5.75 46.75 47.25 800 -34.2110000001267 1900 -5.75 6.25 46.75 47.25 800 -18.0590000003576 1900 -6.25 6.75 46.75 47.25 800 -9.01800000015646 1900 -6.75 7.25 46.75 47.25 800 -4.25999999977648 1900 -7.25 7.75 46.75 47.25 800 -1.90299999993294 1900 -7.75 8.25 46.75 47.25 800 -0.804999999701977 1900 -8.25 8.75 46.75 47.25 800 -0.321999999694526 1900 -8.75 9.25 46.75 47.25 800 -0.122000000439584 1900 -9.25 9.75 46.75 47.25 800 -0.0439999997615814 1900 -9.75 10.25 46.75 47.25 800 -0.0149999996647239 1900 --10.25 -9.75 47.25 47.75 800 -0.0109999999403954 1900 --9.75 -9.25 47.25 47.75 800 -0.0329999998211861 1900 --9.25 -8.75 47.25 47.75 800 -0.0910000000149012 1900 --8.75 -8.25 47.25 47.75 800 -0.24100000038743 1900 --8.25 -7.75 47.25 47.75 800 -0.601999999955297 1900 --7.75 -7.25 47.25 47.75 800 -1.42399999964982 1900 --7.25 -6.75 47.25 47.75 800 -3.18699999991804 1900 --6.75 -6.25 47.25 47.75 800 -6.74799999967217 1900 --6.25 -5.75 47.25 47.75 800 -13.5130000002682 1900 --5.75 -5.25 47.25 47.75 800 -25.5990000003949 1900 --5.25 -4.75 47.25 47.75 800 -45.8739999998361 1900 --4.75 -4.25 47.25 47.75 800 -77.7630000002682 1900 --4.25 -3.75 47.25 47.75 800 -124.696999999695 1900 --3.75 -3.25 47.25 47.75 800 -189.152999999933 1900 --3.25 -2.75 47.25 47.75 800 -271.419999999925 1900 --2.75 -2.25 47.25 47.75 800 -368.419999999925 1900 --2.25 -1.75 47.25 47.75 800 -473.05999999959 1900 --1.75 -1.25 47.25 47.75 800 -574.589999999851 1900 --1.25 -0.75 47.25 47.75 800 -660.209999999963 1900 --0.75 -0.25 47.25 47.75 800 -717.580000000075 1900 --0.25 0.25 47.25 47.75 800 -737.790000000037 1900 -0.25 0.75 47.25 47.75 800 -717.580000000075 1900 -0.75 1.25 47.25 47.75 800 -660.209999999963 1900 -1.25 1.75 47.25 47.75 800 -574.589999999851 1900 -1.75 2.25 47.25 47.75 800 -473.05999999959 1900 -2.25 2.75 47.25 47.75 800 -368.419999999925 1900 -2.75 3.25 47.25 47.75 800 -271.419999999925 1900 -3.25 3.75 47.25 47.75 800 -189.152999999933 1900 -3.75 4.25 47.25 47.75 800 -124.696999999695 1900 -4.25 4.75 47.25 47.75 800 -77.7630000002682 1900 -4.75 5.25 47.25 47.75 800 -45.8739999998361 1900 -5.25 5.75 47.25 47.75 800 -25.5990000003949 1900 -5.75 6.25 47.25 47.75 800 -13.5130000002682 1900 -6.25 6.75 47.25 47.75 800 -6.74799999967217 1900 -6.75 7.25 47.25 47.75 800 -3.18699999991804 1900 -7.25 7.75 47.25 47.75 800 -1.42399999964982 1900 -7.75 8.25 47.25 47.75 800 -0.601999999955297 1900 -8.25 8.75 47.25 47.75 800 -0.24100000038743 1900 -8.75 9.25 47.25 47.75 800 -0.0910000000149012 1900 -9.25 9.75 47.25 47.75 800 -0.0329999998211861 1900 -9.75 10.25 47.25 47.75 800 -0.0109999999403954 1900 --10.25 -9.75 47.75 48.25 800 -0.00800000037997961 1900 --9.75 -9.25 47.75 48.25 800 -0.0240000002086163 1900 --9.25 -8.75 47.75 48.25 800 -0.0669999998062849 1900 --8.75 -8.25 47.75 48.25 800 -0.177000000141561 1900 --8.25 -7.75 47.75 48.25 800 -0.441999999806285 1900 --7.75 -7.25 47.75 48.25 800 -1.04499999992549 1900 --7.25 -6.75 47.75 48.25 800 -2.33800000045449 1900 --6.75 -6.25 47.75 48.25 800 -4.94900000002235 1900 --6.25 -5.75 47.75 48.25 800 -9.91100000031292 1900 --5.75 -5.25 47.75 48.25 800 -18.7759999996051 1900 --5.25 -4.75 47.75 48.25 800 -33.6459999997169 1900 --4.75 -4.25 47.75 48.25 800 -57.035000000149 1900 --4.25 -3.75 47.75 48.25 800 -91.4589999997988 1900 --3.75 -3.25 47.75 48.25 800 -138.733000000007 1900 --3.25 -2.75 47.75 48.25 800 -199.071999999695 1900 --2.75 -2.25 47.75 48.25 800 -270.219999999739 1900 --2.25 -1.75 47.75 48.25 800 -346.959999999963 1900 --1.75 -1.25 47.75 48.25 800 -421.429999999702 1900 --1.25 -0.75 47.75 48.25 800 -484.230000000447 1900 --0.75 -0.25 47.75 48.25 800 -526.30999999959 1900 --0.25 0.25 47.75 48.25 800 -541.129999999888 1900 -0.25 0.75 47.75 48.25 800 -526.30999999959 1900 -0.75 1.25 47.75 48.25 800 -484.230000000447 1900 -1.25 1.75 47.75 48.25 800 -421.429999999702 1900 -1.75 2.25 47.75 48.25 800 -346.959999999963 1900 -2.25 2.75 47.75 48.25 800 -270.219999999739 1900 -2.75 3.25 47.75 48.25 800 -199.071999999695 1900 -3.25 3.75 47.75 48.25 800 -138.733000000007 1900 -3.75 4.25 47.75 48.25 800 -91.4589999997988 1900 -4.25 4.75 47.75 48.25 800 -57.035000000149 1900 -4.75 5.25 47.75 48.25 800 -33.6459999997169 1900 -5.25 5.75 47.75 48.25 800 -18.7759999996051 1900 -5.75 6.25 47.75 48.25 800 -9.91100000031292 1900 -6.25 6.75 47.75 48.25 800 -4.94900000002235 1900 -6.75 7.25 47.75 48.25 800 -2.33800000045449 1900 -7.25 7.75 47.75 48.25 800 -1.04499999992549 1900 -7.75 8.25 47.75 48.25 800 -0.441999999806285 1900 -8.25 8.75 47.75 48.25 800 -0.177000000141561 1900 -8.75 9.25 47.75 48.25 800 -0.0669999998062849 1900 -9.25 9.75 47.75 48.25 800 -0.0240000002086163 1900 -9.75 10.25 47.75 48.25 800 -0.00800000037997961 1900 --10.25 -9.75 48.25 48.75 800 -0.00600000005215406 1900 --9.75 -9.25 48.25 48.75 800 -0.0169999999925494 1900 --9.25 -8.75 48.25 48.75 800 -0.0480000004172325 1900 --8.75 -8.25 48.25 48.75 800 -0.127000000327826 1900 --8.25 -7.75 48.25 48.75 800 -0.316999999806285 1900 --7.75 -7.25 48.25 48.75 800 -0.751000000163913 1900 --7.25 -6.75 48.25 48.75 800 -1.68099999986589 1900 --6.75 -6.25 48.25 48.75 800 -3.55800000019372 1900 --6.25 -5.75 48.25 48.75 800 -7.125 1900 --5.75 -5.25 48.25 48.75 800 -13.4979999996722 1900 --5.25 -4.75 48.25 48.75 800 -24.1890000002459 1900 --4.75 -4.25 48.25 48.75 800 -41.0039999997243 1900 --4.25 -3.75 48.25 48.75 800 -65.7520000003278 1900 --3.75 -3.25 48.25 48.75 800 -99.7390000000596 1900 --3.25 -2.75 48.25 48.75 800 -143.11699999962 1900 --2.75 -2.25 48.25 48.75 800 -194.264999999665 1900 --2.25 -1.75 48.25 48.75 800 -249.44000000041 1900 --1.75 -1.25 48.25 48.75 800 -302.980000000447 1900 --1.25 -0.75 48.25 48.75 800 -348.120000000112 1900 --0.75 -0.25 48.25 48.75 800 -378.379999999888 1900 --0.25 0.25 48.25 48.75 800 -389.030000000261 1900 -0.25 0.75 48.25 48.75 800 -378.379999999888 1900 -0.75 1.25 48.25 48.75 800 -348.120000000112 1900 -1.25 1.75 48.25 48.75 800 -302.980000000447 1900 -1.75 2.25 48.25 48.75 800 -249.44000000041 1900 -2.25 2.75 48.25 48.75 800 -194.264999999665 1900 -2.75 3.25 48.25 48.75 800 -143.11699999962 1900 -3.25 3.75 48.25 48.75 800 -99.7390000000596 1900 -3.75 4.25 48.25 48.75 800 -65.7520000003278 1900 -4.25 4.75 48.25 48.75 800 -41.0039999997243 1900 -4.75 5.25 48.25 48.75 800 -24.1890000002459 1900 -5.25 5.75 48.25 48.75 800 -13.4979999996722 1900 -5.75 6.25 48.25 48.75 800 -7.125 1900 -6.25 6.75 48.25 48.75 800 -3.55800000019372 1900 -6.75 7.25 48.25 48.75 800 -1.68099999986589 1900 -7.25 7.75 48.25 48.75 800 -0.751000000163913 1900 -7.75 8.25 48.25 48.75 800 -0.316999999806285 1900 -8.25 8.75 48.25 48.75 800 -0.127000000327826 1900 -8.75 9.25 48.25 48.75 800 -0.0480000004172325 1900 -9.25 9.75 48.25 48.75 800 -0.0169999999925494 1900 -9.75 10.25 48.25 48.75 800 -0.00600000005215406 1900 --10.25 -9.75 48.75 49.25 800 -0.00399999972432852 1900 --9.75 -9.25 48.75 49.25 800 -0.0120000001043081 1900 --9.25 -8.75 48.75 49.25 800 -0.0339999999850988 1900 --8.75 -8.25 48.75 49.25 800 -0.0889999996870756 1900 --8.25 -7.75 48.75 49.25 800 -0.224000000394881 1900 --7.75 -7.25 48.75 49.25 800 -0.529000000096858 1900 --7.25 -6.75 48.75 49.25 800 -1.18400000035763 1900 --6.75 -6.25 48.75 49.25 800 -2.50700000021607 1900 --6.25 -5.75 48.75 49.25 800 -5.02099999971688 1900 --5.75 -5.25 48.75 49.25 800 -9.51200000010431 1900 --5.25 -4.75 48.75 49.25 800 -17.0460000000894 1900 --4.75 -4.25 48.75 49.25 800 -28.894999999553 1900 --4.25 -3.75 48.75 49.25 800 -46.3349999999627 1900 --3.75 -3.25 48.75 49.25 800 -70.285000000149 1900 --3.25 -2.75 48.75 49.25 800 -100.853000000119 1900 --2.75 -2.25 48.75 49.25 800 -136.895999999717 1900 --2.25 -1.75 48.75 49.25 800 -175.777999999933 1900 --1.75 -1.25 48.75 49.25 800 -213.509999999776 1900 --1.25 -0.75 48.75 49.25 800 -245.320000000298 1900 --0.75 -0.25 48.75 49.25 800 -266.639999999665 1900 --0.25 0.25 48.75 49.25 800 -274.150000000373 1900 -0.25 0.75 48.75 49.25 800 -266.639999999665 1900 -0.75 1.25 48.75 49.25 800 -245.320000000298 1900 -1.25 1.75 48.75 49.25 800 -213.509999999776 1900 -1.75 2.25 48.75 49.25 800 -175.777999999933 1900 -2.25 2.75 48.75 49.25 800 -136.895999999717 1900 -2.75 3.25 48.75 49.25 800 -100.853000000119 1900 -3.25 3.75 48.75 49.25 800 -70.285000000149 1900 -3.75 4.25 48.75 49.25 800 -46.3349999999627 1900 -4.25 4.75 48.75 49.25 800 -28.894999999553 1900 -4.75 5.25 48.75 49.25 800 -17.0460000000894 1900 -5.25 5.75 48.75 49.25 800 -9.51200000010431 1900 -5.75 6.25 48.75 49.25 800 -5.02099999971688 1900 -6.25 6.75 48.75 49.25 800 -2.50700000021607 1900 -6.75 7.25 48.75 49.25 800 -1.18400000035763 1900 -7.25 7.75 48.75 49.25 800 -0.529000000096858 1900 -7.75 8.25 48.75 49.25 800 -0.224000000394881 1900 -8.25 8.75 48.75 49.25 800 -0.0889999996870756 1900 -8.75 9.25 48.75 49.25 800 -0.0339999999850988 1900 -9.25 9.75 48.75 49.25 800 -0.0120000001043081 1900 -9.75 10.25 48.75 49.25 800 -0.00399999972432852 1900 --10.25 -9.75 49.25 49.75 800 -0.00299999956041574 1900 --9.75 -9.25 49.25 49.75 800 -0.00800000037997961 1900 --9.25 -8.75 49.25 49.75 800 -0.0230000000447035 1900 --8.75 -8.25 49.25 49.75 800 -0.0619999999180436 1900 --8.25 -7.75 49.25 49.75 800 -0.15500000026077 1900 --7.75 -7.25 49.25 49.75 800 -0.36600000038743 1900 --7.25 -6.75 49.25 49.75 800 -0.817999999970198 1900 --6.75 -6.25 49.25 49.75 800 -1.73199999984354 1900 --6.25 -5.75 49.25 49.75 800 -3.46800000034273 1900 --5.75 -5.25 49.25 49.75 800 -6.57000000029802 1900 --5.25 -4.75 49.25 49.75 800 -11.7740000002086 1900 --4.75 -4.25 49.25 49.75 800 -19.9589999997988 1900 --4.25 -3.75 49.25 49.75 800 -32.0049999998882 1900 --3.75 -3.25 49.25 49.75 800 -48.5480000004172 1900 --3.25 -2.75 49.25 49.75 800 -69.6629999997094 1900 --2.75 -2.25 49.25 49.75 800 -94.5590000003576 1900 --2.25 -1.75 49.25 49.75 800 -121.416000000201 1900 --1.75 -1.25 49.25 49.75 800 -147.475999999791 1900 --1.25 -0.75 49.25 49.75 800 -169.449000000022 1900 --0.75 -0.25 49.25 49.75 800 -184.174999999814 1900 --0.25 0.25 49.25 49.75 800 -189.362999999896 1900 -0.25 0.75 49.25 49.75 800 -184.174999999814 1900 -0.75 1.25 49.25 49.75 800 -169.449000000022 1900 -1.25 1.75 49.25 49.75 800 -147.475999999791 1900 -1.75 2.25 49.25 49.75 800 -121.416000000201 1900 -2.25 2.75 49.25 49.75 800 -94.5590000003576 1900 -2.75 3.25 49.25 49.75 800 -69.6629999997094 1900 -3.25 3.75 49.25 49.75 800 -48.5480000004172 1900 -3.75 4.25 49.25 49.75 800 -32.0049999998882 1900 -4.25 4.75 49.25 49.75 800 -19.9589999997988 1900 -4.75 5.25 49.25 49.75 800 -11.7740000002086 1900 -5.25 5.75 49.25 49.75 800 -6.57000000029802 1900 -5.75 6.25 49.25 49.75 800 -3.46800000034273 1900 -6.25 6.75 49.25 49.75 800 -1.73199999984354 1900 -6.75 7.25 49.25 49.75 800 -0.817999999970198 1900 -7.25 7.75 49.25 49.75 800 -0.36600000038743 1900 -7.75 8.25 49.25 49.75 800 -0.15500000026077 1900 -8.25 8.75 49.25 49.75 800 -0.0619999999180436 1900 -8.75 9.25 49.25 49.75 800 -0.0230000000447035 1900 -9.25 9.75 49.25 49.75 800 -0.00800000037997961 1900 -9.75 10.25 49.25 49.75 800 -0.00299999956041574 1900 --10.25 -9.75 49.75 50.25 800 -0.00200000032782555 1900 --9.75 -9.25 49.75 50.25 800 -0.00600000005215406 1900 --9.25 -8.75 49.75 50.25 800 -0.0159999998286366 1900 --8.75 -8.25 49.75 50.25 800 -0.0420000003650784 1900 --8.25 -7.75 49.75 50.25 800 -0.105000000447035 1900 --7.75 -7.25 49.75 50.25 800 -0.247999999672174 1900 --7.25 -6.75 49.75 50.25 800 -0.553999999538064 1900 --6.75 -6.25 49.75 50.25 800 -1.17300000041723 1900 --6.25 -5.75 49.75 50.25 800 -2.34800000023097 1900 --5.75 -5.25 49.75 50.25 800 -4.44799999985844 1900 --5.25 -4.75 49.75 50.25 800 -7.97200000006706 1900 --4.75 -4.25 49.75 50.25 800 -13.5130000002682 1900 --4.25 -3.75 49.75 50.25 800 -21.6689999997616 1900 --3.75 -3.25 49.75 50.25 800 -32.8700000001118 1900 --3.25 -2.75 49.75 50.25 800 -47.1660000002012 1900 --2.75 -2.25 49.75 50.25 800 -64.0219999998808 1900 --2.25 -1.75 49.75 50.25 800 -82.2050000000745 1900 --1.75 -1.25 49.75 50.25 800 -99.8499999996275 1900 --1.25 -0.75 49.75 50.25 800 -114.726999999955 1900 --0.75 -0.25 49.75 50.25 800 -124.696999999695 1900 --0.25 0.25 49.75 50.25 800 -128.208999999799 1900 -0.25 0.75 49.75 50.25 800 -124.696999999695 1900 -0.75 1.25 49.75 50.25 800 -114.726999999955 1900 -1.25 1.75 49.75 50.25 800 -99.8499999996275 1900 -1.75 2.25 49.75 50.25 800 -82.2050000000745 1900 -2.25 2.75 49.75 50.25 800 -64.0219999998808 1900 -2.75 3.25 49.75 50.25 800 -47.1660000002012 1900 -3.25 3.75 49.75 50.25 800 -32.8700000001118 1900 -3.75 4.25 49.75 50.25 800 -21.6689999997616 1900 -4.25 4.75 49.75 50.25 800 -13.5130000002682 1900 -4.75 5.25 49.75 50.25 800 -7.97200000006706 1900 -5.25 5.75 49.75 50.25 800 -4.44799999985844 1900 -5.75 6.25 49.75 50.25 800 -2.34800000023097 1900 -6.25 6.75 49.75 50.25 800 -1.17300000041723 1900 -6.75 7.25 49.75 50.25 800 -0.553999999538064 1900 -7.25 7.75 49.75 50.25 800 -0.247999999672174 1900 -7.75 8.25 49.75 50.25 800 -0.105000000447035 1900 -8.25 8.75 49.75 50.25 800 -0.0420000003650784 1900 -8.75 9.25 49.75 50.25 800 -0.0159999998286366 1900 -9.25 9.75 49.75 50.25 800 -0.00600000005215406 1900 -9.75 10.25 49.75 50.25 800 -0.00200000032782555 1900 diff --git a/dep/tesseroids/cookbook/tesslayers/tesslayers.bat b/dep/tesseroids/cookbook/tesslayers/tesslayers.bat deleted file mode 100755 index 8ca99ac..0000000 --- a/dep/tesseroids/cookbook/tesslayers/tesslayers.bat +++ /dev/null @@ -1,13 +0,0 @@ - - -:: Convert the layer grids in layers.txt to tesseroids. -:: The grid spacing passed to -s is used as the size of the tesseroids, -:: so be careful! -tesslayers.exe -s0.5/0.5 -v < layers.txt > tessmodel.txt - -:: Now calculate the gz and tensor effect of this model at 100km height -tessgrd -r-8/8/32/48 -b50/50 -z100000 | ^ -tessgz tessmodel.txt | ^ -tessgxx tessmodel.txt | tessgxy tessmodel.txt | ^ -tessgxz tessmodel.txt | tessgyy tessmodel.txt | ^ -tessgyz tessmodel.txt | tessgzz tessmodel.txt -v > output.txt diff --git a/dep/tesseroids/cookbook/tesslayers/tesslayers.png b/dep/tesseroids/cookbook/tesslayers/tesslayers.png deleted file mode 100755 index a01ac9651065dff6e1fc984a46412061c9059378..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 158119 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

hLa2io<|W*3Ii-5 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 &X{WB#pRcGu#+XEIDQ<>@}+-vhm)J{U&8U zYw$N?i{GVgc!zhDHEv5?lFnW2<`@O~R>mZJ*!PvTOKfe#U ziG>2!kSB%#PYecS$hZ$8J#2xw-J00@8N4RIq<6ZY;PGG8}IG_X+iE}9qcycA47Uw6omh2MQQOpvR&xXZ-4bl)cxIW->1)T zsXq(>s-(%W)bEp)nK|vc;j0RgJJ3Zf1M#0`Y=RC-ncEBM`A{lI#8L}=EsA17f|=(0 zm*ay#>5Kql2*vyz6k)x8Pcbu+bI0U!`ZjcvK%ZU%32W>Mp!~W1!fFUyMKubIfnniZ zvgf0y`=gVZgq{KofB#=xfIp$F>;Gowp~DvFyDIavvXXYpiP#ah21*mnCG~vlzus(K z-bH}n?V%n5!pEziW6$&NJLlDYx1ihaH)(q|_w-f@km8Z%+Pa`qY^pU!@1AINaVnC? z_-&@1aQ1b!gj)_bQX|j`TCIMv7Vd=+=>YuN@*zc_Ia$;aldnMGUnq4zz}LPvkM%Z& z^xIQC7}4dR5JcRGkkkzXX9pk-X(1pivGk9Cbd#7~==yQzC}M|bY(K>JW9t=uwL4L{p2krDE%4O>OPaWHRUKQ7 z^2bCt`gl$C#*dimiIR&Z<;|-U+myoYmguqN3^r&|$e7jA(5!t_x*TRY>sxr0=jCIS zL~;qyqSMJlxdDskS%Oh6k`K-(9%z=)h|_4&_%t++UvqG_G}E{IPVZbp@>OI}j(E9I zl`LPo=D{$jqjY<_=ab#(i)~CIPd{^NGYU3cPSf{fL_e9z6#iZ zpzZ1IMyV8$AZrFv5hcL$NFIdF!c$@?M-g%h9IJ+5d{sSU-zFav(#F22x6;O~Cf5?< zd}NUK!(KRI5VK1rJS+UyC$^rzqW6ZaB_>KvUN(x+w#r4pn1ZFRNHv~Ue6~P6Z8Epm z$;M!n(x27BXg?R(uockM2U0ELZYqIPNqC5su~T=+P4sb+Lw0o{IL%AHObprMGR!z7|pkfl8JVHCAG%$6B$LvCOr3p#ulhn9V}`PQTD@NmJse%6#QeezAhb(2MW%TnLR+ zLztvwXYSYHFoPVPOqy^5DQAVdUD%+}m5P+X30f~1lroi_w)0xnE&cQ~-%Bc2+AC*p zOxHF(MtUD`ohWBza<2p=I*wU{)QWs8) zjkf!Q_jNCwyEFV&Ht~^`=|dg;&)vF{3?4(ZP0`*c&9$akuP@uCk`rzO_g<)KUQfAp z*&*_Yfsy}A&K<5@hvlyq&G`>+Rh``uyS#WoOd_y=){8%|n#8u0Q`n}3UFsUo zNarABC!c^VW%k;d$NdKef0il6HycOmISHba;B}u{B$3eZ zO0&mn;Y8JqJqmZyxXC5UnnN;U{GqB(Hs2sV;E|}q2CcT#5w=5lmu?(aW`sG+XrZ`;)YD6 zGS{w7S7v?Ex3OJG<-Krex87*obvwA=QFu&(7tKk3s8#}zcc|U9Q3+zRyvSy%IW3%6 z5enl7Wg~Yf10Ee(TH6VI4ph-Qal2%UnfT_Y7+SX#KUd{#q22Az!rclNyc=i#B;6b2 zN=}c}EwQ@>?Dkj2l?-EhbO)-V1~&%oK_5QOiYU^K8lRt^z4*_XTnlX{?&sx{ulIo@C0rLg_y5PQ>a@SLg1&i*LxF z^qA+99~L(Ft1xfR2M>j#EtE z_H13I5V97*KP<>+b0=WIU*o%NHV+xQ2tQEaxKD3vYN{KTIcUKrSɕOz1fF{d$w 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 tessmodel.txt - -# Now calculate the gz and tensor effect of this model at 100km height -tessgrd -r-8/8/32/48 -b50/50 -z100000 | \ -tessgz tessmodel.txt | \ -tessgxx tessmodel.txt | tessgxy tessmodel.txt | \ -tessgxz tessmodel.txt | tessgyy tessmodel.txt | \ -tessgyz tessmodel.txt | tessgzz tessmodel.txt -v > output.txt diff --git a/dep/tesseroids/lib/CMakeLists.txt b/dep/tesseroids/lib/CMakeLists.txt deleted file mode 100644 index ee32688..0000000 --- a/dep/tesseroids/lib/CMakeLists.txt +++ /dev/null @@ -1,66 +0,0 @@ -# 设置编译选项 -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3") -if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -lm") -endif() - -# 设置库文件的输出地址 -set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) - -# 设定库源文件 -aux_source_directory(. LIBTESS_SRC) - -# 以下部分为库的编译 -# 注意目标名必须唯一 所以不能直接生成相同名称的动态库与静态库 -# 注意此处不必为目标名称添加lib前缀和相应后缀,cmake会自行添加 -add_library(tess SHARED ${LIBTESS_SRC}) -# 首先添加静态库的生成命令 -add_library(tess_static STATIC ${LIBTESS_SRC}) -# 设置静态库的输出名称从而获得与动态库名称相同的静态库 -set_target_properties(tess_static PROPERTIES OUTPUT_NAME "tess") -# 设置输出目标属性以同时输出动态库与静态库 -set_target_properties(tess PROPERTIES CLEAN_DIRECT_OUTPUT 1) -set_target_properties(tess_static PROPERTIES CLEAN_DIRECT_OUTPUT 1) -# 设置动态库的版本号 -set_target_properties(tess PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}) -# 设置动态库的运行搜索地址 -set_target_properties(tess PROPERTIES INSTALL_RPATH /usr/local/lib) -set_target_properties(tess_static PROPERTIES INSTALL_RPATH /usr/local/lib) - -# 链接动态库 -if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux") - target_link_libraries(tess PUBLIC m) - target_link_libraries(tess_static m.a) -endif() - -set(CONFIG_FILE_PATH lib/cmake/${PROJECT_NAME}) - -configure_package_config_file(${PROJECT_SOURCE_DIR}/${PROJECT_NAME}Config.cmake.in - ${CMAKE_BINARY_DIR}/${PROJECT_NAME}Config.cmake - INSTALL_DESTINATION ${CONFIG_FILE_PATH}) - -write_basic_package_version_file(${CMAKE_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake - VERSION ${PROJECT_VERSION} - COMPATIBILITY SameMajorVersion) - -# 库的安装命令 安装到/opt/lib -if(WIN32) - install(TARGETS tess DESTINATION lib) - install(TARGETS tess_static DESTINATION lib) -else() - install(TARGETS tess tess_static - EXPORT ${PROJECT_NAME}Targets - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib) - install(EXPORT ${PROJECT_NAME}Targets - DESTINATION ${CONFIG_FILE_PATH}) - install(FILES - ${CMAKE_BINARY_DIR}/${PROJECT_NAME}Config.cmake - ${CMAKE_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake - DESTINATION ${CONFIG_FILE_PATH}) -endif() - -# 头文件安装命令 -file(GLOB LIBTESS_HEAD *.h) -# 安装到include/tess -install(FILES ${LIBTESS_HEAD} DESTINATION include/tess) \ No newline at end of file diff --git a/dep/tesseroids/lib/constants.c b/dep/tesseroids/lib/constants.c deleted file mode 100644 index 07543ac..0000000 --- a/dep/tesseroids/lib/constants.c +++ /dev/null @@ -1,39 +0,0 @@ -/* -Define constants used, like the gravitational constant and unit conversions. - -All values are in SI units! -*/ - -#include "constants.h" - -/* Mean Earth radius [\f$ m \f$] */ -const double MEAN_EARTH_RADIUS = 6378137.0; - -/* The gravitational constant [\f$ m^3*kg^{-1}*s^{-1} \f$] */ -const double G = 0.00000000006673; - -/* Conversion factor from SI units to Eotvos -[\f$ \frac{1}{s^2} = 10^9\ Eotvos \f$] */ -const double SI2EOTVOS = 1000000000.0; - -/* Conversion factor from SI units to mGal -[\f$ 1 \frac{m}{s^2} = 10^5\ mGal \f$] */ -const double SI2MGAL = 100000.0; - -/* Pi */ -const double PI = 3.1415926535897932384626433832795; - -/* minimum distance-to-size ratio for potential computations to be accurate */ -const double TESSEROID_POT_SIZE_RATIO = 1; -/* Minimum distance-to-size ratio for gravity computations to be accurate */ -const double TESSEROID_GX_SIZE_RATIO = 1.5; -const double TESSEROID_GY_SIZE_RATIO = 1.5; -const double TESSEROID_GZ_SIZE_RATIO = 1.5; -/* Minimum distance-to-size ratio for gravity gradient computations to be -accurate */ -const double TESSEROID_GXX_SIZE_RATIO = 8; -const double TESSEROID_GXY_SIZE_RATIO = 8; -const double TESSEROID_GXZ_SIZE_RATIO = 8; -const double TESSEROID_GYY_SIZE_RATIO = 8; -const double TESSEROID_GYZ_SIZE_RATIO = 8; -const double TESSEROID_GZZ_SIZE_RATIO = 8; diff --git a/dep/tesseroids/lib/constants.h b/dep/tesseroids/lib/constants.h deleted file mode 100644 index 441767e..0000000 --- a/dep/tesseroids/lib/constants.h +++ /dev/null @@ -1,44 +0,0 @@ -/* -Define constants used, like the gravitational constant and unit conversions. - -Values are assigned in file constants.c - -All values are in SI units! -*/ - -#ifndef _TESSEROIDS_CONSTANTS_H_ -#define _TESSEROIDS_CONSTANTS_H_ - -/* Mean Earth radius [\f$ m \f$] */ -extern const double MEAN_EARTH_RADIUS; - -/* The gravitational constant [\f$ m^3*kg^{-1}*s^{-1} \f$] */ -extern const double G; - -/* Conversion factor from SI units to Eotvos -[\f$ \frac{1}{s^2} = 10^9\ Eotvos \f$] */ -extern const double SI2EOTVOS; - -/* Conversion factor from SI units to mGal -[\f$ 1 \frac{m}{s^2} = 10^5\ mGal \f$] */ -extern const double SI2MGAL; - -/* Pi */ -extern const double PI; - -/* Minimum distance-to-size ratio for potential computations to be accurate */ -extern const double TESSEROID_POT_SIZE_RATIO; -/* Minimum distance-to-size ratio for gravity computations to be accurate */ -extern const double TESSEROID_GX_SIZE_RATIO; -extern const double TESSEROID_GY_SIZE_RATIO; -extern const double TESSEROID_GZ_SIZE_RATIO; -/* Minimum distance-to-size ratio for gravity gradient computations to be -accurate */ -extern const double TESSEROID_GXX_SIZE_RATIO; -extern const double TESSEROID_GXY_SIZE_RATIO; -extern const double TESSEROID_GXZ_SIZE_RATIO; -extern const double TESSEROID_GYY_SIZE_RATIO; -extern const double TESSEROID_GYZ_SIZE_RATIO; -extern const double TESSEROID_GZZ_SIZE_RATIO; - -#endif diff --git a/dep/tesseroids/lib/geometry.c b/dep/tesseroids/lib/geometry.c deleted file mode 100644 index e9dff7c..0000000 --- a/dep/tesseroids/lib/geometry.c +++ /dev/null @@ -1,175 +0,0 @@ -/* -Data structures for geometric elements and functions that operate on them. -Defines the TESSEROID, SPHERE, and PRISM structures. -*/ - - -#include -#include -#include -#include -#include "constants.h" -#include "logger.h" -#include "geometry.h" - - -/* Split a tesseroid. */ -int split_tess(TESSEROID tess, int nlon, int nlat, int nr, TESSEROID *split) -{ - double dlon, dlat, dr, w, s, r1; - int i, j, k, t = 0; - - dlon = (double)(tess.e - tess.w)/nlon; - dlat = (double)(tess.n - tess.s)/nlat; - dr = (double)(tess.r2 - tess.r1)/nr; - for(r1=tess.r1, k=0; r1 + dr <= tess.r2 || k < nr; r1 += dr, k++) - { - for(s=tess.s, j=0; s + dlat <= tess.n || j < nlat; s += dlat, j++) - { - for(w=tess.w, i=0; w + dlon <= tess.e || i < nlon; w += dlon, i++) - { - split[t].w = w; - split[t].e = w + dlon; - split[t].s = s; - split[t].n = s + dlat; - split[t].r1 = r1; - split[t].r2 = r1 + dr; - split[t].density = tess.density; - t++; - } - } - } - return t; -} - - -/* Calculate the total mass of a tesseroid model. */ -double tess_total_mass(TESSEROID *model, int size) -{ - double mass; - int i; - - for(mass = 0, i = 0; i < size; i++) - { - mass += model[i].density*tess_volume(model[i]); - } - - return mass; -} - - -/* Calculate the mass of a tesseroid model within a density range. */ -double tess_range_mass(TESSEROID *model, int size, double low_dens, - double high_dens) -{ - double mass; - int i; - - for(mass = 0, i = 0; i < size; i++) - { - if(model[i].density >= low_dens && model[i].density <= high_dens) - { - mass += model[i].density*tess_volume(model[i]); - } - } - - return mass; -} - - -/* Convert a tesseroid to a rectangular prism of equal volume and append - * the spherical coordinates of the center top surface (needed to calculate - * the effect in spherical coordinates). */ -void tess2prism(TESSEROID tess, PRISM *prism) -{ - double deg2rad = PI/180., r0, dx, dy; - - r0 = 0.5*(tess.r1 + tess.r2); - dx = r0*deg2rad*(tess.n - tess.s); - dy = r0*cos(deg2rad*0.5*(tess.n + tess.s))*deg2rad*(tess.e - tess.w); - prism->x1 = -0.5*dx; - prism->x2 = 0.5*dx; - prism->y1 = -0.5*dy; - prism->y2 = 0.5*dy; - /* z1 = 0 because the center of the top face of the prism is the origin of - the coordiante system */ - prism->z1 = 0.; - prism->z2 = tess.r2 - tess.r1; - /* Calculate the density of the prism so that they will have exactly - the same mass */ - prism->density = (double)tess.density* - tess_volume(tess)/prism_volume(*prism); - /* Set the coordinates of the center of the prisms top face */ - prism->lon = 0.5*(tess.e + tess.w); - prism->lat = 0.5*(tess.n + tess.s); - prism->r = tess.r2; /* The top face */ -} - - -/* Convert a tesseroid to a rectangular prism of equal volume by approximating - * 1 degree by 111.11 km. */ -void tess2prism_flatten(TESSEROID tess, PRISM *prism) -{ - prism->x1 = tess.s*111110.; - prism->x2 = tess.n*111110.; - prism->y1 = tess.w*111110.; - prism->y2 = tess.e*111110.; - /* r1 is not z1 because r1 is the bottom face (because Nagy et al., 2000, - use z->Down) */ - prism->z1 = MEAN_EARTH_RADIUS - tess.r2; - prism->z2 = MEAN_EARTH_RADIUS - tess.r1; - /* Calculate the density of the prism so that they will have exactly - the same mass */ - prism->density = (double)tess.density* - tess_volume(tess)/prism_volume(*prism); -} - - -/* Convert a tesseroid to a sphere of equal volume. */ -void tess2sphere(TESSEROID tess, SPHERE *sphere) -{ - sphere->density = tess.density; - sphere->lonc = 0.5*(tess.e + tess.w); - sphere->latc = 0.5*(tess.n + tess.s); - sphere->rc = 0.5*(tess.r1 + tess.r2); - sphere->r = pow(3*tess_volume(tess)/(4.*PI), (double)1./3.); -} - - -/* Convert a rectangular prism into a sphere of equal volume. */ -void prism2sphere(PRISM prism, double lonc, double latc, double rc, - SPHERE *sphere) -{ - sphere->density = prism.density; - sphere->lonc = lonc; - sphere->latc = latc; - sphere->rc = rc; - sphere->r = pow(3*prism_volume(prism)/(4.*PI), (double)1./3.); -} - - -/* Calculate the volume of a tesseroid */ -double tess_volume(TESSEROID tess) -{ - double d2r = PI/180., vol; - - vol = d2r*(tess.e - tess.w)*(pow(tess.r2, 3) - pow(tess.r1, 3))* - (sin(d2r*tess.n) - sin(d2r*tess.s))/3.; - - return vol; -} - - -/* Calculate the volume of a sphere */ -double sphere_volume(SPHERE sphere) -{ - return 4.*PI*pow(sphere.r, 3)/3.; -} - - -/* Calculate the volume of a prism */ -double prism_volume(PRISM prism) -{ - return (prism.x2 - prism.x1)*(prism.y2 - prism.y1)*(prism.z2 - prism.z1); -} - diff --git a/dep/tesseroids/lib/geometry.h b/dep/tesseroids/lib/geometry.h deleted file mode 100644 index a543976..0000000 --- a/dep/tesseroids/lib/geometry.h +++ /dev/null @@ -1,168 +0,0 @@ -/* -Data structures for geometric elements and functions that operate on them. -Defines the TESSEROID, SPHERE, and PRISM structures. -*/ - -#ifndef _TESSEROIDS_GEOMETRY_H_ -#define _TESSEROIDS_GEOMETRY_H_ - - -/* Store information on a tesseroid */ -typedef struct tess_struct { - /* s, n, w, e in degrees. r1 and r2 are the smaller and larger radius */ - double density; /* in SI units */ - double w; /* western longitude border in degrees */ - double e; /* eastern longitude border in degrees */ - double s; /* southern latitude border in degrees */ - double n; /* northern latitude border in degrees */ - double r1; /* smallest radius border in SI units */ - double r2; /* largest radius border in SI units */ -} TESSEROID; - - -/* Store information on a rectangular prism */ -typedef struct prism_struct { - double density; /* in SI units */ - double x1; /* in SI units */ - double x2; /* in SI units */ - double y1; /* in SI units */ - double y2; /* in SI units */ - double z1; /* in SI units */ - double z2; /* in SI units */ - /* Geodetic coordinates of the center of the top face of the prism */ - double lon, lat, r; -} PRISM; - - -/* Store information on a sphere */ -typedef struct sphere_struct { - double density; /* in SI units */ - double r; /* radius of the sphere in SI units */ - double lonc; /* longitude of the center of the sphere in degrees */ - double latc; /* latitude of the center of the sphere in degrees */ - double rc; /* radial coordinate of the center of the sphere in SI units */ -} SPHERE; - - -/* Split a tesseroid. - -@param tess tesseroid that will be split -@param split array of nlon*nlat*nr tesseroids with memory allocated. - -Returns: - Number of tesseroids in split. -*/ -extern int split_tess(TESSEROID tess, int nlon, int nlat, int nr, - TESSEROID *split); - - - -/* Calculate the total mass of a tesseroid model. - -Give all in SI units and degrees! - -@param model array of tesseroids -@param size size of the model - -@return The calculated mass -*/ -extern double tess_total_mass(TESSEROID *model, int size); - - -/* Calculate the mass of a tesseroid model within a density range. - -Give all in SI units and degrees! - -@param model array of tesseroids -@param size size of the model -@param low_dens lower bound of the density range -@param high_dens upper bound of the density range - -@return The calculated mass -*/ -extern double tess_range_mass(TESSEROID *model, int size, double low_dens, - double high_dens); - - -/* Convert a tesseroid into a rectangular prism of equal volume (Wild-Pfeiffer, 2008). - -\f[ -\Delta x = \frac{r_1 + r_2}{2} \Delta \phi, -\f] -\f[ -\Delta y = \frac{r_1 + r_2}{2} \cos\left(\frac{\phi_1 + \phi_2}{2}\right) \Delta\lambda, -\f] -\f[ -\Delta z = \Delta r, -\f] - -References - -- Wild-Pfeiffer, F. (2008). A comparison of different mass elements for use in -gravity gradiometry. Journal of Geodesy, 82(10), 637-653. - -@param tess tesseroid to convert -@param prism prism with equal volume of the tesseroid (used to return) -*/ -extern void tess2prism(TESSEROID tess, PRISM *prism); - - -/* Convert a tesseroid into a rectangular prism of equal volume by -approximating 1 degree by 111.11 km. - -@param tess tesseroid to convert -@param prism prism with equal volume of the tesseroid (used to return) -*/ -extern void tess2prism_flatten(TESSEROID tess, PRISM *prism); - - -/* Convert a tesseroid into a sphere of equal volume. - -Parameters: -@param tess tesseroid to convert -@param sphere sphere with equal volume of the tesseroid (used to return) -*/ -extern void tess2sphere(TESSEROID tess, SPHERE *sphere); - - -/* Convert a rectangular prism into a sphere of equal volume. - -Parameters: -@param prism prism to convert -@param lonc longitude of the desired center of the sphere, in degrees -@param latc latitude of the desired center of the sphere, in degrees -@param rc radial coordinate of the desired center of the sphere, in SI units -@param sphere sphere with equal volume of the prism (used to return) -*/ -extern void prism2sphere(PRISM prism, double lonc, double latc, double rc, - SPHERE *sphere); - - -/* Calculate the volume of a tesseroid. - -@param tess the tesseroid whose volume will be calculated - -@return the volume in the respective units -*/ -extern double tess_volume(TESSEROID tess); - - -/* Calculate the volume of a sphere. - -@param sphere the sphere whose volume will be calculated - -@return the volume in the respective units -*/ -extern double sphere_volume(SPHERE sphere); - - -/* Calculate the volume of a prism - -@param prism the prism whose volume will be calculated - -@return the volume in the respective units -*/ -extern double prism_volume(PRISM prism); - - -#endif diff --git a/dep/tesseroids/lib/glq.c b/dep/tesseroids/lib/glq.c deleted file mode 100644 index 4d0818d..0000000 --- a/dep/tesseroids/lib/glq.c +++ /dev/null @@ -1,308 +0,0 @@ -/* -Functions for implementing a Gauss-Legendre Quadrature numerical integration. -*/ - - -#include -#include -#include "constants.h" -#include "logger.h" -#include "glq.h" - - -/** \var GLQ_MAXIT -Max iterations of the root-finder algorithm */ -const int GLQ_MAXIT = 1000; - - -/** \var GLQ_MAXERROR -Max error allowed for the root-finder algorithm */ -const double GLQ_MAXERROR = 0.000000000000001; - - -/* Make a new GLQ structure and set all the parameters needed */ -GLQ * glq_new(int order, double lower, double upper) -{ - GLQ *glq; - int rc; - - glq = (GLQ *)malloc(sizeof(GLQ)); - if(glq == NULL) - { - return NULL; - } - glq->order = order; - glq->nodes = (double *)malloc(sizeof(double)*order); - if(glq->nodes == NULL) - { - free(glq); - return NULL; - } - glq->nodes_unscaled = (double *)malloc(sizeof(double)*order); - if(glq->nodes_unscaled == NULL) - { - free(glq); - free(glq->nodes); - return NULL; - } - glq->weights = (double *)malloc(sizeof(double)*order); - if(glq->weights == NULL) - { - free(glq); - free(glq->nodes); - free(glq->nodes_unscaled); - return NULL; - } - glq->nodes_sin = (double *)malloc(sizeof(double)*order); - if(glq->nodes_sin == NULL) - { - free(glq); - free(glq->nodes); - free(glq->nodes_unscaled); - free(glq->weights); - return NULL; - } - glq->nodes_cos = (double *)malloc(sizeof(double)*order); - if(glq->nodes_cos == NULL) - { - free(glq); - free(glq->nodes); - free(glq->nodes_unscaled); - free(glq->weights); - free(glq->nodes_sin); - return NULL; - } - rc = glq_nodes(order, glq->nodes_unscaled); - if(rc != 0 && rc != 3) - { - switch(rc) - { - case 1: - log_error("glq_nodes invalid GLQ order %d. Should be >= 2.", - order); - break; - case 2: - log_error("glq_nodes NULL pointer for nodes"); - break; - default: - log_error("glq_nodes unknown error code %g", rc); - break; - } - glq_free(glq); - return NULL; - } - else if(rc == 3) - { - log_warning("glq_nodes max iterations reached in root finder"); - log_warning("nodes might not have desired accuracy %g", GLQ_MAXERROR); - } - rc = glq_weights(order, glq->nodes_unscaled, glq->weights); - if(rc != 0) - { - switch(rc) - { - case 1: - log_error("glq_weights invalid GLQ order %d. Should be >= 2.", - order); - break; - case 2: - log_error("glq_weights NULL pointer for nodes"); - break; - case 3: - log_error("glq_weights NULL pointer for weights"); - break; - default: - log_error("glq_weights unknown error code %d\n", rc); - break; - } - glq_free(glq); - return NULL; - } - if(glq_set_limits(lower, upper, glq) != 0) - { - glq_free(glq); - return NULL; - } - return glq; -} - - -/* Free the memory allocated to make a GLQ structure */ -void glq_free(GLQ *glq) -{ - free(glq->nodes); - free(glq->nodes_unscaled); - free(glq->weights); - free(glq->nodes_sin); - free(glq->nodes_cos); - free(glq); -} - - -/* Calculates the GLQ nodes using glq_next_root. */ -int glq_nodes(int order, double *nodes) -{ - register int i; - int rc = 0; - double initial; - - if(order < 2) - { - return 1; - } - if(nodes == NULL) - { - return 2; - } - for(i = 0; i < order; i++) - { - initial = cos(PI*(order - i - 0.25)/(order + 0.5)); - if(glq_next_root(initial, i, order, nodes) == 3) - { - rc = 3; - } - } - return rc; -} - - -/* Put the GLQ nodes to the integration limits IN PLACE. */ -int glq_set_limits(double lower, double upper, GLQ *glq) -{ - /* Only calculate once to optimize the code */ - double tmpplus = 0.5*(upper + lower), tmpminus = 0.5*(upper - lower); - register int i; - - if(glq->order < 2) - { - return 1; - } - if(glq->nodes == NULL) - { - return 2; - } - if(glq->nodes_unscaled == NULL) - { - return 2; - } - for(i = 0; i < glq->order; i++) - { - glq->nodes[i] = tmpminus*glq->nodes_unscaled[i] + tmpplus; - } - return 0; -} - - -/* Calculate the next Legendre polynomial root given the previous root found. - * Uses the method of Barrera-Figueroa et al. (2006). */ -int glq_next_root(double initial, int root_index, int order, double *roots) -{ - double x1, x0, pn, pn_2, pn_1, pn_line, sum; - int it = 0; - register int n; - - if(order < 2) - { - return 1; - } - if(root_index < 0 || root_index >= order) - { - return 2; - } - x1 = initial; - do - { - x0 = x1; - - /* Calculate Pn(x0) */ - /* Starting from P0(x) and P1(x), */ - /* find the others using the recursive relation: */ - /* Pn(x)=(2n-1)xPn_1(x)/n - (n-1)Pn_2(x)/n */ - pn_1 = 1.; /* This is Po(x) */ - pn = x0; /* and this P1(x) */ - for(n = 2; n <= order; n++) - { - pn_2 = pn_1; - pn_1 = pn; - pn = ( ((2*n - 1)*x0*pn_1) - ((n - 1)*pn_2) )/n; - } - /* Now calculate Pn'(x0) using another recursive relation: */ - /* Pn'(x)=n(xPn(x)-Pn_1(x))/(x*x-1) */ - pn_line = order*(x0*pn - pn_1)/(x0*x0 - 1); - /* Sum the roots found so far */ - for(n = 0, sum = 0; n < root_index; n++) - { - sum += 1./(x0 - roots[n]); - } - /* Update the estimate for the root */ - x1 = x0 - (double)pn/(pn_line - pn*sum); - - /** Compute the absolute value of x */ - #define GLQ_ABS(x) ((x) < 0 ? -1*(x) : (x)) - } while(GLQ_ABS(x1 - x0) > GLQ_MAXERROR && ++it <= GLQ_MAXIT); - #undef GLQ_ABS - - roots[root_index] = x1; - - /* Tell the user if stagnation occurred */ - if(it > GLQ_MAXIT) - { - return 3; - } - return 0; -} - - -/* Calculates the weighting coefficients for the GLQ integration. */ -int glq_weights(int order, double *nodes, double *weights) -{ - register int i, n; - double xi, pn, pn_2, pn_1, pn_line; - - if(order < 2) - { - return 1; - } - if(nodes == NULL) - { - return 2; - } - if(weights == NULL) - { - return 3; - } - for(i = 0; i < order; i++){ - - xi = nodes[i]; - - /* Find Pn'(xi) with the recursive relation to find Pn and Pn-1: */ - /* Pn(x)=(2n-1)xPn_1(x)/n - (n-1)Pn_2(x)/n */ - /* Then use: Pn'(x)=n(xPn(x)-Pn_1(x))/(x*x-1) */ - - /* Find Pn and Pn-1 stating from P0 and P1 */ - pn_1 = 1; /* This is Po(x) */ - pn = xi; /* and this P1(x) */ - for(n = 2; n <= order; n++) - { - pn_2 = pn_1; - pn_1 = pn; - pn = ((2*n - 1)*xi*pn_1 - (n - 1)*pn_2)/n; - } - pn_line = order*(xi*pn - pn_1)/(xi*xi - 1.); - /* ith weight is: wi = 2/(1 - xi^2)(Pn'(xi)^2) */ - weights[i] = 2./((1 - xi*xi)*pn_line*pn_line); - } - return 0; -} - - -void glq_precompute_sincos(GLQ *glq) -{ - double d2r = PI/180.; - register int i; - for(i = 0; i < glq->order; i++) - { - glq->nodes_sin[i] = sin(d2r*glq->nodes[i]); - glq->nodes_cos[i] = cos(d2r*glq->nodes[i]); - } -} diff --git a/dep/tesseroids/lib/glq.h b/dep/tesseroids/lib/glq.h deleted file mode 100644 index 250f146..0000000 --- a/dep/tesseroids/lib/glq.h +++ /dev/null @@ -1,192 +0,0 @@ -/* -Functions for implementing a Gauss-Legendre Quadrature numerical integration -(Hildebrand, 1987). - -Usage example -------------- - -To integrate the cossine function from 0 to 90 degrees: - - #include - #include - #include - #include "src/c/glq.h" - - int main(){ - // Create a new glq structure - GLQ *glq; - double result = 0, a = 0, b = 0.5*3.14; - int i; - - glq = glq_new(5, a, b); - - if(glq == NULL){ - printf("malloc error"); - return 1; - } - - // Calculate the integral - for(i = 0; i < glq->order; i++) - result += glq->weights[i]*cos(glq->nodes[i]); - - // Need to multiply by a scale factor of the integration limits - result *= 0.5*(b - a); - - printf("Integral of cossine from 0 to 90 degrees = %lf\n", result); - - // Free allocated memory - glq_free(glq); - - return 0; - } - -References ----------- - -* Hildebrand, F.B (1987): Introduction to numerical analysis. - Courier Dover Publications, 2. ed. -*/ - -#ifndef _TESSEROIDS_GLQ_H_ -#define _TESSEROIDS_GLQ_H_ - - -/** \var GLQ_MAXIT -Max iterations of the root-finder algorithm */ -extern const int GLQ_MAXIT; - - -/** \var GLQ_MAXERROR -Max error allowed for the root-finder algorithm */ -extern const double GLQ_MAXERROR; - - -/** Store the nodes and weights needed for a GLQ integration */ -typedef struct glq_struct -{ - int order; /**< order of the quadrature, ie number of nodes */ - double *nodes; /**< abscissas or discretization points of the quadrature */ - double *weights; /**< weighting coefficients of the quadrature */ - double *nodes_unscaled; /**< nodes in [-1,1] interval */ - /* Used to store the pre-computed sine and cossine of the nodes, if needed. - * Can be useful for the latitude, which is always used as sin and cos */ - double *nodes_sin; - double *nodes_cos; -} GLQ; - - -/** Make a new GLQ structure and set all the parameters needed - -WARNING: Don't forget to free the memory malloced by this function using -glq_free()! - -Prints error and warning messages using the logging.h module. - -@param order order of the quadrature, ie number of nodes -@param lower lower integration limit -@param upper upper integration limit - -@return GLQ data structure with the nodes and weights calculated. NULL if there - was an error with allocation. -*/ -extern GLQ * glq_new(int order, double lower, double upper); - - -/** Free the memory allocated to make a GLQ structure - -@param glq pointer to the allocated memory -*/ -extern void glq_free(GLQ *glq); - - -/** Put the GLQ nodes to the integration limits IN PLACE. - -Will replace the values of glq.nodes with ones in the specified integration -limits. - -In case the GLQ structure was created with glq_new(), the integration limits can -be reset using this function. - -@param lower lower integration limit -@param upper upper integration limit -@param glq pointer to a GLQ structure created with glq_new() and with all - necessary memory allocated - -@return Return code: - - 0: if everything went OK - - 1: if invalid order - - 2: if NULL pointer for nodes or nodes_unscaled -*/ -extern int glq_set_limits(double lower, double upper, GLQ *glq); - - -/** Calculates the GLQ nodes using glq_next_root. - -Nodes will be in the [-1,1] interval. To convert them to the integration limits -use glq_scale_nodes - -@param order order of the quadrature, ie how many nodes. Must be >= 2. -@param nodes pre-allocated array to return the nodes. - -@return Return code: - - 0: if everything went OK - - 1: if invalid order - - 2: if NULL pointer for nodes - - 3: if number of maximum iterations was reached when calculating the root. - This usually means that the desired accuracy was not achieved. Default - desired accuracy is GLQ_MAXERROR. Default maximum iterations is - GLQ_MAXIT. -*/ -extern int glq_nodes(int order, double *nodes); - - -/** Calculate the next Legendre polynomial root given the previous root found. - -Uses the root-finder algorithm of: - - Barrera-Figueroa, V., Sosa-Pedroza, J. and López-Bonilla, J., 2006, - "Multiple root finder algorithm for Legendre and Chebyshev polynomials via - Newton's method", 2006, Annales mathematicae et Informaticae, 33, pp 3-13 - -@param initial initial estimate of the next root. I recommend the use of - \f$ \cos\left(\pi\frac{(N - i - 0.25)}{N + 0.5}\right) \f$, - where \f$ i \f$ is the index of the desired root -@param root_index index of the desired root, starting from 0 -@param order order of the Legendre polynomial, ie number of roots. -@param roots array with the roots found so far. Will return the next root in - roots[root_index], so make sure to malloc enough space. - -@return Return code: - - 0: if everything went OK - - 1: if order is not valid - - 2: if root_index is not valid (negative) - - 3: if number of maximum iterations was reached when calculating the root. - This usually means that the desired accuracy was not achieved. Default - desired accuracy is GLQ_MAXERROR. Default maximum iterations is - GLQ_MAXIT. -*/ -extern int glq_next_root(double initial, int root_index, int order, - double *roots); - - -/** Calculates the weighting coefficients for the GLQ integration. - -@param order order of the quadrature, ie number of nodes and weights. -@param nodes array containing the GLQ nodes calculated by glq_nodes. - IMPORTANT: needs the nodes in [-1,1] interval! Scaled nodes - will result in wrong weights! -@param weights pre-allocated array to return the weights - -@return Return code: - - 0: if everything went OK - - 1: if order is not valid - - 2: if nodes is a NULL pointer - - 3: if weights is a NULL pointer -*/ -extern int glq_weights(int order, double *nodes, double *weights); - - -/* Precompute the sine and cossine of the GLQ nodes and store them in the - * structure */ -extern void glq_precompute_sincos(GLQ *glq); -#endif diff --git a/dep/tesseroids/lib/grav_prism.c b/dep/tesseroids/lib/grav_prism.c deleted file mode 100644 index 4043fe3..0000000 --- a/dep/tesseroids/lib/grav_prism.c +++ /dev/null @@ -1,469 +0,0 @@ -/* -Functions that calculate the gravitational potential and its first and second -derivatives for the rectangular prism using the formulas in Nagy et al. (2000). - -The coordinate system used is that of the article, ie: - -x -> North y -> East z -> Down - -References ----------- - -* Nagy, D., Papp, G., Benedek, J. (2000): The gravitational potential and its - derivatives for the prism. Journal of Geodesy, 74, 552–560. -*/ - - -#include -#include -#include "geometry.h" -#include "constants.h" -#include "grav_prism.h" - -double safe_atan2(double y, double x) -{ - if(y == 0) - { - return 0; - } - if((y > 0) && (x < 0)) - { - return atan2(y, x) - PI; - } - if((y < 0) && (x < 0)) - { - return atan2(y, x) + PI; - } - return atan2(y, x); -} - -double safe_log(double x) -{ - if(x == 0) - { - return 0; - } - else - { - return log(x); - } -} - -/* Calculates the potential cause by a prism. */ -double prism_pot(PRISM prism, double xp, double yp, double zp) -{ - double x[2], y[2], z[2], kernel, res, r; - register int i, j, k; - - /* First thing to do is make P the origin of the coordinate system */ - x[0] = prism.x2 - xp; - x[1] = prism.x1 - xp; - y[0] = prism.y2 - yp; - y[1] = prism.y1 - yp; - z[0] = prism.z2 - zp; - z[1] = prism.z1 - zp; - - res = 0; - - /* Evaluate the integration limits */ - for(k=0; k<=1; k++) - { - for(j=0; j<=1; j++) - { - for(i=0; i<=1; i++) - { - r = sqrt(x[i]*x[i] + y[j]*y[j] + z[k]*z[k]); - kernel = (x[i]*y[j]*safe_log(z[k] + r) - + y[j]*z[k]*safe_log(x[i] + r) - + x[i]*z[k]*safe_log(y[j] + r) - - 0.5*x[i]*x[i]*safe_atan2(z[k]*y[j], x[i]*r) - - 0.5*y[j]*y[j]*safe_atan2(z[k]*x[i], y[j]*r) - - 0.5*z[k]*z[k]*safe_atan2(x[i]*y[j], z[k]*r)); - res += pow(-1, i + j + k)*kernel; - } - } - } - - /* Now all that is left is to multiply res by the gravitational constant and - density */ - res *= G*prism.density; - - return res; -} - - -/* Calculates the x component of gravitational attraction cause by a prism. */ -double prism_gx(PRISM prism, double xp, double yp, double zp) -{ - double x[2], y[2], z[2], kernel, res, r; - register int i, j, k; - - /* First thing to do is make P the origin of the coordinate system */ - x[0] = prism.x2 - xp; - x[1] = prism.x1 - xp; - y[0] = prism.y2 - yp; - y[1] = prism.y1 - yp; - z[0] = prism.z2 - zp; - z[1] = prism.z1 - zp; - - res = 0; - - /* Evaluate the integration limits */ - for(k=0; k<=1; k++) - { - for(j=0; j<=1; j++) - { - for(i=0; i<=1; i++) - { - r = sqrt(x[i]*x[i] + y[j]*y[j] + z[k]*z[k]); - - kernel = -(y[j]*safe_log(z[k] + r) + z[k]*safe_log(y[j] + r) - - x[i]*safe_atan2(z[k]*y[j], x[i]*r)); - - res += pow(-1, i + j + k)*kernel; - } - } - } - - /* Now all that is left is to multiply res by the gravitational constant and - density and convert it to mGal units */ - res *= G*SI2MGAL*prism.density; - - return res; -} - - -/* Calculates the y component of gravitational attraction cause by a prism. */ -double prism_gy(PRISM prism, double xp, double yp, double zp) -{ - double x[2], y[2], z[2], kernel, res, r; - register int i, j, k; - - /* First thing to do is make P the origin of the coordinate system */ - x[0] = prism.x2 - xp; - x[1] = prism.x1 - xp; - y[0] = prism.y2 - yp; - y[1] = prism.y1 - yp; - z[0] = prism.z2 - zp; - z[1] = prism.z1 - zp; - - res = 0; - - /* Evaluate the integration limits */ - for(k=0; k<=1; k++) - { - for(j=0; j<=1; j++) - { - for(i=0; i<=1; i++) - { - r = sqrt(x[i]*x[i] + y[j]*y[j] + z[k]*z[k]); - - kernel = -(z[k]*safe_log(x[i] + r) + x[i]*safe_log(z[k] + r) - - y[j]*safe_atan2(z[k]*x[i], y[j]*r)); - - res += pow(-1, i + j + k)*kernel; - } - } - } - - /* Now all that is left is to multiply res by the gravitational constant and - density and convert it to mGal units */ - res *= G*SI2MGAL*prism.density; - - return res; -} - - -/* Calculates the z component of gravitational attraction cause by a prism. */ -double prism_gz(PRISM prism, double xp, double yp, double zp) -{ - double x[2], y[2], z[2], kernel, res, r; - register int i, j, k; - - /* First thing to do is make P the origin of the coordinate system */ - x[0] = prism.x2 - xp; - x[1] = prism.x1 - xp; - y[0] = prism.y2 - yp; - y[1] = prism.y1 - yp; - z[0] = prism.z2 - zp; - z[1] = prism.z1 - zp; - - res = 0; - - /* Evaluate the integration limits */ - for(k=0; k<=1; k++) - { - for(j=0; j<=1; j++) - { - for(i=0; i<=1; i++) - { - r = sqrt(x[i]*x[i] + y[j]*y[j] + z[k]*z[k]); - - kernel = -(x[i]*safe_log(y[j] + r) + y[j]*safe_log(x[i] + r) - - z[k]*safe_atan2(x[i]*y[j], z[k]*r)); - - res += pow(-1, i + j + k)*kernel; - } - } - } - - /* Now all that is left is to multiply res by the gravitational constant and - density and convert it to mGal units */ - res *= G*SI2MGAL*prism.density; - - return res; -} - - -/* Calculates the gxx gravity gradient tensor component cause by a prism. */ -double prism_gxx(PRISM prism, double xp, double yp, double zp) -{ - double x[2], y[2], z[2], kernel, res, r; - register int i, j, k; - - /* First thing to do is make P the origin of the coordinate system */ - x[0] = prism.x2 - xp; - x[1] = prism.x1 - xp; - y[0] = prism.y2 - yp; - y[1] = prism.y1 - yp; - z[0] = prism.z2 - zp; - z[1] = prism.z1 - zp; - - res = 0; - - /* Evaluate the integration limits */ - for(k=0; k<=1; k++) - { - for(j=0; j<=1; j++) - { - for(i=0; i<=1; i++) - { - r = sqrt(x[i]*x[i] + y[j]*y[j] + z[k]*z[k]); - kernel = -safe_atan2(z[k]*y[j], x[i]*r); - res += pow(-1, i + j + k)*kernel; - } - } - } - - /* Now all that is left is to multiply res by the gravitational constant and - density and convert it to Eotvos units */ - res *= G*SI2EOTVOS*prism.density; - - return res; -} - -/* Calculates the gxy gravity gradient tensor component cause by a prism. */ -double prism_gxy(PRISM prism, double xp, double yp, double zp) -{ - double x[2], y[2], z[2], kernel, res, r, xtmp, ytmp; - register int i, j, k; - - /* First thing to do is make P the origin of the coordinate system */ - x[0] = prism.x2 - xp; - x[1] = prism.x1 - xp; - y[0] = prism.y2 - yp; - y[1] = prism.y1 - yp; - z[0] = prism.z2 - zp; - z[1] = prism.z1 - zp; - - res = 0; - - /* Evaluate the integration limits */ - for(k=0; k<=1; k++) - { - for(j=0; j<=1; j++) - { - for(i=0; i<=1; i++) - { - if(x[i] == 0 && y[j] == 0 && z[k] < 0) - { - xtmp = 0.0001*(prism.x2 - prism.x1); - ytmp = 0.0001*(prism.y2 - prism.y1); - r = sqrt(xtmp*xtmp + ytmp*ytmp + z[k]*z[k]); - } - else - { - r = sqrt(x[i]*x[i] + y[j]*y[j] + z[k]*z[k]); - } - kernel = safe_log(z[k] + r); - res += pow(-1, i + j + k)*kernel; - } - } - } - - /* Now all that is left is to multiply res by the gravitational constant and - density and convert it to Eotvos units */ - res *= G*SI2EOTVOS*prism.density; - - return res; -} - - -/* Calculates the gxz gravity gradient tensor component cause by a prism. */ -double prism_gxz(PRISM prism, double xp, double yp, double zp) -{ - double x[2], y[2], z[2], kernel, res, r, xtmp, ztmp; - register int i, j, k; - - /* First thing to do is make P the origin of the coordinate system */ - x[0] = prism.x2 - xp; - x[1] = prism.x1 - xp; - y[0] = prism.y2 - yp; - y[1] = prism.y1 - yp; - z[0] = prism.z2 - zp; - z[1] = prism.z1 - zp; - - res = 0; - - /* Evaluate the integration limits */ - for(k=0; k<=1; k++) - { - for(j=0; j<=1; j++) - { - for(i=0; i<=1; i++) - { - if(x[i] == 0 && z[k] == 0 && y[j] < 0) - { - xtmp = 0.0001*(prism.x2 - prism.x1); - ztmp = 0.0001*(prism.z2 - prism.z1); - r = sqrt(xtmp*xtmp + ztmp*ztmp + y[j]*y[j]); - } - else - { - r = sqrt(x[i]*x[i] + y[j]*y[j] + z[k]*z[k]); - } - kernel = safe_log(y[j] + r); - res += pow(-1, i + j + k)*kernel; - } - } - } - - /* Now all that is left is to multiply res by the gravitational constant and - density and convert it to Eotvos units */ - res *= G*SI2EOTVOS*prism.density; - - return res; -} - - -/* Calculates the gyy gravity gradient tensor component cause by a prism. */ -double prism_gyy(PRISM prism, double xp, double yp, double zp) -{ - double x[2], y[2], z[2], kernel, res, r; - register int i, j, k; - - /* First thing to do is make P the origin of the coordinate system */ - x[0] = prism.x2 - xp; - x[1] = prism.x1 - xp; - y[0] = prism.y2 - yp; - y[1] = prism.y1 - yp; - z[0] = prism.z2 - zp; - z[1] = prism.z1 - zp; - - res = 0; - - /* Evaluate the integration limits */ - for(k=0; k<=1; k++) - { - for(j=0; j<=1; j++) - { - for(i=0; i<=1; i++) - { - r = sqrt(x[i]*x[i] + y[j]*y[j] + z[k]*z[k]); - kernel = -safe_atan2(z[k]*x[i], y[j]*r); - res += pow(-1, i + j + k)*kernel; - } - } - } - - /* Now all that is left is to multiply res by the gravitational constant and - density and convert it to Eotvos units */ - res *= G*SI2EOTVOS*prism.density; - - return res; -} - - -/* Calculates the gyz gravity gradient tensor component cause by a prism. */ -double prism_gyz(PRISM prism, double xp, double yp, double zp) -{ - double x[2], y[2], z[2], kernel, res, r, ytmp, ztmp; - register int i, j, k; - - /* First thing to do is make P the origin of the coordinate system */ - x[0] = prism.x2 - xp; - x[1] = prism.x1 - xp; - y[0] = prism.y2 - yp; - y[1] = prism.y1 - yp; - z[0] = prism.z2 - zp; - z[1] = prism.z1 - zp; - - res = 0; - - /* Evaluate the integration limits */ - for(k=0; k<=1; k++) - { - for(j=0; j<=1; j++) - { - for(i=0; i<=1; i++) - { - if(z[k] == 0 && y[j] == 0 && x[i] < 0) - { - ytmp = 0.0001*(prism.y2 - prism.y1); - ztmp = 0.0001*(prism.z2 - prism.z1); - r = sqrt(ztmp*ztmp + ytmp*ytmp + x[i]*x[i]); - } - else - { - r = sqrt(x[i]*x[i] + y[j]*y[j] + z[k]*z[k]); - } - kernel = safe_log(x[i] + r); - res += pow(-1, i + j + k)*kernel; - } - } - } - - /* Now all that is left is to multiply res by the gravitational constant and - density and convert it to Eotvos units */ - res *= G*SI2EOTVOS*prism.density; - - return res; -} - - -/* Calculates the gzz gravity gradient tensor component cause by a prism. */ -double prism_gzz(PRISM prism, double xp, double yp, double zp) -{ - double x[2], y[2], z[2], kernel, res, r; - register int i, j, k; - - /* First thing to do is make P the origin of the coordinate system */ - x[0] = prism.x2 - xp; - x[1] = prism.x1 - xp; - y[0] = prism.y2 - yp; - y[1] = prism.y1 - yp; - z[0] = prism.z2 - zp; - z[1] = prism.z1 - zp; - - res = 0; - - /* Evaluate the integration limits */ - for(k=0; k<=1; k++) - { - for(j=0; j<=1; j++) - { - for(i=0; i<=1; i++) - { - r = sqrt(x[i]*x[i] + y[j]*y[j] + z[k]*z[k]); - kernel = -safe_atan2(x[i]*y[j], z[k]*r); - res += pow(-1, i + j + k)*kernel; - } - } - } - - /* Now all that is left is to multiply res by the gravitational constant and - density and convert it to Eotvos units */ - res *= G*SI2EOTVOS*prism.density; - - return res; -} diff --git a/dep/tesseroids/lib/grav_prism.h b/dep/tesseroids/lib/grav_prism.h deleted file mode 100644 index f4e6b49..0000000 --- a/dep/tesseroids/lib/grav_prism.h +++ /dev/null @@ -1,36 +0,0 @@ -/* -Functions that calculate the gravitational potential and its first and second -derivatives for the rectangular prism using the formulas in Nagy et al. (2000). - -The coordinate system used is that of the article, ie: - -x -> North y -> East z -> Down - -References ----------- - -* Nagy, D., Papp, G., Benedek, J. (2000): The gravitational potential and its - derivatives for the prism. Journal of Geodesy, 74, 552–560. -*/ - - -#ifndef _TESSEROIDS_GRAV_PRISM_H_ -#define _TESSEROIDS_GRAV_PRISM_H_ - - -/* Needed for definition of PRISM */ -#include "geometry.h" - -extern double safe_atan2(double y, double x); -extern double prism_pot(PRISM prism, double xp, double yp, double zp); -extern double prism_gx(PRISM prism, double xp, double yp, double zp); -extern double prism_gy(PRISM prism, double xp, double yp, double zp); -extern double prism_gz(PRISM prism, double xp, double yp, double zp); -extern double prism_gxx(PRISM prism, double xp, double yp, double zp); -extern double prism_gxy(PRISM prism, double xp, double yp, double zp); -extern double prism_gxz(PRISM prism, double xp, double yp, double zp); -extern double prism_gyy(PRISM prism, double xp, double yp, double zp); -extern double prism_gyz(PRISM prism, double xp, double yp, double zp); -extern double prism_gzz(PRISM prism, double xp, double yp, double zp); - -#endif diff --git a/dep/tesseroids/lib/grav_prism_sph.c b/dep/tesseroids/lib/grav_prism_sph.c deleted file mode 100644 index e9e2752..0000000 --- a/dep/tesseroids/lib/grav_prism_sph.c +++ /dev/null @@ -1,219 +0,0 @@ -/* -Functions that calculate the gravitational potential and its first and second -derivatives for the rectangular prism in spherical coordinates. -Uses the formulas in Nagy et al. (2000). - -References ----------- - -* Nagy, D., Papp, G., Benedek, J. (2000): The gravitational potential and its - derivatives for the prism. Journal of Geodesy, 74, 552–560. -*/ - - -#include -#include "geometry.h" -#include "constants.h" -#include "grav_prism_sph.h" -#include "grav_prism.h" - - -/* Transform spherical coordinates to local Cartesian coordinates of the prism*/ -int global2local(double lon, double lat, double r, PRISM prism, double *x, - double *y, double *z) -{ - double cosa, cosb, sina, sinb, d2r, X, Y, Z; - - /* degrees to radians */ - d2r = PI/180.; - - X = r*cos(d2r*lat)*cos(d2r*lon) - - prism.r*cos(d2r*prism.lat)*cos(d2r*prism.lon); - Y = r*cos(d2r*lat)*sin(d2r*lon) - - prism.r*cos(d2r*prism.lat)*sin(d2r*prism.lon); - Z = r*sin(d2r*lat) - prism.r*sin(d2r*prism.lat); - - cosa = cos(d2r*(90 - prism.lat)); - sina = sin(d2r*(90 - prism.lat)); - cosb = cos(d2r*(180 - prism.lon)); - sinb = sin(d2r*(180 - prism.lon)); - - *x = X*cosa*cosb - Y*cosa*sinb + Z*sina; - *y = -X*sinb - Y*cosb; - /* -1 because Nagy et al. (2000) use z->down */ - *z = -1*(-X*sina*cosb + Y*sina*sinb + Z*cosa); - - return 0; -} - - -/* Rotate the gravity vector from the prisms coordinate system to the local -system of the computation point. */ -int g_prism2point(double *atprism, PRISM prism, double lon, double lat, - double r, double *atpoint) -{ - #define POS(x, y, cols) (((x)*(cols))+(y)) - - register int i, k; - double R[9], d2r, cosbeta, sinbeta, cosphi, sinphi, cosphil, sinphil; - - /* degrees to radians */ - d2r = PI/180.; - - cosbeta = cos(d2r*(prism.lon - lon)); - sinbeta = sin(d2r*(prism.lon - lon)); - cosphi = cos(d2r*lat); - sinphi = sin(d2r*lat); - cosphil = cos(d2r*prism.lat); - sinphil = sin(d2r*prism.lat); - - /* The transformation matrix */ - R[0] = cosbeta*sinphi*sinphil + cosphi*cosphil; - R[1] = sinbeta*sinphi; - R[2] = -cosbeta*sinphi*cosphil + cosphi*sinphil; - R[3] = -sinbeta*sinphil; - R[4] = cosbeta; - R[5] = sinbeta*cosphil; - R[6] = -cosbeta*cosphi*sinphil + sinphi*cosphil; - R[7] = -sinbeta*cosphi; - R[8] = cosbeta*cosphi*cosphil + sinphi*sinphil; - - /* Matrix-vector multiplication */ - for(i = 0; i < 3; i++) - { - atpoint[i] = 0; - for(k = 0; k < 3; k++) - { - atpoint[i] += R[POS(i, k, 3)]*atprism[k]; - } - } - #undef POS - return 0; -} - - -/* Rotate the gravity tensor from the prisms coordinate system to the local -system of the computation point. */ -int ggt_prism2point(double *atprism, PRISM prism, double lon, double lat, - double r, double *atpoint) -{ - #define POS(x, y, cols) (((x)*(cols))+(y)) - - register int i, j, k; - double R[9], tmp[9], d2r, cosbeta, sinbeta, cosphi, sinphi, cosphil, sinphil; - - /* degrees to radians */ - d2r = PI/180.; - - cosbeta = cos(d2r*(prism.lon - lon)); - sinbeta = sin(d2r*(prism.lon - lon)); - cosphi = cos(d2r*lat); - sinphi = sin(d2r*lat); - cosphil = cos(d2r*prism.lat); - sinphil = sin(d2r*prism.lat); - - /* The transformation matrix */ - R[0] = cosbeta*sinphi*sinphil + cosphi*cosphil; - R[1] = sinbeta*sinphi; - R[2] = -cosbeta*sinphi*cosphil + cosphi*sinphil; - R[3] = -sinbeta*sinphil; - R[4] = cosbeta; - R[5] = sinbeta*cosphil; - R[6] = -cosbeta*cosphi*sinphil + sinphi*cosphil; - R[7] = -sinbeta*cosphi; - R[8] = cosbeta*cosphi*cosphil + sinphi*sinphil; - - /* Multiply tmp = R*Tensor */ - for(i = 0; i < 3; i++) - { - for(j = 0; j < 3; j++) - { - tmp[POS(i, j, 3)] = 0; - for(k = 0; k < 3; k++) - { - tmp[POS(i, j, 3)] += R[POS(i, k, 3)]*atprism[POS(k, j, 3)]; - } - } - } - - /* Multiply tmp*R^T */ - for(i = 0; i < 3; i++) - { - for(j = 0; j < 3; j++) - { - atpoint[POS(i, j, 3)] = 0; - for(k = 0; k < 3; k++) - { - atpoint[POS(i, j, 3)] += tmp[POS(i, k, 3)]*R[POS(j, k, 3)]; - } - } - } - - #undef POS - return 0; -} - - -/* Calculates the gravity gradient tensor caused by a prism. */ -int prism_ggt_sph(PRISM prism, double lonp, double latp, double rp, double *ggt) -{ - double x = 0, y = 0, z = 0, ggtprism[9], ggtpoint[9]; - - global2local(lonp, latp, rp, prism, &x, &y, &z); - ggtprism[0] = prism_gxx(prism, x, y, z); - ggtprism[1] = prism_gxy(prism, x, y, z); - /* -1 because the prisms z is Down, but transformation assumes z is Up */ - /* z -> Up is the system of the tesseroid */ - ggtprism[2] = -1*prism_gxz(prism, x, y, z); - ggtprism[3] = ggtprism[1]; - ggtprism[4] = prism_gyy(prism, x, y, z); - /* Same as xz */ - ggtprism[5] = -1*prism_gyz(prism, x, y, z); - ggtprism[6] = ggtprism[2]; - ggtprism[7] = ggtprism[5]; - ggtprism[8] = -(ggtprism[0] + ggtprism[4]); - ggt_prism2point(ggtprism, prism, lonp, latp, rp, ggtpoint); - ggt[0] = ggtpoint[0]; - ggt[1] = ggtpoint[1]; - ggt[2] = ggtpoint[2]; - ggt[3] = ggtpoint[4]; - ggt[4] = ggtpoint[5]; - ggt[5] = ggtpoint[8]; - - return 0; -} - - -/* Calculates the gravitational attraction caused by a prism. */ -int prism_g_sph(PRISM prism, double lonp, double latp, double rp, double *gx, - double *gy, double *gz) -{ - double x = 0, y = 0, z = 0, gprism[3], gpoint[3]; - - global2local(lonp, latp, rp, prism, &x, &y, &z); - gprism[0] = prism_gx(prism, x, y, z); - gprism[1] = prism_gy(prism, x, y, z); - /* Nagy wants z down, but the transformation assumes z up */ - gprism[2] = -prism_gz(prism, x, y, z); - g_prism2point(gprism, prism, lonp, latp, rp, gpoint); - *gx = gpoint[0]; - *gy = gpoint[1]; - /* Put z back down again to maintain the normal convention for gz */ - *gz = -gpoint[2]; - - return 0; -} - -/* Calculates the potential caused by a prism. */ -double prism_pot_sph(PRISM prism, double lonp, double latp, double rp) -{ - double x = 0, y = 0, z = 0, res; - - global2local(lonp, latp, rp, prism, &x, &y, &z); - res = prism_pot(prism, x, y, z); - - return res; -} - - - diff --git a/dep/tesseroids/lib/grav_prism_sph.h b/dep/tesseroids/lib/grav_prism_sph.h deleted file mode 100644 index 68a0111..0000000 --- a/dep/tesseroids/lib/grav_prism_sph.h +++ /dev/null @@ -1,100 +0,0 @@ -/* -Functions that calculate the gravitational potential and its first and second -derivatives for the rectangular prism in spherical coordinates. -Uses the formulas in Nagy et al. (2000). - -References ----------- - -* Nagy, D., Papp, G., Benedek, J. (2000): The gravitational potential and its - derivatives for the prism. Journal of Geodesy, 74, 552–560. -*/ - - -#ifndef _TESSEROIDS_GRAV_PRISM_SPH_H_ -#define _TESSEROIDS_GRAV_PRISM_SPH_H_ - - -/* Needed for definition of PRISM */ -#include "geometry.h" - -/* Transform spherical coordinates to local Cartesian coordinates of the prism - -Parameters: - -* lon, lat, r: spherical coordinates of the point. -* prism: a prism whose lon, lat, r values will be used as the origin of the - local coordinate system. -* x, y, z: used to return the x, y, z Cartesian coordinates of the point. -*/ -extern int global2local(double lon, double lat, double r, PRISM prism, - double *x, double *y, double *z); - - -/* Rotate the g vector from the prisms coordinate system to the local -system of the computation point. - -Parameters: - -* atprism: the 3 component gravity vector in the coordinates of the prism. -* prism: the prism used to calculate atprism. -* lon, lat, r: coordinates of the computation point. -* atpoint: used to return the 3 component gravity vector in the coordinates of - the computation point. -*/ -extern int g_prism2point(double *atprism, PRISM prism, double lon, double lat, - double r, double *atpoint); - - -/* Rotate the g vector from the prisms coordinate system to the local -system of the computation point. - -Parameters: - -* atprism: the 9 component gravity tensor in the coordinates of the prism. - The order is: gxx, gxy, gxz, gyx, gyy, gyz, gzx, gzy, gzz -* prism: the prism used to calculate atprism. -* lon, lat, r: coordinates of the computation point. -* atpoint: used to return the 9 component gravity tensor in the coordinates of - the computation point. -*/ -extern int ggt_prism2point(double *atprism, PRISM prism, double lon, double lat, - double r, double *atpoint); - - -/* Calculates the gravity gradient tensor caused by a prism. - -Parameters: - -* prism: the prism whose effect will be calculated. -* lonp, latp, rp: coordinates of the computation point. -* ggt: 6 element array used to return the gradient tensor. The order is: - gxx, gxy, gxz, gyy, gyz, gzz -*/ -extern int prism_ggt_sph(PRISM prism, double lonp, double latp, double rp, - double *ggt); - -/* Calculates the gravitational attraction caused by a prism. - -Parameters: - -* prism: the prism whose effect will be calculated. -* lonp, latp, rp: coordinates of the computation point. -* gx, gy, gz: used to return the 3 components of the gravity vector -*/ -extern int prism_g_sph(PRISM prism, double lonp, double latp, double rp, - double *gx, double *gy, double *gz); - -/* Calculates the potential caused by a prism. - -Parameters: - -* prism: the prism whose effect will be calculated. -* lonp, latp, rp: coordinates of the computation point. - -Returns: - -* the calculated potential -*/ -extern double prism_pot_sph(PRISM prism, double lonp, double latp, double rp); -#endif diff --git a/dep/tesseroids/lib/grav_sphere.c b/dep/tesseroids/lib/grav_sphere.c deleted file mode 100644 index 411e925..0000000 --- a/dep/tesseroids/lib/grav_sphere.c +++ /dev/null @@ -1,252 +0,0 @@ -/* -This module contains a set of functions that calculate the gravitational -potential and its first and second derivatives for the sphere in spherical -coordinates. - -The position of the sphere and computation point are in spherical coordinates. - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out. So it would be normal for a sphere of positive -density to have negative gz - -References ----------- - -* Grombein, T.; Seitz, K.; Heck, B. (2010): Untersuchungen zur effizienten -Berechnung topographischer Effekte auf den Gradiententensor am Fallbeispiel der -Satellitengradiometriemission GOCE. -KIT Scientific Reports 7547, ISBN 978-3-86644-510-9, KIT Scientific Publishing, -Karlsruhe, Germany. -*/ - - -#include -#include "geometry.h" -#include "constants.h" -#include "grav_sphere.h" - - -/* Calculates the potential caused by a sphere */ -double sphere_pot(SPHERE sphere, double lonp, double latp, double rp) -{ - double mass, l_sqr, d2r = PI/180., coslatp, coslatc, sinlatp, sinlatc, - coslon; - - mass = (double)(sphere.density*4.*PI*sphere.r*sphere.r*sphere.r)/3.; - - coslatp = cos(d2r*latp); - coslatc = cos(d2r*sphere.latc); - sinlatp = sin(d2r*latp); - sinlatc = sin(d2r*sphere.latc); - coslon = cos(d2r*(lonp - sphere.lonc)); - - l_sqr = rp*rp + sphere.rc*sphere.rc - 2*rp*sphere.rc*( - sinlatp*sinlatc + coslatp*coslatc*coslon); - - return G*mass/sqrt(l_sqr); -} - - -/* Calculates the gx component of gravitational attraction caused by a sphere */ -double sphere_gx(SPHERE sphere, double lonp, double latp, double rp) -{ - double mass, l_sqr, d2r = PI/180., kphi, coslatp, coslatc, sinlatp, sinlatc, - coslon; - - mass = (double)(sphere.density*4.*PI*sphere.r*sphere.r*sphere.r)/3.; - - coslatp = cos(d2r*latp); - coslatc = cos(d2r*sphere.latc); - sinlatp = sin(d2r*latp); - sinlatc = sin(d2r*sphere.latc); - coslon = cos(d2r*(lonp - sphere.lonc)); - - l_sqr = rp*rp + sphere.rc*sphere.rc - 2*rp*sphere.rc*( - sinlatp*sinlatc + coslatp*coslatc*coslon); - - kphi = coslatp*sinlatc - sinlatp*coslatc*coslon; - - return G*SI2MGAL*mass*(sphere.rc*kphi)/pow(l_sqr, 1.5); -} - - -/* Calculates the gy component of gravitational attraction caused by a sphere */ -double sphere_gy(SPHERE sphere, double lonp, double latp, double rp) -{ - double mass, l_sqr, d2r = PI/180., cospsi, coslatc, kern; - - mass = (double)(sphere.density*4.*PI*sphere.r*sphere.r*sphere.r)/3.; - - coslatc = cos(d2r*sphere.latc); - - cospsi = sin(d2r*latp)*sin(d2r*sphere.latc) + cos(d2r*latp)*coslatc* - cos(d2r*(lonp - sphere.lonc)); - - l_sqr = rp*rp + sphere.rc*sphere.rc - 2*rp*sphere.rc*cospsi; - - kern = (sphere.rc*coslatc*sin(d2r*(sphere.lonc - lonp)))/pow(l_sqr, 1.5); - - return G*SI2MGAL*mass*kern; -} - - -/* Calculates the gz component of gravitational attraction caused by a sphere */ -double sphere_gz(SPHERE sphere, double lonp, double latp, double rp) -{ - double mass, l_sqr, d2r = PI/180., cospsi; - - mass = (double)(sphere.density*4.*PI*sphere.r*sphere.r*sphere.r)/3.; - - cospsi = sin(d2r*latp)*sin(d2r*sphere.latc) + cos(d2r*latp)* - cos(d2r*sphere.latc)*cos(d2r*(lonp - sphere.lonc)); - - l_sqr = rp*rp + sphere.rc*sphere.rc - 2*rp*sphere.rc*cospsi; - - return G*SI2MGAL*mass*(sphere.rc*cospsi - rp)/pow(l_sqr, 1.5); -} - - -/* Calculate the xx component of gravity gradient tensor cause by a sphere */ -double sphere_gxx(SPHERE sphere, double lonp, double latp, double rp) -{ - double mass, l_sqr, d2r = PI/180., kphi, coslatp, coslatc, sinlatp, sinlatc, - coslon, kern; - - mass = (double)(sphere.density*4.*PI*sphere.r*sphere.r*sphere.r)/3.; - - coslatp = cos(d2r*latp); - coslatc = cos(d2r*sphere.latc); - sinlatp = sin(d2r*latp); - sinlatc = sin(d2r*sphere.latc); - coslon = cos(d2r*(lonp - sphere.lonc)); - - l_sqr = rp*rp + sphere.rc*sphere.rc - 2*rp*sphere.rc*(sinlatp*sinlatc + - coslatp*coslatc*coslon); - - kphi = coslatp*sinlatc - sinlatp*coslatc*coslon; - - kern = (3*sphere.rc*kphi*sphere.rc*kphi - l_sqr)/pow(l_sqr, 2.5); - - return G*SI2EOTVOS*mass*kern; -} - - -/* Calculate the xy component of gravity gradient tensor cause by a sphere */ -double sphere_gxy(SPHERE sphere, double lonp, double latp, double rp) -{ - double mass, l_sqr, d2r = PI/180., kphi, coslatp, coslatc, sinlatp, sinlatc, - coslon, kern; - - mass = (double)(sphere.density*4.*PI*sphere.r*sphere.r*sphere.r)/3.; - - coslatp = cos(d2r*latp); - coslatc = cos(d2r*sphere.latc); - sinlatp = sin(d2r*latp); - sinlatc = sin(d2r*sphere.latc); - coslon = cos(d2r*(lonp - sphere.lonc)); - - l_sqr = rp*rp + sphere.rc*sphere.rc - 2*rp*sphere.rc*(sinlatp*sinlatc + - coslatp*coslatc*coslon); - - kphi = coslatp*sinlatc - sinlatp*coslatc*coslon; - - kern = (3*sphere.rc*sphere.rc*kphi*coslatp*sin(d2r*(sphere.lonc - lonp)))/ - pow(l_sqr, 2.5); - - return G*SI2EOTVOS*mass*kern; -} - - -/* Calculate the xz component of gravity gradient tensor cause by a sphere */ -double sphere_gxz(SPHERE sphere, double lonp, double latp, double rp) -{ - double mass, l_sqr, d2r = PI/180., kphi, coslatp, coslatc, sinlatp, sinlatc, - coslon, kern, cospsi; - - mass = (double)(sphere.density*4.*PI*sphere.r*sphere.r*sphere.r)/3.; - - coslatp = cos(d2r*latp); - coslatc = cos(d2r*sphere.latc); - sinlatp = sin(d2r*latp); - sinlatc = sin(d2r*sphere.latc); - coslon = cos(d2r*(lonp - sphere.lonc)); - - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - - l_sqr = rp*rp + sphere.rc*sphere.rc - 2*rp*sphere.rc*cospsi; - - kphi = coslatp*sinlatc - sinlatp*coslatc*coslon; - - kern = 3*sphere.rc*kphi*(sphere.rc*cospsi - rp)/pow(l_sqr, 2.5); - - return G*SI2EOTVOS*mass*kern; -} - - -/* Calculate the yy component of gravity gradient tensor cause by a sphere */ -double sphere_gyy(SPHERE sphere, double lonp, double latp, double rp) -{ - double mass, l_sqr, d2r = PI/180., coslatp, coslatc, sinlatp, sinlatc, - coslon, sinlon, kern, cospsi; - - mass = (double)(sphere.density*4.*PI*sphere.r*sphere.r*sphere.r)/3.; - - coslatp = cos(d2r*latp); - coslatc = cos(d2r*sphere.latc); - sinlatp = sin(d2r*latp); - sinlatc = sin(d2r*sphere.latc); - coslon = cos(d2r*(lonp - sphere.lonc)); - sinlon = sin(d2r*(sphere.lonc - lonp)); - - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - - l_sqr = rp*rp + sphere.rc*sphere.rc - 2*rp*sphere.rc*cospsi; - - kern = (3*sphere.rc*sphere.rc*coslatc*coslatc*sinlon*sinlon - l_sqr)/ - pow(l_sqr, 2.5); - - return G*SI2EOTVOS*mass*kern; -} - - -/* Calculate the yz component of gravity gradient tensor cause by a sphere */ -double sphere_gyz(SPHERE sphere, double lonp, double latp, double rp) -{ - double mass, l_sqr, d2r = PI/180., coslatp, coslatc, sinlatp, sinlatc, - coslon, sinlon, kern, cospsi; - - mass = (double)(sphere.density*4.*PI*sphere.r*sphere.r*sphere.r)/3.; - - coslatp = cos(d2r*latp); - coslatc = cos(d2r*sphere.latc); - sinlatp = sin(d2r*latp); - sinlatc = sin(d2r*sphere.latc); - coslon = cos(d2r*(lonp - sphere.lonc)); - sinlon = sin(d2r*(sphere.lonc - lonp)); - - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - - l_sqr = rp*rp + sphere.rc*sphere.rc - 2*rp*sphere.rc*cospsi; - - kern = 3*sphere.rc*coslatc*sinlon*(sphere.rc*cospsi - rp)/pow(l_sqr, 2.5); - - return G*SI2EOTVOS*mass*kern; -} - - -/* Calculate the zz component of gravity gradient tensor cause by a sphere */ -double sphere_gzz(SPHERE sphere, double lonp, double latp, double rp) -{ - double mass, l_sqr, d2r = PI/180., deltaz, cospsi; - - mass = (double)(sphere.density*4.*PI*sphere.r*sphere.r*sphere.r)/3.; - - cospsi = sin(d2r*latp)*sin(d2r*sphere.latc) + cos(d2r*latp)* - cos(d2r*sphere.latc)*cos(d2r*(lonp - sphere.lonc)); - - l_sqr = rp*rp + sphere.rc*sphere.rc - 2*rp*sphere.rc*cospsi; - - deltaz = sphere.rc*cospsi - rp; - - return G*SI2EOTVOS*mass*(3*deltaz*deltaz - l_sqr)/pow(l_sqr, 2.5); -} diff --git a/dep/tesseroids/lib/grav_sphere.h b/dep/tesseroids/lib/grav_sphere.h deleted file mode 100644 index 97d5246..0000000 --- a/dep/tesseroids/lib/grav_sphere.h +++ /dev/null @@ -1,267 +0,0 @@ -/* -Functions that calculate the gravitational potential and its first and second -derivatives for the sphere in spherical coordinates. - -The position of the sphere and computation point are in spherical coordinates. - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out. So it would be normal for a sphere of -positive density to have negative gz. - -Used the generic formula for gravity gradient computation of tesseroids by -Grombein et al. (2010). - -References ----------- - -* Grombein, T.; Seitz, K.; Heck, B. (2010): Untersuchungen zur effizienten -Berechnung topographischer Effekte auf den Gradiententensor am Fallbeispiel der -Satellitengradiometriemission GOCE. -KIT Scientific Reports 7547, ISBN 978-3-86644-510-9, KIT Scientific Publishing, -Karlsruhe, Germany. -*/ - -#ifndef _TESSEROIDS_GRAV_SPHERE_H_ -#define _TESSEROIDS_GRAV_SPHERE_H_ - - -/* Needed for definition of SPHERE */ -#include "geometry.h" - - -/** Calculates potential caused by a sphere. - -\f[ -V(r_p,\phi_p,\lambda_p) = \frac{G M}{\ell} -\f] - -The position of the sphere and computation point should be in spherical -coordinates. - -Input and output values in SI units and degrees - -@param sphere data structure describing the sphere -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P - -@return field calculated at P -*/ -extern double sphere_pot(SPHERE sphere, double lonp, double latp, double rp); - - -/** Calculates gx caused by a sphere (Grombein et al., 2010). - -\f[ -g_x(r_p,\phi_p,\lambda_p) = G M \frac{r_c K_{\phi}}{\ell^3} -\f] - -The position of the sphere and computation point should be in spherical -coordinates. - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in mGal! - -@param sphere data structure describing the sphere -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P - -@return field calculated at P -*/ -extern double sphere_gx(SPHERE sphere, double lonp, double latp, double rp); - - -/** Calculates gy caused by a sphere (Grombein et al., 2010). - -\f[ -g_y(r_p,\phi_p,\lambda_p) = G M \frac{r_c\cos\phi_c\sin(\phi_c-\phi_p)}{\ell^3} -\f] - -The position of the sphere and computation point should be in spherical -coordinates. - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in mGal! - -@param sphere data structure describing the sphere -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P - -@return field calculated at P -*/ -extern double sphere_gy(SPHERE sphere, double lonp, double latp, double rp); - - -/** Calculates gz caused by a sphere (Grombein et al., 2010). - -\f[ -g_z(r_p,\phi_p,\lambda_p) = G M \frac{r_c\cos\psi - r_p}{\ell^3} -\f] - -The position of the sphere and computation point should be in spherical -coordinates. - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in mGal! - -@param sphere data structure describing the sphere -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P - -@return field calculated at P -*/ -extern double sphere_gz(SPHERE sphere, double lonp, double latp, double rp); - - -/** Calculates gxx caused by a sphere (Grombein et al., 2010). - -\f[ -g_{xx}(r_p,\phi_p,\lambda_p) = G M \frac{3(r_c K_{\phi})^2 - \ell^2}{\ell^5} -\f] - -The position of the sphere and computation point are in spherical coordinates. - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in Eotvos! - -@param sphere data structure describing the sphere -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P - -@return field calculated at P -*/ -extern double sphere_gxx(SPHERE sphere, double lonp, double latp, double rp); - - -/** Calculates gxy caused by a sphere (Grombein et al., 2010). - -\f[ -g_{xy}(r_p,\phi_p,\lambda_p) = G M \frac{3r_c^2 K_{\phi}\cos\phi_c - \sin(\lambda_c - \lambda_p)}{\ell^5} -\f] - -The position of the sphere and computation point are in spherical coordinates. - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in Eotvos! - -@param sphere data structure describing the sphere -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P - -@return field calculated at P -*/ -extern double sphere_gxy(SPHERE sphere, double lonp, double latp, double rp); - - -/** Calculates gxz caused by a sphere (Grombein et al., 2010). - -\f[ -g_{xz}(r_p,\phi_p,\lambda_p) = G M \frac{3 r_c K_{\phi}(r_c \cos\psi - r_p)} - {\ell^5} -\f] - -The position of the sphere and computation point are in spherical coordinates. - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in Eotvos! - -@param sphere data structure describing the sphere -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P - -@return field calculated at P -*/ -extern double sphere_gxz(SPHERE sphere, double lonp, double latp, double rp); - - -/** Calculates gyy caused by a sphere (Grombein et al., 2010). - -\f[ -g_{yy}(r_p,\phi_p,\lambda_p) = G M \frac{3(r_c\cos\phi_c - \sin(\lambda_c - \lambda_p))^2 - \ell^2}{\ell^5} -\f] - -The position of the sphere and computation point are in spherical coordinates. - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in Eotvos! - -@param sphere data structure describing the sphere -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P - -@return field calculated at P -*/ -extern double sphere_gyy(SPHERE sphere, double lonp, double latp, double rp); - - -/** Calculates gyz caused by a sphere (Grombein et al., 2010). - -\f[ -g_{yz}(r_p,\phi_p,\lambda_p) = G M \frac{3 r_c \cos\phi_c \sin(\lambda_c - - \lambda_p)(r_c\cos\psi - r_p)}{\ell^5} -\f] - -The position of the sphere and computation point are in spherical coordinates. - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in Eotvos! - -@param sphere data structure describing the sphere -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P - -@return field calculated at P -*/ -extern double sphere_gyz(SPHERE sphere, double lonp, double latp, double rp); - - -/** Calculates gzz caused by a sphere (Grombein et al., 2010). - -\f[ -g_{zz}(r_p,\phi_p,\lambda_p) = G M \frac{3(r_c\cos\psi-r_p)^2 - \ell^2}{\ell^5} -\f] - -The position of the sphere and computation point are in spherical coordinates. - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in Eotvos! - -@param sphere data structure describing the sphere -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P - -@return field calculated at P -*/ -extern double sphere_gzz(SPHERE sphere, double lonp, double latp, double rp); - - -#endif diff --git a/dep/tesseroids/lib/grav_tess.c b/dep/tesseroids/lib/grav_tess.c deleted file mode 100644 index 3aeac39..0000000 --- a/dep/tesseroids/lib/grav_tess.c +++ /dev/null @@ -1,580 +0,0 @@ -/* -Functions that calculate the gravitational potential and its first and second -derivatives for the tesseroid. - -References ----------- - -* Grombein, T.; Seitz, K.; Heck, B. (2010): Untersuchungen zur effizienten -Berechnung topographischer Effekte auf den Gradiententensor am Fallbeispiel der -Satellitengradiometriemission GOCE. -KIT Scientific Reports 7547, ISBN 978-3-86644-510-9, KIT Scientific Publishing, -Karlsruhe, Germany. -*/ - - -#include -#include "logger.h" -#include "geometry.h" -#include "glq.h" -#include "constants.h" -#include "grav_tess.h" - -#define STKSIZE 10000 - - -/* Calculates the field of a tesseroid model at a given point. */ -double calc_tess_model(TESSEROID *model, int size, double lonp, double latp, - double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, - double (*field)(TESSEROID, double, double, double, GLQ, GLQ, GLQ)) -{ - double res; - int tess; - - res = 0; - for(tess = 0; tess < size; tess++) - { - glq_set_limits(model[tess].w, model[tess].e, glq_lon); - glq_set_limits(model[tess].s, model[tess].n, glq_lat); - glq_set_limits(model[tess].r1, model[tess].r2, glq_r); - glq_precompute_sincos(glq_lat); - res += field(model[tess], lonp, latp, rp, *glq_lon, *glq_lat, *glq_r); - } - return res; -} - - -/* Adaptatively calculate the field of a tesseroid model at a given point */ -double calc_tess_model_adapt(TESSEROID *model, int size, double lonp, - double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, - double (*field)(TESSEROID, double, double, double, GLQ, GLQ, GLQ), - double ratio) -{ - double res, distance, lont, latt, rt, d2r = PI/180., - coslatp, sinlatp, rp_sqr, rlonp, - Llon, Llat, Lr, - sinlatt, coslatt; - int t, n, nlon, nlat, nr, stktop = 0; - TESSEROID stack[STKSIZE], tess; - - #define SQ(x) (x)*(x) - /* Pre-compute these things out of the loop */ - rlonp = d2r*lonp; - rp_sqr = SQ(rp); - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - res = 0; - for(t = 0; t < size; t++) - { - /* Initialize the tesseroid division stack (a LIFO structure) */ - stack[0] = model[t]; - stktop = 0; - while(stktop >= 0) - { - /* Pop the stack */ - tess = stack[stktop]; - stktop--; - /* Compute the distance from the computation point to the - * geometric center of the tesseroid. */ - rt = 0.5*(tess.r2 + tess.r1); - lont = d2r*0.5*(tess.w + tess.e); - latt = d2r*0.5*(tess.s + tess.n); - sinlatt = sin(latt); - coslatt = cos(latt); - distance = sqrt(rp_sqr + SQ(rt) - 2*rp*rt*( - sinlatp*sinlatt + coslatp*coslatt*cos(rlonp - lont))); - /* Get the size of each dimension of the tesseroid in meters */ - Llon = tess.r2*acos( - SQ(sinlatt) + SQ(coslatt)*cos(d2r*(tess.e - tess.w))); - Llat = tess.r2*acos( - sin(d2r*tess.n)*sin(d2r*tess.s) + - cos(d2r*tess.n)*cos(d2r*tess.s)); - Lr = tess.r2 - tess.r1; - /* Number of times to split the tesseroid in each dimension */ - nlon = 1; - nlat = 1; - nr = 1; - /* Check if the tesseroid is at a suitable distance (defined - * the value of "ratio"). If not, mark that dimension for - * division. */ - if(distance < ratio*Llon) - { - nlon = 2; - } - if(distance < ratio*Llat) - { - nlat = 2; - } - if(distance < ratio*Lr) - { - nr = 2; - } - /* In case none of the dimensions need dividing, - * put the GLQ roots in the proper scale and compute the - * gravitational field of the tesseroid. */ - /* Also compute the effect if the tesseroid stack if full - * (but warn the user that the computation might not be very - * precise). */ - if((nlon == 1 && nlat == 1 && nr == 1) - || (nlon*nlat*nr + stktop >= STKSIZE)) - { - if(nlon*nlat*nr + stktop >= STKSIZE) - { - log_error( - "Stack overflow: " - "tesseroid %d in the model file on " - "lon=%lf lat=%lf height=%lf." - "\n Calculated without fully dividing the tesseroid. " - "Accuracy of the solution cannot be guaranteed." - "\n This is probably caused by a computation point " - "too close to the tesseroid." - "\n Try increasing the computation height." - "\n *Expert users* can try modifying the " - "distance-size ratio." - "\n *Beware* that this might affect " - "the accuracy of the solution.", - t + 1, lonp, latp, rp); - } - glq_set_limits(tess.w, tess.e, glq_lon); - glq_set_limits(tess.s, tess.n, glq_lat); - glq_set_limits(tess.r1, tess.r2, glq_r); - glq_precompute_sincos(glq_lat); - res += field(tess, lonp, latp, rp, *glq_lon, *glq_lat, *glq_r); - } - else - { - /* Divide the tesseroid in each dimension that needs dividing - * Put each of the smaller tesseroids on the stack for - * computing in the next iteration. */ - n = split_tess(tess, nlon, nlat, nr, &stack[stktop + 1]); - stktop += n; - /* Sanity check */ - if(n != nlon*nlat*nr) - { - log_error("Splitting into %d instead of %d", n, - nlon*nlat*nr); - } - } - } - } - #undef SQ - return res; -} - - -/* Calculates potential caused by a tesseroid. */ -double tess_pot(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r) -{ - double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, - coslon, rc, kappa, res, - cospsi, wlon, wlat, wr, scale; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res = 0; - for(k = 0; k < glq_lon.order; k++) - { - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - wlon = glq_lon.weights[k]; - for(j = 0; j < glq_lat.order; j++) - { - sinlatc = glq_lat.nodes_sin[j]; - coslatc = glq_lat.nodes_cos[j]; - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - wlat = glq_lat.weights[j]; - for(i = 0; i < glq_r.order; i++) - { - wr = glq_r.weights[i]; - rc = glq_r.nodes[i]; - l_sqr = rp*rp + rc*rc - 2*rp*rc*cospsi; - kappa = rc*rc*coslatc; - res += wlon*wlat*wr*kappa/sqrt(l_sqr); - } - } - } - scale = d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)*(tess.r2 - tess.r1)/8.; - res *= G*tess.density*scale; - return res; -} - - -/* Calculates gx caused by a tesseroid. */ -double tess_gx(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r) -{ - double d2r = PI/180., l_sqr, kphi, coslatp, coslatc, sinlatp, sinlatc, - coslon, rc, kappa, res, - cospsi, wlon, wlat, wr, scale; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res = 0; - for(k = 0; k < glq_lon.order; k++) - { - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - wlon = glq_lon.weights[k]; - for(j = 0; j < glq_lat.order; j++) - { - sinlatc = glq_lat.nodes_sin[j]; - coslatc = glq_lat.nodes_cos[j]; - kphi = coslatp*sinlatc - sinlatp*coslatc*coslon; - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - wlat = glq_lat.weights[j]; - for(i = 0; i < glq_r.order; i++) - { - wr = glq_r.weights[i]; - rc = glq_r.nodes[i]; - l_sqr = rp*rp + rc*rc - 2*rp*rc*cospsi; - kappa = rc*rc*coslatc; - res += wlon*wlat*wr*kappa*(rc*kphi)/pow(l_sqr, 1.5); - } - } - } - scale = d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)*(tess.r2 - tess.r1)/8.; - res *= SI2MGAL*G*tess.density*scale; - return res; -} - - -/* Calculates gy caused by a tesseroid. */ -double tess_gy(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r) -{ - double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, - coslon, sinlon, rc, kappa, res, - cospsi, wlon, wlat, wr, scale; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res = 0; - - for(k = 0; k < glq_lon.order; k++) - { - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - sinlon = sin(d2r*(glq_lon.nodes[k] - lonp)); - wlon = glq_lon.weights[k]; - for(j = 0; j < glq_lat.order; j++) - { - sinlatc = glq_lat.nodes_sin[j]; - coslatc = glq_lat.nodes_cos[j]; - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - wlat = glq_lat.weights[j]; - for(i = 0; i < glq_r.order; i++) - { - wr = glq_r.weights[i]; - rc = glq_r.nodes[i]; - l_sqr = rp*rp + rc*rc - 2*rp*rc*cospsi; - kappa = rc*rc*coslatc; - res += wlon*wlat*wr*kappa*(rc*coslatc*sinlon)/pow(l_sqr, 1.5); - } - } - } - scale = d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)*(tess.r2 - tess.r1)/8.; - res *= SI2MGAL*G*tess.density*scale; - return res; -} - - -/* Calculates gz caused by a tesseroid. */ -double tess_gz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r) -{ - double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, - coslon, cospsi, rc, kappa, res, - wlon, wlat, wr, scale; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res = 0; - - for(k = 0; k < glq_lon.order; k++) - { - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - wlon = glq_lon.weights[k]; - for(j = 0; j < glq_lat.order; j++) - { - sinlatc = glq_lat.nodes_sin[j]; - coslatc = glq_lat.nodes_cos[j]; - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - wlat = glq_lat.weights[j]; - for(i = 0; i < glq_r.order; i++) - { - wr = glq_r.weights[i]; - rc = glq_r.nodes[i]; - l_sqr = rp*rp + rc*rc - 2*rp*rc*cospsi; - kappa = rc*rc*coslatc; - res += wlon*wlat*wr*kappa*(rc*cospsi - rp)/pow(l_sqr, 1.5); - } - } - } - scale = d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)*(tess.r2 - tess.r1)/8.; - res *= SI2MGAL*G*tess.density*scale; - /* Used this to make z point down */ - return -1*res; -} - - -/* Calculates gxx caused by a tesseroid. */ -double tess_gxx(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r) -{ - double d2r = PI/180., l_sqr, kphi, coslatp, coslatc, sinlatp, sinlatc, - coslon, rc, kappa, res, l5, - cospsi, wlon, wlat, wr, scale; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res = 0; - - for(k = 0; k < glq_lon.order; k++) - { - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - wlon = glq_lon.weights[k]; - for(j = 0; j < glq_lat.order; j++) - { - sinlatc = glq_lat.nodes_sin[j]; - coslatc = glq_lat.nodes_cos[j]; - kphi = coslatp*sinlatc - sinlatp*coslatc*coslon; - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - wlat = glq_lat.weights[j]; - for(i = 0; i < glq_r.order; i++) - { - wr = glq_r.weights[i]; - rc = glq_r.nodes[i]; - l_sqr = rp*rp + rc*rc - 2*rp*rc*cospsi; - l5 = pow(l_sqr, 2.5); - kappa = rc*rc*coslatc; - res += wlon*wlat*wr*kappa*(3*rc*kphi*rc*kphi - l_sqr)/l5; - } - } - } - scale = d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)*(tess.r2 - tess.r1)/8.; - res *= SI2EOTVOS*G*tess.density*scale; - return res; -} - - -/* Calculates gxy caused by a tesseroid. */ -double tess_gxy(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r) -{ - double d2r = PI/180., l_sqr, kphi, coslatp, coslatc, sinlatp, sinlatc, - coslon, sinlon, rc, kappa, deltax, deltay, res, - cospsi, wlon, wlat, wr, scale; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res = 0; - - for(k = 0; k < glq_lon.order; k++) - { - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - sinlon = sin(d2r*(glq_lon.nodes[k] - lonp)); - wlon = glq_lon.weights[k]; - for(j = 0; j < glq_lat.order; j++) - { - sinlatc = glq_lat.nodes_sin[j]; - coslatc = glq_lat.nodes_cos[j]; - kphi = coslatp*sinlatc - sinlatp*coslatc*coslon; - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - wlat = glq_lat.weights[j]; - for(i = 0; i < glq_r.order; i++) - { - wr = glq_r.weights[i]; - rc = glq_r.nodes[i]; - l_sqr = rp*rp + rc*rc - 2*rp*rc*cospsi; - kappa = rc*rc*coslatc; - deltax = rc*kphi; - deltay = rc*coslatc*sinlon; - res += wlon*wlat*wr*kappa*(3*deltax*deltay)/pow(l_sqr, 2.5); - } - } - } - scale = d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)*(tess.r2 - tess.r1)/8.; - res *= SI2EOTVOS*G*tess.density*scale; - return res; -} - - -/* Calculates gxz caused by a tesseroid. */ -double tess_gxz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r) -{ - double d2r = PI/180., l_sqr, kphi, coslatp, coslatc, sinlatp, sinlatc, - coslon, cospsi, rc, kappa, deltax, deltaz, res, - wlon, wlat, wr, scale; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res = 0; - - for(k = 0; k < glq_lon.order; k++) - { - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - wlon = glq_lon.weights[k]; - for(j = 0; j < glq_lat.order; j++) - { - sinlatc = glq_lat.nodes_sin[j]; - coslatc = glq_lat.nodes_cos[j]; - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - kphi = coslatp*sinlatc - sinlatp*coslatc*coslon; - wlat = glq_lat.weights[j]; - for(i = 0; i < glq_r.order; i++) - { - wr = glq_r.weights[i]; - rc = glq_r.nodes[i]; - l_sqr = rp*rp + rc*rc - 2*rp*rc*cospsi; - kappa = rc*rc*coslatc; - deltax = rc*kphi; - deltaz = rc*cospsi - rp; - res += wlon*wlat*wr*kappa*(3*deltax*deltaz)/pow(l_sqr, 2.5); - } - } - } - scale = d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)*(tess.r2 - tess.r1)/8.; - res *= SI2EOTVOS*G*tess.density*scale; - return res; -} - - -/* Calculates gyy caused by a tesseroid. */ -double tess_gyy(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r) -{ - double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, - coslon, sinlon, rc, kappa, deltay, res, l5, - cospsi, wlon, wlat, wr, scale; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res = 0; - - for(k = 0; k < glq_lon.order; k++) - { - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - sinlon = sin(d2r*(glq_lon.nodes[k] - lonp)); - wlon = glq_lon.weights[k]; - for(j = 0; j < glq_lat.order; j++) - { - sinlatc = glq_lat.nodes_sin[j]; - coslatc = glq_lat.nodes_cos[j]; - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - wlat = glq_lat.weights[j]; - for(i = 0; i < glq_r.order; i++) - { - wr = glq_r.weights[i]; - rc = glq_r.nodes[i]; - l_sqr = rp*rp + rc*rc - 2*rp*rc*cospsi; - l5 = pow(l_sqr, 2.5); - kappa = rc*rc*coslatc; - deltay = rc*coslatc*sinlon; - res += wlon*wlat*wr*kappa*(3*deltay*deltay - l_sqr)/l5; - } - } - } - scale = d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)*(tess.r2 - tess.r1)/8.; - res *= SI2EOTVOS*G*tess.density*scale; - return res; -} - - -/* Calculates gyz caused by a tesseroid. */ -double tess_gyz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r) -{ - double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, - coslon, sinlon, cospsi, rc, kappa, deltay, deltaz, res, - wlon, wlat, wr, scale; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res = 0; - - for(k = 0; k < glq_lon.order; k++) - { - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - sinlon = sin(d2r*(glq_lon.nodes[k] - lonp)); - wlon = glq_lon.weights[k]; - for(j = 0; j < glq_lat.order; j++) - { - sinlatc = glq_lat.nodes_sin[j]; - coslatc = glq_lat.nodes_cos[j]; - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - wlat = glq_lat.weights[j]; - for(i = 0; i < glq_r.order; i++) - { - wr = glq_r.weights[i]; - rc = glq_r.nodes[i]; - l_sqr = rp*rp + rc*rc - 2*rp*rc*cospsi; - kappa = rc*rc*coslatc; - deltay = rc*coslatc*sinlon; - deltaz = rc*cospsi - rp; - res += wlon*wlat*wr*kappa*(3*deltay*deltaz)/pow(l_sqr, 2.5); - } - } - } - scale = d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)*(tess.r2 - tess.r1)/8.; - res *= SI2EOTVOS*G*tess.density*scale; - return res; -} - - -/* Calculates gzz caused by a tesseroid. */ -double tess_gzz(TESSEROID tess, double lonp, double latp, double rp, GLQ glq_lon, - GLQ glq_lat, GLQ glq_r) -{ - double d2r = PI/180., l_sqr, coslatp, coslatc, sinlatp, sinlatc, - coslon, cospsi, rc, kappa, deltaz, res, - wlon, wlat, wr, scale, l5; - register int i, j, k; - - coslatp = cos(d2r*latp); - sinlatp = sin(d2r*latp); - - res = 0; - - for(k = 0; k < glq_lon.order; k++) - { - coslon = cos(d2r*(lonp - glq_lon.nodes[k])); - wlon = glq_lon.weights[k]; - for(j = 0; j < glq_lat.order; j++) - { - sinlatc = glq_lat.nodes_sin[j]; - coslatc = glq_lat.nodes_cos[j]; - cospsi = sinlatp*sinlatc + coslatp*coslatc*coslon; - wlat = glq_lat.weights[j]; - for(i = 0; i < glq_r.order; i++) - { - wr = glq_r.weights[i]; - rc = glq_r.nodes[i]; - l_sqr = rp*rp + rc*rc - 2*rp*rc*cospsi; - l5 = pow(l_sqr, 2.5); - kappa = rc*rc*coslatc; - deltaz = rc*cospsi - rp; - res += wlon*wlat*wr*kappa*(3*deltaz*deltaz - l_sqr)/l5; - } - } - } - scale = d2r*(tess.e - tess.w)*d2r*(tess.n - tess.s)*(tess.r2 - tess.r1)/8.; - res *= SI2EOTVOS*G*tess.density*scale; - return res; -} diff --git a/dep/tesseroids/lib/grav_tess.h b/dep/tesseroids/lib/grav_tess.h deleted file mode 100644 index 1534c15..0000000 --- a/dep/tesseroids/lib/grav_tess.h +++ /dev/null @@ -1,503 +0,0 @@ -/* -Functions that calculate the gravitational potential and its first and second -derivatives for the tesseroid. - -The gravity gradients can be calculated using the general formula of -Grombein et al. (2010). -The integrals are solved using the Gauss-Legendre Quadrature rule -(Asgharzadeh et al., 2007). - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->Up (away from center of the Earth). - -To maintain the standard convention, only for component gz the z axis is -inverted, so a positive density results in positive gz. - -Example (Revised by Dr. Yi Zhang at 2021-05-05) -------- - -To calculate the gzz component due to a tesseroid on a regular grid: - - #include "stdio.h" - #include "tess/glq.h" - #include "tess/constants.h" - #include "tess/grav_tess.h" - - int main() - { - TESSEROID tess = {1000, -1, 1, 44, 46, MEAN_EARTH_RADIUS - 100000, MEAN_EARTH_RADIUS}; - GLQ *glqlon, *glqlat, *glqr; - double lon, lat, res, r = MEAN_EARTH_RADIUS + 150000; - int order = 8; - - glqlon = glq_new(order, tess.w, tess.e); - glqlat = glq_new(order, tess.s, tess.n); - glqr = glq_new(order, tess.r1, tess.r2); - glq_precompute_sincos(glqlon); - glq_precompute_sincos(glqlat); - glq_precompute_sincos(glqr); - - for(lat = 20; lat <= 70; lat += 0.5) - { - for(lon = -25; lon <= 25; lon += 0.5) - { - res = tess_gzz(tess, lon, lat, r, *glqlon, *glqlat, *glqr); - printf("%g %g %g\n", lon, lat, res); - } - } - - glq_free(glqlon); - glq_free(glqlat); - glq_free(glqr); - - return 0; - } - -References ----------- - -Asgharzadeh, M.F., von Frese, R.R.B., Kim, H.R., Leftwich, T.E. & Kim, J.W. -(2007): Spherical prism gravity effects by Gauss-Legendre quadrature integration. -Geophysical Journal International, 169, 1-11. - -Grombein, T.; Seitz, K.; Heck, B. (2010): Untersuchungen zur effizienten -Berechnung topographischer Effekte auf den Gradiententensor am Fallbeispiel der -Satellitengradiometriemission GOCE. -KIT Scientific Reports 7547, ISBN 978-3-86644-510-9, KIT Scientific Publishing, -Karlsruhe, Germany. -*/ - -#ifndef _TESSEROIDS_GRAV_TESS_H_ -#define _TESSEROIDS_GRAV_TESS_H_ - - -/* Needed for definition of TESSEROID */ -#include "geometry.h" -/* Needed for definition of GLQ */ -#include "glq.h" - - -/** Calculates the field of a tesseroid model at a given point. - -Uses a function pointer to call one of the apropriate field calculating -functions: - - tess_gx() - - tess_gy() - - tess_gz() - - tess_gxx() - - tess_gxy() - - tess_gxz() - - tess_gyy() - - tess_gyz() - - tess_gzz() - -To pass a function pointer to a function use something like: - -\verbatim -calc_tess_model(my_model, 10, 0, 10, 1, glqlon, glqlat, glqr, &tess_gx); -\endverbatim - -This would calculate the gx effect of the model my_model with 10 tesseroids -at lon=0 lat=10 r=1. - -Will re-use the same GLQ structures, and therefore the same order, for all -the tesseroids. - -@param model TESSEROID array defining the model -@param size number of tesseroids in the model -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P -@param glq_lon pointer to GLQ structure used for the longitudinal integration -@param glq_lat pointer to GLQ structure used for the latitudinal integration -@param glq_r pointer to GLQ structure used for the radial integration -@param field pointer to one of the field calculating functions - -@return the sum of the fields of all the tesseroids in the model -*/ -extern double calc_tess_model(TESSEROID *model, int size, double lonp, - double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, - double (*field)(TESSEROID, double, double, double, GLQ, GLQ, GLQ)); - - -/** Adaptatively calculate the field of a tesseroid model at a given point by -splitting the tesseroids if necessary to maintain GLQ stability. - -See calc_tess_model() for more details. - -Will re-use the same GLQ structures, and therefore the same order, for all -the tesseroids. - -@param model TESSEROID array defining the model -@param size number of tesseroids in the model -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P -@param glq_lon pointer to GLQ structure used for the longitudinal integration -@param glq_lat pointer to GLQ structure used for the latitudinal integration -@param glq_r pointer to GLQ structure used for the radial integration -@param field pointer to one of the field calculating functions -@param ratio distance-to-size ratio for doing adaptative resizing - -@return the sum of the fields of all the tesseroids in the model -*/ -extern double calc_tess_model_adapt(TESSEROID *model, int size, double lonp, - double latp, double rp, GLQ *glq_lon, GLQ *glq_lat, GLQ *glq_r, - double (*field)(TESSEROID, double, double, double, GLQ, GLQ, GLQ), - double ratio); - - -/** Calculates potential caused by a tesseroid. - -\f[ -V(r_p,\phi_p,\lambda_p) = G \rho \displaystyle\int_{\lambda_1}^{\lambda_2} - \displaystyle\int_{\phi_1}^{\phi_2} \displaystyle\int_{r_1}^{r_2} - \frac{1}{\ell}\kappa \ d r' d \phi' d \lambda' -\f] - -Input and output values in SI units and degrees! - -Use function glq_new() to create the GLQ parameters required. The integration -limits should be set to: - - glq_lon: lower = tess.w and upper = tess.e (in degrees) - - glq_lat: lower = tess.s and upper = tess.n (in degrees) - - glq_r: lower = tess.r1 and upper = tess.r2 - -@param tess data structure describing the tesseroid -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P -@param glq_lon GLQ structure with the nodes, weights and integration limits set - for the longitudinal integration -@param glq_lat GLQ structure with the nodes, weights and integration limits set - for the latitudinal integration -@param glq_r GLQ structure with the nodes, weights and integration limits set - for the radial integration - -@return field calculated at P -*/ -extern double tess_pot(TESSEROID tess, double lonp, double latp, double rp, - GLQ glq_lon, GLQ glq_lat, GLQ glq_r); - - -/** Calculates gx caused by a tesseroid (Grombein et al., 2010). - -\f[ -g_x(r_p,\phi_p,\lambda_p) = G \rho \displaystyle\int_{\lambda_1}^{\lambda_2} - \displaystyle\int_{\phi_1}^{\phi_2} \displaystyle\int_{r_1}^{r_2} - \frac{r'K_{\phi}}{\ell^3}\kappa \ d r' d \phi' d \lambda' -\f] - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in mGal! - -Use function glq_new() to create the GLQ parameters required. The integration -limits should be set to: - - glq_lon: lower = tess.w and upper = tess.e (in degrees) - - glq_lat: lower = tess.s and upper = tess.n (in degrees) - - glq_r: lower = tess.r1 and upper = tess.r2 - -@param tess data structure describing the tesseroid -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P -@param glq_lon GLQ structure with the nodes, weights and integration limits set - for the longitudinal integration -@param glq_lat GLQ structure with the nodes, weights and integration limits set - for the latitudinal integration -@param glq_r GLQ structure with the nodes, weights and integration limits set - for the radial integration - -@return field calculated at P -*/ -extern double tess_gx(TESSEROID tess, double lonp, double latp, double rp, - GLQ glq_lon, GLQ glq_lat, GLQ glq_r); - -/** Calculates gy caused by a tesseroid (Grombein et al., 2010). - -\f[ -g_y(r_p,\phi_p,\lambda_p) = G \rho \displaystyle\int_{\lambda_1}^{\lambda_2} - \displaystyle\int_{\phi_1}^{\phi_2} \displaystyle\int_{r_1}^{r_2} - \frac{r'\cos\phi'\sin(\lambda'-\lambda)}{\ell^3}\kappa - \ d r' d \phi' d \lambda' -\f] - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in mGal! - -Use function glq_new() to create the GLQ parameters required. The integration -limits should be set to: - - glq_lon: lower = tess.w and upper = tess.e (in degrees) - - glq_lat: lower = tess.s and upper = tess.n (in degrees) - - glq_r: lower = tess.r1 and upper = tess.r2 - -@param tess data structure describing the tesseroid -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P -@param glq_lon GLQ structure with the nodes, weights and integration limits set - for the longitudinal integration -@param glq_lat GLQ structure with the nodes, weights and integration limits set - for the latitudinal integration -@param glq_r GLQ structure with the nodes, weights and integration limits set - for the radial integration - -@return field calculated at P -*/ -extern double tess_gy(TESSEROID tess, double lonp, double latp, double rp, - GLQ glq_lon, GLQ glq_lat, GLQ glq_r); - -/** Calculates gz caused by a tesseroid (Grombein et al., 2010). - -\f[ -g_z(r_p,\phi_p,\lambda_p) = G \rho \displaystyle\int_{\lambda_1}^{\lambda_2} - \displaystyle\int_{\phi_1}^{\phi_2} \displaystyle\int_{r_1}^{r_2} - \frac{r'\cos\psi - r_p}{\ell^3}\kappa \ d r' d \phi' d \lambda' -\f] - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in mGal! - -Use function glq_new() to create the GLQ parameters required. The integration -limits should be set to: - - glq_lon: lower = tess.w and upper = tess.e (in degrees) - - glq_lat: lower = tess.s and upper = tess.n (in degrees) - - glq_r: lower = tess.r1 and upper = tess.r2 - -@param tess data structure describing the tesseroid -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P -@param glq_lon GLQ structure with the nodes, weights and integration limits set - for the longitudinal integration -@param glq_lat GLQ structure with the nodes, weights and integration limits set - for the latitudinal integration -@param glq_r GLQ structure with the nodes, weights and integration limits set - for the radial integration - -@return field calculated at P -*/ -extern double tess_gz(TESSEROID tess, double lonp, double latp, double rp, - GLQ glq_lon, GLQ glq_lat, GLQ glq_r); - -/** Calculates gxx caused by a tesseroid (Grombein et al., 2010). - -\f[ -g_{xx}(r_p,\phi_p,\lambda_p) = G \rho \displaystyle\int_{\lambda_1}^{\lambda_2} - \displaystyle\int_{\phi_1}^{\phi_2} \displaystyle\int_{r_1}^{r_2} - \frac{3(r' K_{\phi})^2 - \ell^2}{\ell^5}\kappa \ d r' d \phi' d \lambda' -\f] - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in Eotvos! - -Use function glq_new() to create the GLQ parameters required. The integration -limits should be set to: - - glq_lon: lower = tess.w and upper = tess.e (in degrees) - - glq_lat: lower = tess.s and upper = tess.n (in degrees) - - glq_r: lower = tess.r1 and upper = tess.r2 - -@param tess data structure describing the tesseroid -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P -@param glq_lon GLQ structure with the nodes, weights and integration limits set - for the longitudinal integration -@param glq_lat GLQ structure with the nodes, weights and integration limits set - for the latitudinal integration -@param glq_r GLQ structure with the nodes, weights and integration limits set - for the radial integration - -@return field calculated at P -*/ -extern double tess_gxx(TESSEROID tess, double lonp, double latp, double rp, - GLQ glq_lon, GLQ glq_lat, GLQ glq_r); - -/** Calculates gxy caused by a tesseroid (Grombein et al., 2010). - -\f[ -g_{xy}(r_p,\phi_p,\lambda_p) = G \rho \displaystyle\int_{\lambda_1}^{\lambda_2} - \displaystyle\int_{\phi_1}^{\phi_2} \displaystyle\int_{r_1}^{r_2} - \frac{3{r'}^2 K_{\phi}\cos\phi'\sin(\lambda' - \lambda_p)}{\ell^5} - \kappa \ d r' d \phi' d \lambda' -\f] - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in Eotvos! - -Use function glq_new() to create the GLQ parameters required. The integration -limits should be set to: - - glq_lon: lower = tess.w and upper = tess.e (in degrees) - - glq_lat: lower = tess.s and upper = tess.n (in degrees) - - glq_r: lower = tess.r1 and upper = tess.r2 - -@param tess data structure describing the tesseroid -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P -@param glq_lon GLQ structure with the nodes, weights and integration limits set - for the longitudinal integration -@param glq_lat GLQ structure with the nodes, weights and integration limits set - for the latitudinal integration -@param glq_r GLQ structure with the nodes, weights and integration limits set - for the radial integration - -@return field calculated at P -*/ -extern double tess_gxy(TESSEROID tess, double lonp, double latp, double rp, - GLQ glq_lon, GLQ glq_lat, GLQ glq_r); - -/** Calculates gxz caused by a tesseroid (Grombein et al., 2010). - -\f[ -g_{xz}(r_p,\phi_p,\lambda_p) = G \rho \displaystyle\int_{\lambda_1}^{\lambda_2} - \displaystyle\int_{\phi_1}^{\phi_2} \displaystyle\int_{r_1}^{r_2} - \frac{3 r' K_{\phi}(r' \cos\psi - r_p)}{\ell^5}\kappa - \ d r' d \phi' d \lambda' -\f] - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in Eotvos! - -Use function glq_new() to create the GLQ parameters required. The integration -limits should be set to: - - glq_lon: lower = tess.w and upper = tess.e (in degrees) - - glq_lat: lower = tess.s and upper = tess.n (in degrees) - - glq_r: lower = tess.r1 and upper = tess.r2 - -@param tess data structure describing the tesseroid -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P -@param glq_lon GLQ structure with the nodes, weights and integration limits set - for the longitudinal integration -@param glq_lat GLQ structure with the nodes, weights and integration limits set - for the latitudinal integration -@param glq_r GLQ structure with the nodes, weights and integration limits set - for the radial integration - -@return field calculated at P -*/ -extern double tess_gxz(TESSEROID tess, double lonp, double latp, double rp, - GLQ glq_lon, GLQ glq_lat, GLQ glq_r); - -/** Calculates gyy caused by a tesseroid (Grombein et al., 2010). - -\f[ -g_{yy}(r_p,\phi_p,\lambda_p) = G \rho \displaystyle\int_{\lambda_1}^{\lambda_2} - \displaystyle\int_{\phi_1}^{\phi_2} \displaystyle\int_{r_1}^{r_2} - \frac{3(r'\cos\phi'\sin(\lambda' - \lambda_p))^2 - \ell^2}{\ell^5} - \kappa \ d r' d \phi' d \lambda' -\f] - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in Eotvos! - -Use function glq_new() to create the GLQ parameters required. The integration -limits should be set to: - - glq_lon: lower = tess.w and upper = tess.e (in degrees) - - glq_lat: lower = tess.s and upper = tess.n (in degrees) - - glq_r: lower = tess.r1 and upper = tess.r2 - -@param tess data structure describing the tesseroid -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P -@param glq_lon GLQ structure with the nodes, weights and integration limits set - for the longitudinal integration -@param glq_lat GLQ structure with the nodes, weights and integration limits set - for the latitudinal integration -@param glq_r GLQ structure with the nodes, weights and integration limits set - for the radial integration - -@return field calculated at P -*/ -extern double tess_gyy(TESSEROID tess, double lonp, double latp, double rp, - GLQ glq_lon, GLQ glq_lat, GLQ glq_r); - -/** Calculates gyz caused by a tesseroid (Grombein et al., 2010). - -\f[ -g_{yz}(r_p,\phi_p,\lambda_p) = G \rho \displaystyle\int_{\lambda_1}^{\lambda_2} - \displaystyle\int_{\phi_1}^{\phi_2} \displaystyle\int_{r_1}^{r_2} - \frac{3 r' \cos\phi' \sin(\lambda' - \lambda_p)(r'\cos\psi - r_p)}{\ell^5} - \kappa \ d r' d \phi' d \lambda' -\f] - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in Eotvos! - -Use function glq_new() to create the GLQ parameters required. The integration -limits should be set to: - - glq_lon: lower = tess.w and upper = tess.e (in degrees) - - glq_lat: lower = tess.s and upper = tess.n (in degrees) - - glq_r: lower = tess.r1 and upper = tess.r2 - -@param tess data structure describing the tesseroid -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P -@param glq_lon GLQ structure with the nodes, weights and integration limits set - for the longitudinal integration -@param glq_lat GLQ structure with the nodes, weights and integration limits set - for the latitudinal integration -@param glq_r GLQ structure with the nodes, weights and integration limits set - for the radial integration - -@return field calculated at P -*/ -extern double tess_gyz(TESSEROID tess, double lonp, double latp, double rp, - GLQ glq_lon, GLQ glq_lat, GLQ glq_r); - -/** Calculates gzz caused by a tesseroid (Grombein et al., 2010). - -\f[ -g_{zz}(r_p,\phi_p,\lambda_p) = G \rho \displaystyle\int_{\lambda_1}^{\lambda_2} - \displaystyle\int_{\phi_1}^{\phi_2} \displaystyle\int_{r_1}^{r_2} - \frac{3(r'\cos\psi-r_p)^2 - \ell^2}{\ell^5}\kappa \ d r' d \phi' d \lambda' -\f] - -The derivatives of the potential are made with respect to the local coordinate -system x->North, y->East, z->out - -Input values in SI units and degrees and returns values in Eotvos! - -Use function glq_new() to create the GLQ parameters required. The integration -limits should be set to: - - glq_lon: lower = tess.w and upper = tess.e (in degrees) - - glq_lat: lower = tess.s and upper = tess.n (in degrees) - - glq_r: lower = tess.r1 and upper = tess.r2 - -@param tess data structure describing the tesseroid -@param lonp longitude of the computation point P -@param latp latitude of the computation point P -@param rp radial coordinate of the computation point P -@param glq_lon GLQ structure with the nodes, weights and integration limits set - for the longitudinal integration -@param glq_lat GLQ structure with the nodes, weights and integration limits set - for the latitudinal integration -@param glq_r GLQ structure with the nodes, weights and integration limits set - for the radial integration - -@return field calculated at P -*/ -extern double tess_gzz(TESSEROID tess, double lonp, double latp, double rp, - GLQ glq_lon, GLQ glq_lat, GLQ glq_r); - -#endif diff --git a/dep/tesseroids/lib/logger.c b/dep/tesseroids/lib/logger.c deleted file mode 100644 index f3f2c62..0000000 --- a/dep/tesseroids/lib/logger.c +++ /dev/null @@ -1,110 +0,0 @@ -/* -Functions to set up logging. -*/ - - -#include -#include -#include -#include "logger.h" - -/* Initialize the logger so that it doesn't print by default */ -LOGGER logger = {100, 0, 100, NULL}; - - -/* Setup logging to stderr.*/ -void log_init(int level) -{ - logger.level = level; -} - - -/* Set logging to a file. */ -void log_tofile(FILE *logfile, int level) -{ - logger.filelogging = 1; - logger.logfile = logfile; - logger.file_level = level; -} - - -/* Log a message at debug level */ -/* These messages are always printed to stderr and the log file */ -void log_debug(const char *fmt, ...) -{ - char msg[10000]; - va_list args; - va_start(args, fmt); - vsprintf(msg, fmt, args); - va_end(args); - - fprintf(stderr, "DEBUG: %s\n", msg); - - if(logger.filelogging) - { - fprintf(logger.logfile, "DEBUG: %s\n", msg); - } -} - - -/* Log a message at info level */ -void log_info(const char *fmt, ...) -{ - char msg[10000]; - va_list args; - va_start(args, fmt); - vsprintf(msg, fmt, args); - va_end(args); - - if(logger.level <= LOG_INFO) - { - fprintf(stderr, "%s\n", msg); - } - - if(logger.filelogging && logger.file_level <= LOG_INFO) - { - fprintf(logger.logfile, "%s\n", msg); - } -} - - -/* Log a message at warning level */ -void log_warning(const char *fmt, ...) -{ - char msg[10000]; - va_list args; - va_start(args, fmt); - vsprintf(msg, fmt, args); - va_end(args); - - if(logger.level <= LOG_WARNING) - { - fprintf(stderr, "WARNING: %s\n", msg); - } - - if(logger.filelogging && logger.file_level <= LOG_WARNING) - { - fprintf(logger.logfile, "WARNING: %s\n", msg); - } -} - - -/* Log a message at error level */ -void log_error(const char *fmt, ...) -{ - char msg[10000]; - va_list args; - va_start(args, fmt); - vsprintf(msg, fmt, args); - va_end(args); - - if(logger.level <= LOG_ERROR) - { - fprintf(stderr, "\nERROR: %s\n\n", msg); - } - - if(logger.filelogging && logger.file_level <= LOG_ERROR) - { - fprintf(logger.logfile, "\nERROR: %s\n\n", msg); - } -} diff --git a/dep/tesseroids/lib/logger.h b/dep/tesseroids/lib/logger.h deleted file mode 100644 index 600764d..0000000 --- a/dep/tesseroids/lib/logger.h +++ /dev/null @@ -1,166 +0,0 @@ -/* -Functions to set up logging. - -Examples --------- - -Logging to stderr: - - #include "logger.h" - - void my_func(){ - log_info("From my_func!\n"); - } - - int main(){ - // Enable logging to stderr in debug level - // will only print messages of level DEBUG or higher - log_init(LOG_DEBUG); - log_debug("debug line. The code is %d", LOG_DEBUG); - log_info("info line. The code is %d", LOG_INFO); - log_warning("warning line. The code is %d", LOG_WARNING); - log_error("error line. The code is %d", LOG_ERROR); - my_func(); - return 0; - } - -will print: - - DEBUG: debug line. The code is 0 - info line. The code is 1 - WARNING: warning line. The code is 2 - ERROR: error line. The code is 3 - From my_func! - -If function log_init() is not called than logging to stderr is disabled and no -messages will be printed. - -Logging to a file: - - #include - #include "logger.h" - - void my_func(){ - log_info("From my_func!\n"); - log_debug("Should not appear in log file\n"); - } - - int main(){ - // Enable logging to file "log.txt" in info level - // will not print DEBUG level messages - // since log_init was not called, there is no logging to stderr - FILE *logfile = fopen("log.txt", "w"); - log_tofile(logfile, LOG_INFO); - log_debug("debug line. The code is %d", LOG_DEBUG); - log_info("info line. The code is %d", LOG_INFO); - log_warning("warning line. The code is %d", LOG_WARNING); - log_error("error line. The code is %d", LOG_ERROR); - my_func(); - return 0; - } - -File log.txt will look like: - - info line. The code is 1 - WARNING: warning line. The code is 2 - ERROR: error line. The code is 3 - From my_func! - -Note that you can combine loggin to stderr and to a file with different -levels in the same program. -*/ - -#ifndef _TESSEROIDS_LOGGER_H_ -#define _TESSEROIDS_LOGGER_H_ - -/* Needed for definition of FILE */ -#include - - -/** Logging level for debug messages */ -#define LOG_DEBUG 1 -/** Logging level for general information */ -#define LOG_INFO 2 -/** Logging level for warning messages */ -#define LOG_WARNING 3 -/** Logging level for error messages */ -#define LOG_ERROR 4 - - -/** Keep the information on the global logger */ -typedef struct logger_struct -{ - int level; /**< level of logging */ - int filelogging; /**< flag to know wether loggint to a file is enabled */ - int file_level; /**< logging level for the file */ - FILE *logfile; /**< file to log to */ - -} LOGGER; - - -/** Global logger struct. Only declare in the main program! */ -extern LOGGER logger; - - -/** Setup logging to stderr. - -@param level level of logging to be made. Can be one of: - - LOG_DEBUG - - LOG_INFO - - LOG_WARNING - - LOG_ERROR -*/ -extern void log_init(int level); - - -/** Set logging to a file. - -@param logfile FILE pointer to the already open file to log to. -@param level level of logging to be made to the file. Can be one of: - - LOG_DEBUG - - LOG_INFO - - LOG_WARNING - - LOG_ERROR -*/ -extern void log_tofile(FILE *logfile, int level); - - -/** Log a message at debug level. - -Pass parameters in the same format as printf() - -Prints a newline at the end. -*/ -extern void log_debug(const char *fmt, ...); - - -/** Log a message at info level. - -Pass parameters in the same format as printf() - -Does not print "INFO: " in front of the message when logging - -Prints a newline at the end. -*/ -extern void log_info(const char *fmt, ...); - - -/** Log a message at warning level. - -Pass parameters in the same format as printf() - -Prints a newline at the end. -*/ -extern void log_warning(const char *fmt, ...); - - -/** Log a message at error level. - -Pass parameters in the same format as printf() - -Prints a newline at the end. -*/ -extern void log_error(const char *fmt, ...); - - -#endif diff --git a/dep/tesseroids/lib/parsers.c b/dep/tesseroids/lib/parsers.c deleted file mode 100644 index a51f189..0000000 --- a/dep/tesseroids/lib/parsers.c +++ /dev/null @@ -1,1410 +0,0 @@ -/* -Input and output parsing tools. -*/ - - -#include -#include -#include -#include -#include "logger.h" -#include "version.h" -#include "parsers.h" -#include "constants.h" -#include "geometry.h" - - -/* Parse basic command line arguments for programs */ -int parse_basic_args(int argc, char **argv, const char *progname, - BASIC_ARGS *args, void (*print_help)(void)) -{ - int bad_args = 0, parsed_args = 0, total_args = 1, i; - char *params; - - /* Default values for options */ - args->verbose = 0; - args->logtofile = 0; - /* Parse arguments */ - for(i = 1; i < argc; i++) - { - if(argv[i][0] == '-') - { - switch(argv[i][1]) - { - case 'h': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - print_help(); - return 2; - case 'v': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - if(args->verbose) - { - log_error("repeated option -v"); - bad_args++; - break; - } - args->verbose = 1; - break; - case 'l': - { - if(args->logtofile) - { - log_error("repeated option -l"); - bad_args++; - break; - } - params = &argv[i][2]; - if(strlen(params) == 0) - { - log_error("bad input argument -l. Missing filename."); - bad_args++; - } - else - { - args->logtofile = 1; - args->logfname = params; - } - break; - } - case '-': - { - params = &argv[i][2]; - if(strcmp(params, "version")) - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - } - else - { - print_version(progname); - return 2; - } - break; - } - default: - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - } - else - { - if(parsed_args == 0) - { - args->inputfname = argv[i]; - parsed_args++; - } - else - { - log_error("invalid argument '%s'. Already given model file %s", - argv[i], args->inputfname); - bad_args++; - } - } - } - /* Check if parsing went well */ - if(parsed_args > total_args) - { - log_error("%s: too many input arguments. given %d, max %d.", - progname, parsed_args, total_args); - } - if(bad_args > 0) - { - log_error("%d bad input argument(s)", bad_args); - return 1; - } - if(parsed_args < total_args) - { - return 3; - } - return 0; -} - - -/* Parse command line arguments for tess2prism program */ -int parse_tess2prism_args(int argc, char **argv, const char *progname, - TESS2PRISM_ARGS *args, void (*print_help)(void)) -{ - int bad_args = 0, parsed_args = 0, total_args = 1, i; - char *params; - - /* Default values for options */ - args->verbose = 0; - args->logtofile = 0; - args->flatten = 0; - /* Parse arguments */ - for(i = 1; i < argc; i++) - { - if(argv[i][0] == '-') - { - switch(argv[i][1]) - { - case 'h': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - print_help(); - return 2; - case 'v': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - if(args->verbose) - { - log_error("repeated option -v"); - bad_args++; - break; - } - args->verbose = 1; - break; - - case 'l': - { - if(args->logtofile) - { - log_error("repeated option -l"); - bad_args++; - break; - } - params = &argv[i][2]; - if(strlen(params) == 0) - { - log_error("bad input argument -l. Missing filename."); - bad_args++; - } - else - { - args->logtofile = 1; - args->logfname = params; - } - break; - } - case '-': - { - params = &argv[i][2]; - if(!strcmp(params, "version")) - { - print_version(progname); - return 2; - } - else if(!strcmp(params, "flatten")) - { - args->flatten = 1; - } - else - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - } - break; - } - default: - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - } - else - { - if(parsed_args == 0) - { - args->inputfname = argv[i]; - parsed_args++; - } - else - { - log_error("invalid argument '%s'. Already given model file %s", - argv[i], args->inputfname); - bad_args++; - } - } - } - /* Check if parsing went well */ - if(parsed_args > total_args) - { - log_error("%s: too many input arguments. given %d, max %d.", - progname, parsed_args, total_args); - } - if(bad_args > 0) - { - log_error("%d bad input argument(s)", bad_args); - return 1; - } - if(parsed_args < total_args) - { - return 3; - } - return 0; -} - - -/* Parse command line arguments for tessmass program */ -int parse_tessmass_args(int argc, char **argv, const char *progname, - TESSMASS_ARGS *args, void (*print_help)(void)) -{ - int bad_args = 0, parsed_args = 0, total_args = 1, parsed_r = 0, i, nchar, - nread; - char *params; - - /* Default values for options */ - args->verbose = 0; - args->logtofile = 0; - args->use_range = 0; - /* Parse arguments */ - for(i = 1; i < argc; i++) - { - if(argv[i][0] == '-') - { - switch(argv[i][1]) - { - case 'h': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - print_help(); - return 2; - case 'v': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - if(args->verbose) - { - log_error("repeated option -v"); - bad_args++; - break; - } - args->verbose = 1; - break; - - case 'l': - { - if(args->logtofile) - { - log_error("repeated option -l"); - bad_args++; - break; - } - params = &argv[i][2]; - if(strlen(params) == 0) - { - log_error("bad input argument -l. Missing filename."); - bad_args++; - } - else - { - args->logtofile = 1; - args->logfname = params; - } - break; - } - case '-': - { - params = &argv[i][2]; - if(strcmp(params, "version")) - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - } - else - { - print_version(progname); - return 2; - } - break; - } - case 'r': - { - if(parsed_r) - { - log_error("repeated argument -r"); - bad_args++; - break; - } - params = &argv[i][2]; - nchar = 0; - nread = sscanf(params, "%lf/%lf%n", &(args->low_dens), - &(args->high_dens), &nchar); - if(nread != 2 || *(params + nchar) != '\0') - { - log_error("bad input argument '%s'", argv[i]); - bad_args++; - } - parsed_r = 1; - args->use_range = 1; - break; - } - default: - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - } - else - { - if(parsed_args == 0) - { - args->inputfname = argv[i]; - parsed_args++; - } - else - { - log_error("invalid argument '%s'. Already given model file %s", - argv[i], args->inputfname); - bad_args++; - } - } - } - /* Check if parsing went well */ - if(parsed_args > total_args) - { - log_error("%s: too many input arguments. given %d, max %d.", - progname, parsed_args, total_args); - } - if(bad_args > 0) - { - log_error("%d bad input argument(s)", bad_args); - return 1; - } - if(parsed_args < total_args) - { - return 3; - } - return 0; -} - - -/* Parse command line arguments for tessmodgen program */ -int parse_tessmodgen_args(int argc, char **argv, const char *progname, - TESSMODGEN_ARGS *args, void (*print_help)(void)) -{ - int bad_args = 0, parsed_args = 0, total_args = 2, parsed_s = 0, - parsed_z = 0, parsed_d = 0, i, nchar, nread; - char *params; - - /* Default values for options */ - args->verbose = 0; - args->logtofile = 0; - args->fix_density = 0; - /* Parse arguments */ - for(i = 1; i < argc; i++) - { - if(argv[i][0] == '-') - { - switch(argv[i][1]) - { - case 'h': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - print_help(); - return 2; - case 'v': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - if(args->verbose) - { - log_error("repeated option -v"); - bad_args++; - break; - } - args->verbose = 1; - break; - case 'l': - { - if(args->logtofile) - { - log_error("repeated option -l"); - bad_args++; - break; - } - params = &argv[i][2]; - if(strlen(params) == 0) - { - log_error("bad input argument -l. Missing filename."); - bad_args++; - } - else - { - args->logtofile = 1; - args->logfname = params; - } - break; - } - case '-': - { - params = &argv[i][2]; - if(strcmp(params, "version")) - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - } - else - { - print_version(progname); - return 2; - } - break; - } - case 's': - { - if(parsed_s) - { - log_error("repeated argument -s"); - bad_args++; - break; - } - params = &argv[i][2]; - nchar = 0; - nread = sscanf(params, "%lf/%lf%n", &(args->dlon), - &(args->dlat), &nchar); - if(nread != 2 || *(params + nchar) != '\0') - { - log_error("bad input argument '%s'", argv[i]); - bad_args++; - } - parsed_s = 1; - parsed_args++; - break; - } - case 'z': - { - if(parsed_z) - { - log_error("repeated argument -z"); - bad_args++; - break; - } - params = &argv[i][2]; - nchar = 0; - nread = sscanf(params, "%lf%n", &(args->ref), &nchar); - if(nread != 1 || *(params + nchar) != '\0') - { - log_error("bad input argument '%s'", argv[i]); - bad_args++; - } - parsed_z = 1; - parsed_args++; - break; - } - case 'd': - { - if(parsed_d) - { - log_error("repeated argument -d"); - bad_args++; - break; - } - params = &argv[i][2]; - nchar = 0; - nread = sscanf(params, "%lf%n", &(args->dens), &nchar); - if(nread != 1 || *(params + nchar) != '\0') - { - log_error("bad input argument '%s'", argv[i]); - bad_args++; - } - parsed_d = 1; - args->fix_density = 1; - break; - } - default: - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - } - else - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - } - } - /* Check if parsing went well */ - if(bad_args > 0 || parsed_args != total_args) - { - if(parsed_args < total_args) - { - log_error("%s: missing input arguments. given %d out of %d.", - progname, parsed_args, total_args); - } - if(parsed_args > total_args) - { - log_error("%s: too many input arguments. given %d, max %d.", - progname, parsed_args, total_args); - } - if(bad_args > 0) - { - log_error("%d bad input argument(s)", bad_args); - } - return 1; - } - return 0; -} - - -/* Parse command line arguments for tesslayers program */ -int parse_tesslayers_args(int argc, char **argv, const char *progname, - TESSLAYERS_ARGS *args, void (*print_help)(void)) -{ - int bad_args = 0, parsed_args = 0, total_args = 1, parsed_s = 0, - i, nchar, nread; - char *params; - - /* Default values for options */ - args->verbose = 0; - args->logtofile = 0; - /* Parse arguments */ - for(i = 1; i < argc; i++) - { - if(argv[i][0] == '-') - { - switch(argv[i][1]) - { - case 'h': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - print_help(); - return 2; - case 'v': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - if(args->verbose) - { - log_error("repeated option -v"); - bad_args++; - break; - } - args->verbose = 1; - break; - case 'l': - { - if(args->logtofile) - { - log_error("repeated option -l"); - bad_args++; - break; - } - params = &argv[i][2]; - if(strlen(params) == 0) - { - log_error("bad input argument -l. Missing filename."); - bad_args++; - } - else - { - args->logtofile = 1; - args->logfname = params; - } - break; - } - case '-': - { - params = &argv[i][2]; - if(strcmp(params, "version")) - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - } - else - { - print_version(progname); - return 2; - } - break; - } - case 's': - { - if(parsed_s) - { - log_error("repeated argument -s"); - bad_args++; - break; - } - params = &argv[i][2]; - nchar = 0; - nread = sscanf(params, "%lf/%lf%n", &(args->dlon), - &(args->dlat), &nchar); - if(nread != 2 || *(params + nchar) != '\0') - { - log_error("bad input argument '%s'", argv[i]); - bad_args++; - } - parsed_s = 1; - parsed_args++; - break; - } - default: - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - } - else - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - } - } - /* Check if parsing went well */ - if(bad_args > 0 || parsed_args != total_args) - { - if(parsed_args < total_args) - { - log_error("%s: missing input arguments. given %d out of %d.", - progname, parsed_args, total_args); - } - if(parsed_args > total_args) - { - log_error("%s: too many input arguments. given %d, max %d.", - progname, parsed_args, total_args); - } - if(bad_args > 0) - { - log_error("%d bad input argument(s)", bad_args); - } - return 1; - } - return 0; -} - - -/* Parse command line arguments for tessg* programs */ -int parse_tessg_args(int argc, char **argv, const char *progname, - TESSG_ARGS *args, void (*print_help)(const char *)) -{ - int bad_args = 0, parsed_args = 0, total_args = 1, parsed_order = 0, - parsed_ratio = 0, i, nchar, nread; - char *params; - - /* Default values for options */ - args->verbose = 0; - args->logtofile = 0; - args->lon_order = 2; - args->lat_order = 2; - args->r_order = 2; - args->adaptative = 1; - args->ratio = 0; /* zero means use the default for the program */ - /* Parse arguments */ - for(i = 1; i < argc; i++) - { - if(argv[i][0] == '-') - { - switch(argv[i][1]) - { - case 'h': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - print_help(progname); - return 2; - case 'v': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - if(args->verbose) - { - log_error("repeated option -v"); - bad_args++; - break; - } - args->verbose = 1; - break; - case 'l': - { - if(args->logtofile) - { - log_error("repeated option -l"); - bad_args++; - break; - } - params = &argv[i][2]; - if(strlen(params) == 0) - { - log_error("bad input argument -l. Missing filename."); - bad_args++; - } - else - { - args->logtofile = 1; - args->logfname = params; - } - break; - } - case '-': - { - params = &argv[i][2]; - if(strcmp(params, "version")) - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - } - else - { - print_version(progname); - return 2; - } - break; - } - case 'a': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - if(!args->adaptative) - { - log_error("repeated option -a"); - bad_args++; - break; - } - args->adaptative = 0; - break; - case 'o': - { - if(parsed_order) - { - log_error("repeated option -o"); - bad_args++; - break; - } - params = &argv[i][2]; - nchar = 0; - nread = sscanf(params, "%d/%d/%d%n", &(args->lon_order), - &(args->lat_order), &(args->r_order), &nchar); - if(nread != 3 || *(params + nchar) != '\0') - { - log_error("bad input argument '%s'", argv[i]); - bad_args++; - } - parsed_order = 1; - break; - } - case 't': - { - if(parsed_ratio) - { - log_error("repeated option -t"); - bad_args++; - break; - } - params = &argv[i][2]; - nchar = 0; - nread = sscanf(params, "%lf%n", &(args->ratio), &nchar); - if(nread != 1 || *(params + nchar) != '\0') - { - log_error("bad input argument '%s'", argv[i]); - bad_args++; - } - parsed_ratio = 1; - break; - } - default: - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - } - else - { - if(parsed_args == 0) - { - args->modelfname = argv[i]; - parsed_args++; - } - else - { - log_error("invalid argument '%s'. Already given model file %s", - argv[i], args->modelfname); - bad_args++; - } - } - } - /* Check if parsing went well */ - if(bad_args > 0 || parsed_args != total_args) - { - if(parsed_args < total_args) - { - log_error("%s: missing input file.", - progname, parsed_args, total_args); - } - if(parsed_args > total_args) - { - log_error("%s: too many input arguments. given %d, max %d.", - progname, parsed_args, total_args); - } - if(bad_args > 0) - { - log_error("%d bad input argument(s)", bad_args); - } - return 1; - } - return 0; -} - - -/* Parse command line arguments for tessgrd program */ -int parse_tessgrd_args(int argc, char **argv, TESSGRD_ARGS *args, - void (*print_help)(void)) -{ - int bad_args = 0, parsed_args = 0, total_args = 3, parsed_r = 0, - parsed_b = 0, parsed_z = 0, i, nchar, nread; - char progname[] = "tessgrd", *params; - - /* Default values for options */ - args->verbose = 0; - args->logtofile = 0; - /* Parse arguments */ - for(i = 1; i < argc; i++) - { - if(argv[i][0] == '-') - { - switch(argv[i][1]) - { - case 'h': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - print_help(); - return 2; - case 'v': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - if(args->verbose) - { - log_error("repeated option -v"); - bad_args++; - break; - } - args->verbose = 1; - break; - - case 'l': - { - if(args->logtofile) - { - log_error("repeated option -l"); - bad_args++; - break; - } - params = &argv[i][2]; - if(strlen(params) == 0) - { - log_error("bad input argument -l. Missing filename."); - bad_args++; - } - else - { - args->logtofile = 1; - args->logfname = params; - } - break; - } - case '-': - { - params = &argv[i][2]; - if(strcmp(params, "version")) - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - } - else - { - print_version(progname); - return 2; - } - break; - } - case 'r': - { - if(parsed_r) - { - log_error("repeated argument -r"); - bad_args++; - break; - } - params = &argv[i][2]; - nchar = 0; - nread = sscanf(params, "%lf/%lf/%lf/%lf%n", &(args->w), - &(args->e), &(args->s), &(args->n), &nchar); - if(nread != 4 || *(params + nchar) != '\0') - { - log_error("bad input argument '%s'", argv[i]); - bad_args++; - } - parsed_args++; - parsed_r = 1; - break; - } - case 'b': - { - if(parsed_b) - { - log_error("repeated argument -b"); - bad_args++; - break; - } - params = &argv[i][2]; - nchar = 0; - nread = sscanf(params, "%d/%d%n", &(args->nlon), - &(args->nlat), &nchar); - if(nread != 2 || *(params + nchar) != '\0') - { - log_error("bad input argument '%s'", argv[i]); - bad_args++; - } - parsed_args++; - parsed_b = 1; - break; - } - case 'z': - { - if(parsed_z) - { - log_error("repeated argument -z"); - bad_args++; - break; - } - params = &argv[i][2]; - nchar = 0; - nread = sscanf(params, "%lf%n", &(args->height), &nchar); - if(nread != 1 || *(params + nchar) != '\0') - { - log_error("bad input argument '%s'", argv[i]); - bad_args++; - } - parsed_args++; - parsed_z = 1; - break; - } - default: - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - } - else - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - } - } - /* Check if parsing went well */ - if(bad_args > 0 || parsed_args != total_args) - { - if(parsed_args < total_args) - { - log_error("%s: missing input arguments. given %d out of %d.", - progname, parsed_args, total_args); - } - if(parsed_args > total_args) - { - log_error("%s: too many input arguments. given %d, max %d.", - progname, parsed_args, total_args); - } - if(bad_args > 0) - { - log_error("%d bad input argument(s)", bad_args); - } - return 1; - } - return 0; -} - - -/* Strip trailing spaces and newlines from the end of a string */ -void strstrip(char *str) -{ - int i; - for(i = strlen(str) - 1; i >= 0; i--) - { - if(str[i] != ' ' && str[i] != '\n' && str[i] != '\r' && str[i] != '\0') - break; - } - str[i + 1] = '\0'; -} - - -/* Read a single tesseroid from a string */ -int gets_tess(const char *str, TESSEROID *tess) -{ - double w, e, s, n, top, bot, dens; - int nread, nchars; - - nread = sscanf(str, "%lf %lf %lf %lf %lf %lf %lf%n", &w, &e, &s, - &n, &top, &bot, &dens, &nchars); - if(nread != 7 || str[nchars] != '\0') - { - /* Something wrong with the tesseroid string */ - return 1; - } - if((w > e) || (s > n) || (top < bot)) - { - /* Model bounds in wrong order */ - return 2; - } - if((w == e) || (s == n) || (top == bot)) - { - /* Tesseroid has zero volume */ - return 3; - } - tess->w = w; - tess->e = e; - tess->s = s; - tess->n = n; - tess->r1 = MEAN_EARTH_RADIUS + bot; - tess->r2 = MEAN_EARTH_RADIUS + top; - tess->density = dens; - return 0; -} - - -/* Read tesseroids from an open file and store them in an array */ -TESSEROID * read_tess_model(FILE *modelfile, int *size) -{ - TESSEROID *model, *tmp; - int buffsize = 100, line, badinput = 0, error_exit = 0, gets_error; - char sbuff[10000]; - - /* Start with a single buffer allocation and expand later if necessary */ - model = (TESSEROID *)malloc(buffsize*sizeof(TESSEROID)); - if(model == NULL) - { - log_error("problem allocating initial memory to load tesseroid model."); - return NULL; - } - *size = 0; - for(line = 1; !feof(modelfile); line++) - { - if(fgets(sbuff, 10000, modelfile) == NULL) - { - if(ferror(modelfile)) - { - log_error("problem encountered reading line %d.", line); - error_exit = 1; - break; - } - } - else - { - /* Check for comments and blank lines */ - if(sbuff[0] == '#' || sbuff[0] == '\r' || sbuff[0] == '\n') - { - continue; - } - if(*size == buffsize) - { - buffsize += buffsize; - tmp = (TESSEROID *)realloc(model, buffsize*sizeof(TESSEROID)); - if(tmp == NULL) - { - /* Need to free because realloc leaves unchanged in case of - error */ - free(model); - log_error("problem expanding memory for tesseroid model. Model is too big."); - return NULL; - } - model = tmp; - } - /* Remove any trailing spaces or newlines */ - strstrip(sbuff); - gets_error = gets_tess(sbuff, &model[*size]); - if(gets_error == 1) - { - log_error("bad/invalid tesseroid at line %d.", line); - badinput = 1; - continue; - } - if(gets_error == 2) - { - log_error("invalid tesseroid dimensions at line %d. Must be w < e, s < n, top > bottom.", line); - badinput = 1; - continue; - } - if(gets_error == 3) - { - log_warning("ignoring tesseroid with zero volume at line %d. This should not impact the computations.", line); - continue; - } - (*size)++; - } - } - if(badinput || error_exit) - { - free(model); - return NULL; - } - /* Adjust the size of the model */ - if(*size != 0) - { - tmp = (TESSEROID *)realloc(model, (*size)*sizeof(TESSEROID)); - if(tmp == NULL) - { - /* Need to free because realloc leaves unchanged in case of - error */ - free(model); - log_error("problem freeing excess memory for tesseroid model."); - return NULL; - } - model = tmp; - } - return model; -} - - -/* Read a single rectangular prism from a string */ -int gets_prism(const char *str, PRISM *prism) -{ - double x1, x2, y1, y2, z1, z2, dens; - int nread, nchars; - - nread = sscanf(str, "%lf %lf %lf %lf %lf %lf %lf%n", &x1, &x2, &y1, &y2, - &z1, &z2, &dens, &nchars); - /* Check if there are extra characters in the line. This indicates - * that the model is wrong or was generated by tess2prism without the - * --flatten flag */ - if(nread != 7 || str[nchars] != '\0') - { - return 1; - } - prism->x1 = x1; - prism->x2 = x2; - prism->y1 = y1; - prism->y2 = y2; - prism->z1 = z1; - prism->z2 = z2; - prism->density = dens; - return 0; -} - - -/* Read a single rectangular prism and the spherical coordinates of its top -from a string */ -int gets_prism_sph(const char *str, PRISM *prism) -{ - double dx, dy, dz, dens, lon, lat, r; - int nread, nchars; - - nread = sscanf(str, "%lf %lf %lf %lf %lf %lf %lf%n", - &dx, &dy, &dz, &dens, &lon, &lat, &r, &nchars); - /* Check if there are extra characters in the line. This indicates - * that the model is wrong or was generated by tess2prism without the - * --flatten flag */ - if(nread != 7 || str[nchars] != '\0') - { - return 1; - } - prism->x1 = -0.5*dx; - prism->x2 = 0.5*dx; - prism->y1 = -0.5*dy; - prism->y2 = 0.5*dy; - prism->z1 = 0.; - prism->z2 = dz; - prism->density = dens; - prism->lon = lon; - prism->lat = lat; - prism->r = r; - return 0; -} - - -/* Read rectangular prisms from an open file and store them in an array. */ -PRISM * read_prism_model(FILE *modelfile, int pos, int *size) -{ - PRISM *model, *tmp; - int buffsize = 100, line, badinput = 0, error_exit = 0; - char sbuff[10000]; - - /* Start with a single buffer allocation and expand later if necessary */ - model = (PRISM *)malloc(buffsize*sizeof(PRISM)); - if(model == NULL) - { - log_error("problem allocating initial memory to load prism model."); - return NULL; - } - *size = 0; - for(line = 1; !feof(modelfile); line++) - { - if(fgets(sbuff, 10000, modelfile) == NULL) - { - if(ferror(modelfile)) - { - log_error("problem encountered reading line %d.", line); - error_exit = 1; - break; - } - } - else - { - /* Check for comments and blank lines */ - if(sbuff[0] == '#' || sbuff[0] == '\r' || sbuff[0] == '\n') - { - continue; - } - if(*size == buffsize) - { - buffsize += buffsize; - tmp = (PRISM *)realloc(model, buffsize*sizeof(PRISM)); - if(tmp == NULL) - { - /* Need to free because realloc leaves unchanged in case of - error */ - free(model); - log_error("problem expanding memory for prism model.\nModel is too big."); - return NULL; - } - model = tmp; - } - /* Remove any trailing spaces or newlines */ - strstrip(sbuff); - /* Check if r, lon, lat are expected as well */ - if(pos) - { - if(gets_prism_sph(sbuff, &model[*size])) - { - log_warning( - "bad/invalid prism at line %d.", - line); - badinput = 1; - continue; - } - } - else - { - if(gets_prism(sbuff, &model[*size])) - { - log_warning("bad/invalid prism at line %d", line); - badinput = 1; - continue; - } - } - (*size)++; - } - } - if(badinput || error_exit) - { - free(model); - return NULL; - } - /* Adjust the size of the model */ - if(*size != 0) - { - tmp = (PRISM *)realloc(model, (*size)*sizeof(PRISM)); - if(tmp == NULL) - { - /* Need to free because realloc leaves unchanged in case of - error */ - free(model); - log_error("problem freeing excess memory for prism model"); - return NULL; - } - model = tmp; - } - return model; -} - - -/* Read the coordinates, height, thickness and densities of the layers */ -int gets_layers(const char *str, double dlon, double dlat, - TESSEROID *tessbuff, int buffsize) -{ - int nlayers, end, nchars, argsread; - double lon, lat, height, top, thickness, density; - - argsread = sscanf(str, "%lf %lf %lf%n", &lon, &lat, &height, &nchars); - if(argsread != 3) - { - log_error("failed to read lon, lat, and height"); - return -1; - } - if(str[nchars] == '\0') - { - log_error("missing thickness and density values"); - return -1; - } - - top = height + MEAN_EARTH_RADIUS; - end = nchars; - for(nlayers = 0; str[end] != '\0'; nlayers++) - { - if(nlayers == buffsize) - { - log_error("too many layers! Max = %d", buffsize); - return -1; - } - argsread = sscanf(str + end, "%lf %lf%n", &thickness, &density, - &nchars); - if(argsread != 2) - { - log_error("missing thickness or density value"); - return -1; - } - if(thickness < 0) - { - log_error("can't have negative thickness"); - return -1; - } - - tessbuff[nlayers].density = density; - tessbuff[nlayers].w = lon - 0.5*dlon; - tessbuff[nlayers].e = lon + 0.5*dlon; - tessbuff[nlayers].s = lat - 0.5*dlat; - tessbuff[nlayers].n = lat + 0.5*dlat; - tessbuff[nlayers].r2 = top; - tessbuff[nlayers].r1 = top - thickness; - - top -= thickness; - end += nchars; - } - return nlayers; -} - diff --git a/dep/tesseroids/lib/parsers.h b/dep/tesseroids/lib/parsers.h deleted file mode 100644 index 16a7b01..0000000 --- a/dep/tesseroids/lib/parsers.h +++ /dev/null @@ -1,316 +0,0 @@ -/* -Input and output parsing tools. -*/ - - -#ifndef _TESSEROIDS_PARSERS_H_ -#define _TESSEROIDS_PARSERS_H_ - -/* Needed for definition of TESSEROID and PRISM */ -#include "geometry.h" -/* Need for the definition of FILE */ -#include - -/** Store basic input arguments and option flags */ -typedef struct basic_args -{ - char *inputfname; /**< name of the input file */ - int verbose; /**< flag to indicate if verbose printing is enabled */ - int logtofile; /**< flag to indicate if logging to a file is enabled */ - char *logfname; /**< name of the log file */ -} BASIC_ARGS; - - -/** Store input arguments and option flags for tessmass program */ -typedef struct tessmass_args -{ - char *inputfname; /**< name of the input file */ - int verbose; /**< flag to indicate if verbose printing is enabled */ - int logtofile; /**< flag to indicate if logging to a file is enabled */ - char *logfname; /**< name of the log file */ - int use_range; /**< flag to indicate wether to use a density range or not */ - double low_dens; /**< lower bound for density range */ - double high_dens; /**< upper bound for density range */ -} TESSMASS_ARGS; - - -/** Store input arguments and option flags for tess2prism program */ -typedef struct tess2prism_args -{ - char *inputfname; /**< name of the input file */ - int verbose; /**< flag to indicate if verbose printing is enabled */ - int logtofile; /**< flag to indicate if logging to a file is enabled */ - char *logfname; /**< name of the log file */ - int flatten; /**< flag to indicate wether to use a flattened tesseroid or - a prism in spherical coordinates */ -} TESS2PRISM_ARGS; - - -/** Store input arguments and option flags for tessmodgen program */ -typedef struct tessmodgen_args -{ - int verbose; /**< flag to indicate if verbose printing is enabled */ - int logtofile; /**< flag to indicate if logging to a file is enabled */ - char *logfname; /**< name of the log file */ - double dlon; /**< grid spacing in longitude */ - double dlat; /**< grid spacing in latitude */ - double ref; /**< depth of the reference level */ - double dens; /**< density of the tesseroids */ - int fix_density; /**< flag to tell wether using value passed by -d */ -} TESSMODGEN_ARGS; - - -/** Store input arguments and option flags for tesslayers program */ -typedef struct tesslayers_args -{ - int verbose; /**< flag to indicate if verbose printing is enabled */ - int logtofile; /**< flag to indicate if logging to a file is enabled */ - char *logfname; /**< name of the log file */ - double dlon; /**< grid spacing in longitude */ - double dlat; /**< grid spacing in latitude */ -} TESSLAYERS_ARGS; - - -/** Store input arguments and option flags for tessg* programs */ -typedef struct tessg_args -{ - int lon_order; /**< glq order in longitude integration */ - int lat_order; /**< glq order in latitude integration */ - int r_order; /**< glq order in radial integration */ - char *modelfname; /**< name of the file with the tesseroid model */ - int verbose; /**< flag to indicate if verbose printing is enabled */ - int logtofile; /**< flag to indicate if logging to a file is enabled */ - char *logfname; /**< name of the log file */ - int adaptative; /**< flat to indicate wether to use the adaptative size - of tesseroid algorithm */ - double ratio; /**< distance-size ratio used for recusive division */ -} TESSG_ARGS; - - -/** Store input arguments and option flags for tessgrd program */ -typedef struct tessgrd_args -{ - double w; /**< western border of the grid */ - double e; /**< eastern border of the grid */ - double s; /**< southern border of the grid */ - double n; /**< northern border of the grid */ - int nlon; /**< number of grid points in the longitudinal direction */ - int nlat; /**< number of grid points in the latitudinal direction */ - double height; /**< height above geoid of the grid */ - int verbose; /**< flag to indicate if verbose printing is enabled */ - int logtofile; /**< flag to indicate if logging to a file is enabled */ - char *logfname; /**< name of the log file */ -} TESSGRD_ARGS; - - -/** Parse basic command line arguments for programs - -Basic arguments are: -h (for help msg), -v (for verbose), -l (for log file), ---version and an input file. - -@param argc number of command line arguments -@param argv command line arguments -@param progname name of the specific program -@param args to return the parsed arguments -@param print_help pointer to a function that prints the help message for the - program - -@return Return code: - - 0: if all went well - - 1: if there were bad arguments and program should exit - - 2: if printed help or version info and program should exit - - 3: if input file was missing (doesn't log an error) -*/ -extern int parse_basic_args(int argc, char **argv, const char *progname, - BASIC_ARGS *args, void (*print_help)(void)); - - -/** Parse command line arguments for tessmass program - -@param argc number of command line arguments -@param argv command line arguments -@param progname name of the program -@param args to return the parsed arguments -@param print_help pointer to a function that prints the help message for the - program - -@return Return code: - - 0: if all went well - - 1: if there were bad arguments and program should exit - - 2: if printed help or version info and program should exit - - 3: if input file was missing (doesn't log an error) -*/ -extern int parse_tessmass_args(int argc, char **argv, const char *progname, - TESSMASS_ARGS *args, void (*print_help)(void)); - - -/** Parse command line arguments for tess2prism program - -@param argc number of command line arguments -@param argv command line arguments -@param progname name of the program -@param args to return the parsed arguments -@param print_help pointer to a function that prints the help message for the - program - -@return Return code: - - 0: if all went well - - 1: if there were bad arguments and program should exit - - 2: if printed help or version info and program should exit - - 3: if input file was missing (doesn't log an error) -*/ -extern int parse_tess2prism_args(int argc, char **argv, const char *progname, - TESS2PRISM_ARGS *args, void (*print_help)(void)); - - -/** Parse command line arguments for tessmodgen program - -@param argc number of command line arguments -@param argv command line arguments -@param progname name of the program -@param args to return the parsed arguments -@param print_help pointer to a function that prints the help message for the - program - -@return Return code: - - 0: if all went well - - 1: if there were bad arguments and program should exit - - 2: if printed help or version info and program should exit -*/ -extern int parse_tessmodgen_args(int argc, char **argv, const char *progname, - TESSMODGEN_ARGS *args, void (*print_help)(void)); - - -/** Parse command line arguments for tesslayers program - -@param argc number of command line arguments -@param argv command line arguments -@param progname name of the program -@param args to return the parsed arguments -@param print_help pointer to a function that prints the help message for the - program - -@return Return code: - - 0: if all went well - - 1: if there were bad arguments and program should exit - - 2: if printed help or version info and program should exit -*/ -extern int parse_tesslayers_args(int argc, char **argv, const char *progname, - TESSLAYERS_ARGS *args, void (*print_help)(void)); - - -/** Parse command line arguments for tessg* programs - -logs the bad argument warnings using logger.h - -@param argc number of command line arguments -@param argv command line arguments -@param progname name of the specific program -@param args to return the parsed arguments - -@return Return code: - - 0: if all went well - - 1: if there were bad arguments and program should exit - - 2: if printed help or version info and program should exit -*/ -extern int parse_tessg_args(int argc, char **argv, const char *progname, - TESSG_ARGS *args, void (*print_help)(const char *)); - - -/** Parse command line arguments for tessgrd program - -logs the bad argument warnings using logger.h - -@param argc number of command line arguments -@param argv command line arguments -@param args to return the parsed arguments - -@return Return code: - - 0: if all went well - - 1: if there were bad arguments and program should exit - - 2: if printed help or version info and program should exit -*/ -extern int parse_tessgrd_args(int argc, char **argv, TESSGRD_ARGS *args, - void (*print_help)(void)); - - -/** Strip trailing spaces and newlines from the end of a string - -Done IN PLACE! - -@param str string to strip -*/ -extern void strstrip(char *str); - - -/** Read a single tesseroid from a string - -@param str string with the tesseroid parameters -@param tess used to return the read tesseroid - -@return 0 if all went well, 1 if failed to read. -*/ -extern int gets_tess(const char *str, TESSEROID *tess); - - -/** Read tesseroids from an open file and store them in an array. - -Allocates memory. Don't forget to free 'model'! - -@param modelfile open FILE for reading with the tesseroid model -@param size used to return the size of the model read - -@return pointer to array with the model. NULL if there was an error -*/ -extern TESSEROID * read_tess_model(FILE *modelfile, int *size); - - -/** Read a single rectangular prism from a string - -@param str string with the tesseroid parameters -@param prism used to return the read prism - -@return 0 if all went well, 1 if failed to read. -*/ -extern int gets_prism(const char *str, PRISM *prism); - - -/** Read a single rectangular prism and the spherical coordinates of its top -from a string - -@param str string with the tesseroid parameters -@param prism used to return the read prism - -@return 0 if all went well, 1 if failed to read. -*/ -extern int gets_prism_sph(const char *str, PRISM *prism); - - -/** Read rectangular prisms from an open file and store them in an array. - -Allocates memory. Don't forget to free 'model'! - -@param modelfile open FILE for reading with the model -@param pos if not 0 (true) will read the spherical coordinates of the top as -well -@param size used to return the size of the model read - -@return pointer to array with the model. NULL if there was an error -*/ -extern PRISM * read_prism_model(FILE *modelfile, int pos, int *size); - - -/** Read the coordinates, height, thickness and densities of the layers and -convert it to tesseroids. - -@param str string with the coordinates and layer parameters -@param dlon the size of the tesseroid in the longitudinal direction -@param dlat the size of the tesseroid in the latitudinal direction -@param tessbuff buffer used to return the tesseroids corresponding to the layer -@param buffsize the size of the buffer - -@return the number of layers read and converted, -1 if there was an error -*/ -extern int gets_layers(const char *str, double dlon, double dlat, - TESSEROID *tessbuff, int buffsize); -#endif diff --git a/dep/tesseroids/lib/prismg_main.c b/dep/tesseroids/lib/prismg_main.c deleted file mode 100644 index 1a651ba..0000000 --- a/dep/tesseroids/lib/prismg_main.c +++ /dev/null @@ -1,241 +0,0 @@ -/* -Generic main function for the prismg* programs. -*/ - - -#include -#include -#include -#include -#include "logger.h" -#include "version.h" -#include "grav_prism.h" -#include "geometry.h" -#include "parsers.h" -#include "prismg_main.h" - - -char global_progname[100]; - - -/* Print the help message */ -void print_help() -{ - printf("Usage: %s MODELFILE [OPTIONS]\n\n", global_progname); - if(strcmp(global_progname + 5, "pot") == 0) - { - printf("Calculate the potential due to a rectangular prism model on\n"); - } - else - { - printf("Calculate the %s component due to a rectangular prism model on\n", - global_progname + 5); - } - printf("specified observation points using Cartesian coordinates.\n\n"); - printf("All input units are SI! Output is SI, mGal or Eotvos.\n\n"); - printf("Coordinate system:\n"); - printf(" The coordinate system for the prism is x->North, y->East\n"); - printf(" and z->Down\n\n"); - printf("Input:\n"); - printf(" Computation points passed through standard input (stdin).\n"); - printf(" Reads 3 or more values per line and inteprets the first 3 as:\n"); - printf(" Easting(y) Northing(x) height \n"); - printf(" (the coordinates of a computation point in meters).\n"); - printf(" Other values in the line are ignored.\n"); - printf(" Lines that start with # are ignored as comments.\n"); - printf(" Lines should be no longer than 10000 (ten thousand) characters."); - printf(" \n\n"); - printf("Output:\n"); - printf(" Printed to standard output (stdout) in the form:\n"); - printf(" y x height ... result\n"); - printf(" ... represents any values that were read from input and\n"); - printf(" ignored. In other words, the result is appended to the last\n"); - printf(" column of the input. Use this to pipe prism* programs\n"); - printf(" together.\n\n"); - printf(" Comments about the provenance of the data are inserted into\n"); - printf(" the top of the output\n\n"); - printf("MODELFILE: File containing the prism model\n"); - printf(" * Each prism is specified by the values of its borders\n"); - printf(" and density\n"); - printf(" * The file should contain one prism per line\n"); - printf(" * If a line starts with # it will be considered a comment and\n"); - printf(" will be ignored.\n"); - printf(" * Each line should have the following column format:\n"); - printf(" X1 X2 Y1 Y2 Z1 Z2 Density\n\n"); - printf("Options:\n"); - printf(" -h Print instructions.\n"); - printf(" --version Print version and license information.\n"); - printf(" -v Enable verbose printing to stderr.\n"); - printf(" -lFILENAME Print log messages to file FILENAME.\n"); - print_copyright(); -} - - -/* Run the main for a generic prismg* program */ -int run_prismg_main(int argc, char **argv, const char *progname, - double (*field)(PRISM, double, double, double)) -{ - BASIC_ARGS args; - PRISM *model; - int modelsize, rc, line, points = 0, error_exit = 0, bad_input = 0, i; - char buff[10000]; - double x, y, height, res; - FILE *logfile = NULL, *modelfile = NULL; - time_t rawtime; - clock_t tstart; - struct tm * timeinfo; - - log_init(LOG_INFO); - strcpy(global_progname, progname); - rc = parse_basic_args(argc, argv, progname, &args, &print_help); - if(rc == 3) - { - log_error("%s: missing input file", progname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - if(rc == 2) - { - return 0; - } - if(rc == 1) - { - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - /* Set the appropriate logging level and log to file if necessary */ - if(!args.verbose) - { - log_init(LOG_WARNING); - } - if(args.logtofile) - { - logfile = fopen(args.logfname, "w"); - if(logfile == NULL) - { - log_error("unable to create log file %s", args.logfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - log_tofile(logfile, LOG_INFO); - } - - /* Print standard verbose */ - log_info("%s (Tesseroids project) %s", progname, tesseroids_version); - time(&rawtime); - timeinfo = localtime(&rawtime); - log_info("(local time) %s", asctime(timeinfo)); - - /* Read the model file */ - log_info("Reading prism model from file %s", args.inputfname); - modelfile = fopen(args.inputfname, "r"); - if(modelfile == NULL) - { - log_error("failed to open model file %s", args.inputfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - model = read_prism_model(modelfile, 0, &modelsize); - fclose(modelfile); - if(modelsize == 0) - { - log_error("prism file %s is empty", args.inputfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - if(model == NULL) - { - log_error("failed to read model from file %s", args.inputfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - log_info("Total of %d prism(s) read", modelsize); - - /* Print a header on the output with provenance information */ - if(strcmp(progname + 5, "pot") == 0) - { - printf("# Potential calculated with %s %s:\n", progname, - tesseroids_version); - } - else - { - printf("# %s component calculated with %s %s:\n", progname+5, progname, - tesseroids_version); - } - printf("# local time: %s", asctime(timeinfo)); - printf("# model file: %s (%d prisms)\n", args.inputfname, modelsize); - - /* Read each computation point from stdin and calculate */ - log_info("Calculating (this may take a while)..."); - tstart = clock(); - for(line = 1; !feof(stdin); line++) - { - if(fgets(buff, 10000, stdin) == NULL) - { - if(ferror(stdin)) - { - log_error("problem encountered reading line %d", line); - error_exit = 1; - break; - } - } - else - { - /* Check for comments and blank lines */ - if(buff[0] == '#' || buff[0] == '\r' || buff[0] == '\n') - { - printf("%s", buff); - continue; - } - if(sscanf(buff, "%lf %lf %lf", &y, &x, &height) != 3) - { - log_warning("bad/invalid computation point at line %d", line); - log_warning("skipping this line and continuing"); - bad_input++; - continue; - } - /* Need to remove \n and \r from end of buff first to print the - result in the end */ - strstrip(buff); - for(res = 0, i = 0; i < modelsize; i++) - { - res += field(model[i], x, y, -height); - } - printf("%s %.15g\n", buff, res); - points++; - } - } - if(bad_input) - { - log_warning("Encountered %d bad computation points which were skipped", - bad_input); - } - if(error_exit) - { - log_warning("Terminating due to error in input"); - log_warning("Try '%s -h' for instructions", progname); - } - else - { - log_info("Calculated on %d points in %.5g seconds", points, - (double)(clock() - tstart)/CLOCKS_PER_SEC); - } - /* Clean up */ - free(model); - log_info("Done"); - if(args.logtofile) - fclose(logfile); - return 0; -} diff --git a/dep/tesseroids/lib/prismg_main.h b/dep/tesseroids/lib/prismg_main.h deleted file mode 100644 index c8d4c27..0000000 --- a/dep/tesseroids/lib/prismg_main.h +++ /dev/null @@ -1,31 +0,0 @@ -/* -Generic main function for the prismg* programs. -*/ - - -#ifndef _TESSEROIDS_PRISMG_MAIN_H_ -#define _TESSEROIDS_PRISMG_MAIN_H_ - - -/* For the definitions of PRISM */ -#include "geometry.h" - - -/** Print the help message -*/ -extern void print_help(); - - -/** Run the main for a generic prismg* program - -@param argc number of command line arguments -@param argv command line arguments -@param progname name of the specific program -@param field pointer to function that calculates the field of a single prism - -@return 0 is all went well. 1 if failed. -*/ -extern int run_prismg_main(int argc, char **argv, const char *progname, - double (*field)(PRISM, double, double, double)); - -#endif diff --git a/dep/tesseroids/lib/tessg_main.c b/dep/tesseroids/lib/tessg_main.c deleted file mode 100644 index e0bf2d2..0000000 --- a/dep/tesseroids/lib/tessg_main.c +++ /dev/null @@ -1,292 +0,0 @@ -/* -Generic main function for the tessg* programs. -*/ - - -#include -#include -#include -#include -#include "logger.h" -#include "version.h" -#include "grav_tess.h" -#include "glq.h" -#include "constants.h" -#include "geometry.h" -#include "parsers.h" -#include "tessg_main.h" - - -/* Print the help message for tessg* programs */ -void print_tessg_help(const char *progname) -{ - printf("Usage: %s MODELFILE [OPTIONS]\n\n", progname); - if(strcmp(progname + 4, "pot") == 0) - { - printf("Calculate the potential due to a tesseroid model on\n"); - } - else - { - printf("Calculate the %s component due to a tesseroid model on\n", - progname + 4); - } - printf("specified observation points.\n\n"); - printf("Values are calculated in the local coordinate system of the\n"); - printf("observation point: x-> North y-> East z-> Up (away from the\n"); - printf("center of the Earth).\n"); - printf("In order to maintain mainstream convention, component gz is\n"); - printf("calculated with z-> Down.\n\n"); - printf("All units either SI or degrees!\n\n"); - printf("The computation of the gravitational effect of the tesseroids\n"); - printf("is done using the Gauss-Legendre Quadrature (GLQ) numerical\n"); - printf("integration method.\n\n"); - printf("WARNING: Avoid computing directly on top or inside the\n"); - printf(" tesseroids! This will break the GLQ and the formulas!\n"); - printf("\n"); - printf("Input:\n"); - printf(" Computation points passed through standard input (stdin).\n"); - printf(" Reads 3 or more values per line and inteprets the first 3 as:\n"); - printf(" longitude, latitude and height\n"); - printf(" of a computation points. Height should be in meters.\n"); - printf(" Othervalues in the line are ignored.\n"); - printf(" Lines that start with # are ignored as comments.\n"); - printf(" Lines should be no longer than 10000 (ten thousand) characters."); - printf("\n\n"); - printf("Output:\n"); - printf(" Printed to standard output (stdout) in the form:\n"); - printf(" lon lat height ... result\n"); - printf(" ... represents any values that were read from input and\n"); - printf(" ignored. In other words, the result is appended to the last\n"); - printf(" column of the input. Use this to pipe tessg* programs\n"); - printf(" together.\n"); - printf(" * Comments about the provenance of the data are inserted into\n"); - printf(" the top of the output\n\n"); - printf("MODELFILE: File containing the tesseroid model\n"); - printf(" * Each tesseroid is specified by the values of its borders\n"); - printf(" and density\n"); - printf(" * The file should contain one tesseroid per line\n"); - printf(" * Each line should have the following column format:\n"); - printf(" West East South North Top Bottom Density\n"); - printf(" * Top and Bottom should be read as 'height to top' and \n"); - printf(" 'height to bottom' from the mean Earth radius. Use negative\n"); - printf(" values if bellow the surface, for example when modeling\n"); - printf(" deep structures, and positive if above the surface, for\n"); - printf(" example when modeling topography.\n"); - printf(" * If a line starts with # it will be considered a comment and\n"); - printf(" will be ignored.\n\n"); - printf("Options:\n"); - printf(" -a Disable the automatic subdividing of\n"); - printf(" tesseroids. Subdividing is done to ensure the\n"); - printf(" GLQ gives accurate results. ONLY USE THIS\n"); - printf(" OPTION IF YOU KNOW WHAT YOU ARE DOING!\n"); - printf(" -tRATIO Use a custom distance-size ratio for the\n"); - printf(" automatic subdivision of tesseroids. ONLY USE\n"); - printf(" THIS OPTION IF YOU KNOW WHAT YOU ARE DOING!\n"); - printf(" -oOLON/OLAT/OR GLQ order to use in the longitudinal,\n"); - printf(" latitudinal and radial integrations,\n"); - printf(" respectively. Defaults to 2/2/2.\n"); - printf(" Subdividing of tesseroids works best with the\n"); - printf(" default order.\n"); - printf(" -h Print instructions.\n"); - printf(" --version Print version and license information.\n"); - printf(" -v Enable verbose printing to stderr.\n"); - printf(" -lFILENAME Print log messages to file FILENAME.\n"); - print_copyright(); -} - - -/* Run the main for a generic tessg* program */ -int run_tessg_main(int argc, char **argv, const char *progname, - double (*field)(TESSEROID, double, double, double, GLQ, GLQ, GLQ), - double ratio) -{ - TESSG_ARGS args; - GLQ *glq_lon, *glq_lat, *glq_r; - TESSEROID *model; - int modelsize, rc, line, points = 0, error_exit = 0, bad_input = 0; - char buff[10000]; - double lon, lat, height, res; - FILE *logfile = NULL, *modelfile = NULL; - time_t rawtime; - clock_t tstart; - struct tm * timeinfo; - - log_init(LOG_INFO); - - rc = parse_tessg_args(argc, argv, progname, &args, &print_tessg_help); - if(rc == 2) - { - return 0; - } - if(rc == 1) - { - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - - return 1; - } - - /* Set the appropriate logging level and log to file if necessary */ - if(!args.verbose) - { - log_init(LOG_WARNING); - } - if(args.logtofile) - { - logfile = fopen(args.logfname, "w"); - if(logfile == NULL) - { - log_error("unable to create log file %s", args.logfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - log_tofile(logfile, LOG_DEBUG); - } - - /* Check if a custom distance-size ratio is given */ - if(args.ratio != 0) - { - ratio = args.ratio; - } - - /* Print standard verbose */ - log_info("%s (Tesseroids project) %s", progname, tesseroids_version); - time(&rawtime); - timeinfo = localtime(&rawtime); - log_info("(local time) %s", asctime(timeinfo)); - log_info("Use recursive division of tesseroids: %s", - args.adaptative ? "True" : "False"); - log_info("Distance-size ratio for recusive division: %g", ratio); - - /* Make the necessary GLQ structures */ - log_info("Using GLQ orders: %d lon / %d lat / %d r", args.lon_order, - args.lat_order, args.r_order); - glq_lon = glq_new(args.lon_order, -1, 1); - glq_lat = glq_new(args.lat_order, -1, 1); - glq_r = glq_new(args.r_order, -1, 1); - if(glq_lon == NULL || glq_lat == NULL || glq_r == NULL) - { - log_error("failed to create required GLQ structures"); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - - /* Read the tesseroid model file */ - log_info("Reading tesseroid model from file %s", args.modelfname); - modelfile = fopen(args.modelfname, "r"); - if(modelfile == NULL) - { - log_error("failed to open model file %s", args.modelfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - model = read_tess_model(modelfile, &modelsize); - fclose(modelfile); - if(modelsize == 0) - { - log_error("tesseroid file %s is empty", args.modelfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - if(model == NULL) - { - log_error("failed to read model from file %s", args.modelfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - log_info("Total of %d tesseroid(s) read", modelsize); - - /* Print a header on the output with provenance information */ - if(strcmp(progname + 4, "pot") == 0) - { - printf("# Potential calculated with %s %s:\n", progname, - tesseroids_version); - } - else - { - printf("# %s component calculated with %s %s:\n", progname+4, progname, - tesseroids_version); - } - printf("# local time: %s", asctime(timeinfo)); - printf("# model file: %s (%d tesseroids)\n", args.modelfname, modelsize); - printf("# GLQ order: %d lon / %d lat / %d r\n", args.lon_order, - args.lat_order, args.r_order); - printf("# Use recursive division of tesseroids: %s\n", - args.adaptative ? "True" : "False"); - printf("# Distance-size ratio for recusive division: %g\n", ratio); - - /* Read each computation point from stdin and calculate */ - log_info("Calculating (this may take a while)..."); - tstart = clock(); - for(line = 1; fgets(buff, 10000, stdin) != NULL; line++) - { - /* Check for comments and blank lines */ - if(buff[0] == '#' || buff[0] == '\r' || buff[0] == '\n') - { - printf("%s", buff); - continue; - } - /* Need to remove \n and \r from end of buff first to print the - result in the end */ - strstrip(buff); - if(sscanf(buff, "%lf %lf %lf", &lon, &lat, &height) != 3) - { - log_warning("bad/invalid computation point at line %d:", line); - log_warning(" '%s'", buff); - log_warning("skipping this line and continuing"); - bad_input++; - continue; - } - if(args.adaptative) - { - res = calc_tess_model_adapt(model, modelsize, lon, lat, - height + MEAN_EARTH_RADIUS, glq_lon, - glq_lat, glq_r, field, ratio); - } - else - { - res = calc_tess_model(model, modelsize, lon, lat, - height + MEAN_EARTH_RADIUS, glq_lon, - glq_lat, glq_r, field); - } - printf("%s %.15g\n", buff, res); - points++; - } - if(bad_input) - { - log_warning("Encountered %d bad computation points which were skipped", - bad_input); - } - if(error_exit) - { - log_warning("Terminating due to error in input"); - log_warning("Try '%s -h' for instructions", progname); - } - else - { - log_info("Calculated on %d points in %.5g seconds", points, - (double)(clock() - tstart)/CLOCKS_PER_SEC); - } - /* Clean up */ - free(model); - glq_free(glq_lon); - glq_free(glq_lat); - glq_free(glq_r); - log_info("Done"); - if(args.logtofile) - fclose(logfile); - return 0; -} diff --git a/dep/tesseroids/lib/tessg_main.h b/dep/tesseroids/lib/tessg_main.h deleted file mode 100644 index bfaf683..0000000 --- a/dep/tesseroids/lib/tessg_main.h +++ /dev/null @@ -1,36 +0,0 @@ -/* -Generic main function for the tessg* programs. -*/ - - -#ifndef _TESSEROIDS_TESSG_MAIN_H_ -#define _TESSEROIDS_TESSG_MAIN_H_ - - -/* For the definitions of GLQ and TESSEROID */ -#include "glq.h" -#include "geometry.h" - - -/** Print the help message for tessg* programs - -@param progname name of the specific tessg* program -*/ -extern void print_tessg_help(const char *progname); - - -/** Run the main for a generic tessg* program - -@param argc number of command line arguments -@param argv command line arguments -@param progname name of the specific program -@param field pointer to function that calculates the field of a single tesseroid -@param ratio distance-to-size ratio for doing adaptative resizing - -@return 0 is all went well. 1 if failed. -*/ -extern int run_tessg_main(int argc, char **argv, const char *progname, - double (*field)(TESSEROID, double, double, double, GLQ, GLQ, GLQ), - double ratio); - -#endif diff --git a/dep/tesseroids/lib/version.c b/dep/tesseroids/lib/version.c deleted file mode 100644 index 707159b..0000000 --- a/dep/tesseroids/lib/version.c +++ /dev/null @@ -1,32 +0,0 @@ -#include "version.h" - -/* - * The following definitions are copied from the original version.template file. - * And the version number is set to tesseroids-1.6 directly. - * - * By Yi Zhang. 2021-05-05 -*/ - -/* Current project version number */ -const char tesseroids_version[] = "tesseroids-1.6"; - -/* Print version number*/ -void print_version(const char* version_num) -{ - printf("%s", version_num); -} - -/* Print a copyright notice */ -void print_copyright() -{ - printf("\nPart of the Tesseroids package (v%s).\n", tesseroids_version); - printf("\nProject site: \n"); - printf("Report bugs at: "); - printf("\n"); - printf("\nCopyright (C) 2011-$YEAR, Leonardo Uieda.\n"); - printf("This software is distributed under the terms of the BSD License:\n"); - printf("\n"); - printf("This is free software: "); - printf("you are free to change and redistribute it.\n"); - printf("There is NO WARRANTY, to the extent permitted by law.\n"); -} \ No newline at end of file diff --git a/dep/tesseroids/lib/version.h b/dep/tesseroids/lib/version.h deleted file mode 100644 index 3730540..0000000 --- a/dep/tesseroids/lib/version.h +++ /dev/null @@ -1,19 +0,0 @@ -/* -Hold the version number of the project. -*/ - -#ifndef _TESSEROIDS_VERSION_H_ -#define _TESSEROIDS_VERSION_H_ - -#include "stdio.h" - -/** Current project version number */ -extern const char tesseroids_version[]; - -/** Print version number */ -extern void print_version(const char* version_num); - -/** Print version number */ -extern void print_copyright(); - -#endif // _TESSEROIDS_VERSION_H_ diff --git a/dep/tesseroids/test/CMakeLists.txt b/dep/tesseroids/test/CMakeLists.txt deleted file mode 100644 index c130f6e..0000000 --- a/dep/tesseroids/test/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -# 设置编译选项 -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") -if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -lm") -endif() - -# 设置可执行文件的输出地址 -set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin/test) - -# 添加可执行程序名称 -add_executable(test_all test_all.c) -# 链接动态库 -target_link_libraries(test_all PUBLIC tess) \ No newline at end of file diff --git a/dep/tesseroids/test/minunit.h b/dep/tesseroids/test/minunit.h deleted file mode 100755 index 76dcdda..0000000 --- a/dep/tesseroids/test/minunit.h +++ /dev/null @@ -1,112 +0,0 @@ -/* This is a modified version of the MinUnit testing tool. - -As with the original, you may use this code for any purpose, with the -understanding that it comes with NO WARRANTY. - -The original can be found at http://www.jera.com/techinfo/jtns/jtn002.html - -USAGE: -Simmply include minunit.h and implement the testing functions using the -assertions. To run the tests, call mu_run_test. It will run the tests, print -out the verbose and if the test passed or failed. Use mu_print_summary to -print out a summary of the tests (how many were run, how long it took, how many -failed and how many passed). - -Ex: - -#include "minunit.h" -#include "myfuncs.h" - -int tests_run = 0, tests_passed = 0, tests_failed = 0; - -char * test_func1() -{ - // Assert that func1 returns 3 when passed 1.2 - // assertion will return the fail message if fails - mu_assert(func1(1.2) == 3, "func1 did not return 3 when passed 1.2"); - - // If the assertion passed, return 0 - return 0; -} - -int main() -{ - mu_run_test(test_func1, "testing func1"); - - // If passed the time it took to run the tests will print it. Pass 0.0 to - // ommit the time - mu_print_summary(0.0); - - return 0; -} - -Simply compile and run the test program. - -Author: Leonardo Uieda -Date: 25 Jan 2011 -*/ - -#ifndef _MINUNIT_H_ -#define _MINUNIT_H_ - -#include -#include - -/* Global counters. WARNING: Don't forget to initialize in the main program -before running the tests! */ -extern int tests_run, tests_passed, tests_failed; - - -/* Basic assertion. If fails, returns msg. If passes, returns 0 */ -#define mu_assert(test, msg) do { if (!(test)) return msg; } while (0) - - -/* Assert if val equals expect within a certain precision prec */ -#define mu_assert_almost_equals(val, expect, prec, msg) do { \ - if(!(val <= expect + prec && val >= expect - prec)) { return msg; }\ - } while (0) - -/* Assert if val equals expect within a certain precision precision given in % */ -#define mu_assert_almost_equals_rel(val, expect, prec, msg) do { \ - if(fabs(val - expect) > 0.01*prec*fabs(expect)) { return msg; }\ - } while (0) - -/* Run a test case, print the verbose and check if passed or failed */ -int mu_run_test(char *(*test)(void), char *verbose) -{ - char *msg; - - printf("\n%s... ", verbose); - msg = test(); - tests_run++; - if(msg) - { - tests_failed++; - printf("FAIL:%s", msg); - return 1; - } - else - { - tests_passed++; - printf("pass"); - return 0; - } -} - - -/* Print a summary of the tests ran and how long it took */ -#define mu_print_summary(test_time) \ - printf("\n\n-----------------------------------------------------------"); \ - printf("\nRan %d test(s)", tests_run); \ - if(test_time) { printf(" in %g seconds", test_time); } \ - printf(". %d passed and %d failed.\n", tests_passed, tests_failed); - - -/* Utility for copying one array onto another */ -int mu_counter; -#define mu_arraycp(original, copy, size) \ - do {for(mu_counter=0; mu_counter -#include -#include "../lib/logger.h" -#include "minunit.h" -#include "test_glq.c" -#include "test_geometry.c" -#include "test_parsers.c" -#include "test_grav_prism.c" -#include "test_grav_prism_sph.c" -#include "test_grav_tess.c" - -int tests_run = 0, tests_passed = 0, tests_failed = 0; - -int main() -{ - clock_t start = clock(); - int failed = 0; - - log_init(LOG_INFO); - - failed += glq_run_all(); - failed += geometry_run_all(); - failed += parsers_run_all(); - failed += grav_prism_run_all(); - failed += grav_prism_sph_run_all(); - failed += grav_tess_run_all(); - - mu_print_summary((double)(clock() - start)/CLOCKS_PER_SEC); - - if(failed) - { - return 1; - } - else - { - return 0; - } -} diff --git a/dep/tesseroids/test/test_geometry.c b/dep/tesseroids/test/test_geometry.c deleted file mode 100755 index d524182..0000000 --- a/dep/tesseroids/test/test_geometry.c +++ /dev/null @@ -1,289 +0,0 @@ -/* -Unit tests for geometry module. -*/ - -#include -#include -#include "minunit.h" -#include "../lib/geometry.h" -#include "../lib/constants.h" - -/* To store fail messages */ -char msg[1000]; - - -static char * test_split_tess() -{ - TESSEROID tess = {1, 2, 4, -1, 1, 5, 7}, - expect[] = {{1, 2, 3, -1, 0, 5, 6}, {1, 3, 4, -1, 0, 5, 6}, - {1, 2, 3, 0, 1, 5, 6}, {1, 3, 4, 0, 1, 5, 6}, - {1, 2, 3, -1, 0, 6, 7}, {1, 3, 4, -1, 0, 6, 7}, - {1, 2, 3, 0, 1, 6, 7}, {1, 3, 4, 0, 1, 6, 7}}, - res[8]; - int i, n; - - n = split_tess(tess, 2, 2, 2, res); - sprintf(msg, "splitting in %d instead of 8", n); - mu_assert(n == 8, msg); - for(i = 0; i < 8; i++) - { - sprintf(msg, "failed for split %d: %g %g %g %g %g %g %g", i, res[i].w, - res[i].e, res[i].s, res[i].n, res[i].r1, res[i].r2, - res[i].density); - mu_assert(res[i].w == expect[i].w && res[i].e == expect[i].e && - res[i].s == expect[i].s && res[i].n == expect[i].n && - res[i].r1 == expect[i].r1 && res[i].r2 == expect[i].r2 && - res[i].density == expect[i].density, msg); - } - return 0; -} - - -static char * test_split_uneven_tess() -{ - TESSEROID tess = {1, 2, 4, -1, 1, 5, 7}, - expect[] = {{1, 2, 3, -1, 0, 5, 7}, {1, 3, 4, -1, 0, 5, 7}, - {1, 2, 3, 0, 1, 5, 7}, {1, 3, 4, 0, 1, 5, 7}}, - res[4]; - int i, n; - - n = split_tess(tess, 2, 2, 1, res); - sprintf(msg, "splitting in %d instead of 4", n); - mu_assert(n == 4, msg); - for(i = 0; i < 4; i++) - { - sprintf(msg, "failed for split %d: %g %g %g %g %g %g %g", i, res[i].w, - res[i].e, res[i].s, res[i].n, res[i].r1, res[i].r2, - res[i].density); - mu_assert(res[i].w == expect[i].w && res[i].e == expect[i].e && - res[i].s == expect[i].s && res[i].n == expect[i].n && - res[i].r1 == expect[i].r1 && res[i].r2 == expect[i].r2 && - res[i].density == expect[i].density, msg); - } - return 0; -} - -static char * test_prism_volume() -{ - PRISM prisms[4] = { - {0,0,1,0,1,0,1,0,0,0}, - {0,0,2,0,1,0,1,0,0,0}, - {0,0,2,0,2,0,2,0,0,0}, - {0,1,2,-1,1,2,3,0,0,0}}; - double pvolumes[4] = {1, 2, 8, 2}; - double res; - int i; - - for(i = 0; i < 4; i++) - { - res = prism_volume(prisms[i]); - sprintf(msg, "(prism %d) expected %g, got %g", i, pvolumes[i], res); - mu_assert(res == pvolumes[i], msg); - } - - return 0; -} - - -static char * test_tess_volume() -{ - TESSEROID tesses[4] = {{0,0,360,-90,90,0,1}, {0,0,360,0,90,0,1}, - {0,180,360,0,90,0,1}, {0,0,90,-90,0,0,1}}; - double tvolumes[4] = {4.188790205, 2.094395102, 1.047197551, 0.523598776}; - double res; - int i; - - for(i = 0; i < 4; i++) - { - res = tess_volume(tesses[i]); - sprintf(msg, "(tess %d) expected %g, got %g", i, tvolumes[i], res); - mu_assert_almost_equals(res, tvolumes[i], pow(10, -8), msg); - } - - return 0; -} - - -static char * test_tess_total_mass() -{ - TESSEROID tesses[4] = {{1,0,360,-90,90,0,1}, {1,0,360,0,90,0,1}, - {1,180,360,0,90,0,1}, {1,0,90,-90,0,0,1}}; - double tvolumes[4] = {4.188790205, 2.094395102, 1.047197551, 0.523598776}; - double res, expect; - int i; - - res = tess_total_mass(tesses, 4); - - for(expect = 0, i = 0; i < 4; i++) - { - expect += tvolumes[i]; - } - - sprintf(msg, "(tess %d) expected %g, got %g", i, expect, res); - mu_assert_almost_equals(res, expect, pow(10, -6), msg); - - return 0; -} - - -static char * test_tess_range_mass() -{ - TESSEROID tesses[4] = {{1,0,360,-90,90,0,1}, {-1,0,360,0,90,0,1}, - {-1,180,360,0,90,0,1}, {1,0,90,-90,0,0,1}}; - double tvolumes[4] = {4.188790205, 2.094395102, 1.047197551, 0.523598776}; - double res, expect; - - res = tess_range_mass(tesses, 4, 0, 1); - expect = tvolumes[0] + tvolumes[3]; - sprintf(msg, "Expected %g, got %g", expect, res); - mu_assert_almost_equals(res, expect, pow(10, -6), msg); - - return 0; -} - - -static char * test_tess2prism() -{ - int i; - double expect, res; - double lons[4] = {0.5, 185, 180, -2.5}, - lats[4] = {0.5, 82.5, -80, 4}, - rs[4] = {6001000, 6301000, 6000000, 6505000}, - zs[4] = {1000, 1000, 500000, 5000}; - PRISM prism; - TESSEROID tesses[4] = { - {1,0,1,0,1,6000000,6001000}, - {1,180,190,80,85,6300000,6301000}, - {1,160,200,-90,-70,5500000,6000000}, - {1,-10,5,-7,15,6500000,6505000}}; - - for(i = 0; i < 4; i++) - { - tess2prism(tesses[i], &prism); - /* check the volume */ - res = prism_volume(prism); - expect = tess_volume(tesses[i]); - sprintf(msg, "(tess %d) expected volume %g, got %g", i, expect, res); - mu_assert_almost_equals((double)(res - expect)/expect, 0., 0.01, msg); - /* check the mass */ - res *= prism.density; - expect *= tesses[i].density; - sprintf(msg, "(tess %d) expected mass %g, got %g", i, expect, res); - mu_assert_almost_equals((double)(res - expect)/expect, 0., 0.01, msg); - /* check the coordinates */ - res = prism.lon; - expect = lons[i]; - sprintf(msg, "(tess %d) expected lon %g, got %g", i, expect, res); - mu_assert_almost_equals((double)(res - expect)/expect, 0., 0.0001, msg); - res = prism.lat; - expect = lats[i]; - sprintf(msg, "(tess %d) expected lat %g, got %g", i, expect, res); - mu_assert_almost_equals((double)(res - expect)/expect, 0., 0.0001, msg); - res = prism.r; - expect = rs[i]; - sprintf(msg, "(tess %d) expected r %g, got %g", i, expect, res); - mu_assert_almost_equals((double)(res - expect)/expect, 0., 0.0001, msg); - res = prism.z1; - expect = 0.; - sprintf(msg, "(tess %d) expected z1 %g, got %g", i, expect, res); - mu_assert_almost_equals(res, 0., 0.000000000000001, msg); - res = prism.z2; - expect = zs[i]; - sprintf(msg, "(tess %d) expected z2 %g, got %g", i, expect, res); - mu_assert_almost_equals((double)(res - expect)/expect, 0., 0.0001, msg); - } - - return 0; -} - - -static char * test_tess2prism_flatten() -{ - double expect, res; - PRISM prism; - int i; - TESSEROID tesses[4] = { - {1,0,1,0,1,6000000,6001000}, - {1,180,190,80,85,6300000,6301000}, - {1,160,200,-90,-70,5500000,6000000}, - {1,-10,5,-7,15,6500000,6505000}}; - - for(i = 0; i < 4; i++) - { - tess2prism_flatten(tesses[i], &prism); - res = prism_volume(prism)*prism.density; - expect = tess_volume(tesses[i])*tesses[i].density; - sprintf(msg, "(tess %d) expected mass %g, got %g", i, expect, res); - mu_assert_almost_equals((double)(res - expect)/expect, 0., 0.01, msg); - } - - return 0; -} - - -static char * test_tess2sphere() -{ - double expect, res; - SPHERE sphere; - int i; - TESSEROID tesses[4] = { - {1,0,1,0,1,6000000,6001000}, - {1,180,190,80,85,6300000,6301000}, - {1,160,200,-90,-70,5500000,6000000}, - {1,-10,5,-7,15,6500000,6505000}}; - - for(i = 0; i < 4; i++) - { - tess2sphere(tesses[i], &sphere); - res = sphere_volume(sphere); - expect = tess_volume(tesses[i]); - sprintf(msg, "(tess %d) expected volume %g, got %g", i, expect, res); - mu_assert_almost_equals(res/expect, 1., 0.01, msg); - } - - return 0; -} - - -static char * test_prism2sphere() -{ - double expect, res; - SPHERE sphere; - int i; - PRISM prisms[4] = { - {1,0,1000,0,2000,100,2000,0,0,0}, - {1,-500,200,300,500,-1000,4000,0,0,0}, - {1,-10000000,5000000,5000000,8000000,0,3000000,0,0,0}, - {1,-1000000,50000,500000,800000,0,300000,0,0,0}}; - - for(i = 0; i < 4; i++) - { - prism2sphere(prisms[i], 0., 0., 0., &sphere); - res = sphere_volume(sphere); - expect = prism_volume(prisms[i]); - sprintf(msg, "(prism %d) expected volume %g, got %g", i, expect, res); - mu_assert_almost_equals(res/expect, 1., 0.001, msg); - } - - return 0; -} - - -int geometry_run_all() -{ - int failed = 0; - failed += mu_run_test(test_prism_volume, "prism_volume return correct results"); - failed += mu_run_test(test_tess_volume, "tess_volume return correct results"); - failed += mu_run_test(test_tess_total_mass, "tess_total_mass returns correct result"); - failed += mu_run_test(test_tess_range_mass, "tess_range_mass returns correct result"); - failed += mu_run_test(test_tess2prism, "tess2prism produces prism with right volume"); - failed += mu_run_test(test_tess2prism_flatten, - "tess2prism_flatten produces prism with right mass"); - failed += mu_run_test(test_tess2sphere, - "tess2sphere produces sphere with right volume"); - failed += mu_run_test(test_prism2sphere, - "prism2sphere produces sphere with right volume"); - failed += mu_run_test(test_split_tess, "split_tess returns correct results for 2, 2, 2 split"); - failed += mu_run_test(test_split_uneven_tess, "split_tess returns correct results for 2, 2, 1 split"); - return failed; -} diff --git a/dep/tesseroids/test/test_glq.c b/dep/tesseroids/test/test_glq.c deleted file mode 100755 index 2118ce7..0000000 --- a/dep/tesseroids/test/test_glq.c +++ /dev/null @@ -1,514 +0,0 @@ -/* -Unit tests for GLQ functions. -*/ - -#include -#include -#include -#include "minunit.h" -#include "../lib/glq.h" -#include "../lib/constants.h" - -/* Test data taken from: - http://mathworld.wolfram.com/Legendre-GaussQuadrature.html */ -double o2roots[2] = {-0.577350269, 0.577350269}, - o3roots[3] = {-0.774596669, 0., 0.774596669}, - o4roots[4] = {-0.861136312, -0.339981044, 0.339981044, 0.861136312}, - o5roots[5] = {-0.906179846, -0.53846931, 0., 0.53846931, 0.906179846}, - o19roots[19] = {-0.992406843843584350, - -0.960208152134830020, - -0.903155903614817900, - -0.822714656537142820, - -0.720966177335229390, - -0.600545304661680990, - -0.464570741375960940, - -0.316564099963629830, - -0.160358645640225370, - 0.000000000000000000, - 0.160358645640225370, - 0.316564099963629830, - 0.464570741375960940, - 0.600545304661680990, - 0.720966177335229390, - 0.822714656537142820, - 0.903155903614817900, - 0.960208152134830020, - 0.992406843843584350}; - -double o2weights[2] = {1., 1.}, - o3weights[3] = {0.555555556, 0.888888889, 0.555555556}, - o4weights[4] = {0.347854845, 0.652145155, 0.652145155, 0.347854845}, - o5weights[5] = {0.236926885, 0.47862867, 0.568888889, 0.47862867, - 0.236926885}; - -/* To store fail messages */ -char msg[1000]; - -/* UNIT TESTS */ - -static char * test_glq_next_root_fail() -{ - double roots[10]; - int i, order, rc; - - /* Test order fail */ - i = 1; - order = -1; - rc = glq_next_root(0.5, i, order, roots); - sprintf(msg, "(order %d) return code %d, expected 1", order, rc); - mu_assert(rc == 1, msg); - - order = 0; - rc = glq_next_root(-0.1, i, order, roots); - sprintf(msg, "(order %d) return code %d, expected 1", order, rc); - mu_assert(rc == 1, msg); - - order = 1; - rc = glq_next_root(1.1, i, order, roots); - sprintf(msg, "(order %d) return code %d, expected 1", order, rc); - mu_assert(rc == 1, msg); - - /* Test index fail */ - order = 5; - i = -1; - rc = glq_next_root(0.5, i, order, roots); - sprintf(msg, "(index %d, order %d) return code %d, expected 2", order, i, - rc); - mu_assert(rc == 2, msg); - - i = 5; - rc = glq_next_root(0.5, i, order, roots); - sprintf(msg, "(index %d, order %d) return code %d, expected 2", order, i, - rc); - mu_assert(rc == 2, msg); - - i = 10; - rc = glq_next_root(0.5, i, order, roots); - sprintf(msg, "(index %d, order %d) return code %d, expected 2", order, i, - rc); - mu_assert(rc == 2, msg); - - return 0; -} - - -static char * test_glq_next_root() -{ - double prec = pow(10, -9), root[19], initial; - int rc, i, order; - - /* Test order 2 */ - order = 2; - for(i = 0; i < order; i++) - { - initial = cos(PI*((order - i) - 0.25)/(order + 0.5)); - - rc = glq_next_root(initial, i, order, root); - - sprintf(msg, "(order %d, root %d) return code %d, expected 0", order, i, - rc); - mu_assert(rc == 0, msg); - - sprintf(msg, "(order %d, root %d) expected %.15f got %.15f", order, i, - o2roots[i], root[i]); - mu_assert_almost_equals(root[i], o2roots[i], prec, msg); - } - - /* Test order 3 */ - order = 3; - for(i = 0; i < order; i++) - { - initial = cos(PI*((order - i) - 0.25)/(order + 0.5)); - - rc = glq_next_root(initial, i, order, root); - - sprintf(msg, "(order %d, root %d) return code %d, expected 0", order, i, - rc); - mu_assert(rc == 0, msg); - - sprintf(msg, "(order %d, root %d) expected %.15f got %.15f", order, i, - o3roots[i], root[i]); - mu_assert_almost_equals(root[i], o3roots[i], prec, msg); - } - - /* Test order 4 */ - order = 4; - for(i = 0; i < order; i++) - { - initial = cos(PI*((order - i) - 0.25)/(order + 0.5)); - - rc = glq_next_root(initial, i, order, root); - - sprintf(msg, "(order %d, root %d) return code %d, expected 0", order, i, - rc); - mu_assert(rc == 0, msg); - - sprintf(msg, "(order %d, root %d) expected %.15f got %.15f", order, i, - o4roots[i], root[i]); - mu_assert_almost_equals(root[i], o4roots[i], prec, msg); - } - - /* Test order 5 */ - order = 5; - for(i = 0; i < order; i++) - { - initial = cos(PI*((order - i) - 0.25)/(order + 0.5)); - - rc = glq_next_root(initial, i, order, root); - - sprintf(msg, "(order %d, root %d) return code %d, expected 0", order, i, - rc); - mu_assert(rc == 0, msg); - - sprintf(msg, "(order %d, root %d) expected %.15f got %.15f", order, i, - o5roots[i], root[i]); - mu_assert_almost_equals(root[i], o5roots[i], prec, msg); - } - - /* Test order 19 */ - order = 19; - for(i = 0; i < order; i++) - { - initial = cos(PI*((order - i) - 0.25)/(order + 0.5)); - - rc = glq_next_root(initial, i, order, root); - - sprintf(msg, "(order %d, root %d) return code %d, expected 0", order, i, - rc); - mu_assert(rc == 0, msg); - - sprintf(msg, "(order %d, root %d) expected %.15f got %.15f", order, i, - o19roots[i], root[i]); - mu_assert_almost_equals(root[i], o19roots[i], prec, msg); - } - - return 0; -} - - -static char * test_glq_weights() -{ - double prec = pow(10, -9), weights[5]; - int rc, i, order; - - /* Test order 2 */ - order = 2; - - rc = glq_weights(order, o2roots, weights); - - sprintf(msg, "(order %d) return code %d, expected 0", order, rc); - mu_assert(rc == 0, msg); - - for(i = 0; i < order; i++) - { - sprintf(msg, "(order %d, weight %d) expected %.15f got %.15f", order, - i, o2weights[i], weights[i]); - mu_assert_almost_equals(weights[i], o2weights[i], prec, msg); - } - - /* Test order 3 */ - order = 3; - - rc = glq_weights(order, o3roots, weights); - - sprintf(msg, "(order %d) return code %d, expected 0", order, rc); - mu_assert(rc == 0, msg); - - for(i = 0; i < order; i++) - { - sprintf(msg, "(order %d, weight %d) expected %.15f got %.15f", order, - i, o3weights[i], weights[i]); - mu_assert_almost_equals(weights[i], o3weights[i], prec, msg); - } - - /* Test order 4 */ - order = 4; - - rc = glq_weights(order, o4roots, weights); - - sprintf(msg, "(order %d) return code %d, expected 0", order, rc); - mu_assert(rc == 0, msg); - - for(i = 0; i < order; i++) - { - sprintf(msg, "(order %d, weight %d) expected %.15f got %.15f", order, - i, o4weights[i], weights[i]); - mu_assert_almost_equals(weights[i], o4weights[i], prec, msg); - } - - /* Test order 5 */ - order = 5; - - rc = glq_weights(order, o5roots, weights); - - sprintf(msg, "(order %d) return code %d, expected 0", order, rc); - mu_assert(rc == 0, msg); - - for(i = 0; i < order; i++) - { - sprintf(msg, "(order %d, weight %d) expected %.15f got %.15f", order, - i, o5weights[i], weights[i]); - mu_assert_almost_equals(weights[i], o5weights[i], prec, msg); - } - - return 0; -} - - -static char * test_glq_nodes() -{ - double prec = pow(10, -9), nodes[19]; - int rc, i, order; - - /* Test order 2 */ - order = 2; - - rc = glq_nodes(order, nodes); - - sprintf(msg, "(order %d) return code %d, expected 0", order, rc); - mu_assert(rc == 0, msg); - - for(i = 0; i < order; i++) - { - sprintf(msg, "(order %d, node %d) expected %.15f got %.15f", order, - i, o2roots[i], nodes[i]); - mu_assert_almost_equals(nodes[i], o2roots[i], prec, msg); - } - - /* Test order 3 */ - order = 3; - - rc = glq_nodes(order, nodes); - - sprintf(msg, "(order %d) return code %d, expected 0", order, rc); - mu_assert(rc == 0, msg); - - for(i = 0; i < order; i++) - { - sprintf(msg, "(order %d, node %d) expected %.15f got %.15f", order, - i, o3roots[i], nodes[i]); - mu_assert_almost_equals(nodes[i], o3roots[i], prec, msg); - } - - /* Test order 4 */ - order = 4; - - rc = glq_nodes(order, nodes); - - sprintf(msg, "(order %d) return code %d, expected 0", order, rc); - mu_assert(rc == 0, msg); - - for(i = 0; i < order; i++) - { - sprintf(msg, "(order %d, node %d) expected %.15f got %.15f", order, - i, o4roots[i], nodes[i]); - mu_assert_almost_equals(nodes[i], o4roots[i], prec, msg); - } - - /* Test order 5 */ - order = 5; - - rc = glq_nodes(order, nodes); - - sprintf(msg, "(order %d) return code %d, expected 0", order, rc); - mu_assert(rc == 0, msg); - - for(i = 0; i < order; i++) - { - sprintf(msg, "(order %d, node %d) expected %.15f got %.15f", order, - i, o5roots[i], nodes[i]); - mu_assert_almost_equals(nodes[i], o5roots[i], prec, msg); - } - - /* Test order 19 */ - order = 19; - - rc = glq_nodes(order, nodes); - - sprintf(msg, "(order %d) return code %d, expected 0", order, rc); - mu_assert(rc == 0, msg); - - for(i = 0; i < order; i++) - { - sprintf(msg, "(order %d, node %d) expected %.15f got %.15f", order, - i, o19roots[i], nodes[i]); - mu_assert_almost_equals(nodes[i], o19roots[i], prec, msg); - } - - return 0; -} - - -static char * test_glq_set_limits() -{ - double prec = pow(10, -9), unscaled[5], scaled[5], a, b, correct; - int rc, i; - GLQ glq; - - glq.nodes_unscaled = unscaled; - glq.nodes = scaled; - - glq.order = 2; - a = -2.54; - b = 14.9; - mu_arraycp(o2roots, glq.nodes_unscaled, glq.order); - - rc = glq_set_limits(a, b, &glq); - sprintf(msg, "(order %d, a %g, b %g) return code %d, expected 0", glq.order, - a, b, rc); - mu_assert(rc == 0, msg); - - for(i = 0; i < glq.order; i++) - { - correct = 8.72*o2roots[i] + 6.18; - sprintf(msg, - "(order %d, index %d, a %g, b %g) expected %.15f, got %.15f", - glq.order, i, a, b, correct, glq.nodes[i]); - mu_assert_almost_equals(glq.nodes[i], correct, prec, msg); - } - - glq.order = 3; - a = 125.6; - b = 234.84; - mu_arraycp(o3roots, glq.nodes_unscaled, glq.order); - - rc = glq_set_limits(a, b, &glq); - sprintf(msg, "(order %d, a %g, b %g) return code %d, expected 0", glq.order, - a, b, rc); - mu_assert(rc == 0, msg); - - for(i = 0; i < glq.order; i++) - { - correct = 54.62*o3roots[i] + 180.22; - sprintf(msg, - "(order %d, index %d, a %g, b %g) expected %.15f, got %.15f", - glq.order, i, a, b, correct, glq.nodes[i]); - mu_assert_almost_equals(glq.nodes[i], correct, prec, msg); - } - - glq.order = 4; - a = 3.5; - b = -12.4; - mu_arraycp(o4roots, glq.nodes_unscaled, glq.order); - - rc = glq_set_limits(a, b, &glq); - sprintf(msg, "(order %d, a %g, b %g) return code %d, expected 0", glq.order, - a, b, rc); - mu_assert(rc == 0, msg); - - for(i = 0; i < glq.order; i++) - { - correct = -7.95*o4roots[i] - 4.45; - sprintf(msg, - "(order %d, index %d, a %g, b %g) expected %.15f, got %.15f", - glq.order, i, a, b, correct, glq.nodes[i]); - mu_assert_almost_equals(glq.nodes[i], correct, prec, msg); - } - - glq.order = 5; - a = 0.0; - b = 0.0; - mu_arraycp(o5roots, glq.nodes_unscaled, glq.order); - - rc = glq_set_limits(a, b, &glq); - sprintf(msg, "(order %d, a %g, b %g) return code %d, expected 0", glq.order, - a, b, rc); - mu_assert(rc == 0, msg); - - for(i = 0; i < glq.order; i++) - { - correct = 0.0; - sprintf(msg, - "(order %d, index %d, a %g, b %g) expected %.15f, got %.15f", - glq.order, i, a, b, correct, glq.nodes[i]); - mu_assert_almost_equals(glq.nodes[i], correct, prec, msg); - } - - return 0; -} - - -static char * test_glq_intcos() -{ - double result, expected; - double angles[6]; - int i, t, orders[6] = {2, 3, 5, 8, 15, 25}; - GLQ *glq; - - angles[0] = PI*0.1; - angles[1] = PI; - angles[2] = PI*1.2; - angles[3] = PI*1.9; - angles[4] = PI*4.3; - angles[5] = PI*6.9; - - for(t = 0; t < 6; t++) - { - glq = glq_new(orders[t], 0., angles[t]); - - if(glq == NULL) - { - sprintf(msg, - "(order %d, angle %g) failed to create new GLQ struct", - orders[t], angles[t]); - mu_assert(0, msg); - } - - for(i = 0, result = 0; i < orders[t]; i++) - { - result += glq->weights[i]*cos(glq->nodes[i]); - } - result *= 0.5*angles[t]; - - expected = sin(angles[t]); - - glq_free(glq); - - sprintf(msg, "(order %d, angle %g) expected %f, got %f", orders[t], - angles[t], expected, result); - mu_assert_almost_equals(result, expected, pow(10, -5), msg); - } - - return 0; -} - -static char * test_glq_sincos() -{ - GLQ *glq; - int i; - double result, d2r = PI/180.; - - glq = glq_new(10, 0, 90); - glq_precompute_sincos(glq); - - for(i = 0; i < glq->order; i++) - { - result = sin(d2r*glq->nodes[i]); - sprintf(msg, "expected sin(%g)=%g, got %g", glq->nodes[i], result, - glq->nodes_sin[i]); - mu_assert_almost_equals(result, glq->nodes_sin[i], pow(10, -15), msg); - result = cos(d2r*glq->nodes[i]); - sprintf(msg, "expected cos(%g)=%g, got %g", glq->nodes[i], result, - glq->nodes_cos[i]); - mu_assert_almost_equals(result, glq->nodes_cos[i], pow(10, -15), msg); - } - return 0; -} - - -int glq_run_all() -{ - int failed = 0; - failed += mu_run_test(test_glq_next_root_fail, - "glq_next_root returns correct fail code"); - failed += mu_run_test(test_glq_next_root, "glq_next_root produces correct results"); - failed += mu_run_test(test_glq_nodes, "glq_nodes produces correct results"); - failed += mu_run_test(test_glq_set_limits, - "glq_set_limits produces correct results"); - failed += mu_run_test(test_glq_weights, "glq_weights produces correct results"); - failed += mu_run_test(test_glq_intcos, - "glq cossine integration produces correct results"); - failed += mu_run_test(test_glq_sincos, - "glq precomputes sin and cos correctly"); - return failed; -} diff --git a/dep/tesseroids/test/test_grav_prism.c b/dep/tesseroids/test/test_grav_prism.c deleted file mode 100755 index feca691..0000000 --- a/dep/tesseroids/test/test_grav_prism.c +++ /dev/null @@ -1,888 +0,0 @@ -/* -Unit tests for grav_prism.c functions. -*/ - -#include -#include -#include "../lib/grav_sphere.h" -#include "../lib/grav_prism.h" -#include "../lib/geometry.h" -#include "../lib/constants.h" - - -char msg[1000]; - -int sign(double x) -{ - if(x >= 0) - { - return 1; - } - else - { - return -1; - } -} - -static char * test_safe_atan2_sign() -{ - double res, - y[] = {1, -1, 1, -1}, - x[] = {1, 1, -1, -1}; - register int i; - - for(i = 0; i < 4; i++) - { - res = safe_atan2(y[i], x[i]); - sprintf(msg, "safe_atan2=%g for y=%g x=%g", res, y[i], x[i]); - mu_assert(sign(y[i]*x[i]) == sign(res), msg); - } - return 0; -} - -static char * test_safe_atan2_zero() -{ - double res, - x[] = {1, -1, 0}; - register int i; - for(i = 0; i < 3; i++) - { - res = safe_atan2(0, x[i]); - sprintf(msg, "safe_atan2=%g for x=%g", res, x[i]); - mu_assert(res == 0, msg); - } - return 0; -} - -static char * test_pot_around() -{ - PRISM prism = {1000,-3000,3000,-3000,3000,-3000,3000,0,0,0}; - double planes[6], dist = 5000, i, j; - register int p, k; - - for(i = -10000; i <= 10000; i += 100) - { - for(j = -10000; j <= 10000; j += 100) - { - planes[0] = prism_pot(prism, i, j, -dist); - planes[1] = prism_pot(prism, i, j, dist); - planes[2] = prism_pot(prism, -dist, i, j); - planes[3] = prism_pot(prism, dist, i, j); - planes[4] = prism_pot(prism, i, -dist, j); - planes[5] = prism_pot(prism, i, dist, j); - for(p = 0; p < 5; p++) - { - for(k = p + 1; k < 6; k++) - { - sprintf(msg, "point (%g, %g) on planes %d n %d = (%.8f %.8f)", - i, j, p, k, planes[p], planes[k]); - mu_assert_almost_equals(planes[p], planes[k], 10E-10, msg); - } - } - } - } - return 0; -} - -static char * test_gx_around() -{ - PRISM prism = {1000,-3000,3000,-3000,3000,-3000,3000,0,0,0}; - double gz, above, below, north, south, east, west, dist = 5000, i, j; - - for(i = -10000; i <= 10000; i += 100) - { - for(j = -10000; j <= 10000; j += 100) - { - above = prism_gx(prism, i, j, -dist); - below = prism_gx(prism, i, j, dist); - north = prism_gx(prism, dist, i, j); - south = prism_gx(prism, -dist, i, j); - east = prism_gx(prism, i, dist, j); - west = prism_gx(prism, i, -dist, j); - gz = prism_gz(prism, i, j, -dist); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "above", "below", above, below); - mu_assert_almost_equals(above, below, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "north", "south", north, south); - mu_assert_almost_equals(north, -south, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "east", "west", east, west); - mu_assert_almost_equals(east, west, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "east", "above", east, above); - mu_assert_almost_equals(east, above, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "north", "gz", north, gz); - mu_assert_almost_equals(north, -gz, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "south", "gz", south, gz); - mu_assert_almost_equals(south, gz, 10E-10, msg); - } - } - return 0; -} - -static char * test_gy_around() -{ - PRISM prism = {1000,-3000,3000,-3000,3000,-3000,3000,0,0,0}; - double gz, above, below, north, south, east, west, dist = 5000, i, j; - - for(i = -10000; i <= 10000; i += 100) - { - for(j = -10000; j <= 10000; j += 100) - { - above = prism_gy(prism, i, j, -dist); - below = prism_gy(prism, i, j, dist); - north = prism_gy(prism, dist, j, i); - south = prism_gy(prism, -dist, j, i); - east = prism_gy(prism, i, dist, j); - west = prism_gy(prism, i, -dist, j); - gz = prism_gz(prism, i, j, -dist); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "above", "below", above, below); - mu_assert_almost_equals(above, below, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "north", "south", north, south); - mu_assert_almost_equals(north, south, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "east", "west", east, west); - mu_assert_almost_equals(east, -west, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "north", "above", north, above); - mu_assert_almost_equals(north, above, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "east", "gz", east, gz); - mu_assert_almost_equals(east, -gz, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "west", "gz", west, gz); - mu_assert_almost_equals(west, gz, 10E-10, msg); - } - } - return 0; -} - -static char * test_gz_around() -{ - PRISM prism = {1000,-3000,3000,-3000,3000,-3000,3000,0,0,0}; - double gy, above, below, north, south, east, west, dist = 5000, i, j; - - for(i = -10000; i <= 10000; i += 100) - { - for(j = -10000; j <= 10000; j += 100) - { - above = prism_gz(prism, i, j, -dist); - below = prism_gz(prism, i, j, dist); - north = prism_gz(prism, dist, i, j); - south = prism_gz(prism, -dist, i, j); - east = prism_gz(prism, i, dist, j); - west = prism_gz(prism, i, -dist, j); - gy = prism_gy(prism, i, j, -dist); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "above", "below", above, below); - mu_assert_almost_equals(above, -below, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "north", "south", north, south); - mu_assert_almost_equals(north, south, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "east", "west", east, west); - mu_assert_almost_equals(east, west, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "north", "gy", north, gy); - mu_assert_almost_equals(north, gy, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "south", "gy", south, gy); - mu_assert_almost_equals(south, gy, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "east", "gy", east, gy); - mu_assert_almost_equals(east, gy, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "west", "gy", west, gy); - mu_assert_almost_equals(west, gy, 10E-10, msg); - } - } - return 0; -} - -static char * test_gxx_around() -{ - PRISM prism = {1000,-3000,3000,-3000,3000,-3000,3000,0,0,0}; - double gzz, above, below, north, south, east, west, dist = 5000, i, j; - - for(i = -10000; i <= 10000; i += 100) - { - for(j = -10000; j <= 10000; j += 100) - { - above = prism_gxx(prism, i, j, -dist); - below = prism_gxx(prism, i, j, dist); - north = prism_gxx(prism, dist, i, j); - south = prism_gxx(prism, -dist, i, j); - east = prism_gxx(prism, i, dist, j); - west = prism_gxx(prism, i, -dist, j); - gzz = prism_gzz(prism, i, j, -dist); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "above", "below", above, below); - mu_assert_almost_equals(above, below, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "north", "south", north, south); - mu_assert_almost_equals(north, south, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "east", "west", east, west); - mu_assert_almost_equals(east, west, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "east", "above", east, above); - mu_assert_almost_equals(east, above, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "north", "gzz", north, gzz); - mu_assert_almost_equals(north, gzz, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "south", "gzz", south, gzz); - mu_assert_almost_equals(south, gzz, 10E-10, msg); - } - } - return 0; -} - -static char * test_gxy_around() -{ - PRISM prism = {1000, -3000, 3000, -3000, 3000, -3000, 3000, 0, 0, 0}; - double gyz, above, below, north, south, east, west, dist = 5000, i, j; - - for(i = -10000; i <= 10000; i += 100) - { - for(j = -10000; j <= 10000; j += 100) - { - above = prism_gxy(prism, i, j, -dist); - below = prism_gxy(prism, i, j, dist); - north = prism_gxy(prism, dist, j, i); - south = prism_gxy(prism, -dist, j, i); - east = prism_gxy(prism, j, dist, i); - west = prism_gxy(prism, j, -dist, i); - gyz = prism_gyz(prism, i, j, -dist); - sprintf(msg, " p (%g %g %g) on planes %s n %s = (%.15f n %.15f)", - i, j, dist, "above", "below", above, below); - mu_assert_almost_equals(above, below, 1e-5, msg); - sprintf(msg, " p (%g %g %g) on planes %s n %s = (%.15f n %.15f)", - i, j, dist, "north", "south", north, south); - mu_assert_almost_equals(north, -south, 1e-5, msg); - sprintf(msg, " p (%g %g %g) on planes %s n %s = (%.15f n %.15f)", - i, j, dist, "east", "west", east, west); - mu_assert_almost_equals(east, -west, 1e-5, msg); - sprintf(msg, " p (%g %g %g) on planes %s n %s = (%.15f n %.15f)", - i, j, dist, "east", "north", east, north); - mu_assert_almost_equals(east, north, 1e-5, msg); - sprintf(msg, " p (%g %g %g) on planes %s n %s = (%.15f n %.15f)", - i, j, dist, "west", "south", west, south); - mu_assert_almost_equals(west, south, 1e-5, msg); - sprintf(msg, " p (%g %g %g) on planes %s n %s = (%.15f n %.15f)", - i, j, dist, "north", "gyz", north, gyz); - mu_assert_almost_equals(north, -gyz, 1e-5, msg); - sprintf(msg, " p (%g %g %g) on planes %s n %s = (%.15f n %.15f)", - i, j, dist, "south", "gyz", south, gyz); - mu_assert_almost_equals(south, gyz, 1e-5, msg); - } - } - - return 0; -} - -static char * test_gxz_around() -{ - PRISM prism = {3000, -3000, 3000, -3000, 3000, -3000, 3000, 0, 0, 0}; - double other, above, below, north, south, east, west, dist = 5000, i, j; - - for(i = -10000; i <= 10000; i += 100) - { - for(j = -10000; j <= 10000; j += 100) - { - above = prism_gxz(prism, i, j, -dist); - below = prism_gxz(prism, i, j, dist); - north = prism_gxz(prism, dist, j, i); - south = prism_gxz(prism, -dist, j, i); - east = prism_gxz(prism, i, dist, j); - west = prism_gxz(prism, i, -dist, j); - other = prism_gxy(prism, i, j, -dist); - sprintf(msg, " p (%g %g %g) on planes %s n %s = (%.15f %.15f)", - i, j, dist, "above", "below", above, below); - mu_assert_almost_equals(above, -below, 1e-5, msg); - sprintf(msg, " p (%g %g %g) on planes %s n %s = (%.15f %.15f)", - i, j, dist, "north", "south", north, south); - mu_assert_almost_equals(north, -south, 1e-5, msg); - sprintf(msg, " p (%g %g %g) on planes %s n %s = (%.15f %.15f)", - i, j, dist, "east", "west", east, west); - mu_assert_almost_equals(east, west, 1e-5, msg); - sprintf(msg, " p (%g %g %g) on planes %s n %s = (%.15f %.15f)", - i, j, dist, "below", "north", below, north); - mu_assert_almost_equals(below, north, 1e-5, msg); - sprintf(msg, " p (%g %g %g) on planes %s n %s = (%.15f %.15f)", - i, j, dist, "above", "south", above, south); - mu_assert_almost_equals(above, south, 1e-5, msg); - sprintf(msg, " p (%g %g %g) on planes %s n %s = (%.15f %.15f)", - i, j, dist, "east", "gxy", east, other); - mu_assert_almost_equals(east, other, 1e-5, msg); - sprintf(msg, " p (%g %g %g) on planes %s n %s = (%.15f %.15f)", - i, j, dist, "west", "gxy", west, other); - mu_assert_almost_equals(west, other, 1e-5, msg); - } - } - return 0; -} - -static char * test_gyy_around() -{ - PRISM prism = {1000,-3000,3000,-3000,3000,-3000,3000,0,0,0}; - double other, above, below, north, south, east, west, dist = 5000, i, j; - - for(i = -10000; i <= 10000; i += 100) - { - for(j = -10000; j <= 10000; j += 100) - { - above = prism_gyy(prism, i, j, -dist); - below = prism_gyy(prism, i, j, dist); - north = prism_gyy(prism, dist, j, i); - south = prism_gyy(prism, -dist, j, i); - east = prism_gyy(prism, i, dist, j); - west = prism_gyy(prism, i, -dist, j); - other = prism_gzz(prism, i, j, -dist); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "above", "below", above, below); - mu_assert_almost_equals(above, below, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "north", "south", north, south); - mu_assert_almost_equals(north, south, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "east", "west", east, west); - mu_assert_almost_equals(east, west, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "above", "north", above, north); - mu_assert_almost_equals(above, north, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "east", "gzz", east, other); - mu_assert_almost_equals(east, other, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "west", "gzz", west, other); - mu_assert_almost_equals(west, other, 10E-10, msg); - } - } - return 0; -} - -static char * test_gyz_around() -{ - PRISM prism = {1000, -3000, 3000, -3000, 3000, -3000, 3000, 0, 0, 0}; - double other, above, below, north, south, east, west, dist = 5000, i, j; - - for(i = -10000; i <= 10000; i += 100) - { - for(j = -10000; j <= 10000; j += 100) - { - above = prism_gyz(prism, i, j, -dist); - below = prism_gyz(prism, i, j, dist); - north = prism_gyz(prism, dist, j, i); - south = prism_gyz(prism, -dist, j, i); - east = prism_gyz(prism, i, dist, j); - west = prism_gyz(prism, i, -dist, j); - other = prism_gxy(prism, i, j, -dist); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "above", "below", above, below); - mu_assert_almost_equals(above, -below, 1e-5, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "north", "south", north, south); - mu_assert_almost_equals(north, south, 1e-5, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "east", "west", east, west); - mu_assert_almost_equals(east, -west, 1e-5, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "below", "east", below, east); - mu_assert_almost_equals(below, east, 1e-5, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "above", "west", above, west); - mu_assert_almost_equals(above, west, 1e-5, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "north", "gxy", north, other); - mu_assert_almost_equals(north, other, 1e-5, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "south", "gxy", south, other); - mu_assert_almost_equals(south, other, 1e-5, msg); - } - } - return 0; -} - -static char * test_gzz_around() -{ - PRISM prism = {1000,-3000,3000,-3000,3000,-3000,3000,0,0,0}; - double other, above, below, north, south, east, west, dist = 5000, i, j; - - for(i = -10000; i <= 10000; i += 100) - { - for(j = -10000; j <= 10000; j += 100) - { - above = prism_gzz(prism, i, j, -dist); - below = prism_gzz(prism, i, j, dist); - north = prism_gzz(prism, dist, i, j); - south = prism_gzz(prism, -dist, i, j); - east = prism_gzz(prism, i, dist, j); - west = prism_gzz(prism, i, -dist, j); - other = prism_gyy(prism, i, j, -dist); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "above", "below", above, below); - mu_assert_almost_equals(above, below, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "north", "south", north, south); - mu_assert_almost_equals(north, south, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "east", "west", east, west); - mu_assert_almost_equals(east, west, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "north", "east", north, east); - mu_assert_almost_equals(north, east, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "north", "gyy", north, other); - mu_assert_almost_equals(north, other, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "south", "gyy", south, other); - mu_assert_almost_equals(south, other, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "east", "gyy", east, other); - mu_assert_almost_equals(east, other, 10E-10, msg); - sprintf(msg, "point (%g, %g) on planes %s n %s = (%.8f %.8f)", - i, j, "west", "gyy", west, other); - mu_assert_almost_equals(west, other, 10E-10, msg); - } - } - return 0; -} - -static char * test_gxx_below() -{ - PRISM prism = {3000,-5000,5000,-5000,5000,-5000,5000,0,0,0}; - double dist, restop, resbelow; - - for(dist=5010; dist <= 500000; dist += 100) - { - restop = prism_gxx(prism, 0, 0,-dist); - resbelow = prism_gxx(prism, 0, 0, dist); - - sprintf(msg, "(distance %g m) top = %.5f below = %.5f", dist, - restop, resbelow); - mu_assert_almost_equals(resbelow, restop, 0.1, msg); - } - - return 0; -} - -static char * test_gxy_below() -{ - PRISM prism = {3000,-5000,5000,-5000,5000,-5000,5000,0,0,0}; - double dist, restop, resbelow; - - for(dist=5010; dist <= 500000; dist += 100) - { - restop = prism_gxy(prism, 5000, 5000, -dist); - resbelow = prism_gxy(prism, 5000, 5000, dist); - - sprintf(msg, "(distance %g m) top = %.5f below = %.5f", dist, - restop, resbelow); - mu_assert_almost_equals(resbelow, restop, 1, msg); - } - - return 0; -} - -static char * test_gxz_below() -{ - PRISM prism = {3000,-5000,5000,-5000,5000,-5000,5000,0,0,0}; - double dist, restop, resbelow; - - for(dist=5010; dist <= 500000; dist += 100) - { - restop = prism_gxz(prism, 5000, 0,-dist); - resbelow = prism_gxz(prism, 5000, 0, dist); - - sprintf(msg, "(distance %g m) top = %.5f below = %.5f", dist, - restop, resbelow); - mu_assert_almost_equals(resbelow, -restop, 0.1, msg); - } - - return 0; -} - -static char * test_gyy_below() -{ - PRISM prism = {3000,-5000,5000,-5000,5000,-5000,5000,0,0,0}; - double dist, restop, resbelow; - - for(dist=5010; dist <= 500000; dist += 100) - { - restop = prism_gyy(prism, 0, 0,-dist); - resbelow = prism_gyy(prism, 0, 0, dist); - - sprintf(msg, "(distance %g m) top = %.5f below = %.5f", dist, - restop, resbelow); - mu_assert_almost_equals_rel(resbelow, restop, 1, msg); - } - - return 0; -} - -static char * test_gyz_below() -{ - PRISM prism = {3000,-5000,5000,-5000,5000,-5000,5000,0,0,0}; - double dist, restop, resbelow; - - for(dist=5010; dist <= 500000; dist += 100) - { - restop = prism_gyz(prism, 0, 5000, -dist); - resbelow = prism_gyz(prism, 0, 5000, dist); - - sprintf(msg, "(distance %g m) top = %.5f below = %.5f", dist, - restop, resbelow); - mu_assert_almost_equals(resbelow, -restop, 0.1, msg); - } - - return 0; -} - -static char * test_gzz_below() -{ - PRISM prism = {3000,-5000,5000,-5000,5000,-5000,5000,0,0,0}; - double dist, restop, resbelow; - - for(dist=5010; dist <= 500000; dist += 100) - { - restop = prism_gzz(prism, 0, 0, -dist); - resbelow = prism_gzz(prism, 0, 0, dist); - - sprintf(msg, "(distance %g m) top = %.5f below = %.5f", dist, - restop, resbelow); - mu_assert_almost_equals(resbelow, restop, 0.1, msg); - } - - return 0; -} - -static char * test_prism2sphere_pot() -{ - SPHERE sphere; - PRISM prism = {3000,-5000,5000,-5000,5000,-5000,5000,0,0,0}; - double dist, resprism, ressphere; - - /* Make a sphere with the same mass as the prism and put it at the origin */ - prism2sphere(prism, 0, 0, 0, &sphere); - - for(dist=50000; dist <= 500000; dist += 500) - { - resprism = prism_pot(prism,0,0,-dist); - ressphere = sphere_pot(sphere,0,90,dist); - - sprintf(msg, "(distance %g m) prism = %.5f sphere = %.5f", dist, - resprism, ressphere); - mu_assert_almost_equals(resprism, ressphere, 0.001, msg); - } - - return 0; -} - -static char * test_prism2sphere_gx() -{ - SPHERE sphere; - PRISM prism = {3000,-5000,5000,-5000,5000,-5000,5000,0,0,0}; - double dist, resprism, ressphere; - - /* Make a sphere with the same mass as the prism and put it at the origin */ - prism2sphere(prism, 0, 0, 0, &sphere); - - for(dist=10000; dist <= 500000; dist += 500) - { - resprism = prism_gx(prism,0,0,-dist); - ressphere = sphere_gx(sphere,0,90,dist); - - sprintf(msg, "(distance %g m) prism = %.5f sphere = %.5f", dist, - resprism, ressphere); - mu_assert_almost_equals(resprism, ressphere, 0.00000001, msg); - } - - return 0; -} - - -static char * test_prism2sphere_gy() -{ - SPHERE sphere; - PRISM prism = {3000,-5000,5000,-5000,5000,-5000,5000,0,0,0}; - double dist, resprism, ressphere; - - /* Make a sphere with the same mass as the prism and put it at the origin */ - prism2sphere(prism, 0, 0, 0, &sphere); - - for(dist=10000; dist <= 500000; dist += 500) - { - resprism = prism_gy(prism,0,0,-dist); - ressphere = sphere_gy(sphere,0,90,dist); - - sprintf(msg, "(distance %g m) prism = %.5f sphere = %.5f", dist, - resprism, ressphere); - mu_assert_almost_equals(resprism, ressphere, 0.00000001, msg); - } - - return 0; -} - - -static char * test_prism2sphere_gz() -{ - SPHERE sphere; - PRISM prism = {3000,-5000,5000,-5000,5000,-5000,5000,0,0,0}; - double dist, resprism, ressphere; - - /* Make a sphere with the same mass as the prism and put it at the origin */ - prism2sphere(prism, 0, 0, 0, &sphere); - - for(dist=50000; dist <= 500000; dist += 500) - { - resprism = prism_gz(prism,0,0,-dist); - ressphere = sphere_gz(sphere,0,90,dist); - - sprintf(msg, "(distance %g m) prism = %.5f sphere = %.5f", dist, - resprism, ressphere); - mu_assert_almost_equals(resprism, -1*ressphere, 0.01, msg); - } - - return 0; -} - - -static char * test_prism2sphere_gxx() -{ - SPHERE sphere; - PRISM prism = {3000,-5000,5000,-5000,5000,-5000,5000,0,0,0}; - double dist, resprism, ressphere; - - /* Make a sphere with the same mass as the prism and put it at the origin */ - prism2sphere(prism, 0, 0, 0, &sphere); - - for(dist=50000; dist <= 500000; dist += 500) - { - resprism = prism_gxx(prism,0,0,-dist); - ressphere = sphere_gxx(sphere,0,90,dist); - - sprintf(msg, "(distance %g m) prism = %.5f sphere = %.5f", dist, - resprism, ressphere); - mu_assert_almost_equals(resprism, ressphere, 0.001, msg); - } - - return 0; -} - - -static char * test_prism2sphere_gxy() -{ - SPHERE sphere; - PRISM prism = {3000,-5000,5000,-5000,5000,-5000,5000,0,0,0}; - double dist, resprism, ressphere; - - /* Make a sphere with the same mass as the prism and put it at the origin */ - prism2sphere(prism, 0, 0, 0, &sphere); - - for(dist=50000; dist <= 500000; dist += 500) - { - resprism = prism_gxy(prism,0,0,-dist); - ressphere = sphere_gxy(sphere,0,90,dist); - - sprintf(msg, "(distance %g m) prism = %.5f sphere = %.5f", dist, - resprism, ressphere); - mu_assert_almost_equals(resprism, ressphere, 0.001, msg); - } - - return 0; -} - - -static char * test_prism2sphere_gxz() -{ - SPHERE sphere; - PRISM prism = {3000,-5000,5000,-5000,5000,-5000,5000,0,0,0}; - double dist, resprism, ressphere; - - /* Make a sphere with the same mass as the prism and put it at the origin */ - prism2sphere(prism, 0, 0, 0, &sphere); - - for(dist=50000; dist <= 500000; dist += 500) - { - resprism = prism_gxz(prism,0,0,-dist); - ressphere = sphere_gxz(sphere,0,90,dist); - - sprintf(msg, "(distance %g m) prism = %.5f sphere = %.5f", dist, - resprism, ressphere); - mu_assert_almost_equals(resprism, -1*ressphere, 0.001, msg); - } - - return 0; -} - - -static char * test_prism2sphere_gyy() -{ - SPHERE sphere; - PRISM prism = {3000,-5000,5000,-5000,5000,-5000,5000,0,0,0}; - double dist, resprism, ressphere; - - /* Make a sphere with the same mass as the prism and put it at the origin */ - prism2sphere(prism, 0, 0, 0, &sphere); - - for(dist=50000; dist <= 500000; dist += 500) - { - resprism = prism_gyy(prism,0,0,-dist); - ressphere = sphere_gyy(sphere,0,90,dist); - - sprintf(msg, "(distance %g m) prism = %.5f sphere = %.5f", dist, - resprism, ressphere); - mu_assert_almost_equals(resprism, ressphere, 0.001, msg); - } - - return 0; -} - - -static char * test_prism2sphere_gyz() -{ - SPHERE sphere; - PRISM prism = {3000,-5000,5000,-5000,5000,-5000,5000,0,0,0}; - double dist, resprism, ressphere; - - /* Make a sphere with the same mass as the prism and put it at the origin */ - prism2sphere(prism, 0, 0, 0, &sphere); - - for(dist=50000; dist <= 500000; dist += 500) - { - resprism = prism_gyz(prism,0,0,-dist); - ressphere = sphere_gyz(sphere,0,90,dist); - - sprintf(msg, "(distance %g m) prism = %.5f sphere = %.5f", dist, - resprism, ressphere); - mu_assert_almost_equals(resprism, -1*ressphere, 0.001, msg); - } - - return 0; -} - - -static char * test_prism2sphere_gzz() -{ - SPHERE sphere; - PRISM prism = {3000,-5000,5000,-5000,5000,-5000,5000,0,0,0}; - double dist, resprism, ressphere; - - /* Make a sphere with the same mass as the prism and put it at the origin */ - prism2sphere(prism, 0, 0, 0, &sphere); - - for(dist=60000; dist <= 500000; dist += 500) - { - resprism = prism_gzz(prism,0,0,-dist); - ressphere = sphere_gzz(sphere,0,90,dist); - - sprintf(msg, "(distance %g m) prism = %.5f sphere = %.5f", dist, - resprism, ressphere); - mu_assert_almost_equals(resprism, ressphere, 0.001, msg); - } - - return 0; -} - -static char * test_prism_tensor_trace() -{ - #define N 4 - TESSEROID tesses[N] = { - {1,0,1,0,1,6000000,6001000}, - {1,180,183,80,81.5,6300000,6302000}, - {1,200,203,-90,-88,5500000,5500100}, - {1,-10,-7,7,7.5,6500000,6505000}}; - PRISM prism; - int i; - double trace, dist, x, y; - - for(i = 0; i < N; i++) - { - tess2prism_flatten(tesses[i], &prism); - x = 0.5*(prism.x1 + prism.x2); - y = 0.5*(prism.y1 + prism.y2); - - for(dist=1000; dist <= 5000000; dist += 1000) - { - - trace = prism_gxx(prism, x, y, prism.z1 - dist) - + prism_gyy(prism, x, y, prism.z1 - dist) - + prism_gzz(prism, x, y, prism.z1 - dist); - - sprintf(msg, "(prism %d dist %g) trace %.10f", i, dist, trace); - mu_assert_almost_equals(trace, 0, 0.0000000001, msg); - } - } - #undef N - return 0; -} - -int grav_prism_run_all() -{ - int failed = 0; - failed += mu_run_test(test_safe_atan2_sign, - "safe_atan2 result has same sign as angle"); - failed += mu_run_test(test_safe_atan2_zero, - "safe_atan2 returns 0 for y == 0"); - failed += mu_run_test(test_pot_around, - "prism_pot results equal around the prism"); - failed += mu_run_test(test_gx_around, - "prism_gx results consistent around the prism"); - failed += mu_run_test(test_gy_around, - "prism_gy results consistent around the prism"); - failed += mu_run_test(test_gz_around, - "prism_gz results consistent around the prism"); - failed += mu_run_test(test_gxx_around, - "prism_gxx results consistent around the prism"); - failed += mu_run_test(test_gxy_around, - "prism_gxy results consistent around the prism"); - failed += mu_run_test(test_gxz_around, - "prism_gxz results consistent around the prism"); - failed += mu_run_test(test_gyy_around, - "prism_gyy results consistent around the prism"); - failed += mu_run_test(test_gyz_around, - "prism_gyz results consistent around the prism"); - failed += mu_run_test(test_gzz_around, - "prism_gzz results consistent around the prism"); - failed += mu_run_test(test_gxx_below, - "prism_gxx results equal above and below the prism"); - failed += mu_run_test(test_gxy_below, - "prism_gxy results equal above and below the prism"); - failed += mu_run_test(test_gxz_below, - "prism_gxz results equal above and below the prism"); - failed += mu_run_test(test_gyy_below, - "prism_gyy results equal above and below the prism"); - failed += mu_run_test(test_gyz_below, - "prism_gyz results equal above and below the prism"); - failed += mu_run_test(test_gzz_below, - "prism_gzz results equal above and below the prism"); - failed += mu_run_test(test_prism2sphere_pot, - "prism_pot results equal to sphere of same mass at distance"); - failed += mu_run_test(test_prism2sphere_gx, - "prism_gx results equal to sphere of same mass at distance"); - failed += mu_run_test(test_prism2sphere_gy, - "prism_gy results equal to sphere of same mass at distance"); - failed += mu_run_test(test_prism2sphere_gz, - "prism_gz results equal to sphere of same mass at distance"); - failed += mu_run_test(test_prism2sphere_gxx, - "prism_gxx results equal to sphere of same mass at distance"); - failed += mu_run_test(test_prism2sphere_gxy, - "prism_gxy results equal to sphere of same mass at distance"); - failed += mu_run_test(test_prism2sphere_gxz, - "prism_gxz results equal to sphere of same mass at distance"); - failed += mu_run_test(test_prism2sphere_gyy, - "prism_gyy results equal to sphere of same mass at distance"); - failed += mu_run_test(test_prism2sphere_gyz, - "prism_gyz results equal to sphere of same mass at distance"); - failed += mu_run_test(test_prism2sphere_gzz, - "prism_gzz results equal to sphere of same mass at distance"); - failed += mu_run_test(test_prism_tensor_trace, - "trace of GGT for prism in Cartesian coordinates is zero"); - return failed; -} diff --git a/dep/tesseroids/test/test_grav_prism_sph.c b/dep/tesseroids/test/test_grav_prism_sph.c deleted file mode 100755 index 55c8178..0000000 --- a/dep/tesseroids/test/test_grav_prism_sph.c +++ /dev/null @@ -1,160 +0,0 @@ -/* -Unit tests for grav_prism.c functions. -*/ - -#include -#include -#include "../lib/grav_prism_sph.h" -#include "../lib/grav_prism.h" -#include "../lib/geometry.h" -#include "../lib/constants.h" - - -char msg[1000]; - - -/* Test coordinate transformation */ -static char * test_global2local() -{ - #define R 6378137.0 - #define N 3 - PRISM prisms[N] = { - {3000,-5000,5000,-5000,5000,0,5000, 2.45, -36.32, R}, - {2000,-3000,3000,-2000,2000,0,800, -45.45, -103.1, R}, - {1000,-2000,2000,-1000,1000,0,234, -80.45, 183.2, R}}; - double x, y, z, newz[N] = {-3000, 1234, -2.3456}; - int i; - - for(i = 0; i < N; i++) - { - global2local(prisms[i].lon, prisms[i].lat, R - newz[i], prisms[i], - &x, &y, &z); - sprintf(msg, "(prism %d) x: expect %.10g got %.10g", i, 0., x); - mu_assert_almost_equals(x, 0., 0.00000001, msg); - sprintf(msg, "(prism %d) y: expect %.10g got %.10g", i, 0., y); - mu_assert_almost_equals(y, 0., 0.00000001, msg); - sprintf(msg, "(prism %d) z: expect %.10g got %.10g", i, newz[i], z); - mu_assert_almost_equals(z, newz[i], 0.00000001, msg); - } - #undef R - #undef N - return 0; -} - -/* Test agains grav_prism */ -static char * test_prism_pot_sph() -{ - #define R 6378137.0 - PRISM prism = {3000,-5000,5000,-5000,5000,0,5000,187,38,R}; - double res, expect; - int fix; - - fix = 1; - res = prism_pot_sph(prism, 187, 38, R + 1000); - expect = prism_pot(prism, 0, 0, -1000); - sprintf(msg, "(fixture %d) expect %.10g got %.10g", fix, expect, res); - mu_assert_almost_equals(res, expect, 0.0000000001, msg); - - #undef R - return 0; -} - - -static char * test_prism_g_sph() -{ - #define R 6378137.0 - PRISM prism = {3000,-5000,5000,-5000,5000,0,5000,27,-78,R}; - double resx, resy, resz, expectx, expecty, expectz; - int fix; - - fix = 1; - prism_g_sph(prism, 27, -78, R + 1000, &resx, &resy, &resz); - expectx = prism_gx(prism, 0, 0, -1000); - expecty = prism_gy(prism, 0, 0, -1000); - expectz = prism_gz(prism, 0, 0, -1000); - sprintf(msg, "(fixture %d) gx: expect %.10g got %.10g", fix, expectx, resx); - mu_assert_almost_equals(resx, expectx, 0.0000000001, msg); - sprintf(msg, "(fixture %d) gy: expect %.10g got %.10g", fix, expecty, resy); - mu_assert_almost_equals(resy, expecty, 0.0000000001, msg); - sprintf(msg, "(fixture %d) gz: expect %.10g got %.10g", fix, expectz, resz); - mu_assert_almost_equals(resz, expectz, 0.0000000001, msg); - - #undef R - return 0; -} - - -static char * test_prism_ggt_sph() -{ - #define R 6378137.0 - PRISM prism = {3000,-5000,5000,-5000,5000,0,5000,-7,8,R}; - double res[6], expect[6]; - int fix, i; - - fix = 1; - prism_ggt_sph(prism, -7, 8, R + 1000, res); - expect[0] = prism_gxx(prism, 0, 0, -1000); - expect[1] = prism_gxy(prism, 0, 0, -1000); - expect[2] = prism_gxz(prism, 0, 0, -1000); - expect[3] = prism_gyy(prism, 0, 0, -1000); - expect[4] = prism_gyz(prism, 0, 0, -1000); - expect[5] = prism_gzz(prism, 0, 0, -1000); - for(i = 0; i < 6; i++) - { - sprintf(msg, "(fixture %d) cmp %d: expect %.10f got %.10f", fix, i, - expect[i], res[i]); - mu_assert_almost_equals(res[i], expect[i], 0.000000001, msg); - } - #undef R - return 0; -} - -static char * test_prism_tensor_sph_trace() -{ - #define N 4 - #define GXX 0 - #define GYY 3 - #define GZZ 5 - TESSEROID tesses[N] = { - {1,0,1,0,1,6000000,6001000}, - {1,180,183,80,81.5,6300000,6302000}, - {1,200,203,-90,-88,5500000,5500100}, - {1,-10,-7,7,7.5,6500000,6505000}}; - PRISM prism; - int i; - double trace, dist, tensor[6]; - - for(i = 0; i < N; i++) - { - tess2prism(tesses[i], &prism); - for(dist=1000; dist <= 5000000; dist += 1000) - { - prism_ggt_sph(prism, prism.lon, prism.lat, prism.r + dist, tensor); - trace = tensor[GXX] + tensor[GYY] + tensor[GZZ]; - - sprintf(msg, "(prism %d dist %g) trace %.10f", i, dist, trace); - mu_assert_almost_equals(trace, 0, 0.0000000001, msg); - } - } - #undef N - #undef GXX - #undef GYY - #undef GZZ - return 0; -} - -int grav_prism_sph_run_all() -{ - int failed = 0; - failed += mu_run_test(test_prism_pot_sph, - "prism_pot_sph results equal to prism_pot when on top of prism"); - failed += mu_run_test(test_prism_g_sph, - "prism_g_sph results equal to prism_gx, etc, when on top of prism"); - failed += mu_run_test(test_prism_ggt_sph, - "prism_ggt_sph results equal to prism_gxx, etc, when on top of prism"); - failed += mu_run_test(test_prism_tensor_sph_trace, - "trace of GGT for prism in spherical coordinates is zero"); - failed += mu_run_test(test_global2local, - "global2local returns correct result"); - return failed; -} diff --git a/dep/tesseroids/test/test_grav_tess.c b/dep/tesseroids/test/test_grav_tess.c deleted file mode 100755 index 347af29..0000000 --- a/dep/tesseroids/test/test_grav_tess.c +++ /dev/null @@ -1,633 +0,0 @@ -/* -Unit tests for grav_tess.c functions. -*/ - -#include -#include -#include -#include "../lib/grav_sphere.h" -#include "../lib/grav_tess.h" -#include "../lib/glq.h" -#include "../lib/geometry.h" -#include "../lib/constants.h" - - -char msg[1000]; - - -static char * test_tess2sphere_pot() -{ - SPHERE sphere; - TESSEROID tess; - double radius, dist, restess, ressphere; - GLQ *glqlon, *glqlat, *glqr; - - tess.density = 1000.; - tess.w = 44; - tess.e = 46; - tess.s = -1; - tess.n = 1; - tess.r1 = MEAN_EARTH_RADIUS - 100000; - tess.r2 = MEAN_EARTH_RADIUS; - - glqlon = glq_new(8, tess.w, tess.e); - if(glqlon == NULL) - mu_assert(0, "GLQ allocation error"); - - glqlat = glq_new(8, tess.s, tess.n); - if(glqlat == NULL) - mu_assert(0, "GLQ allocation error"); - - glqr = glq_new(8, tess.r1, tess.r2); - if(glqr == NULL) - mu_assert(0, "GLQ allocation error"); - - glq_precompute_sincos(glqlat); - - radius = tess.r2; - - /* Make a sphere with the same mass as the tesseroid */ - tess2sphere(tess, &sphere); - for(dist=1000000; dist <= 2000000; dist += 1000) - { - restess = tess_pot(tess,0,40,radius+dist,*glqlon,*glqlat,*glqr); - ressphere = sphere_pot(sphere,0,40,radius+dist); - sprintf(msg, "(distance %g m) tess = %.5f sphere = %.5f", dist, - restess, ressphere); - mu_assert_almost_equals(restess, ressphere, 0.01, msg); - } - return 0; -} - - -static char * test_tess2sphere_gx() -{ - SPHERE sphere; - TESSEROID tess; - double radius, dist, restess, ressphere; - GLQ *glqlon, *glqlat, *glqr; - - tess.density = 1000.; - tess.w = 44; - tess.e = 46; - tess.s = -1; - tess.n = 1; - tess.r1 = MEAN_EARTH_RADIUS - 100000; - tess.r2 = MEAN_EARTH_RADIUS; - - glqlon = glq_new(8, tess.w, tess.e); - if(glqlon == NULL) - mu_assert(0, "GLQ allocation error"); - - glqlat = glq_new(8, tess.s, tess.n); - if(glqlat == NULL) - mu_assert(0, "GLQ allocation error"); - - glqr = glq_new(8, tess.r1, tess.r2); - if(glqr == NULL) - mu_assert(0, "GLQ allocation error"); - - glq_precompute_sincos(glqlat); - - radius = tess.r2; - - /* Make a sphere with the same mass as the tesseroid */ - tess2sphere(tess, &sphere); - - for(dist=1000000; dist <= 2000000; dist += 1000) - { - restess = tess_gx(tess,0,40,radius+dist,*glqlon,*glqlat,*glqr); - ressphere = sphere_gx(sphere,0,40,radius+dist); - sprintf(msg, "(distance %g m) tess = %.5f sphere = %.5f", dist, - restess, ressphere); - mu_assert_almost_equals(restess, ressphere, 0.1, msg); - } - - return 0; -} - - -static char * test_tess2sphere_gy() -{ - SPHERE sphere; - TESSEROID tess; - double radius, dist, restess, ressphere; - GLQ *glqlon, *glqlat, *glqr; - - tess.density = 1000.; - tess.w = 44; - tess.e = 46; - tess.s = -1; - tess.n = 1; - tess.r1 = MEAN_EARTH_RADIUS - 100000; - tess.r2 = MEAN_EARTH_RADIUS; - - glqlon = glq_new(8, tess.w, tess.e); - if(glqlon == NULL) - mu_assert(0, "GLQ allocation error"); - - glqlat = glq_new(8, tess.s, tess.n); - if(glqlat == NULL) - mu_assert(0, "GLQ allocation error"); - - glqr = glq_new(8, tess.r1, tess.r2); - if(glqr == NULL) - mu_assert(0, "GLQ allocation error"); - - glq_precompute_sincos(glqlat); - - radius = tess.r2; - - /* Make a sphere with the same mass as the tesseroid */ - tess2sphere(tess, &sphere); - - for(dist=1000000; dist <= 2000000; dist += 1000) - { - restess = tess_gy(tess,5,45,radius+dist,*glqlon,*glqlat,*glqr); - ressphere = sphere_gy(sphere,5,45,radius+dist); - - sprintf(msg, "(distance %g m) tess = %.5f sphere = %.5f", dist, - restess, ressphere); - mu_assert_almost_equals(restess, ressphere, 0.1, msg); - } - - return 0; -} - - -static char * test_tess2sphere_gz() -{ - SPHERE sphere; - TESSEROID tess; - double radius, dist, restess, ressphere; - GLQ *glqlon, *glqlat, *glqr; - - tess.density = 1000.; - tess.w = 44; - tess.e = 46; - tess.s = -1; - tess.n = 1; - tess.r1 = MEAN_EARTH_RADIUS - 100000; - tess.r2 = MEAN_EARTH_RADIUS; - - glqlon = glq_new(8, tess.w, tess.e); - if(glqlon == NULL) - mu_assert(0, "GLQ allocation error"); - - glqlat = glq_new(8, tess.s, tess.n); - if(glqlat == NULL) - mu_assert(0, "GLQ allocation error"); - - glqr = glq_new(8, tess.r1, tess.r2); - if(glqr == NULL) - mu_assert(0, "GLQ allocation error"); - - glq_precompute_sincos(glqlat); - - radius = tess.r2; - - /* Make a sphere with the same mass as the tesseroid */ - tess2sphere(tess, &sphere); - - for(dist=1500000; dist <= 2000000; dist += 1000) - { - restess = -tess_gz(tess,0,45,radius+dist,*glqlon,*glqlat,*glqr); - ressphere = sphere_gz(sphere,0,45,radius+dist); - - sprintf(msg, "(distance %g m) tess = %.5f sphere = %.5f", dist, - restess, ressphere); - mu_assert_almost_equals(restess, ressphere, 0.1, msg); - } - - return 0; -} - - -static char * test_tess2sphere_gxx() -{ - SPHERE sphere; - TESSEROID tess; - double radius, dist, restess, ressphere; - GLQ *glqlon, *glqlat, *glqr; - - tess.density = 1000.; - tess.w = 44; - tess.e = 46; - tess.s = -1; - tess.n = 1; - tess.r1 = MEAN_EARTH_RADIUS - 100000; - tess.r2 = MEAN_EARTH_RADIUS; - - glqlon = glq_new(8, tess.w, tess.e); - if(glqlon == NULL) - mu_assert(0, "GLQ allocation error"); - - glqlat = glq_new(8, tess.s, tess.n); - if(glqlat == NULL) - mu_assert(0, "GLQ allocation error"); - - glqr = glq_new(8, tess.r1, tess.r2); - if(glqr == NULL) - mu_assert(0, "GLQ allocation error"); - - glq_precompute_sincos(glqlat); - - radius = tess.r2; - - /* Make a sphere with the same mass as the tesseroid */ - tess2sphere(tess, &sphere); - - for(dist=1300000; dist <= 2000000; dist += 1000) - { - restess = tess_gxx(tess,0,45,radius+dist,*glqlon,*glqlat,*glqr); - ressphere = sphere_gxx(sphere,0,45,radius+dist); - - sprintf(msg, "(distance %g m) tess = %.5f sphere = %.5f", dist, - restess, ressphere); - mu_assert_almost_equals(restess, ressphere, 0.001, msg); - } - - return 0; -} - - -static char * test_tess2sphere_gxy() -{ - SPHERE sphere; - TESSEROID tess; - double radius, dist, restess, ressphere; - GLQ *glqlon, *glqlat, *glqr; - - tess.density = 1000.; - tess.w = 44; - tess.e = 46; - tess.s = -1; - tess.n = 1; - tess.r1 = MEAN_EARTH_RADIUS - 100000; - tess.r2 = MEAN_EARTH_RADIUS; - - glqlon = glq_new(8, tess.w, tess.e); - if(glqlon == NULL) - mu_assert(0, "GLQ allocation error"); - - glqlat = glq_new(8, tess.s, tess.n); - if(glqlat == NULL) - mu_assert(0, "GLQ allocation error"); - - glqr = glq_new(8, tess.r1, tess.r2); - if(glqr == NULL) - mu_assert(0, "GLQ allocation error"); - - glq_precompute_sincos(glqlat); - - radius = tess.r2; - - /* Make a sphere with the same mass as the tesseroid */ - tess2sphere(tess, &sphere); - - for(dist=1500000; dist <= 2000000; dist += 1000) - { - restess = tess_gxy(tess,5,50,radius+dist,*glqlon,*glqlat,*glqr); - ressphere = sphere_gxy(sphere,5,50,radius+dist); - - sprintf(msg, "(distance %g m) tess = %.5f sphere = %.5f", dist, - restess, ressphere); - mu_assert_almost_equals(restess, ressphere, 0.001, msg); - } - - return 0; -} - - -static char * test_tess2sphere_gxz() -{ - SPHERE sphere; - TESSEROID tess; - double radius, dist, restess, ressphere; - GLQ *glqlon, *glqlat, *glqr; - - tess.density = 1000.; - tess.w = 44; - tess.e = 46; - tess.s = -1; - tess.n = 1; - tess.r1 = MEAN_EARTH_RADIUS - 100000; - tess.r2 = MEAN_EARTH_RADIUS; - - glqlon = glq_new(8, tess.w, tess.e); - if(glqlon == NULL) - mu_assert(0, "GLQ allocation error"); - - glqlat = glq_new(8, tess.s, tess.n); - if(glqlat == NULL) - mu_assert(0, "GLQ allocation error"); - - glqr = glq_new(8, tess.r1, tess.r2); - if(glqr == NULL) - mu_assert(0, "GLQ allocation error"); - - glq_precompute_sincos(glqlat); - - radius = tess.r2; - - /* Make a sphere with the same mass as the tesseroid */ - tess2sphere(tess, &sphere); - - for(dist=1500000; dist <= 2000000; dist += 1000) - { - restess = tess_gxz(tess,0,50,radius+dist,*glqlon,*glqlat,*glqr); - ressphere = sphere_gxz(sphere,0,50,radius+dist); - - sprintf(msg, "(distance %g m) tess = %.5f sphere = %.5f", dist, - restess, ressphere); - mu_assert_almost_equals(restess, ressphere, 0.001, msg); - } - - return 0; -} - - -static char * test_tess2sphere_gyy() -{ - SPHERE sphere; - TESSEROID tess; - double radius, dist, restess, ressphere; - GLQ *glqlon, *glqlat, *glqr; - - tess.density = 1000.; - tess.w = 44; - tess.e = 46; - tess.s = -1; - tess.n = 1; - tess.r1 = MEAN_EARTH_RADIUS - 100000; - tess.r2 = MEAN_EARTH_RADIUS; - - glqlon = glq_new(8, tess.w, tess.e); - if(glqlon == NULL) - mu_assert(0, "GLQ allocation error"); - - glqlat = glq_new(8, tess.s, tess.n); - if(glqlat == NULL) - mu_assert(0, "GLQ allocation error"); - - glqr = glq_new(8, tess.r1, tess.r2); - if(glqr == NULL) - mu_assert(0, "GLQ allocation error"); - - glq_precompute_sincos(glqlat); - - radius = tess.r2; - - /* Make a sphere with the same mass as the tesseroid */ - tess2sphere(tess, &sphere); - - for(dist=1500000; dist <= 2000000; dist += 1000) - { - restess = tess_gyy(tess,0,45,radius+dist,*glqlon,*glqlat,*glqr); - ressphere = sphere_gyy(sphere,0,45,radius+dist); - - sprintf(msg, "(distance %g m) tess = %.5f sphere = %.5f", dist, - restess, ressphere); - mu_assert_almost_equals(restess, ressphere, 0.001, msg); - } - - return 0; -} - - -static char * test_tess2sphere_gyz() -{ - SPHERE sphere; - TESSEROID tess; - double radius, dist, restess, ressphere; - GLQ *glqlon, *glqlat, *glqr; - - tess.density = 1000.; - tess.w = 44; - tess.e = 46; - tess.s = -1; - tess.n = 1; - tess.r1 = MEAN_EARTH_RADIUS - 100000; - tess.r2 = MEAN_EARTH_RADIUS; - - glqlon = glq_new(8, tess.w, tess.e); - if(glqlon == NULL) - mu_assert(0, "GLQ allocation error"); - - glqlat = glq_new(8, tess.s, tess.n); - if(glqlat == NULL) - mu_assert(0, "GLQ allocation error"); - - glqr = glq_new(8, tess.r1, tess.r2); - if(glqr == NULL) - mu_assert(0, "GLQ allocation error"); - - glq_precompute_sincos(glqlat); - - radius = tess.r2; - - /* Make a sphere with the same mass as the tesseroid */ - tess2sphere(tess, &sphere); - - for(dist=1500000; dist <= 2000000; dist += 1000) - { - restess = tess_gyz(tess,5,45,radius+dist,*glqlon,*glqlat,*glqr); - ressphere = sphere_gyz(sphere,5,45,radius+dist); - - sprintf(msg, "(distance %g m) tess = %.5f sphere = %.5f", dist, - restess, ressphere); - mu_assert_almost_equals(restess, ressphere, 0.001, msg); - } - - return 0; -} - - -static char * test_tess2sphere_gzz() -{ - SPHERE sphere; - TESSEROID tess; - double radius, dist, restess, ressphere; - GLQ *glqlon, *glqlat, *glqr; - - tess.density = 1000.; - tess.w = 44; - tess.e = 46; - tess.s = -1; - tess.n = 1; - tess.r1 = MEAN_EARTH_RADIUS - 100000; - tess.r2 = MEAN_EARTH_RADIUS; - - glqlon = glq_new(8, tess.w, tess.e); - if(glqlon == NULL) - mu_assert(0, "GLQ allocation error"); - - glqlat = glq_new(8, tess.s, tess.n); - if(glqlat == NULL) - mu_assert(0, "GLQ allocation error"); - - glqr = glq_new(8, tess.r1, tess.r2); - if(glqr == NULL) - mu_assert(0, "GLQ allocation error"); - - glq_precompute_sincos(glqlat); - - radius = tess.r2; - - /* Make a sphere with the same mass as the tesseroid */ - tess2sphere(tess, &sphere); - - for(dist=1500000; dist <= 2000000; dist += 1000) - { - restess = tess_gzz(tess,0,45,radius+dist,*glqlon,*glqlat,*glqr); - ressphere = sphere_gzz(sphere,0,45,radius+dist); - - sprintf(msg, "(distance %g m) tess = %.5f sphere = %.5f", dist, - restess, ressphere); - mu_assert_almost_equals(restess, ressphere, 0.001, msg); - } - - return 0; -} - - -static char * test_tess_tensor_trace() -{ - #define N 4 - TESSEROID tesses[N] = { - {1,0,1,0,1,6000000,6001000}, - {1,180,183,80,81.5,6300000,6302000}, - {1,200,203,-90,-88,5500000,5500100}, - {1,-10,-7,7,7.5,6500000,6505000}}; - GLQ *glqlon, *glqlat, *glqr; - int i; - double lon, lat, r, trace, dist; - - glqlon = glq_new(8, tesses[0].w, tesses[0].e); - if(glqlon == NULL) - mu_assert(0, "GLQ allocation error"); - - glqlat = glq_new(8, tesses[0].s, tesses[0].n); - if(glqlat == NULL) - mu_assert(0, "GLQ allocation error"); - - glqr = glq_new(8, tesses[0].r1, tesses[0].r2); - if(glqr == NULL) - mu_assert(0, "GLQ allocation error"); - - for(i = 0; i < N; i++) - { - lon = 0.5*(tesses[i].w + tesses[i].e); - lat = 0.5*(tesses[i].n + tesses[i].s); - r = tesses[i].r2; - - for(dist=100000; dist <= 5000000; dist += 5000) - { - trace = calc_tess_model_adapt(&tesses[i], 1, lon, lat, r + dist, - glqlon, glqlat, glqr, tess_gxx, - TESSEROID_GXX_SIZE_RATIO) + - calc_tess_model_adapt(&tesses[i], 1, lon, lat, r + dist, - glqlon, glqlat, glqr, tess_gyy, - TESSEROID_GYY_SIZE_RATIO) + - calc_tess_model_adapt(&tesses[i], 1, lon, lat, r + dist, - glqlon, glqlat, glqr, tess_gzz, - TESSEROID_GZZ_SIZE_RATIO); - - sprintf(msg, "(tess %d dist %g) trace %.10f", i, dist, trace); - mu_assert_almost_equals(trace, 0, 0.0000000001, msg); - } - } - - glq_free(glqlon); - glq_free(glqlat); - glq_free(glqr); - #undef N - return 0; -} - - -static char * test_adaptative() -{ - /* Check if the adaptative is dividing properly and returning the same thing - as the non-adaptative (do spliting by hand) */ - TESSEROID tess, - split[10000]; - GLQ *glqlon, *glqlat, *glqr; - double mindist, resadapt, resnormal; - double lon, lat; - int n; - - tess.density = 1000.; - tess.w = -0.5; - tess.e = 0.5; - tess.s = -0.5; - tess.n = 0.5; - tess.r1 = MEAN_EARTH_RADIUS - 10000; - tess.r2 = MEAN_EARTH_RADIUS; - - glqlon = glq_new(2, tess.w, tess.e); - if(glqlon == NULL) - mu_assert(0, "GLQ allocation error"); - - glqlat = glq_new(2, tess.s, tess.n); - if(glqlat == NULL) - mu_assert(0, "GLQ allocation error"); - - glqr = glq_new(2, tess.r1, tess.r2); - if(glqr == NULL) - mu_assert(0, "GLQ allocation error"); - - mindist = 100000; - - /* If at half mindist should only divide once */ - for(lon = -0.5; lon <= 0.5; lon += 0.05) - { - for(lat = -0.5; lat <= 0.5; lat += 0.05) - { - resadapt = calc_tess_model_adapt(&tess, 1, lon, lat, - 0.5*mindist + MEAN_EARTH_RADIUS, - glqlon, glqlat, glqr, - tess_gzz, - TESSEROID_GZZ_SIZE_RATIO); - n = split_tess(tess, 20, 20, 20, split); - sprintf(msg, "splitting in %d instead of 8000", n); - mu_assert(n == 8000, msg); - resnormal = calc_tess_model(split, n, lon, lat, - 0.5*mindist + MEAN_EARTH_RADIUS, glqlon, - glqlat, glqr, tess_gzz); - sprintf(msg, "adapt = %.10f normal = %.10f", resadapt, resnormal); - mu_assert_almost_equals(resadapt, resnormal, pow(10, -2), msg); - } - } - return 0; -} - - -int grav_tess_run_all() -{ - int failed = 0; - failed += mu_run_test(test_tess2sphere_pot, - "tess_pot results equal to sphere of same mass at distance"); - failed += mu_run_test(test_tess2sphere_gx, - "tess_gx results equal to sphere of same mass at distance"); - failed += mu_run_test(test_tess2sphere_gy, - "tess_gy results equal to sphere of same mass at distance"); - failed += mu_run_test(test_tess2sphere_gz, - "tess_gz results equal to sphere of same mass at distance"); - failed += mu_run_test(test_tess2sphere_gxx, - "tess_gxx results equal to sphere of same mass at distance"); - failed += mu_run_test(test_tess2sphere_gxy, - "tess_gxy results equal to sphere of same mass at distance"); - failed += mu_run_test(test_tess2sphere_gxz, - "tess_gxz results equal to sphere of same mass at distance"); - failed += mu_run_test(test_tess2sphere_gyy, - "tess_gyy results equal to sphere of same mass at distance"); - failed += mu_run_test(test_tess2sphere_gyz, - "tess_gyz results equal to sphere of same mass at distance"); - failed += mu_run_test(test_tess2sphere_gzz, - "tess_gzz results equal to sphere of same mass at distance"); - failed += mu_run_test(test_tess_tensor_trace, "trace of GGT for tesseroid is zero"); - failed += mu_run_test(test_adaptative, - "calc_tess_model_adapt results as non-adapt with split by hand"); - return failed; -} diff --git a/dep/tesseroids/test/test_parsers.c b/dep/tesseroids/test/test_parsers.c deleted file mode 100755 index c8d09b2..0000000 --- a/dep/tesseroids/test/test_parsers.c +++ /dev/null @@ -1,229 +0,0 @@ -/* -Unit tests for I/O parser functions. -*/ - -#include -#include -#include "minunit.h" -#include "../lib/parsers.h" -#include "../lib/constants.h" - -/* To store fail messages */ -char msg[1000]; - - -/* UNIT TESTS */ - -static char * test_gets_tess() -{ - int i; - char str[1000]; - TESSEROID res; - TESSEROID tesses[4] = { - {1,0,1,0,1,6000000,6001000}, - {1,180,190,80,85,6300000,6301000}, - {1,160,200,-90,-70,5500000,6000000}, - {1,-10,5,-7,15,6500000,6505000}}; - - for(i = 0; i < 4; i++) - { - sprintf(str, "%15.5f %15.5f %15.5f %15.5f %15.5f %15.5f %15.5f", - tesses[i].w, tesses[i].e, tesses[i].s, tesses[i].n, - tesses[i].r2 - MEAN_EARTH_RADIUS, - tesses[i].r1 - MEAN_EARTH_RADIUS, - tesses[i].density); - - gets_tess(str, &res); - - sprintf(msg, "(tess %d) failed to read w. read=%g true=%g diff=%g", i, - res.w, tesses[i].w, res.w - tesses[i].w); - mu_assert_almost_equals(res.w, tesses[i].w, 10E-10, msg); - sprintf(msg, "(tess %d) failed to read e. read=%g true=%g diff=%g", i, - res.e, tesses[i].e, res.e - tesses[i].e); - mu_assert_almost_equals(res.e, tesses[i].e, 10E-10, msg); - sprintf(msg, "(tess %d) failed to read s. read=%g true=%g diff=%g", i, - res.s, tesses[i].s, res.s - tesses[i].s); - mu_assert_almost_equals(res.s, tesses[i].s, 10E-10, msg); - sprintf(msg, "(tess %d) failed to read n. read=%g true=%g diff=%g", i, - res.n, tesses[i].n, res.n - tesses[i].n); - mu_assert_almost_equals(res.n, tesses[i].n, 10E-10, msg); - sprintf(msg, "(tess %d) failed to read r2. read=%g true=%g diff=%g", - i, res.r2, tesses[i].r2, res.r2 - tesses[i].r2); - mu_assert_almost_equals(res.r2, tesses[i].r2, 10E-10, msg); - sprintf(msg, "(tess %d) failed to read r1. read=%g true=%g diff=%g", - i, res.r1, tesses[i].r1, res.r1 - tesses[i].r1); - mu_assert_almost_equals(res.r1, tesses[i].r1, 10E-10, msg); - sprintf(msg, "(tess %d) failed to read dens. read=%g true=%g diff=%g", - i, res.density, tesses[i].density, - res.density - tesses[i].density); - mu_assert_almost_equals(res.density, tesses[i].density, 10E-10, msg); - } - return 0; -} - - -static char * test_gets_prism() -{ - int i; - char str[1000]; - PRISM res; - PRISM prisms[4] = { - {1,0,1000,0,2000,100,2000,0,0,0}, - {1,-500,200,300,500,-1000,4000,0,0,0}, - {1,-10000000,5000000,5000000,8000000,0,3000000,0,0,0}, - {1,-1000000,50000,500000,800000,0,300000,0,0,0}}; - - for(i = 0; i < 4; i++) - { - sprintf(str, "%g %g %g %g %g %g %g", prisms[i].x1, prisms[i].x2, - prisms[i].y1, prisms[i].y2, prisms[i].z1, prisms[i].z2, - prisms[i].density); - - if(gets_prism(str, &res)) - { - sprintf(msg, "(prism %d) gets_prism returned 1", i); - mu_assert(0, msg); - } - - sprintf(msg, "(prism %d) failed to read x1. read=%g true=%g", i, res.x1, - prisms[i].x1); - mu_assert(res.x1 == prisms[i].x1, msg); - sprintf(msg, "(prism %d) failed to read x2. read=%g true=%g", i, res.x2, - prisms[i].x2); - mu_assert(res.x2 == prisms[i].x2, msg); - sprintf(msg, "(prism %d) failed to read y1. read=%g true=%g", i, res.y1, - prisms[i].y1); - mu_assert(res.y1 == prisms[i].y1, msg); - sprintf(msg, "(prism %d) failed to read y2. read=%g true=%g", i, res.y2, - prisms[i].y2); - mu_assert(res.y2 == prisms[i].y2, msg); - sprintf(msg, "(prism %d) failed to read z1. read=%g true=%g", i, res.z1, - prisms[i].z1); - mu_assert(res.z1 == prisms[i].z1, msg); - sprintf(msg, "(prism %d) failed to read z2. read=%g true=%g", i, res.z2, - prisms[i].z2); - mu_assert(res.z2 == prisms[i].z2, msg); - sprintf(msg, "(prism %d) failed to read density. read=%g true=%g", i, - res.density, prisms[i].density); - mu_assert(res.density == prisms[i].density, msg); - } - return 0; -} - - -static char * test_gets_prism_sph() -{ - int i; - char str[1000]; - PRISM res; - PRISM prisms[4] = { - {1,-1000,1000,-2000,2000,0,2000,2,3,1}, - {1,-500,500,-500,500,0,4000,-3,1.2344,18.048}, - {1,-10000000,10000000,-8000000,8000000,0,3000000,2123.2,2,45.33}, - {1,-50000,50000,-800000,800000,0,300000,783.245,3.57,345}}; - - for(i = 0; i < 4; i++) - { - - sprintf(str, "%g %g %g %g %g %g %g", - prisms[i].x2 - prisms[i].x1, - prisms[i].y2 - prisms[i].y1, - prisms[i].z2 - prisms[i].z1, - prisms[i].density, - prisms[i].lon, prisms[i].lat, prisms[i].r); - - if(gets_prism_sph(str, &res)) - { - sprintf(msg, "(prism %d) gets_prism_sph returned 1", i); - mu_assert(0, msg); - } - - sprintf(msg, "(prism %d) failed to read x1. read=%g true=%g", i, res.x1, - prisms[i].x1); - mu_assert(res.x1 == prisms[i].x1, msg); - sprintf(msg, "(prism %d) failed to read x2. read=%g true=%g", i, res.x2, - prisms[i].x2); - mu_assert(res.x2 == prisms[i].x2, msg); - sprintf(msg, "(prism %d) failed to read y1. read=%g true=%g", i, res.y1, - prisms[i].y1); - mu_assert(res.y1 == prisms[i].y1, msg); - sprintf(msg, "(prism %d) failed to read y2. read=%g true=%g", i, res.y2, - prisms[i].y2); - mu_assert(res.y2 == prisms[i].y2, msg); - sprintf(msg, "(prism %d) failed to read z1. read=%g true=%g", i, res.z1, - prisms[i].z1); - mu_assert(res.z1 == prisms[i].z1, msg); - sprintf(msg, "(prism %d) failed to read z2. read=%g true=%g", i, res.z2, - prisms[i].z2); - mu_assert(res.z2 == prisms[i].z2, msg); - sprintf(msg, "(prism %d) failed to read density. read=%g true=%g", i, - res.density, prisms[i].density); - mu_assert(res.density == prisms[i].density, msg); - sprintf(msg, "(prism %d) failed to read lon. read=%g true=%g", i, - res.lon, prisms[i].lon); - mu_assert(res.lon == prisms[i].lon, msg); - sprintf(msg, "(prism %d) failed to read lat. read=%g true=%g", i, - res.lat, prisms[i].lat); - mu_assert(res.lat == prisms[i].lat, msg); - sprintf(msg, "(prism %d) failed to read r. read=%g true=%g", i, - res.r, prisms[i].r); - mu_assert(res.r == prisms[i].r, msg); - } - return 0; -} - - -static char * test_gets_prism_fail() -{ - int i = 0, j; - char str[1000]; - PRISM res; - PRISM prisms[4] = { - {1,0,1000,0,2000,100,2000,0,0,0}, - {1,-500,200,300,500,-1000,4000,0,0,0}, - {1,-10000000,5000000,5000000,8000000,0,3000000,0,0,0}, - {1,-1000000,50000,500000,800000,0,300000,0,0,0}}; - - j = 1; - sprintf(str, "%g %g %g %g %g %g %g 1", prisms[i].x1, prisms[i].x2, - prisms[i].y1, prisms[i].y2, prisms[i].z1, prisms[i].z2, - prisms[i].density); - sprintf(msg, "(test %d) gets_prism did not fail for bad input", j); - mu_assert(gets_prism(str, &res), msg); - - j = 2; - sprintf(str, "%g %g %g %g %g %g %g 1.3", prisms[i].x1, prisms[i].x2, - prisms[i].y1, prisms[i].y2, prisms[i].z1, prisms[i].z2, - prisms[i].density); - sprintf(msg, "(test %d) gets_prism did not fail for bad input", j); - mu_assert(gets_prism(str, &res), msg); - - j = 3; - sprintf(str, "%g %g %g %g %g %g %g meh", prisms[i].x1, prisms[i].x2, - prisms[i].y1, prisms[i].y2, prisms[i].z1, prisms[i].z2, - prisms[i].density); - sprintf(msg, "(test %d) gets_prism did not fail for bad input", j); - mu_assert(gets_prism(str, &res), msg); - - j = 4; - sprintf(str, "%g %g %g %g %g %g %g 1 4.5 234556 blablabla", - prisms[i].x1, prisms[i].x2, - prisms[i].y1, prisms[i].y2, prisms[i].z1, prisms[i].z2, - prisms[i].density); - sprintf(msg, "(test %d) gets_prism did not fail for bad input", j); - mu_assert(gets_prism(str, &res), msg); - - return 0; -} - - -int parsers_run_all() -{ - int failed = 0; - failed += mu_run_test(test_gets_tess, "gets_tess reads correctly from string"); - failed += mu_run_test(test_gets_prism, "gets_prism reads correctly from string"); - failed += mu_run_test(test_gets_prism_sph, - "gets_prism_sph reads correctly from string"); - failed += mu_run_test(test_gets_prism_fail, "gets_prism fails for bad input"); - return failed; -} diff --git a/dep/tesseroids/toolkits/CMakeLists.txt b/dep/tesseroids/toolkits/CMakeLists.txt deleted file mode 100644 index 6538e9c..0000000 --- a/dep/tesseroids/toolkits/CMakeLists.txt +++ /dev/null @@ -1,51 +0,0 @@ -# 设置编译选项 -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") -if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -lm") -endif() - -# 设置可执行文件的输出地址 -set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin/toolkits) - -# 下面设置tools的编译命令 首先设置一个宏 -macro(add_tools name) - # 添加可执行程序名称 - add_executable(${name} ${name}.c) - # 设置安装后的动态库调用地址 - set_target_properties(${name} PROPERTIES INSTALL_RPATH /usr/local/lib) - # 链接动态库 - target_link_libraries(${name} PUBLIC tess) - # 将可执行程序安装到/opt/bin/tess - install(TARGETS ${name} RUNTIME DESTINATION sbin) -endmacro() - -# 添加tools -add_tools(prismgx) -add_tools(prismgy) -add_tools(prismgz) -add_tools(prismgxx) -add_tools(prismgxy) -add_tools(prismgxz) -add_tools(prismgyy) -add_tools(prismgyz) -add_tools(prismgzz) -add_tools(prismgs) -add_tools(prismpot) -add_tools(prismpots) -add_tools(prismggts) -add_tools(tessgx) -add_tools(tessgy) -add_tools(tessgz) -add_tools(tessgxx) -add_tools(tessgxy) -add_tools(tessgxz) -add_tools(tessgyy) -add_tools(tessgyz) -add_tools(tessgzz) -add_tools(tessdefaults) -add_tools(tess2prism) -add_tools(tessgrd) -add_tools(tesslayers) -add_tools(tessmass) -add_tools(tessmodgen) -add_tools(tesspot) \ No newline at end of file diff --git a/dep/tesseroids/toolkits/prismggts.c b/dep/tesseroids/toolkits/prismggts.c deleted file mode 100644 index 0019043..0000000 --- a/dep/tesseroids/toolkits/prismggts.c +++ /dev/null @@ -1,249 +0,0 @@ -/* -Program to calculate the potential of a rectangular prism model in spherical -coordinates. -*/ - - -#include -#include -#include -#include -#include "../lib/logger.h" -#include "../lib/version.h" -#include "../lib/grav_prism_sph.h" -#include "../lib/geometry.h" -#include "../lib/constants.h" -#include "../lib/parsers.h" - - -/* Print the help message */ -void print_help() -{ - printf("Usage: prismggts MODELFILE [OPTIONS]\n\n"); - printf("Calculates the 6 component gravity gradient tensor due to a\n"); - printf("rectangular prism model on specified observation points using\n"); - printf("spherical coordinates.\n\n"); - printf("All input units are SI! Output is in Eotvos.\n\n"); - printf("Coordinate system:\n"); - printf(" The coordinate system used for the calculations is:\n"); - printf(" x->North, y->East, and z->Up\n"); - printf("Input:\n"); - printf(" Computation points are passed through standard input (stdin).\n"); - printf(" Reads 3 or more values per line and inteprets the first 3 as:\n"); - printf(" longitude latitude height \n"); - printf(" longitude and latitude should be in decimal degrees, and\n"); - printf(" height in meters.\n"); - printf(" Other values in the line are ignored.\n"); - printf(" Lines that start with # are ignored as comments.\n"); - printf(" Lines should be no longer than 10000 (ten thousand) characters."); - printf(" \n\n"); - printf("Output:\n"); - printf(" Printed to standard output (stdout) in the form:\n"); - printf(" lon lat height ... gxx gxy gxz gyy gyz gzz\n"); - printf(" ... represents any values that were read from input and\n"); - printf(" ignored. In other words, the result is appended to the last\n"); - printf(" column of the input. Use this to pipe prism* programs\n"); - printf(" together.\n\n"); - printf(" Comments about the provenance of the data are inserted into\n"); - printf(" the top of the output\n\n"); - printf("MODELFILE: File containing the prism model\n"); - printf(" * Each prism is specified by the values of its dimensions,\n"); - printf(" density, and spherical coordinates of the center of its\n"); - printf(" top.\n"); - printf(" * The file should contain one prism per line\n"); - printf(" * If a line starts with # it will be considered a comment and\n"); - printf(" will be ignored.\n"); - printf(" * Each line should have the following column format:\n"); - printf(" DX DY DZ Density lon lat r\n"); - printf(" This is the format output by tess2prism.\n\n"); - printf("Options:\n"); - printf(" -h Print instructions.\n"); - printf(" --version Print version and license information.\n"); - printf(" -v Enable verbose printing to stderr.\n"); - printf(" -lFILENAME Print log messages to file FILENAME.\n"); - printf("\nPart of the Tesseroids package.\n"); - printf("Project site: \n"); - printf("Report bugs at: "); - printf("\n"); -} - - -/* Run the main for a generic prismg* program */ -int main(int argc, char **argv) -{ - BASIC_ARGS args; - PRISM *model; - int modelsize, rc, line, points = 0, error_exit = 0, bad_input = 0, i; - char buff[10000]; - char progname[] = "prismggts"; - double lon, lat, height, ggt[6], tmp[6]; - FILE *logfile = NULL, *modelfile = NULL; - time_t rawtime; - clock_t tstart; - struct tm * timeinfo; - - log_init(LOG_INFO); - strcpy(progname, progname); - rc = parse_basic_args(argc, argv, progname, &args, &print_help); - if(rc == 3) - { - log_error("%s: missing input file", progname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - if(rc == 2) - { - return 0; - } - if(rc == 1) - { - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - /* Set the appropriate logging level and log to file if necessary */ - if(!args.verbose) - { - log_init(LOG_WARNING); - } - if(args.logtofile) - { - logfile = fopen(args.logfname, "w"); - if(logfile == NULL) - { - log_error("unable to create log file %s", args.logfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - log_tofile(logfile, LOG_INFO); - } - - /* Print standard verbose */ - log_info("%s (Tesseroids project) %s", progname, tesseroids_version); - time(&rawtime); - timeinfo = localtime(&rawtime); - log_info("(local time) %s", asctime(timeinfo)); - - /* Read the model file */ - log_info("Reading prism model from file %s", args.inputfname); - modelfile = fopen(args.inputfname, "r"); - if(modelfile == NULL) - { - log_error("failed to open model file %s", args.inputfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - model = read_prism_model(modelfile, 1, &modelsize); - fclose(modelfile); - if(modelsize == 0) - { - log_error("prism file %s is empty", args.inputfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - if(model == NULL) - { - log_error("failed to read model from file %s", args.inputfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - log_info("Total of %d prism(s) read", modelsize); - - /* Print a header on the output with provenance information */ - printf("# Gravity gradient tensor calculated in spherical coordinates with %s %s:\n", - progname, tesseroids_version); - printf("# local time: %s", asctime(timeinfo)); - printf("# model file: %s (%d prisms)\n", args.inputfname, modelsize); - - /* Read each computation point from stdin and calculate */ - log_info("Calculating (this may take a while)..."); - tstart = clock(); - for(line = 1; !feof(stdin); line++) - { - if(fgets(buff, 10000, stdin) == NULL) - { - if(ferror(stdin)) - { - log_error("problem encountered reading line %d", line); - error_exit = 1; - break; - } - } - else - { - /* Check for comments and blank lines */ - if(buff[0] == '#' || buff[0] == '\r' || buff[0] == '\n') - { - printf("%s", buff); - continue; - } - if(sscanf(buff, "%lf %lf %lf", &lon, &lat, &height) != 3) - { - log_warning("bad/invalid computation point at line %d", line); - log_warning("skipping this line and continuing"); - bad_input++; - continue; - } - /* Need to remove \n and \r from end of buff first to print the - result in the end */ - strstrip(buff); - ggt[0] = 0; - ggt[1] = 0; - ggt[2] = 0; - ggt[3] = 0; - ggt[4] = 0; - ggt[5] = 0; - for(i = 0; i < modelsize; i++) - { - prism_ggt_sph(model[i], lon, lat, height + MEAN_EARTH_RADIUS, - tmp); - ggt[0] += tmp[0]; - ggt[1] += tmp[1]; - ggt[2] += tmp[2]; - ggt[3] += tmp[3]; - ggt[4] += tmp[4]; - ggt[5] += tmp[5]; - } - printf("%s %.15g %.15g %.15g %.15g %.15g %.15g\n", buff, - ggt[0], - ggt[1], - ggt[2], - ggt[3], - ggt[4], - ggt[5]); - points++; - } - } - if(bad_input) - { - log_warning("Encountered %d bad computation points which were skipped", - bad_input); - } - if(error_exit) - { - log_warning("Terminating due to error in input"); - log_warning("Try '%s -h' for instructions", progname); - } - else - { - log_info("Calculated on %d points in %.5g seconds", points, - (double)(clock() - tstart)/CLOCKS_PER_SEC); - } - /* Clean up */ - free(model); - log_info("Done"); - if(args.logtofile) - fclose(logfile); - return 0; -} diff --git a/dep/tesseroids/toolkits/prismgs.c b/dep/tesseroids/toolkits/prismgs.c deleted file mode 100644 index 5dfb3f7..0000000 --- a/dep/tesseroids/toolkits/prismgs.c +++ /dev/null @@ -1,239 +0,0 @@ -/* -Program to calculate the potential of a rectangular prism model in spherical -coordinates. -*/ - - -#include -#include -#include -#include -#include "../lib/logger.h" -#include "../lib/version.h" -#include "../lib/grav_prism_sph.h" -#include "../lib/geometry.h" -#include "../lib/constants.h" -#include "../lib/parsers.h" - - -/* Print the help message */ -void print_help() -{ - printf("Usage: prismgs MODELFILE [OPTIONS]\n\n"); - printf("Calculates the 3 component gravity vector due to a rectangular\n"); - printf("prism model on specified observation points using spherical\n"); - printf("coordinates.\n\n"); - printf("All input units are SI! Output is in mGal.\n\n"); - printf("Coordinate system:\n"); - printf(" The coordinate system used for the calculations is:\n"); - printf(" x->North, y->East, and z->Up\n"); - printf("In order to maintain mainstream convention, component gz is\n"); - printf("calculated with z-> Down.\n\n"); - printf("Input:\n"); - printf(" Computation points are passed through standard input (stdin).\n"); - printf(" Reads 3 or more values per line and inteprets the first 3 as:\n"); - printf(" longitude latitude height \n"); - printf(" longitude and latitude should be in decimal degrees, and\n"); - printf(" height in meters.\n"); - printf(" Other values in the line are ignored.\n"); - printf(" Lines that start with # are ignored as comments.\n"); - printf(" Lines should be no longer than 10000 (ten thousand) characters."); - printf(" \n\n"); - printf("Output:\n"); - printf(" Printed to standard output (stdout) in the form:\n"); - printf(" lon lat height ... gx gy gz\n"); - printf(" ... represents any values that were read from input and\n"); - printf(" ignored. In other words, the result is appended to the last\n"); - printf(" column of the input. Use this to pipe prism* programs\n"); - printf(" together.\n\n"); - printf(" Comments about the provenance of the data are inserted into\n"); - printf(" the top of the output\n\n"); - printf("MODELFILE: File containing the prism model\n"); - printf(" * Each prism is specified by the values of its dimensions,\n"); - printf(" density, and spherical coordinates of the center of its\n"); - printf(" top.\n"); - printf(" * The file should contain one prism per line\n"); - printf(" * If a line starts with # it will be considered a comment and\n"); - printf(" will be ignored.\n"); - printf(" * Each line should have the following column format:\n"); - printf(" DX DY DZ Density lon lat r\n"); - printf(" This is the format output by tess2prism.\n\n"); - printf("Options:\n"); - printf(" -h Print instructions.\n"); - printf(" --version Print version and license information.\n"); - printf(" -v Enable verbose printing to stderr.\n"); - printf(" -lFILENAME Print log messages to file FILENAME.\n"); - printf("\nPart of the Tesseroids package.\n"); - printf("Project site: \n"); - printf("Report bugs at: "); - printf("\n"); -} - - -/* Run the main for a generic prismg* program */ -int main(int argc, char **argv) -{ - BASIC_ARGS args; - PRISM *model; - int modelsize, rc, line, points = 0, error_exit = 0, bad_input = 0, i; - char buff[10000]; - char progname[] = "prismgs"; - double lon, lat, height, gx, gy, gz, tmpx, tmpy, tmpz; - FILE *logfile = NULL, *modelfile = NULL; - time_t rawtime; - clock_t tstart; - struct tm * timeinfo; - - log_init(LOG_INFO); - strcpy(progname, progname); - rc = parse_basic_args(argc, argv, progname, &args, &print_help); - if(rc == 3) - { - log_error("%s: missing input file", progname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - if(rc == 2) - { - return 0; - } - if(rc == 1) - { - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - /* Set the appropriate logging level and log to file if necessary */ - if(!args.verbose) - { - log_init(LOG_WARNING); - } - if(args.logtofile) - { - logfile = fopen(args.logfname, "w"); - if(logfile == NULL) - { - log_error("unable to create log file %s", args.logfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - log_tofile(logfile, LOG_INFO); - } - - /* Print standard verbose */ - log_info("%s (Tesseroids project) %s", progname, tesseroids_version); - time(&rawtime); - timeinfo = localtime(&rawtime); - log_info("(local time) %s", asctime(timeinfo)); - - /* Read the model file */ - log_info("Reading prism model from file %s", args.inputfname); - modelfile = fopen(args.inputfname, "r"); - if(modelfile == NULL) - { - log_error("failed to open model file %s", args.inputfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - model = read_prism_model(modelfile, 1, &modelsize); - fclose(modelfile); - if(modelsize == 0) - { - log_error("prism file %s is empty", args.inputfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - if(model == NULL) - { - log_error("failed to read model from file %s", args.inputfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - log_info("Total of %d prism(s) read", modelsize); - - /* Print a header on the output with provenance information */ - printf("# Gravity vector calculated in spherical coordinates with %s %s:\n", - progname, tesseroids_version); - printf("# local time: %s", asctime(timeinfo)); - printf("# model file: %s (%d prisms)\n", args.inputfname, modelsize); - - /* Read each computation point from stdin and calculate */ - log_info("Calculating (this may take a while)..."); - tstart = clock(); - for(line = 1; !feof(stdin); line++) - { - if(fgets(buff, 10000, stdin) == NULL) - { - if(ferror(stdin)) - { - log_error("problem encountered reading line %d", line); - error_exit = 1; - break; - } - } - else - { - /* Check for comments and blank lines */ - if(buff[0] == '#' || buff[0] == '\r' || buff[0] == '\n') - { - printf("%s", buff); - continue; - } - if(sscanf(buff, "%lf %lf %lf", &lon, &lat, &height) != 3) - { - log_warning("bad/invalid computation point at line %d", line); - log_warning("skipping this line and continuing"); - bad_input++; - continue; - } - /* Need to remove \n and \r from end of buff first to print the - result in the end */ - strstrip(buff); - gx = 0; - gy = 0; - gz = 0; - for(i = 0; i < modelsize; i++) - { - prism_g_sph(model[i], lon, lat, height + MEAN_EARTH_RADIUS, - &tmpx, &tmpy, &tmpz); - gx += tmpx; - gy += tmpy; - gz += tmpz; - } - printf("%s %.15g %.15g %.15g\n", buff, gx, gy, gz); - points++; - } - } - if(bad_input) - { - log_warning("Encountered %d bad computation points which were skipped", - bad_input); - } - if(error_exit) - { - log_warning("Terminating due to error in input"); - log_warning("Try '%s -h' for instructions", progname); - } - else - { - log_info("Calculated on %d points in %.5g seconds", points, - (double)(clock() - tstart)/CLOCKS_PER_SEC); - } - /* Clean up */ - free(model); - log_info("Done"); - if(args.logtofile) - fclose(logfile); - return 0; -} diff --git a/dep/tesseroids/toolkits/prismgx.c b/dep/tesseroids/toolkits/prismgx.c deleted file mode 100644 index 9e354de..0000000 --- a/dep/tesseroids/toolkits/prismgx.c +++ /dev/null @@ -1,14 +0,0 @@ -/* -Program to calculate gx of a rectangular prism model on a set of points. -*/ - - -#include "../lib/grav_prism.h" -#include "../lib/prismg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_prismg_main(argc, argv, "prismgx", &prism_gx); -} diff --git a/dep/tesseroids/toolkits/prismgxx.c b/dep/tesseroids/toolkits/prismgxx.c deleted file mode 100644 index b8563e4..0000000 --- a/dep/tesseroids/toolkits/prismgxx.c +++ /dev/null @@ -1,14 +0,0 @@ -/* -Program to calculate gxx of a rectangular prism model on a set of points. -*/ - - -#include "../lib/grav_prism.h" -#include "../lib/prismg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_prismg_main(argc, argv, "prismgxx", &prism_gxx); -} diff --git a/dep/tesseroids/toolkits/prismgxy.c b/dep/tesseroids/toolkits/prismgxy.c deleted file mode 100644 index 403fa2c..0000000 --- a/dep/tesseroids/toolkits/prismgxy.c +++ /dev/null @@ -1,14 +0,0 @@ -/* -Program to calculate gxy of a rectangular prism model on a set of points. -*/ - - -#include "../lib/grav_prism.h" -#include "../lib/prismg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_prismg_main(argc, argv, "prismgxy", &prism_gxy); -} diff --git a/dep/tesseroids/toolkits/prismgxz.c b/dep/tesseroids/toolkits/prismgxz.c deleted file mode 100644 index 1754aa8..0000000 --- a/dep/tesseroids/toolkits/prismgxz.c +++ /dev/null @@ -1,14 +0,0 @@ -/* -Program to calculate gxz of a rectangular prism model on a set of points. -*/ - - -#include "../lib/grav_prism.h" -#include "../lib/prismg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_prismg_main(argc, argv, "prismgxz", &prism_gxz); -} diff --git a/dep/tesseroids/toolkits/prismgy.c b/dep/tesseroids/toolkits/prismgy.c deleted file mode 100644 index b18c9c1..0000000 --- a/dep/tesseroids/toolkits/prismgy.c +++ /dev/null @@ -1,14 +0,0 @@ -/* -Program to calculate gy of a rectangular prism model on a set of points. -*/ - - -#include "../lib/grav_prism.h" -#include "../lib/prismg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_prismg_main(argc, argv, "prismgy", &prism_gy); -} diff --git a/dep/tesseroids/toolkits/prismgyy.c b/dep/tesseroids/toolkits/prismgyy.c deleted file mode 100644 index ddc5074..0000000 --- a/dep/tesseroids/toolkits/prismgyy.c +++ /dev/null @@ -1,14 +0,0 @@ -/* -Program to calculate gyy of a rectangular prism model on a set of points. -*/ - - -#include "../lib/grav_prism.h" -#include "../lib/prismg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_prismg_main(argc, argv, "prismgyy", &prism_gyy); -} diff --git a/dep/tesseroids/toolkits/prismgyz.c b/dep/tesseroids/toolkits/prismgyz.c deleted file mode 100644 index 86c5867..0000000 --- a/dep/tesseroids/toolkits/prismgyz.c +++ /dev/null @@ -1,14 +0,0 @@ -/* -Program to calculate gyz of a rectangular prism model on a set of points. -*/ - - -#include "../lib/grav_prism.h" -#include "../lib/prismg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_prismg_main(argc, argv, "prismgyz", &prism_gyz); -} diff --git a/dep/tesseroids/toolkits/prismgz.c b/dep/tesseroids/toolkits/prismgz.c deleted file mode 100644 index 5eaabf9..0000000 --- a/dep/tesseroids/toolkits/prismgz.c +++ /dev/null @@ -1,14 +0,0 @@ -/* -Program to calculate gz of a rectangular prism model on a set of points. -*/ - - -#include "../lib/grav_prism.h" -#include "../lib/prismg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_prismg_main(argc, argv, "prismgz", &prism_gz); -} diff --git a/dep/tesseroids/toolkits/prismgzz.c b/dep/tesseroids/toolkits/prismgzz.c deleted file mode 100644 index 9a27c3c..0000000 --- a/dep/tesseroids/toolkits/prismgzz.c +++ /dev/null @@ -1,14 +0,0 @@ -/* -Program to calculate gzz of a rectangular prism model on a set of points. -*/ - - -#include "../lib/grav_prism.h" -#include "../lib/prismg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_prismg_main(argc, argv, "prismgzz", &prism_gzz); -} diff --git a/dep/tesseroids/toolkits/prismpot.c b/dep/tesseroids/toolkits/prismpot.c deleted file mode 100644 index a47cfec..0000000 --- a/dep/tesseroids/toolkits/prismpot.c +++ /dev/null @@ -1,14 +0,0 @@ -/* -Program to calculate potential of a rectangular prism model on a set of points. -*/ - - -#include "../lib/grav_prism.h" -#include "../lib/prismg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_prismg_main(argc, argv, "prismpot", &prism_pot); -} diff --git a/dep/tesseroids/toolkits/prismpots.c b/dep/tesseroids/toolkits/prismpots.c deleted file mode 100644 index 4461759..0000000 --- a/dep/tesseroids/toolkits/prismpots.c +++ /dev/null @@ -1,230 +0,0 @@ -/* -Program to calculate the potential of a rectangular prism model in spherical -coordinates. -*/ - - -#include -#include -#include -#include -#include "../lib/logger.h" -#include "../lib/version.h" -#include "../lib/grav_prism_sph.h" -#include "../lib/geometry.h" -#include "../lib/constants.h" -#include "../lib/parsers.h" - - -/* Print the help message */ -void print_help() -{ - printf("Usage: prismpots MODELFILE [OPTIONS]\n\n"); - printf("Calculate the potential due to a rectangular prism model on\n"); - printf("specified observation points using spherical coordinates.\n\n"); - printf("All input and output units are SI!\n\n"); - printf("Coordinate system:\n"); - printf(" The coordinate system used for the calculations is:\n"); - printf(" x->North, y->East, and z->Up\n\n"); - printf("Input:\n"); - printf(" Computation points are passed through standard input (stdin).\n"); - printf(" Reads 3 or more values per line and inteprets the first 3 as:\n"); - printf(" longitude latitude height \n"); - printf(" longitude and latitude should be in decimal degrees, and\n"); - printf(" height in meters.\n"); - printf(" Other values in the line are ignored.\n"); - printf(" Lines that start with # are ignored as comments.\n"); - printf(" Lines should be no longer than 10000 (ten thousand) characters."); - printf(" \n\n"); - printf("Output:\n"); - printf(" Printed to standard output (stdout) in the form:\n"); - printf(" lon lat height ... potential\n"); - printf(" ... represents any values that were read from input and\n"); - printf(" ignored. In other words, the result is appended to the last\n"); - printf(" column of the input. Use this to pipe prism* programs\n"); - printf(" together.\n\n"); - printf(" Comments about the provenance of the data are inserted into\n"); - printf(" the top of the output\n\n"); - printf("MODELFILE: File containing the prism model\n"); - printf(" * Each prism is specified by the values of its dimensions,\n"); - printf(" density, and spherical coordinates of the center of its\n"); - printf(" top.\n"); - printf(" * The file should contain one prism per line\n"); - printf(" * If a line starts with # it will be considered a comment and\n"); - printf(" will be ignored.\n"); - printf(" * Each line should have the following column format:\n"); - printf(" DX DY DZ Density lon lat r\n"); - printf(" This is the format output by tess2prism.\n\n"); - printf("Options:\n"); - printf(" -h Print instructions.\n"); - printf(" --version Print version and license information.\n"); - printf(" -v Enable verbose printing to stderr.\n"); - printf(" -lFILENAME Print log messages to file FILENAME.\n"); - printf("\nPart of the Tesseroids package.\n"); - printf("Project site: \n"); - printf("Report bugs at: "); - printf("\n"); -} - - -/* Run the main for a generic prismg* program */ -int main(int argc, char **argv) -{ - BASIC_ARGS args; - PRISM *model; - int modelsize, rc, line, points = 0, error_exit = 0, bad_input = 0, i; - char buff[10000]; - char progname[] = "prismpots"; - double lon, lat, height, res; - FILE *logfile = NULL, *modelfile = NULL; - time_t rawtime; - clock_t tstart; - struct tm * timeinfo; - - log_init(LOG_INFO); - strcpy(progname, progname); - rc = parse_basic_args(argc, argv, progname, &args, &print_help); - if(rc == 3) - { - log_error("%s: missing input file", progname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - if(rc == 2) - { - return 0; - } - if(rc == 1) - { - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - /* Set the appropriate logging level and log to file if necessary */ - if(!args.verbose) - { - log_init(LOG_WARNING); - } - if(args.logtofile) - { - logfile = fopen(args.logfname, "w"); - if(logfile == NULL) - { - log_error("unable to create log file %s", args.logfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - log_tofile(logfile, LOG_INFO); - } - - /* Print standard verbose */ - log_info("%s (Tesseroids project) %s", progname, tesseroids_version); - time(&rawtime); - timeinfo = localtime(&rawtime); - log_info("(local time) %s", asctime(timeinfo)); - - /* Read the model file */ - log_info("Reading prism model from file %s", args.inputfname); - modelfile = fopen(args.inputfname, "r"); - if(modelfile == NULL) - { - log_error("failed to open model file %s", args.inputfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - model = read_prism_model(modelfile, 1, &modelsize); - fclose(modelfile); - if(modelsize == 0) - { - log_error("prism file %s is empty", args.inputfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - if(model == NULL) - { - log_error("failed to read model from file %s", args.inputfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - log_info("Total of %d prism(s) read", modelsize); - - /* Print a header on the output with provenance information */ - printf("# Potential calculated in spherical coordinates with %s %s:\n", - progname, tesseroids_version); - printf("# local time: %s", asctime(timeinfo)); - printf("# model file: %s (%d prisms)\n", args.inputfname, modelsize); - - /* Read each computation point from stdin and calculate */ - log_info("Calculating (this may take a while)..."); - tstart = clock(); - for(line = 1; !feof(stdin); line++) - { - if(fgets(buff, 10000, stdin) == NULL) - { - if(ferror(stdin)) - { - log_error("problem encountered reading line %d", line); - error_exit = 1; - break; - } - } - else - { - /* Check for comments and blank lines */ - if(buff[0] == '#' || buff[0] == '\r' || buff[0] == '\n') - { - printf("%s", buff); - continue; - } - if(sscanf(buff, "%lf %lf %lf", &lon, &lat, &height) != 3) - { - log_warning("bad/invalid computation point at line %d", line); - log_warning("skipping this line and continuing"); - bad_input++; - continue; - } - /* Need to remove \n and \r from end of buff first to print the - result in the end */ - strstrip(buff); - for(res = 0, i = 0; i < modelsize; i++) - { - res += prism_pot_sph(model[i], lon, lat, - height + MEAN_EARTH_RADIUS); - } - printf("%s %.15g\n", buff, res); - points++; - } - } - if(bad_input) - { - log_warning("Encountered %d bad computation points which were skipped", - bad_input); - } - if(error_exit) - { - log_warning("Terminating due to error in input"); - log_warning("Try '%s -h' for instructions", progname); - } - else - { - log_info("Calculated on %d points in %.5g seconds", points, - (double)(clock() - tstart)/CLOCKS_PER_SEC); - } - /* Clean up */ - free(model); - log_info("Done"); - if(args.logtofile) - fclose(logfile); - return 0; -} diff --git a/dep/tesseroids/toolkits/tess2prism.c b/dep/tesseroids/toolkits/tess2prism.c deleted file mode 100644 index 4fc1a63..0000000 --- a/dep/tesseroids/toolkits/tess2prism.c +++ /dev/null @@ -1,222 +0,0 @@ -/* -Convert a tesseroid model into a prism model in spherical coordinates -*/ - - -#include -#include -#include "../lib/version.h" -#include "../lib/parsers.h" -#include "../lib/logger.h" -#include "../lib/geometry.h" - - -/** Print the help message */ -void print_help() -{ - printf("Usage: tess2prim TESSFILE [OPTIONS]\n\n"); - printf("Convert a tesseroid model into a rectangular prism model\n"); - printf("(for use with the prism* programs).\n\n"); - printf("The converted prisms have the same mass as the tesseroids.\n\n"); - printf("Along with each prism are given the spherical coordinates of the\n"); - printf("center of the top face of the tesseroid (used as the origin of\n"); - printf("the prisms coordinate system). This is needed to compute the.\n"); - printf("effect of the prisms in spherical coordinates.\n\n"); - printf("If option --flatten is used, the tesseroids are converted by\n"); - printf("approximating 1 degree by 111.11km and no spherical coordinates\n"); - printf("are given. Use this option when you want to calculate in\n"); - printf("Cartesian coordinates.\n\n"); - printf("In both cases, the density of the prism is adjusted so that it\n"); - printf("has the same mass as the tesseroid.\n\n"); - printf("All units either SI or degrees!\n\n"); - printf("Input:\n"); - printf(" If TESSFILE is omited, will read from standard input (stdin)\n"); - printf(" TESSFILE: File containing the tesseroid model\n"); - printf(" * Each tesseroid is specified by the values of its borders\n"); - printf(" and density\n"); - printf(" * The file should contain one tesseroid per line\n"); - printf(" * Each line should have the following column format:\n"); - printf(" West East South North Top Bottom Density\n"); - printf(" * Top and Bottom should be read as 'height to top' and \n"); - printf(" 'height to bottom' from the mean Earth radius. Use negative\n"); - printf(" values if bellow the surface, for example when modeling\n"); - printf(" deep structures, and positive if above the surface, for\n"); - printf(" example when modeling topography.\n"); - printf(" * If a line starts with # it will be considered a comment\n"); - printf(" and will be ignored\n\n"); - printf("Output:\n"); - printf(" Printed to standard output (stdout) one prism per line in the\n"); - printf(" format:\n"); - printf(" dx dy dz density lon lat r\n"); - printf(" lon, lat, r are the spherical coordinates of the center of\n"); - printf(" top face of the prism. This is used as the origin of the\n"); - printf(" local coordinate system of the prism.\n"); - printf(" If options --flatten is used, the output format is:\n"); - printf(" x1 x2 y1 y2 z1 z2 density\n"); - printf(" Comments about the provenance of the data are inserted into\n"); - printf(" the top of the output.\n\n"); - printf("Options:\n"); - printf(" --flatten Convert the tesseroids by approximating 1 degree\n"); - printf(" by 111.11 km (for compatibility with prism*\n"); - printf(" programs).\n"); - printf(" -h Print instructions.\n"); - printf(" --version Print version and license information.\n"); - printf(" -v Enable verbose printing to stderr.\n"); - printf(" -lFILENAME Print log messages to file FILENAME.\n"); - print_copyright(); -} - - -/** Main */ -int main(int argc, char **argv) -{ - char *progname = "tess2prism"; - TESS2PRISM_ARGS args; - int rc, line, converted = 0, error_exit = 0, bad_input = 0; - char buff[10000]; - TESSEROID tess; - PRISM prism; - FILE *logfile = NULL, *modelfile = NULL; - time_t rawtime; - struct tm * timeinfo; - - log_init(LOG_INFO); - rc = parse_tess2prism_args(argc, argv, progname, &args, &print_help); - if(rc == 2) - { - return 0; - } - if(rc == 1) - { - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - /* Set the appropriate logging level and log to file if necessary */ - if(!args.verbose) - { - log_init(LOG_WARNING); - } - if(args.logtofile) - { - logfile = fopen(args.logfname, "w"); - if(logfile == NULL) - { - log_error("unable to create log file %s", args.logfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - log_tofile(logfile, LOG_INFO); - } - - /* Print standard verbose */ - log_info("%s (Tesseroids project) %s", progname, tesseroids_version); - time(&rawtime); - timeinfo = localtime(&rawtime); - log_info("(local time) %s", asctime(timeinfo)); - - /* If an input file is not given, read from stdin. Else open the file */ - if(rc == 3) - { - log_info("Reading tesseroids from stdin"); - modelfile = stdin; - } - else - { - log_info("Reading tesseroids from file %s", args.inputfname); - modelfile = fopen(args.inputfname, "r"); - if(modelfile == NULL) - { - log_error("failed to open file %s", args.inputfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - } - - /* Print provenance data to stdout */ - printf("# Prisms converted from tesseroid model with %s %s\n", progname, - tesseroids_version); - printf("# local time: %s", asctime(timeinfo)); - printf("# tesseroids file: %s\n", rc == 3 ? "stdin" : args.inputfname); - printf("# conversion type: %s\n", - args.flatten ? "equal mass|flatten" : - "equal mass|spherical coordinates"); - if(args.flatten) - { - printf("# format: x1 x2 y1 y2 z1 z2 density\n"); - } - else - { - printf("# format: dx dy dz density lon lat r\n"); - } - - /* Read the tesseroids, convert and print to stdout */ - for(line = 1; !feof(modelfile); line++) - { - if(fgets(buff, 10000, modelfile) == NULL) - { - if(ferror(stdin)) - { - log_error("problem encountered reading line %d", line); - error_exit = 1; - break; - } - } - else - { - /* Check for comments and blank lines */ - if(buff[0] == '#' || buff[0] == '\r' || buff[0] == '\n') - { - printf("%s", buff); - continue; - } - /* Remove any trailing spaces or newlines */ - strstrip(buff); - if(gets_tess(buff, &tess)) - { - log_warning("bad/invalid tesseroid at line %d", line); - bad_input++; - continue; - } - if(args.flatten) - { - tess2prism_flatten(tess, &prism); - printf("%.15g %.15g %.15g %.15g %.15g %.15g %.15g\n", - prism.x1, prism.x2, prism.y1, prism.y2, prism.z1, - prism.z2, prism.density); - } - else - { - tess2prism(tess, &prism); - printf("%.15g %.15g %.15g %.15g %.15g %.15g %.15g\n", - prism.x2 - prism.x1, prism.y2 - prism.y1, - prism.z2 - prism.z1, prism.density, - prism.lon, prism.lat, prism.r); - } - converted++; - } - } - if(bad_input) - { - log_warning("Encountered %d bad input line(s) which were skipped", - bad_input); - } - if(error_exit) - { - log_warning("Terminating due to error in input"); - log_warning("Try '%s -h' for instructions", progname); - } - else - { - log_info("Converted %d tesseroids", converted); - } - /* Clean up */ - fclose(modelfile); - if(args.logtofile) - fclose(logfile); - return 0; -} diff --git a/dep/tesseroids/toolkits/tessdefaults.c b/dep/tesseroids/toolkits/tessdefaults.c deleted file mode 100644 index a099c75..0000000 --- a/dep/tesseroids/toolkits/tessdefaults.c +++ /dev/null @@ -1,123 +0,0 @@ -/* -Print the default values of the constants used in the calculations. -*/ - - -#include -#include -#include -#include "../lib/version.h" -#include "../lib/logger.h" -#include "../lib/constants.h" -#include "../lib/glq.h" - - -/** Print the help message */ -void print_help() -{ - printf("Usage: tessdefaults [OPTIONS]\n\n"); - printf("Print default values of constants used.\n\n"); - printf("All units either SI or degrees!\n\n"); - printf("Output:\n"); - printf(" Constants are printed to standard output (stdout) in the form\n"); - printf(" CONST_NAME = VALUE\n"); - printf(" Lines that start with a # are treated as comments.\n\n"); - printf("Options:\n"); - printf(" -h Print instructions.\n"); - printf(" --version Print version and license information.\n"); - print_copyright(); -} - - -/** Main */ -int main(int argc, char **argv) -{ - char progname[] = "tessdefaults"; - int i, bad_args = 0; - char *params; - - log_init(LOG_INFO); - - /* Parse arguments */ - for(i = 1; i < argc; i++) - { - if(argv[i][0] == '-') - { - switch(argv[i][1]) - { - case 'h': - if(argv[i][2] != '\0') - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - print_help(); - return 0; - case '-': - { - params = &argv[i][2]; - if(strcmp(params, "version")) - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - } - else - { - print_version(progname); - return 0; - } - break; - } - default: - log_error("invalid argument '%s'", argv[i]); - bad_args++; - break; - } - } - else - { - log_error("invalid argument '%s'", argv[i]); - bad_args++; - } - } - /* Check if parsing went well */ - if(bad_args > 0) - { - log_error("%d bad input argument(s)", bad_args); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - /* Print the constants from constants.c */ - printf("# Mean Earth radius (m)\n"); - printf("MEAN_EARTH_RADIUS = %.1f\n\n", MEAN_EARTH_RADIUS); - printf("# Gravitational constant (m^3 kg^-1 s^-1)\n"); - printf("G = %.4g\n\n", G); - printf("# Conversion factor from SI units to Eotvos s^-2 = 10^9 Eotvos\n"); - printf("SI2EOTVOS = %g\n\n", SI2EOTVOS); - printf("# Conversion factor from SI units to mGal m s^-2} = 10^5 mGal\n"); - printf("SI2MGAL = %g\n\n", SI2MGAL); - printf("# Just pi\n"); - printf("PI = %.31f\n\n", PI); - printf("# Minimum distance/size ratio for computations to be\n"); - printf("# accurate. Used for knowing when to divide the tesseroids.\n"); - printf("TESSEROID_POT_SIZE_RATIO = %g\n", TESSEROID_POT_SIZE_RATIO); - printf("TESSEROID_GX_SIZE_RATIO = %g\n", TESSEROID_GX_SIZE_RATIO); - printf("TESSEROID_GY_SIZE_RATIO = %g\n", TESSEROID_GY_SIZE_RATIO); - printf("TESSEROID_GZ_SIZE_RATIO = %g\n", TESSEROID_GZ_SIZE_RATIO); - printf("TESSEROID_GXX_SIZE_RATIO = %g\n", TESSEROID_GXX_SIZE_RATIO); - printf("TESSEROID_GXY_SIZE_RATIO = %g\n", TESSEROID_GXY_SIZE_RATIO); - printf("TESSEROID_GXZ_SIZE_RATIO = %g\n", TESSEROID_GXZ_SIZE_RATIO); - printf("TESSEROID_GYY_SIZE_RATIO = %g\n", TESSEROID_GYY_SIZE_RATIO); - printf("TESSEROID_GYZ_SIZE_RATIO = %g\n", TESSEROID_GYZ_SIZE_RATIO); - printf("TESSEROID_GZZ_SIZE_RATIO = %g\n\n", TESSEROID_GZZ_SIZE_RATIO); - /* Print the constants from glq.c */ - printf("# Max iterations of the Legendre polynomial root-finder \ -algorithm\n"); - printf("GLQ_MAXIT = %d\n\n", GLQ_MAXIT); - printf("# Max error allowed for the Legendre polynomial root-finder \ -algorithm\n"); - printf("GLQ_MAXERROR = %g\n", GLQ_MAXERROR); - return 0; -} diff --git a/dep/tesseroids/toolkits/tessgrd.c b/dep/tesseroids/toolkits/tessgrd.c deleted file mode 100644 index cd6a636..0000000 --- a/dep/tesseroids/toolkits/tessgrd.c +++ /dev/null @@ -1,165 +0,0 @@ -/* -Program to generate a regular grid of points. -*/ - - -#include -#include -#include -#include "../lib/logger.h" -#include "../lib/version.h" -#include "../lib/parsers.h" - - -/* Print the help message for tessgrd program */ -void print_tessgrd_help() -{ - printf("Usage: tessgrd [PARAMS] [OPTIONS]\n\n"); - printf("Make a regular grid of points.\n\n"); - printf("All units either SI or degrees!\n\n"); - printf("Output:\n"); - printf(" Printed to standard output (stdout) in the format:\n"); - printf(" lon1 lat1 height\n"); - printf(" lon2 lat1 height\n"); - printf(" ... ... ...\n"); - printf(" lonNLON lat1 height\n"); - printf(" lon1 lat2 height\n"); - printf(" ... ... ...\n"); - printf(" ... ... ...\n"); - printf(" lonNLON latNLAT height\n\n"); - printf(" * Comments about the provenance of the data are inserted into\n"); - printf(" the top of the output\n\n"); - printf("Parameters:\n"); - printf(" -r W/E/S/N: Bounding region of the grid.\n"); - printf(" -b NLON/NLAT: Number of grid points in the\n"); - printf(" longitudinal and latitudinal directions.\n"); - printf(" -z HEIGHT: Height of the grid with respect to the\n"); - printf(" mean Earth radius.\n"); - printf(" -h Print instructions.\n"); - printf(" --version Print version and license information.\n"); - printf("\nOptions:\n"); - printf(" -v Enable verbose printing to stderr.\n"); - printf(" -lFILENAME Print log messages to file FILENAME.\n"); - print_copyright(); -} - - -/** Main */ -int main(int argc, char **argv) -{ - TESSGRD_ARGS args; - char progname[] = "tessgrd"; - int rc; - FILE *logfile = NULL; - time_t rawtime; - struct tm * timeinfo; - double dlon, dlat; - double lon, lat; - /* Keep track of how many printed. Used to check if produced right amount */ - int lons = 0, lats = 0, total = 0; - - log_init(LOG_INFO); - - rc = parse_tessgrd_args(argc, argv, &args, &print_tessgrd_help); - if(rc == 2) - { - return 0; - } - if(rc == 1) - { - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - /* Set the appropriate logging level and log to file if necessary */ - if(!args.verbose) - { - log_init(LOG_WARNING); - } - if(args.logtofile) - { - logfile = fopen(args.logfname, "w"); - if(!logfile) - { - log_error("unable to create log file %s", args.logfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - log_tofile(logfile, LOG_INFO); - } - - /* Print standard verbose */ - log_info("%s (Tesseroids project) %s", progname, tesseroids_version); - time(&rawtime); - timeinfo = localtime(&rawtime); - log_info("(local time) %s", asctime(timeinfo)); - - /* CREATE THE GRID AND PRINT IT TO STDOUT */ - log_info("Generating regular grid in region: %g W / %g E / %g S / %g N", - args.w, args.e, args.s, args.n); - log_info("Grid size: %d lon X %d lat = %d points in total", args.nlon, - args.nlat, args.nlon*args.nlat); - - /* Define the grid spacing. used nlon or nlat -1 because the borders should - be in the grid */ - dlon = (args.e - args.w)/(args.nlon - 1); - dlat = (args.n - args.s)/(args.nlat - 1); - log_info("Grid spacing: %.10f lon / %.10f lat", dlon, dlat); - - /* Print a header on the output with provenance information */ - printf("# Grid generated with %s %s:\n", progname, tesseroids_version); - printf("# local time: %s", asctime(timeinfo)); - printf("# args: -r%g/%g/%g/%g -b%d/%d -z%g\n", args.w, args.e, args.s, - args.n, args.nlon, args.nlat, args.height); - printf("# grid spacing: %.10f lon / %.10f lat\n", dlon, dlat); - printf("# total %d points\n", args.nlon*args.nlat); - - /* Make the grid points. Print lon first as x */ - for(lat = args.s; lat <= args.n; lat += dlat) - { - lons = 0; - for(lon = args.w; lon <= args.e; lon += dlon) - { - printf("%.15g %.15g %.15g\n", lon, lat, args.height); - lons++; - total++; - } - /* Sometimes prints one less because of rounding errors */ - if(lons != args.nlon) - { - printf("%.15g %.15g %.15g\n", lon, lat, args.height); - lons++; - total++; - } - lats++; - printf("\n"); /* To ease plotting in Gnuplot */ - } - /* Sometimes prints one less because of rounding errors */ - if(lats != args.nlat) - { - lons = 0; - for(lon = args.w; lon <= args.e; lon += dlon) - { - printf("%.15g %.15g %.15g\n", lon, lat, args.height); - lons++; - total++; - } - if(lons != args.nlon) - { - printf("%.15g %.15g %.15g\n", lon, lat, args.height); - lons++; - total++; - } - } - if(total != args.nlat*args.nlon) - { - log_warning("%d total points made instead of required %d", total, - args.nlat*args.nlon); - } - log_info("Total points generated: %d", total); - /* Clean up */ - if(args.logtofile) - fclose(logfile); - return 0; -} diff --git a/dep/tesseroids/toolkits/tessgx.c b/dep/tesseroids/toolkits/tessgx.c deleted file mode 100644 index 88c64ae..0000000 --- a/dep/tesseroids/toolkits/tessgx.c +++ /dev/null @@ -1,16 +0,0 @@ -/* -Program to calculate gx of a tesseroid model on a set of points. -*/ - - -#include "../lib/constants.h" -#include "../lib/grav_tess.h" -#include "../lib/tessg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_tessg_main(argc, argv, "tessgx", &tess_gx, - TESSEROID_GX_SIZE_RATIO); -} diff --git a/dep/tesseroids/toolkits/tessgxx.c b/dep/tesseroids/toolkits/tessgxx.c deleted file mode 100644 index 4b9e4a4..0000000 --- a/dep/tesseroids/toolkits/tessgxx.c +++ /dev/null @@ -1,16 +0,0 @@ -/* -Program to calculate gxx of a tesseroid model on a set of points. -*/ - - -#include "../lib/constants.h" -#include "../lib/grav_tess.h" -#include "../lib/tessg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_tessg_main(argc, argv, "tessgxx", &tess_gxx, - TESSEROID_GXX_SIZE_RATIO); -} diff --git a/dep/tesseroids/toolkits/tessgxy.c b/dep/tesseroids/toolkits/tessgxy.c deleted file mode 100644 index 789c76d..0000000 --- a/dep/tesseroids/toolkits/tessgxy.c +++ /dev/null @@ -1,16 +0,0 @@ -/* -Program to calculate gxy of a tesseroid model on a set of points. -*/ - - -#include "../lib/constants.h" -#include "../lib/grav_tess.h" -#include "../lib/tessg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_tessg_main(argc, argv, "tessgxy", &tess_gxy, - TESSEROID_GXY_SIZE_RATIO); -} diff --git a/dep/tesseroids/toolkits/tessgxz.c b/dep/tesseroids/toolkits/tessgxz.c deleted file mode 100644 index 3be9950..0000000 --- a/dep/tesseroids/toolkits/tessgxz.c +++ /dev/null @@ -1,16 +0,0 @@ -/* -Program to calculate gxz of a tesseroid model on a set of points. -*/ - - -#include "../lib/constants.h" -#include "../lib/grav_tess.h" -#include "../lib/tessg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_tessg_main(argc, argv, "tessgxz", &tess_gxz, - TESSEROID_GXZ_SIZE_RATIO); -} diff --git a/dep/tesseroids/toolkits/tessgy.c b/dep/tesseroids/toolkits/tessgy.c deleted file mode 100644 index a648f6c..0000000 --- a/dep/tesseroids/toolkits/tessgy.c +++ /dev/null @@ -1,16 +0,0 @@ -/* -Program to calculate gy of a tesseroid model on a set of points. -*/ - - -#include "../lib/constants.h" -#include "../lib/grav_tess.h" -#include "../lib/tessg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_tessg_main(argc, argv, "tessgy", &tess_gy, - TESSEROID_GY_SIZE_RATIO); -} diff --git a/dep/tesseroids/toolkits/tessgyy.c b/dep/tesseroids/toolkits/tessgyy.c deleted file mode 100644 index dc041a4..0000000 --- a/dep/tesseroids/toolkits/tessgyy.c +++ /dev/null @@ -1,16 +0,0 @@ -/* -Program to calculate gyy of a tesseroid model on a set of points. -*/ - - -#include "../lib/constants.h" -#include "../lib/grav_tess.h" -#include "../lib/tessg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_tessg_main(argc, argv, "tessgyy", &tess_gyy, - TESSEROID_GYY_SIZE_RATIO); -} diff --git a/dep/tesseroids/toolkits/tessgyz.c b/dep/tesseroids/toolkits/tessgyz.c deleted file mode 100644 index b7eeb54..0000000 --- a/dep/tesseroids/toolkits/tessgyz.c +++ /dev/null @@ -1,16 +0,0 @@ -/* -Program to calculate gyz of a tesseroid model on a set of points. -*/ - - -#include "../lib/constants.h" -#include "../lib/grav_tess.h" -#include "../lib/tessg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_tessg_main(argc, argv, "tessgyz", &tess_gyz, - TESSEROID_GYZ_SIZE_RATIO); -} diff --git a/dep/tesseroids/toolkits/tessgz.c b/dep/tesseroids/toolkits/tessgz.c deleted file mode 100644 index a2af974..0000000 --- a/dep/tesseroids/toolkits/tessgz.c +++ /dev/null @@ -1,16 +0,0 @@ -/* -Program to calculate gz of a tesseroid model on a set of points. -*/ - - -#include "../lib/constants.h" -#include "../lib/grav_tess.h" -#include "../lib/tessg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_tessg_main(argc, argv, "tessgz", &tess_gz, - TESSEROID_GZ_SIZE_RATIO); -} diff --git a/dep/tesseroids/toolkits/tessgzz.c b/dep/tesseroids/toolkits/tessgzz.c deleted file mode 100644 index 0789e6c..0000000 --- a/dep/tesseroids/toolkits/tessgzz.c +++ /dev/null @@ -1,16 +0,0 @@ -/* -Program to calculate gzz of a tesseroid model on a set of points. -*/ - - -#include "../lib/constants.h" -#include "../lib/grav_tess.h" -#include "../lib/tessg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_tessg_main(argc, argv, "tessgzz", &tess_gzz, - TESSEROID_GZZ_SIZE_RATIO); -} diff --git a/dep/tesseroids/toolkits/tesslayers.c b/dep/tesseroids/toolkits/tesslayers.c deleted file mode 100644 index 3c01f53..0000000 --- a/dep/tesseroids/toolkits/tesslayers.c +++ /dev/null @@ -1,201 +0,0 @@ -/* -Generate tesseroid model of a series of layers given their thickness. -*/ - - -#include -#include -#include "../lib/version.h" -#include "../lib/parsers.h" -#include "../lib/logger.h" -#include "../lib/geometry.h" -#include "../lib/constants.h" - - -#define BUFFSIZE 1000 - -/** Print the help message */ -void print_help() -{ - printf("Usage: tesslayers [ARGUMENTS] [OPTIONS]\n\n"); - printf("Generate a tesseroid model of a series of stacked layers.\n\n"); - printf("All units are either SI or degrees!\n\n"); - printf("Input:\n"); - printf(" Regular grids passed through standard input (stdin).\n"); - printf(" Grids should be in a single file in xyz format, i.e., in\n"); - printf(" columns:\n"); - printf(" lon lat height thickness1 dens1 thickness2 dens2 ...\n"); - printf(" lon and lat are the longitude and latitude of a grid point,\n"); - printf(" height is the top of the first layer at the grid point\n"); - printf(" (e.g., the topography or relief of the first layer),\n"); - printf(" height should be read as 'height above the mean Earth radius'\n"); - printf(" (if bellow the Earth radius use negative heights),\n"); - printf(" thickness1 is the thickness of the first layer,\n"); - printf(" dens1 is the density of the first layer, and so forth.\n\n"); - printf(" Layers MUST be ordered from top-most to bottom-most\n"); - printf(" (i.e., thickness1 is of the top layer).\n\n"); - printf(" Lines that start with # are ignored as comments.\n"); - printf(" Lines should be no longer than 10000 (ten thousand) characters."); - printf(" \n\n"); - printf("Output:\n"); - printf(" Tesseroids that fill between the interfaces of the layers.\n"); - printf(" Tesseroids are printed to standard output (stdout.)\n"); - printf(" * Each tesseroid is specified by the values of its borders\n"); - printf(" and density\n"); - printf(" * Will print one tesseroid per line\n"); - printf(" * Each line has the following column format:\n"); - printf(" West East South North Top Bottom Density\n"); - printf(" * Top and Bottom should be read as 'height to top' and \n"); - printf(" 'height to bottom' from the mean Earth radius. Use negative\n"); - printf(" values if bellow the surface, for example when modeling\n"); - printf(" deep structures, and positive if above the surface, for\n"); - printf(" example when modeling topography.\n"); - printf(" * If a line starts with # it will be considered a comment\n"); - printf(" and will be ignored\n\n"); - printf("Arguments:\n"); - printf(" -sDLON/DLAT The grid spacing in the longitude and latitude\n"); - printf(" directions, respectively, in DECIMAL DEGREES.\n"); - printf(" Will be used as the size of the tesseroids.\n"); - printf(" WARNING: You may get wrong results if -s is \n"); - printf(" different from the grid spacing!\n"); - printf("Options:\n"); - printf(" -h Print instructions.\n"); - printf(" --version Print version and license information.\n"); - printf(" -v Enable verbose printing to stderr.\n"); - printf(" -lFILENAME Print log messages to file FILENAME.\n"); - print_copyright(); -} - - -/** Main */ -int main(int argc, char **argv) -{ - char *progname = "tesslayers"; - TESSLAYERS_ARGS args; - TESSEROID tessbuff[BUFFSIZE]; - int t, rc, line, error_exit = 0, bad_input = 0, size = 0, nlayers_old = -1, - nlayers_new; - char buff[10000]; - FILE *logfile = NULL; - time_t rawtime; - struct tm * timeinfo; - - log_init(LOG_INFO); - - rc = parse_tesslayers_args(argc, argv, progname, &args, &print_help); - if(rc == 2) - { - return 0; - } - if(rc == 1) - { - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - - return 1; - } - - /* Set the appropriate logging level and log to file if necessary */ - if(!args.verbose) - { - log_init(LOG_WARNING); - } - if(args.logtofile) - { - logfile = fopen(args.logfname, "w"); - if(logfile == NULL) - { - log_error("unable to create log file %s", args.logfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - log_tofile(logfile, LOG_INFO); - } - - /* Print standard verbose */ - log_info("%s (Tesseroids project) %s", progname, tesseroids_version); - time(&rawtime); - timeinfo = localtime(&rawtime); - log_info("(local time) %s", asctime(timeinfo)); - log_info("Using grid spacing (size of tesseroids): %g lon / %g lat", - args.dlon, args.dlat); - - /* Print a header on the output with provenance information */ - printf("# Tesseroid model generated by %s %s:\n", progname, - tesseroids_version); - printf("# local time: %s", asctime(timeinfo)); - printf("# grid spacing (size of tesseroids): %g deg lon / %g deg lat\n", - args.dlon, args.dlat); - - /* Read each regular grid from stdin and generate the tesseroids */ - for(line = 1; !feof(stdin); line++) - { - if(fgets(buff, 10000, stdin) == NULL) - { - if(ferror(stdin)) - { - log_error("problem encountered reading line %d", line); - error_exit = 1; - break; - } - } - else - { - /* Check for comments and blank lines */ - if(buff[0] == '#' || buff[0] == '\r' || buff[0] == '\n') - { - continue; - } - strstrip(buff); - - nlayers_new = gets_layers(buff, args.dlon, args.dlat, tessbuff, - BUFFSIZE); - if(nlayers_new == -1) - { - log_error("invalid input in line %d", line); - error_exit++; - break; - } - if(nlayers_old != -1 && nlayers_old != nlayers_new) - { - log_error("different number of layers in line %d than in previous lines", - line); - error_exit++; - break; - } - nlayers_old = nlayers_new; - - for(t = 0; t < nlayers_new; t++) - { - printf("%.15g %.15g %.15g %.15g %.15g %.15g %.15g\n", - tessbuff[t].w, - tessbuff[t].e, - tessbuff[t].s, - tessbuff[t].n, - tessbuff[t].r2 - MEAN_EARTH_RADIUS, - tessbuff[t].r1 - MEAN_EARTH_RADIUS, - tessbuff[t].density); - size++; - } - } - } - if(bad_input) - { - log_warning("Encountered %d bad grid points which were skipped", - bad_input); - } - if(error_exit) - { - log_warning("Terminating due to error in input"); - log_warning("Try '%s -h' for instructions", progname); - } - else - { - log_info("Generated %d tesseroids.", size); - } - /* Clean up */ - if(args.logtofile) - fclose(logfile); - return 0; -} diff --git a/dep/tesseroids/toolkits/tessmass.c b/dep/tesseroids/toolkits/tessmass.c deleted file mode 100644 index e5e5450..0000000 --- a/dep/tesseroids/toolkits/tessmass.c +++ /dev/null @@ -1,193 +0,0 @@ -/* -Calculate the mass of a tesseroid model. -*/ - - -#include -#include -#include "../lib/version.h" -#include "../lib/parsers.h" -#include "../lib/logger.h" -#include "../lib/geometry.h" - - -/** Print the help message */ -void print_help() -{ - printf("Usage: tessmass TESSFILE [OPTIONS]\n\n"); - printf("Calculate the mass of a tesseroid model.\n\n"); - printf("All units either SI or degrees!\n\n"); - printf("Input:\n"); - printf(" If TESSFILE is omited, will read from standard input (stdin)\n"); - printf(" TESSFILE: File containing the tesseroid model\n"); - printf(" * Each tesseroid is specified by the values of its borders\n"); - printf(" and density\n"); - printf(" * The file should contain one tesseroid per line\n"); - printf(" * Each line should have the following column format:\n"); - printf(" West East South North Top Bottom Density\n"); - printf(" * Top and Bottom should be read as 'depth to top' and \n"); - printf(" 'depth to bottom' from the mean Earth radius. Use negative\n"); - printf(" values if above the surface, for example when modeling\n"); - printf(" topography\n"); - printf(" * If a line starts with # it will be considered a comment\n"); - printf(" and will be ignored\n\n"); - printf("Output:\n"); - printf(" Printed to standard output (stdout) in same units as input\n\n"); - printf("Options:\n"); - printf(" -rLOW/HIGH Only take into account tesseroids with\n"); - printf(" density between LOW and HIGH\n"); - printf(" -h Print instructions.\n"); - printf(" --version Print version and license information.\n"); - printf(" -v Enable verbose printing to stderr.\n"); - printf(" -lFILENAME Print log messages to file FILENAME.\n"); - print_copyright(); -} - - -/** Main */ -int main(int argc, char **argv) -{ - char *progname = "tessmass"; - TESSMASS_ARGS args; - TESSEROID tess; - double mass = 0; - int rc, line, size = 0, error_exit = 0, bad_input = 0; - FILE *logfile = NULL, *modelfile = NULL; - time_t rawtime; - struct tm * timeinfo; - char buff[10000]; - - log_init(LOG_INFO); - - rc = parse_tessmass_args(argc, argv, progname, &args, &print_help); - if(rc == 2) - { - return 0; - } - if(rc == 1) - { - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - - return 1; - } - - /* Set the appropriate logging level and log to file if necessary */ - if(!args.verbose) - { - log_init(LOG_WARNING); - } - if(args.logtofile) - { - logfile = fopen(args.logfname, "w"); - if(logfile == NULL) - { - log_error("unable to create log file %s", args.logfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - log_tofile(logfile, LOG_INFO); - } - - /* Print standard verbose */ - log_info("%s (Tesseroids project) %s", progname, tesseroids_version); - time(&rawtime); - timeinfo = localtime(&rawtime); - log_info("(local time) %s", asctime(timeinfo)); - - /* If an input file is not given, read from stdin. Else open the file */ - if(rc == 3) - { - log_info("Reading tesseroids from stdin"); - modelfile = stdin; - } - else - { - log_info("Reading tesseroids from file %s", args.inputfname); - modelfile = fopen(args.inputfname, "r"); - if(modelfile == NULL) - { - log_error("failed to open file %s", args.inputfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - if(args.logtofile) - fclose(logfile); - return 1; - } - } - - /* Read the tesseroids, convert and print to stdout */ - for(line = 1; !feof(modelfile); line++) - { - if(fgets(buff, 10000, modelfile) == NULL) - { - if(ferror(stdin)) - { - log_error("problem encountered reading line %d", line); - error_exit = 1; - break; - } - } - else - { - /* Check for comments and blank lines */ - if(buff[0] == '#' || buff[0] == '\r' || buff[0] == '\n') - { - continue; - } - /* Remove any trailing spaces or newlines */ - strstrip(buff); - if(gets_tess(buff, &tess)) - { - log_warning("bad/invalid tesseroid at line %d", line); - bad_input++; - continue; - } - if(args.use_range) - { - mass += tess_range_mass(&tess, 1, args.low_dens, - args.high_dens); - size++; - } - else - { - mass += tess_total_mass(&tess, 1); - size++; - } - } - } - if(args.use_range) - { - log_info("Mass within density range %g/%g:", args.low_dens, - args.high_dens); - } - else - { - log_info("Total mass:"); - } - - printf("%.15g\n", mass); - - if(bad_input) - { - log_warning("Encountered %d bad input line(s) which were skipped", - bad_input); - } - if(error_exit) - { - log_warning("Terminating due to error in input"); - log_warning("Try '%s -h' for instructions", progname); - } - else - { - log_info("Mass calculated from %d tesseroids", size); - } - - /* Clean up */ - if(rc != 3) - fclose(modelfile); - if(args.logtofile) - fclose(logfile); - return 0; -} diff --git a/dep/tesseroids/toolkits/tessmodgen.c b/dep/tesseroids/toolkits/tessmodgen.c deleted file mode 100644 index 22ca376..0000000 --- a/dep/tesseroids/toolkits/tessmodgen.c +++ /dev/null @@ -1,230 +0,0 @@ -/* -Generate tesseroid model from a regular grid. -*/ - - -#include -#include -#include "../lib/version.h" -#include "../lib/parsers.h" -#include "../lib/logger.h" -#include "../lib/geometry.h" - - -/** Print the help message */ -void print_help() -{ - printf("Usage: tessmodgen [ARGUMENTS] [OPTIONS]\n\n"); - printf("Generate a tesseroid model of an interface, like topography,\n"); - printf("moho, sediment thickness, etc.\n\n"); - printf("Each tesseroid has its top face centered of the respective grid\n"); - printf("point. The top and bottom of the tesseroid are define as:\n"); - printf(" * top = height of grid point and bottom = reference level\n"); - printf(" if height of grid point > reference level\n"); - printf(" * other way around if otherwise\n\n"); - printf("All units either SI or degrees!\n\n"); - printf("Input:\n"); - printf(" REGULAR grid passed through standard input (stdin).\n"); - printf(" Reads 3 values per line: longitude latitude height\n"); - printf(" height should be read as 'height above the mean Earth radius'\n"); - printf(" If bellow the Earth radius use negative heights.\n"); - printf(" Lines that start with # are ignored as comments.\n"); - printf(" Lines should be no longer than 10000 (ten thousand) characters."); - printf(" \n\n"); - printf("Output:\n"); - printf(" Tesseroids printed to standard output (stdout)\n"); - printf(" * Each tesseroid is specified by the values of its borders\n"); - printf(" and density\n"); - printf(" * Will print one tesseroid per line\n"); - printf(" * Each line has the following column format:\n"); - printf(" West East South North Top Bottom Density\n"); - printf(" * Top and Bottom should be read as 'height to top' and \n"); - printf(" 'height to bottom' from the mean Earth radius. Use negative\n"); - printf(" values if bellow the surface, for example when modeling\n"); - printf(" deep structures, and positive if above the surface, for\n"); - printf(" example when modeling topography.\n"); - printf(" * If a line starts with # it will be considered a comment\n"); - printf(" and will be ignored\n\n"); - printf("Arguments:\n"); - printf(" -sDLON/DLAT The grid spacing in the longitude and latitude\n"); - printf(" directions, respectively, in DECIMAL DEGREES.\n"); - printf(" Will be used as the size of the tesseroids.\n"); - printf(" WARNING: You may get wrong results if -s is \n"); - printf(" different from the grid spacing!\n"); - printf(" -dDENS Density of the tesseroids. If ommited will expect\n"); - printf(" a 4th column on the input with DENS values for\n"); - printf(" each point. Tesseroids above the reference will\n"); - printf(" have density DENS, and bellow will have density\n"); - printf(" -DENS.\n"); - printf(" -zREF Height of the reference level with respect to the\n"); - printf(" mean Earth radius. If bellow the mean Earth\n"); - printf(" radius, use a negative value.\n\n"); - printf("Options:\n"); - printf(" -h Print instructions.\n"); - printf(" --version Print version and license information.\n"); - printf(" -v Enable verbose printing to stderr.\n"); - printf(" -lFILENAME Print log messages to file FILENAME.\n"); - print_copyright(); -} - - -/** Main */ -int main(int argc, char **argv) -{ - char *progname = "tessmodgen"; - TESSMODGEN_ARGS args; - int rc, line, error_exit = 0, bad_input = 0, size = 0, nchars, nread; - char buff[10000]; - double lon, lat, height, w, e, s, n, top, bot, dens; - FILE *logfile = NULL; - time_t rawtime; - struct tm * timeinfo; - - log_init(LOG_INFO); - - rc = parse_tessmodgen_args(argc, argv, progname, &args, &print_help); - if(rc == 2) - { - return 0; - } - if(rc == 1) - { - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - - return 1; - } - - /* Set the appropriate logging level and log to file if necessary */ - if(!args.verbose) - { - log_init(LOG_WARNING); - } - if(args.logtofile) - { - logfile = fopen(args.logfname, "w"); - if(logfile == NULL) - { - log_error("unable to create log file %s", args.logfname); - log_warning("Terminating due to bad input"); - log_warning("Try '%s -h' for instructions", progname); - return 1; - } - log_tofile(logfile, LOG_INFO); - } - - /* Print standard verbose */ - log_info("%s (Tesseroids project) %s", progname, tesseroids_version); - time(&rawtime); - timeinfo = localtime(&rawtime); - log_info("(local time) %s", asctime(timeinfo)); - - /* Print a header on the output with provenance information */ - printf("# Tesseroid model generated by %s %s:\n", progname, - tesseroids_version); - printf("# local time: %s", asctime(timeinfo)); - printf("# grid spacing (size of tesseroids): %g deg lon / %g deg lat\n", - args.dlon, args.dlat); - printf("# reference level (depth): %g\n", args.ref); - if(args.fix_density) - { - printf("# density: %g\n", args.dens); - log_info("Using fixed density value: %g", args.dens); - } - else - { - printf("# density: read from input\n"); - log_info("Reading density values from input grid"); - } - - /* Read each regular grid from stdin and generate the tesseroids */ - for(line = 1; !feof(stdin); line++) - { - if(fgets(buff, 10000, stdin) == NULL) - { - if(ferror(stdin)) - { - log_error("problem encountered reading line %d", line); - error_exit = 1; - break; - } - } - else - { - /* Check for comments and blank lines */ - if(buff[0] == '#' || buff[0] == '\r' || buff[0] == '\n') - { - continue; - } - strstrip(buff); - if(args.fix_density) - { - nread = sscanf(buff, "%lf %lf %lf%n", &lon, &lat, &height, - &nchars); - /* The lon != lon looks weird but this checks for NaN values */ - if(nread != 3 || buff[nchars] != '\0' || - lon != lon || lat != lat || height != height) - { - log_warning("bad/invalid grid point at line %d", line); - log_warning("skipping this line and continuing"); - bad_input++; - continue; - } - } - else - { - nread = sscanf(buff, "%lf %lf %lf %lf%n", &lon, &lat, &height, - &dens, &nchars); - if(nread != 4 || buff[nchars] != '\0' || - lon != lon || lat != lat || height != height || dens != dens) - { - log_warning("bad/invalid grid point at line %d", line); - log_warning("skipping this line and continuing"); - bad_input++; - continue; - } - } - w = lon - 0.5*args.dlon; - e = lon + 0.5*args.dlon; - s = lat - 0.5*args.dlat; - n = lat + 0.5*args.dlat; - if(height >= args.ref) - { - top = height; - bot = args.ref; - if(args.fix_density) - dens = args.dens; - } - else - { - top = args.ref; - bot = height; - if(args.fix_density) - dens = -args.dens; - else - dens *= -1; - } - printf("%.15g %.15g %.15g %.15g %.15g %.15g %.15g\n", w, e, s, n, - top, bot, dens); - size++; - } - } - if(bad_input) - { - log_warning("Encountered %d bad grid points which were skipped", - bad_input); - } - if(error_exit) - { - log_warning("Terminating due to error in input"); - log_warning("Try '%s -h' for instructions", progname); - } - else - { - log_info("Generated %d tesseroids.", size); - } - /* Clean up */ - if(args.logtofile) - fclose(logfile); - return 0; -} diff --git a/dep/tesseroids/toolkits/tesspot.c b/dep/tesseroids/toolkits/tesspot.c deleted file mode 100644 index 715d0d1..0000000 --- a/dep/tesseroids/toolkits/tesspot.c +++ /dev/null @@ -1,16 +0,0 @@ -/* -Program to calculate potential of a tesseroid model on a set of points. -*/ - - -#include "../lib/constants.h" -#include "../lib/grav_tess.h" -#include "../lib/tessg_main.h" - - -/** Main */ -int main(int argc, char **argv) -{ - return run_tessg_main(argc, argv, "tesspot", &tess_pot, - TESSEROID_POT_SIZE_RATIO); -} diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..eb27c62 --- /dev/null +++ b/install.sh @@ -0,0 +1,84 @@ +#!/bin/bash + +# 使用 uname 获取操作系统类型 +OS_TYPE=$(uname -s) + +# 根据操作系统类型安装外部依赖库 +case $OS_TYPE in + Linux) + # 判断是否是基于 Debian 的系统(如 Ubuntu) + if [ -f /etc/debian_version ]; then + echo "Detected Debian-based system (e.g., Ubuntu)." + # 安装 apt 包管理器(如果尚未安装) + sudo apt-get update + sudo apt-get install -y apt + # 使用 apt 安装依赖 + sudo apt-get install -y libfftw3-dev libnetcdf-dev gmt libgmt-dev libgsl-dev libncurses-dev + # 判断是否是基于 Red Hat 的系统(如 CentOS) + elif [ -f /etc/redhat-release ]; then + echo "Detected Red Hat-based system (e.g., CentOS)." + # 安装 yum 包管理器(CentOS 7)或 dnf 包管理器(CentOS 8 及以上) + if command -v yum &> /dev/null; then + sudo yum install -y yum + sudo yum install -y libfftw3-dev libnetcdf-dev gmt libgmt-dev libgsl-dev libncurses-dev + elif command -v dnf &> /dev/null; then + sudo dnf install -y dnf + sudo dnf install -y libfftw3-dev libnetcdf-dev gmt libgmt-dev libgsl-dev libncurses-dev + else + echo "Package manager not found. Please check your system configuration." + exit 1 + fi + else + echo "Unsupported Linux distribution." + exit 1 + fi + ;; + Darwin) + echo "Detected macOS." + # 安装 Homebrew(如果尚未安装) + if ! command -v brew &> /dev/null; then + echo "Installing Homebrew..." + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + fi + # 使用 Homebrew 安装 gcc + brew install fftw3 netcdf gmt gsl ncurses + ;; + *) + echo "Unsupported operating system: $OS_TYPE" + exit 1 + ;; +esac + +# 0. 拷贝cmake配置文件 +sudo mkdir /usr/local/lib/cmake && \ +sudo cp -r dep/cmake /usr/local/lib/cmake + +# 1. 编译安装EEMD +sudo mkdir /opt/stow/libeemd && \ +mkdir dep/libeemd/build && \ +cd dep/libeemd/build && \ +cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/stow/libeemd && \ +make && make install + +sudo stow -d /opt/stow -t /usr/local -S libeemd + +# 2. 编译安装netcdfcxx_legacy +sudo mkdir /opt/stow/netcdfcpp && \ +mkdir dep/netcdfcxx_legacy/build && \ +cd dep/netcdfcxx_legacy/build && \ +cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/stow/netcdfcpp && \ +make && make install + +sudo stow -d /opt/stow -t /usr/local -S netcdfcpp + +# 3. 拷贝partow模版文件 +sudo cp -r dep/partow /opt/stow + +# 4. 编译安装gctl +sudo mkdir /opt/stow/gctl && \ +mkdir build && \ +cd build && \ +cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/stow/gctl && \ +make && make install + +sudo stow -d /opt/stow -t /usr/local -S gctl \ No newline at end of file diff --git a/lib/io/netcdf_io.h b/lib/io/netcdf_io.h index 671bce0..38d572d 100644 --- a/lib/io/netcdf_io.h +++ b/lib/io/netcdf_io.h @@ -35,6 +35,7 @@ // netcdf cpp head file #include "netcdfcxx_legacy/netcdfcpp.h" #include "typeinfo" +#include "cstring" namespace gctl { diff --git a/manager.sh b/manager.sh new file mode 100755 index 0000000..0a0f2e1 --- /dev/null +++ b/manager.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +if [[ $# == 0 || ${1} == "help" ]]; then + echo "Compiles executables/libraries and maintains installed files. Two tools 'Cmake' and 'stow' are empolyed here. For more information, see https://cmake.org and https://www.gnu.org/software/stow/." + echo "" + echo "School of Earth Sciences, Zhejiang University" + echo "Yi Zhang (yizhang-geo@zju.edu.cn)" + echo "" + echo "Usage: ./manager.sh [option] [Cmake options]" + echo "" + echo "Options:" + echo "(1) configure: Configure Cmake project(s). This option could take extra Cmake options as in

q2V#qEQBViMMG@RxHT_^z>k! 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 z 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

WB!C<`R1~tVOJPxtGqS z+FjV%hQYGR&n(kk=S3J8c~<%0A$Av+$N>I*B^VAaM5qWL<#m+MZ}tOI8QQ`Na1;bb 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≻@;*sN7HK5>e%roF`;wkp8{tnyel}gdq-l$LvH5+ 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 diff --git a/dep/tesseroids/cookbook/simple_tess/simple_tess.sh b/dep/tesseroids/cookbook/simple_tess/simple_tess.sh deleted file mode 100755 index 646998e..0000000 --- a/dep/tesseroids/cookbook/simple_tess/simple_tess.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -# Generate a regular grid, pipe it to all the computation programs, -# and write the result to output.txt - -tessgrd -r-45/45/-45/45 -b101/101 -z260e03 | \ -tesspot model.txt | \ -tessgx model.txt | tessgy model.txt | tessgz model.txt | \ -tessgxx model.txt | tessgxy model.txt | \ -tessgxz model.txt | tessgyy model.txt | \ -tessgyz model.txt | tessgzz model.txt -v -llog.txt > output.txt - -# Make a plot with the columns of output.txt -python plot.py output.txt 101 101 diff --git a/dep/tesseroids/cookbook/tess2prism/plot.py b/dep/tesseroids/cookbook/tess2prism/plot.py deleted file mode 100755 index c681b9a..0000000 --- a/dep/tesseroids/cookbook/tess2prism/plot.py +++ /dev/null @@ -1,32 +0,0 @@ -""" -Plot the columns of the output files -""" -import sys -import pylab -from mpl_toolkits.basemap import Basemap - -# Set up a projection -bm = Basemap(projection='ortho', lon_0=-80, lat_0=-40, - resolution='l', area_thresh=10000) - -data = pylab.loadtxt(sys.argv[1], unpack=True) -shape = (int(sys.argv[2]), int(sys.argv[3])) -lon = pylab.reshape(data[0], shape) -lat = pylab.reshape(data[1], shape) -glon, glat = bm(lon, lat) - -for i, value in enumerate(data[3:]): - value = pylab.reshape(value, shape) - pylab.figure(figsize=(4, 3)) - pylab.title("Column %d" % (i + 4)) - bm.drawcoastlines() - #bm.fillcontinents(color='coral',lake_color='aqua') - #bm.drawmapboundary(fill_color='aqua') - bm.drawmapboundary() - bm.drawparallels(pylab.arange(-90.,120.,30.)) - bm.drawmeridians(pylab.arange(0.,420.,60.)) - #bm.bluemarble() - bm.pcolor(glon, glat, value) - pylab.colorbar() - #bm.contour(glon, glat, value, 12, linewidth=3) - pylab.savefig('column%d.png' % (i + 4)) diff --git a/dep/tesseroids/cookbook/tess2prism/result.svg b/dep/tesseroids/cookbook/tess2prism/result.svg deleted file mode 100755 index 933e51a..0000000 --- a/dep/tesseroids/cookbook/tess2prism/result.svg +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - diff --git a/dep/tesseroids/cookbook/tess2prism/sample-prism-model.txt b/dep/tesseroids/cookbook/tess2prism/sample-prism-model.txt deleted file mode 100755 index 8880ce5..0000000 --- a/dep/tesseroids/cookbook/tess2prism/sample-prism-model.txt +++ /dev/null @@ -1,11 +0,0 @@ -# Prisms converted from tesseroid model with tess2prism 1.1dev -# local time: Wed May 16 14:34:47 2012 -# tesseroids file: stdin -# conversion type: equal mass|spherical coordinates -# format: dx dy dz density lon lat r -# Test tesseroid model file -221766.31696055 169882.854778591 50000 499.977196258595 -76 -40 6378137 -221766.31696055 169882.854778591 50000 499.977196258595 -78 -40 6378137 -221766.31696055 169882.854778591 50000 499.977196258595 -80 -40 6378137 -221766.31696055 169882.854778591 50000 499.977196258595 -82 -40 6378137 -221766.31696055 169882.854778591 50000 499.977196258595 -84 -40 6378137 diff --git a/dep/tesseroids/cookbook/tess2prism/tess-model.txt b/dep/tesseroids/cookbook/tess2prism/tess-model.txt deleted file mode 100755 index b1f5dca..0000000 --- a/dep/tesseroids/cookbook/tess2prism/tess-model.txt +++ /dev/null @@ -1,6 +0,0 @@ -# Test tesseroid model file --77 -75 -41 -39 0 -50000 500 --79 -77 -41 -39 0 -50000 500 --81 -79 -41 -39 0 -50000 500 --83 -81 -41 -39 0 -50000 500 --85 -83 -41 -39 0 -50000 500 diff --git a/dep/tesseroids/cookbook/tess2prism/tess2prism.bat b/dep/tesseroids/cookbook/tess2prism/tess2prism.bat deleted file mode 100755 index a6bca88..0000000 --- a/dep/tesseroids/cookbook/tess2prism/tess2prism.bat +++ /dev/null @@ -1,21 +0,0 @@ - - -:: Generate a prism model from a tesseroid model. -:: Prisms will have the same mass as the tesseroids and -:: associated spherical coordinates of the center of -:: the top of the tesseroid. - -tess2prism.exe < tess-model.txt > prism-model.txt - -:: Generate a regular grid in spherical coordinates, -:: pipe the grid to the computation programs, -:: and dump the result on output.txt -:: prismpots calculates the potential in spherical -:: coordinates, prismgs calculates the full -:: gravity vector, and prismggts calculates the full -:: gravity gradient tensor. - -tessgrd -r-160/0/-80/0 -b100/100 -z250e03 | ^ -prismpots prism-model.txt | ^ -prismgs prism-model.txt | ^ -prismggts prism-model.txt -v > output.txt diff --git a/dep/tesseroids/cookbook/tess2prism/tess2prism.png b/dep/tesseroids/cookbook/tess2prism/tess2prism.png deleted file mode 100755 index afcb446467b03be921a1b4d45602e9003880f1d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 909245 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¥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�%X#by`XTyGV&9XGD# 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

=ffwW`%YN7O>pY%D(R2lJoO-2|F$=BcQ5j@ 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 n{-5uY{uTXh`2Y7mh`OZBrJ1GD$x}p diff --git a/dep/tesseroids/cookbook/dem_brasil/sample-dem-tess.txt b/dep/tesseroids/cookbook/dem_brasil/sample-dem-tess.txt deleted file mode 100755 index f9f8e7b..0000000 --- a/dep/tesseroids/cookbook/dem_brasil/sample-dem-tess.txt +++ /dev/null @@ -1,22806 +0,0 @@ -# Tesseroid model generated by tessmodgen 1.1dev: -# local time: Wed May 9 19:08:12 2012 -# grid spacing: 0.166667 deg lon / 0.166667 deg lat -# reference level (depth): 0 -# density: read from input --65.0833335 -64.9166665 -10.0833335 -9.9166665 157 0 2670 --64.9166665 -64.7499995 -10.0833335 -9.9166665 168 0 2670 --64.7500005 -64.5833335 -10.0833335 -9.9166665 177 0 2670 --64.5833335 -64.4166665 -10.0833335 -9.9166665 197 0 2670 --64.4166665 -64.2499995 -10.0833335 -9.9166665 144 0 2670 --64.2500005 -64.0833335 -10.0833335 -9.9166665 178 0 2670 --64.0833335 -63.9166665 -10.0833335 -9.9166665 166 0 2670 --63.9166665 -63.7499995 -10.0833335 -9.9166665 164 0 2670 --63.7500005 -63.5833335 -10.0833335 -9.9166665 189 0 2670 --63.5833335 -63.4166665 -10.0833335 -9.9166665 210 0 2670 --63.4166665 -63.2499995 -10.0833335 -9.9166665 187 0 2670 --63.2500005 -63.0833335 -10.0833335 -9.9166665 141 0 2670 --63.0833335 -62.9166665 -10.0833335 -9.9166665 156 0 2670 --62.9166665 -62.7499995 -10.0833335 -9.9166665 158 0 2670 --62.7500005 -62.5833335 -10.0833335 -9.9166665 225 0 2670 --62.5833335 -62.4166665 -10.0833335 -9.9166665 176 0 2670 --62.4166665 -62.2499995 -10.0833335 -9.9166665 196 0 2670 --62.2500005 -62.0833335 -10.0833335 -9.9166665 183 0 2670 --62.0833335 -61.9166665 -10.0833335 -9.9166665 149 0 2670 --61.9166665 -61.7499995 -10.0833335 -9.9166665 191 0 2670 --61.7500005 -61.5833335 -10.0833335 -9.9166665 158 0 2670 --61.5833335 -61.4166665 -10.0833335 -9.9166665 187 0 2670 --61.4166665 -61.2499995 -10.0833335 -9.9166665 189 0 2670 --61.2500005 -61.0833335 -10.0833335 -9.9166665 191 0 2670 --61.0833335 -60.9166665 -10.0833335 -9.9166665 169 0 2670 --60.9166665 -60.7499995 -10.0833335 -9.9166665 143 0 2670 --60.7500005 -60.5833335 -10.0833335 -9.9166665 157 0 2670 --60.5833335 -60.4166665 -10.0833335 -9.9166665 146 0 2670 --60.4166665 -60.2499995 -10.0833335 -9.9166665 188 0 2670 --60.2500005 -60.0833335 -10.0833335 -9.9166665 178 0 2670 --60.0833335 -59.9166665 -10.0833335 -9.9166665 198 0 2670 --59.9166665 -59.7499995 -10.0833335 -9.9166665 233 0 2670 --59.7500005 -59.5833335 -10.0833335 -9.9166665 211 0 2670 --59.5833335 -59.4166665 -10.0833335 -9.9166665 189 0 2670 --59.4166665 -59.2499995 -10.0833335 -9.9166665 145 0 2670 --59.2500005 -59.0833335 -10.0833335 -9.9166665 138 0 2670 --59.0833335 -58.9166665 -10.0833335 -9.9166665 142 0 2670 --58.9166665 -58.7499995 -10.0833335 -9.9166665 172 0 2670 --58.7500005 -58.5833335 -10.0833335 -9.9166665 215 0 2670 --58.5833335 -58.4166665 -10.0833335 -9.9166665 287 0 2670 --58.4166665 -58.2499995 -10.0833335 -9.9166665 254 0 2670 --58.2500005 -58.0833335 -10.0833335 -9.9166665 234 0 2670 --58.0833335 -57.9166665 -10.0833335 -9.9166665 277 0 2670 --57.9166665 -57.7499995 -10.0833335 -9.9166665 273 0 2670 --57.7500005 -57.5833335 -10.0833335 -9.9166665 245 0 2670 --57.5833335 -57.4166665 -10.0833335 -9.9166665 270 0 2670 --57.4166665 -57.2499995 -10.0833335 -9.9166665 269 0 2670 --57.2500005 -57.0833335 -10.0833335 -9.9166665 253 0 2670 --57.0833335 -56.9166665 -10.0833335 -9.9166665 223 0 2670 --56.9166665 -56.7499995 -10.0833335 -9.9166665 248 0 2670 --56.7500005 -56.5833335 -10.0833335 -9.9166665 253 0 2670 --56.5833335 -56.4166665 -10.0833335 -9.9166665 271 0 2670 --56.4166665 -56.2499995 -10.0833335 -9.9166665 277 0 2670 --56.2500005 -56.0833335 -10.0833335 -9.9166665 301 0 2670 --56.0833335 -55.9166665 -10.0833335 -9.9166665 282 0 2670 --55.9166665 -55.7499995 -10.0833335 -9.9166665 285 0 2670 --55.7500005 -55.5833335 -10.0833335 -9.9166665 275 0 2670 --55.5833335 -55.4166665 -10.0833335 -9.9166665 263 0 2670 --55.4166665 -55.2499995 -10.0833335 -9.9166665 277 0 2670 --55.2500005 -55.0833335 -10.0833335 -9.9166665 269 0 2670 --55.0833335 -54.9166665 -10.0833335 -9.9166665 261 0 2670 --54.9166665 -54.7499995 -10.0833335 -9.9166665 311 0 2670 --54.7500005 -54.5833335 -10.0833335 -9.9166665 302 0 2670 --54.5833335 -54.4166665 -10.0833335 -9.9166665 312 0 2670 --54.4166665 -54.2499995 -10.0833335 -9.9166665 407 0 2670 --54.2500005 -54.0833335 -10.0833335 -9.9166665 353 0 2670 --54.0833335 -53.9166665 -10.0833335 -9.9166665 337 0 2670 --53.9166665 -53.7499995 -10.0833335 -9.9166665 364 0 2670 --53.7500005 -53.5833335 -10.0833335 -9.9166665 305 0 2670 --53.5833335 -53.4166665 -10.0833335 -9.9166665 341 0 2670 --53.4166665 -53.2499995 -10.0833335 -9.9166665 302 0 2670 --53.2500005 -53.0833335 -10.0833335 -9.9166665 327 0 2670 --53.0833335 -52.9166665 -10.0833335 -9.9166665 326 0 2670 --52.9166665 -52.7499995 -10.0833335 -9.9166665 301 0 2670 --52.7500005 -52.5833335 -10.0833335 -9.9166665 325 0 2670 --52.5833335 -52.4166665 -10.0833335 -9.9166665 288 0 2670 --52.4166665 -52.2499995 -10.0833335 -9.9166665 271 0 2670 --52.2500005 -52.0833335 -10.0833335 -9.9166665 285 0 2670 --52.0833335 -51.9166665 -10.0833335 -9.9166665 295 0 2670 --51.9166665 -51.7499995 -10.0833335 -9.9166665 308 0 2670 --51.7500005 -51.5833335 -10.0833335 -9.9166665 380 0 2670 --51.5833335 -51.4166665 -10.0833335 -9.9166665 375 0 2670 --51.4166665 -51.2499995 -10.0833335 -9.9166665 352 0 2670 --51.2500005 -51.0833335 -10.0833335 -9.9166665 261 0 2670 --51.0833335 -50.9166665 -10.0833335 -9.9166665 223 0 2670 --50.9166665 -50.7499995 -10.0833335 -9.9166665 198 0 2670 --50.7500005 -50.5833335 -10.0833335 -9.9166665 197 0 2670 --50.5833335 -50.4166665 -10.0833335 -9.9166665 185 0 2670 --50.4166665 -50.2499995 -10.0833335 -9.9166665 175 0 2670 --50.2500005 -50.0833335 -10.0833335 -9.9166665 177 0 2670 --50.0833335 -49.9166665 -10.0833335 -9.9166665 171 0 2670 --49.9166665 -49.7499995 -10.0833335 -9.9166665 186 0 2670 --49.7500005 -49.5833335 -10.0833335 -9.9166665 179 0 2670 --49.5833335 -49.4166665 -10.0833335 -9.9166665 195 0 2670 --49.4166665 -49.2499995 -10.0833335 -9.9166665 196 0 2670 --49.2500005 -49.0833335 -10.0833335 -9.9166665 261 0 2670 --49.0833335 -48.9166665 -10.0833335 -9.9166665 276 0 2670 --48.9166665 -48.7499995 -10.0833335 -9.9166665 339 0 2670 --48.7500005 -48.5833335 -10.0833335 -9.9166665 295 0 2670 --48.5833335 -48.4166665 -10.0833335 -9.9166665 238 0 2670 --48.4166665 -48.2499995 -10.0833335 -9.9166665 207 0 2670 --48.2500005 -48.0833335 -10.0833335 -9.9166665 569 0 2670 --48.0833335 -47.9166665 -10.0833335 -9.9166665 318 0 2670 --47.9166665 -47.7499995 -10.0833335 -9.9166665 243 0 2670 --47.7500005 -47.5833335 -10.0833335 -9.9166665 312 0 2670 --47.5833335 -47.4166665 -10.0833335 -9.9166665 248 0 2670 --47.4166665 -47.2499995 -10.0833335 -9.9166665 287 0 2670 --47.2500005 -47.0833335 -10.0833335 -9.9166665 280 0 2670 --47.0833335 -46.9166665 -10.0833335 -9.9166665 280 0 2670 --46.9166665 -46.7499995 -10.0833335 -9.9166665 333 0 2670 --46.7500005 -46.5833335 -10.0833335 -9.9166665 471 0 2670 --46.5833335 -46.4166665 -10.0833335 -9.9166665 620 0 2670 --46.4166665 -46.2499995 -10.0833335 -9.9166665 444 0 2670 --46.2500005 -46.0833335 -10.0833335 -9.9166665 462 0 2670 --46.0833335 -45.9166665 -10.0833335 -9.9166665 521 0 2670 --45.9166665 -45.7499995 -10.0833335 -9.9166665 445 0 2670 --45.7500005 -45.5833335 -10.0833335 -9.9166665 454 0 2670 --45.5833335 -45.4166665 -10.0833335 -9.9166665 481 0 2670 --45.4166665 -45.2499995 -10.0833335 -9.9166665 496 0 2670 --45.2500005 -45.0833335 -10.0833335 -9.9166665 487 0 2670 --45.0833335 -44.9166665 -10.0833335 -9.9166665 430 0 2670 --44.9166665 -44.7499995 -10.0833335 -9.9166665 476 0 2670 --44.7500005 -44.5833335 -10.0833335 -9.9166665 364 0 2670 --44.5833335 -44.4166665 -10.0833335 -9.9166665 370 0 2670 --44.4166665 -44.2499995 -10.0833335 -9.9166665 359 0 2670 --44.2500005 -44.0833335 -10.0833335 -9.9166665 374 0 2670 --44.0833335 -43.9166665 -10.0833335 -9.9166665 389 0 2670 --43.9166665 -43.7499995 -10.0833335 -9.9166665 462 0 2670 --43.7500005 -43.5833335 -10.0833335 -9.9166665 547 0 2670 --43.5833335 -43.4166665 -10.0833335 -9.9166665 470 0 2670 --43.4166665 -43.2499995 -10.0833335 -9.9166665 480 0 2670 --43.2500005 -43.0833335 -10.0833335 -9.9166665 438 0 2670 --43.0833335 -42.9166665 -10.0833335 -9.9166665 421 0 2670 --42.9166665 -42.7499995 -10.0833335 -9.9166665 412 0 2670 --42.7500005 -42.5833335 -10.0833335 -9.9166665 408 0 2670 --42.5833335 -42.4166665 -10.0833335 -9.9166665 402 0 2670 --42.4166665 -42.2499995 -10.0833335 -9.9166665 395 0 2670 --42.2500005 -42.0833335 -10.0833335 -9.9166665 403 0 2670 --42.0833335 -41.9166665 -10.0833335 -9.9166665 621 0 2670 --41.9166665 -41.7499995 -10.0833335 -9.9166665 829 0 2670 --41.7500005 -41.5833335 -10.0833335 -9.9166665 611 0 2670 --41.5833335 -41.4166665 -10.0833335 -9.9166665 455 0 2670 --41.4166665 -41.2499995 -10.0833335 -9.9166665 748 0 2670 --41.2500005 -41.0833335 -10.0833335 -9.9166665 822 0 2670 --41.0833335 -40.9166665 -10.0833335 -9.9166665 754 0 2670 --40.9166665 -40.7499995 -10.0833335 -9.9166665 604 0 2670 --40.7500005 -40.5833335 -10.0833335 -9.9166665 527 0 2670 --40.5833335 -40.4166665 -10.0833335 -9.9166665 712 0 2670 --40.4166665 -40.2499995 -10.0833335 -9.9166665 578 0 2670 --40.2500005 -40.0833335 -10.0833335 -9.9166665 486 0 2670 --40.0833335 -39.9166665 -10.0833335 -9.9166665 461 0 2670 --65.0833335 -64.9166665 -10.2500005 -10.0833335 179 0 2670 --64.9166665 -64.7499995 -10.2500005 -10.0833335 177 0 2670 --64.7500005 -64.5833335 -10.2500005 -10.0833335 192 0 2670 --64.5833335 -64.4166665 -10.2500005 -10.0833335 173 0 2670 --64.4166665 -64.2499995 -10.2500005 -10.0833335 162 0 2670 --64.2500005 -64.0833335 -10.2500005 -10.0833335 159 0 2670 --64.0833335 -63.9166665 -10.2500005 -10.0833335 162 0 2670 --63.9166665 -63.7499995 -10.2500005 -10.0833335 167 0 2670 --63.7500005 -63.5833335 -10.2500005 -10.0833335 182 0 2670 --63.5833335 -63.4166665 -10.2500005 -10.0833335 191 0 2670 --63.4166665 -63.2499995 -10.2500005 -10.0833335 167 0 2670 --63.2500005 -63.0833335 -10.2500005 -10.0833335 148 0 2670 --63.0833335 -62.9166665 -10.2500005 -10.0833335 181 0 2670 --62.9166665 -62.7499995 -10.2500005 -10.0833335 134 0 2670 --62.7500005 -62.5833335 -10.2500005 -10.0833335 244 0 2670 --62.5833335 -62.4166665 -10.2500005 -10.0833335 222 0 2670 --62.4166665 -62.2499995 -10.2500005 -10.0833335 201 0 2670 --62.2500005 -62.0833335 -10.2500005 -10.0833335 155 0 2670 --62.0833335 -61.9166665 -10.2500005 -10.0833335 142 0 2670 --61.9166665 -61.7499995 -10.2500005 -10.0833335 170 0 2670 --61.7500005 -61.5833335 -10.2500005 -10.0833335 207 0 2670 --61.5833335 -61.4166665 -10.2500005 -10.0833335 325 0 2670 --61.4166665 -61.2499995 -10.2500005 -10.0833335 254 0 2670 --61.2500005 -61.0833335 -10.2500005 -10.0833335 233 0 2670 --61.0833335 -60.9166665 -10.2500005 -10.0833335 182 0 2670 --60.9166665 -60.7499995 -10.2500005 -10.0833335 153 0 2670 --60.7500005 -60.5833335 -10.2500005 -10.0833335 130 0 2670 --60.5833335 -60.4166665 -10.2500005 -10.0833335 158 0 2670 --60.4166665 -60.2499995 -10.2500005 -10.0833335 172 0 2670 --60.2500005 -60.0833335 -10.2500005 -10.0833335 164 0 2670 --60.0833335 -59.9166665 -10.2500005 -10.0833335 243 0 2670 --59.9166665 -59.7499995 -10.2500005 -10.0833335 204 0 2670 --59.7500005 -59.5833335 -10.2500005 -10.0833335 160 0 2670 --59.5833335 -59.4166665 -10.2500005 -10.0833335 241 0 2670 --59.4166665 -59.2499995 -10.2500005 -10.0833335 244 0 2670 --59.2500005 -59.0833335 -10.2500005 -10.0833335 174 0 2670 --59.0833335 -58.9166665 -10.2500005 -10.0833335 175 0 2670 --58.9166665 -58.7499995 -10.2500005 -10.0833335 179 0 2670 --58.7500005 -58.5833335 -10.2500005 -10.0833335 249 0 2670 --58.5833335 -58.4166665 -10.2500005 -10.0833335 235 0 2670 --58.4166665 -58.2499995 -10.2500005 -10.0833335 205 0 2670 --58.2500005 -58.0833335 -10.2500005 -10.0833335 229 0 2670 --58.0833335 -57.9166665 -10.2500005 -10.0833335 249 0 2670 --57.9166665 -57.7499995 -10.2500005 -10.0833335 299 0 2670 --57.7500005 -57.5833335 -10.2500005 -10.0833335 269 0 2670 --57.5833335 -57.4166665 -10.2500005 -10.0833335 288 0 2670 --57.4166665 -57.2499995 -10.2500005 -10.0833335 308 0 2670 --57.2500005 -57.0833335 -10.2500005 -10.0833335 295 0 2670 --57.0833335 -56.9166665 -10.2500005 -10.0833335 265 0 2670 --56.9166665 -56.7499995 -10.2500005 -10.0833335 287 0 2670 --56.7500005 -56.5833335 -10.2500005 -10.0833335 291 0 2670 --56.5833335 -56.4166665 -10.2500005 -10.0833335 271 0 2670 --56.4166665 -56.2499995 -10.2500005 -10.0833335 289 0 2670 --56.2500005 -56.0833335 -10.2500005 -10.0833335 312 0 2670 --56.0833335 -55.9166665 -10.2500005 -10.0833335 279 0 2670 --55.9166665 -55.7499995 -10.2500005 -10.0833335 285 0 2670 --55.7500005 -55.5833335 -10.2500005 -10.0833335 283 0 2670 --55.5833335 -55.4166665 -10.2500005 -10.0833335 287 0 2670 --55.4166665 -55.2499995 -10.2500005 -10.0833335 251 0 2670 --55.2500005 -55.0833335 -10.2500005 -10.0833335 249 0 2670 --55.0833335 -54.9166665 -10.2500005 -10.0833335 267 0 2670 --54.9166665 -54.7499995 -10.2500005 -10.0833335 269 0 2670 --54.7500005 -54.5833335 -10.2500005 -10.0833335 356 0 2670 --54.5833335 -54.4166665 -10.2500005 -10.0833335 374 0 2670 --54.4166665 -54.2499995 -10.2500005 -10.0833335 466 0 2670 --54.2500005 -54.0833335 -10.2500005 -10.0833335 375 0 2670 --54.0833335 -53.9166665 -10.2500005 -10.0833335 386 0 2670 --53.9166665 -53.7499995 -10.2500005 -10.0833335 366 0 2670 --53.7500005 -53.5833335 -10.2500005 -10.0833335 356 0 2670 --53.5833335 -53.4166665 -10.2500005 -10.0833335 314 0 2670 --53.4166665 -53.2499995 -10.2500005 -10.0833335 337 0 2670 --53.2500005 -53.0833335 -10.2500005 -10.0833335 293 0 2670 --53.0833335 -52.9166665 -10.2500005 -10.0833335 267 0 2670 --52.9166665 -52.7499995 -10.2500005 -10.0833335 325 0 2670 --52.7500005 -52.5833335 -10.2500005 -10.0833335 306 0 2670 --52.5833335 -52.4166665 -10.2500005 -10.0833335 322 0 2670 --52.4166665 -52.2499995 -10.2500005 -10.0833335 307 0 2670 --52.2500005 -52.0833335 -10.2500005 -10.0833335 305 0 2670 --52.0833335 -51.9166665 -10.2500005 -10.0833335 271 0 2670 --51.9166665 -51.7499995 -10.2500005 -10.0833335 300 0 2670 --51.7500005 -51.5833335 -10.2500005 -10.0833335 295 0 2670 --51.5833335 -51.4166665 -10.2500005 -10.0833335 310 0 2670 --51.4166665 -51.2499995 -10.2500005 -10.0833335 364 0 2670 --51.2500005 -51.0833335 -10.2500005 -10.0833335 245 0 2670 --51.0833335 -50.9166665 -10.2500005 -10.0833335 203 0 2670 --50.9166665 -50.7499995 -10.2500005 -10.0833335 246 0 2670 --50.7500005 -50.5833335 -10.2500005 -10.0833335 220 0 2670 --50.5833335 -50.4166665 -10.2500005 -10.0833335 178 0 2670 --50.4166665 -50.2499995 -10.2500005 -10.0833335 174 0 2670 --50.2500005 -50.0833335 -10.2500005 -10.0833335 173 0 2670 --50.0833335 -49.9166665 -10.2500005 -10.0833335 182 0 2670 --49.9166665 -49.7499995 -10.2500005 -10.0833335 183 0 2670 --49.7500005 -49.5833335 -10.2500005 -10.0833335 192 0 2670 --49.5833335 -49.4166665 -10.2500005 -10.0833335 205 0 2670 --49.4166665 -49.2499995 -10.2500005 -10.0833335 205 0 2670 --49.2500005 -49.0833335 -10.2500005 -10.0833335 267 0 2670 --49.0833335 -48.9166665 -10.2500005 -10.0833335 260 0 2670 --48.9166665 -48.7499995 -10.2500005 -10.0833335 471 0 2670 --48.7500005 -48.5833335 -10.2500005 -10.0833335 386 0 2670 --48.5833335 -48.4166665 -10.2500005 -10.0833335 271 0 2670 --48.4166665 -48.2499995 -10.2500005 -10.0833335 259 0 2670 --48.2500005 -48.0833335 -10.2500005 -10.0833335 668 0 2670 --48.0833335 -47.9166665 -10.2500005 -10.0833335 393 0 2670 --47.9166665 -47.7499995 -10.2500005 -10.0833335 300 0 2670 --47.7500005 -47.5833335 -10.2500005 -10.0833335 356 0 2670 --47.5833335 -47.4166665 -10.2500005 -10.0833335 309 0 2670 --47.4166665 -47.2499995 -10.2500005 -10.0833335 257 0 2670 --47.2500005 -47.0833335 -10.2500005 -10.0833335 361 0 2670 --47.0833335 -46.9166665 -10.2500005 -10.0833335 322 0 2670 --46.9166665 -46.7499995 -10.2500005 -10.0833335 335 0 2670 --46.7500005 -46.5833335 -10.2500005 -10.0833335 379 0 2670 --46.5833335 -46.4166665 -10.2500005 -10.0833335 494 0 2670 --46.4166665 -46.2499995 -10.2500005 -10.0833335 610 0 2670 --46.2500005 -46.0833335 -10.2500005 -10.0833335 694 0 2670 --46.0833335 -45.9166665 -10.2500005 -10.0833335 755 0 2670 --45.9166665 -45.7499995 -10.2500005 -10.0833335 441 0 2670 --45.7500005 -45.5833335 -10.2500005 -10.0833335 805 0 2670 --45.5833335 -45.4166665 -10.2500005 -10.0833335 489 0 2670 --45.4166665 -45.2499995 -10.2500005 -10.0833335 601 0 2670 --45.2500005 -45.0833335 -10.2500005 -10.0833335 505 0 2670 --45.0833335 -44.9166665 -10.2500005 -10.0833335 465 0 2670 --44.9166665 -44.7499995 -10.2500005 -10.0833335 397 0 2670 --44.7500005 -44.5833335 -10.2500005 -10.0833335 370 0 2670 --44.5833335 -44.4166665 -10.2500005 -10.0833335 379 0 2670 --44.4166665 -44.2499995 -10.2500005 -10.0833335 634 0 2670 --44.2500005 -44.0833335 -10.2500005 -10.0833335 407 0 2670 --44.0833335 -43.9166665 -10.2500005 -10.0833335 496 0 2670 --43.9166665 -43.7499995 -10.2500005 -10.0833335 494 0 2670 --43.7500005 -43.5833335 -10.2500005 -10.0833335 533 0 2670 --43.5833335 -43.4166665 -10.2500005 -10.0833335 486 0 2670 --43.4166665 -43.2499995 -10.2500005 -10.0833335 528 0 2670 --43.2500005 -43.0833335 -10.2500005 -10.0833335 468 0 2670 --43.0833335 -42.9166665 -10.2500005 -10.0833335 462 0 2670 --42.9166665 -42.7499995 -10.2500005 -10.0833335 433 0 2670 --42.7500005 -42.5833335 -10.2500005 -10.0833335 405 0 2670 --42.5833335 -42.4166665 -10.2500005 -10.0833335 394 0 2670 --42.4166665 -42.2499995 -10.2500005 -10.0833335 446 0 2670 --42.2500005 -42.0833335 -10.2500005 -10.0833335 396 0 2670 --42.0833335 -41.9166665 -10.2500005 -10.0833335 401 0 2670 --41.9166665 -41.7499995 -10.2500005 -10.0833335 448 0 2670 --41.7500005 -41.5833335 -10.2500005 -10.0833335 432 0 2670 --41.5833335 -41.4166665 -10.2500005 -10.0833335 683 0 2670 --41.4166665 -41.2499995 -10.2500005 -10.0833335 873 0 2670 --41.2500005 -41.0833335 -10.2500005 -10.0833335 1153 0 2670 --41.0833335 -40.9166665 -10.2500005 -10.0833335 696 0 2670 --40.9166665 -40.7499995 -10.2500005 -10.0833335 528 0 2670 --40.7500005 -40.5833335 -10.2500005 -10.0833335 554 0 2670 --40.5833335 -40.4166665 -10.2500005 -10.0833335 767 0 2670 --40.4166665 -40.2499995 -10.2500005 -10.0833335 804 0 2670 --40.2500005 -40.0833335 -10.2500005 -10.0833335 645 0 2670 --40.0833335 -39.9166665 -10.2500005 -10.0833335 485 0 2670 --65.0833335 -64.9166665 -10.4166665 -10.2499995 161 0 2670 --64.9166665 -64.7499995 -10.4166665 -10.2499995 173 0 2670 --64.7500005 -64.5833335 -10.4166665 -10.2499995 203 0 2670 --64.5833335 -64.4166665 -10.4166665 -10.2499995 154 0 2670 --64.4166665 -64.2499995 -10.4166665 -10.2499995 218 0 2670 --64.2500005 -64.0833335 -10.4166665 -10.2499995 169 0 2670 --64.0833335 -63.9166665 -10.4166665 -10.2499995 215 0 2670 --63.9166665 -63.7499995 -10.4166665 -10.2499995 188 0 2670 --63.7500005 -63.5833335 -10.4166665 -10.2499995 160 0 2670 --63.5833335 -63.4166665 -10.4166665 -10.2499995 253 0 2670 --63.4166665 -63.2499995 -10.4166665 -10.2499995 170 0 2670 --63.2500005 -63.0833335 -10.4166665 -10.2499995 150 0 2670 --63.0833335 -62.9166665 -10.4166665 -10.2499995 165 0 2670 --62.9166665 -62.7499995 -10.4166665 -10.2499995 177 0 2670 --62.7500005 -62.5833335 -10.4166665 -10.2499995 228 0 2670 --62.5833335 -62.4166665 -10.4166665 -10.2499995 169 0 2670 --62.4166665 -62.2499995 -10.4166665 -10.2499995 142 0 2670 --62.2500005 -62.0833335 -10.4166665 -10.2499995 155 0 2670 --62.0833335 -61.9166665 -10.4166665 -10.2499995 181 0 2670 --61.9166665 -61.7499995 -10.4166665 -10.2499995 136 0 2670 --61.7500005 -61.5833335 -10.4166665 -10.2499995 260 0 2670 --61.5833335 -61.4166665 -10.4166665 -10.2499995 225 0 2670 --61.4166665 -61.2499995 -10.4166665 -10.2499995 301 0 2670 --61.2500005 -61.0833335 -10.4166665 -10.2499995 206 0 2670 --61.0833335 -60.9166665 -10.4166665 -10.2499995 146 0 2670 --60.9166665 -60.7499995 -10.4166665 -10.2499995 173 0 2670 --60.7500005 -60.5833335 -10.4166665 -10.2499995 162 0 2670 --60.5833335 -60.4166665 -10.4166665 -10.2499995 166 0 2670 --60.4166665 -60.2499995 -10.4166665 -10.2499995 175 0 2670 --60.2500005 -60.0833335 -10.4166665 -10.2499995 198 0 2670 --60.0833335 -59.9166665 -10.4166665 -10.2499995 314 0 2670 --59.9166665 -59.7499995 -10.4166665 -10.2499995 228 0 2670 --59.7500005 -59.5833335 -10.4166665 -10.2499995 220 0 2670 --59.5833335 -59.4166665 -10.4166665 -10.2499995 264 0 2670 --59.4166665 -59.2499995 -10.4166665 -10.2499995 320 0 2670 --59.2500005 -59.0833335 -10.4166665 -10.2499995 430 0 2670 --59.0833335 -58.9166665 -10.4166665 -10.2499995 383 0 2670 --58.9166665 -58.7499995 -10.4166665 -10.2499995 190 0 2670 --58.7500005 -58.5833335 -10.4166665 -10.2499995 226 0 2670 --58.5833335 -58.4166665 -10.4166665 -10.2499995 238 0 2670 --58.4166665 -58.2499995 -10.4166665 -10.2499995 217 0 2670 --58.2500005 -58.0833335 -10.4166665 -10.2499995 275 0 2670 --58.0833335 -57.9166665 -10.4166665 -10.2499995 315 0 2670 --57.9166665 -57.7499995 -10.4166665 -10.2499995 360 0 2670 --57.7500005 -57.5833335 -10.4166665 -10.2499995 377 0 2670 --57.5833335 -57.4166665 -10.4166665 -10.2499995 437 0 2670 --57.4166665 -57.2499995 -10.4166665 -10.2499995 341 0 2670 --57.2500005 -57.0833335 -10.4166665 -10.2499995 451 0 2670 --57.0833335 -56.9166665 -10.4166665 -10.2499995 284 0 2670 --56.9166665 -56.7499995 -10.4166665 -10.2499995 301 0 2670 --56.7500005 -56.5833335 -10.4166665 -10.2499995 309 0 2670 --56.5833335 -56.4166665 -10.4166665 -10.2499995 300 0 2670 --56.4166665 -56.2499995 -10.4166665 -10.2499995 347 0 2670 --56.2500005 -56.0833335 -10.4166665 -10.2499995 297 0 2670 --56.0833335 -55.9166665 -10.4166665 -10.2499995 290 0 2670 --55.9166665 -55.7499995 -10.4166665 -10.2499995 280 0 2670 --55.7500005 -55.5833335 -10.4166665 -10.2499995 253 0 2670 --55.5833335 -55.4166665 -10.4166665 -10.2499995 272 0 2670 --55.4166665 -55.2499995 -10.4166665 -10.2499995 297 0 2670 --55.2500005 -55.0833335 -10.4166665 -10.2499995 267 0 2670 --55.0833335 -54.9166665 -10.4166665 -10.2499995 282 0 2670 --54.9166665 -54.7499995 -10.4166665 -10.2499995 263 0 2670 --54.7500005 -54.5833335 -10.4166665 -10.2499995 288 0 2670 --54.5833335 -54.4166665 -10.4166665 -10.2499995 280 0 2670 --54.4166665 -54.2499995 -10.4166665 -10.2499995 330 0 2670 --54.2500005 -54.0833335 -10.4166665 -10.2499995 457 0 2670 --54.0833335 -53.9166665 -10.4166665 -10.2499995 469 0 2670 --53.9166665 -53.7499995 -10.4166665 -10.2499995 342 0 2670 --53.7500005 -53.5833335 -10.4166665 -10.2499995 344 0 2670 --53.5833335 -53.4166665 -10.4166665 -10.2499995 322 0 2670 --53.4166665 -53.2499995 -10.4166665 -10.2499995 341 0 2670 --53.2500005 -53.0833335 -10.4166665 -10.2499995 312 0 2670 --53.0833335 -52.9166665 -10.4166665 -10.2499995 268 0 2670 --52.9166665 -52.7499995 -10.4166665 -10.2499995 292 0 2670 --52.7500005 -52.5833335 -10.4166665 -10.2499995 318 0 2670 --52.5833335 -52.4166665 -10.4166665 -10.2499995 306 0 2670 --52.4166665 -52.2499995 -10.4166665 -10.2499995 283 0 2670 --52.2500005 -52.0833335 -10.4166665 -10.2499995 259 0 2670 --52.0833335 -51.9166665 -10.4166665 -10.2499995 264 0 2670 --51.9166665 -51.7499995 -10.4166665 -10.2499995 269 0 2670 --51.7500005 -51.5833335 -10.4166665 -10.2499995 319 0 2670 --51.5833335 -51.4166665 -10.4166665 -10.2499995 297 0 2670 --51.4166665 -51.2499995 -10.4166665 -10.2499995 300 0 2670 --51.2500005 -51.0833335 -10.4166665 -10.2499995 235 0 2670 --51.0833335 -50.9166665 -10.4166665 -10.2499995 220 0 2670 --50.9166665 -50.7499995 -10.4166665 -10.2499995 233 0 2670 --50.7500005 -50.5833335 -10.4166665 -10.2499995 198 0 2670 --50.5833335 -50.4166665 -10.4166665 -10.2499995 180 0 2670 --50.4166665 -50.2499995 -10.4166665 -10.2499995 176 0 2670 --50.2500005 -50.0833335 -10.4166665 -10.2499995 174 0 2670 --50.0833335 -49.9166665 -10.4166665 -10.2499995 175 0 2670 --49.9166665 -49.7499995 -10.4166665 -10.2499995 179 0 2670 --49.7500005 -49.5833335 -10.4166665 -10.2499995 186 0 2670 --49.5833335 -49.4166665 -10.4166665 -10.2499995 201 0 2670 --49.4166665 -49.2499995 -10.4166665 -10.2499995 202 0 2670 --49.2500005 -49.0833335 -10.4166665 -10.2499995 293 0 2670 --49.0833335 -48.9166665 -10.4166665 -10.2499995 345 0 2670 --48.9166665 -48.7499995 -10.4166665 -10.2499995 357 0 2670 --48.7500005 -48.5833335 -10.4166665 -10.2499995 245 0 2670 --48.5833335 -48.4166665 -10.4166665 -10.2499995 239 0 2670 --48.4166665 -48.2499995 -10.4166665 -10.2499995 245 0 2670 --48.2500005 -48.0833335 -10.4166665 -10.2499995 563 0 2670 --48.0833335 -47.9166665 -10.4166665 -10.2499995 373 0 2670 --47.9166665 -47.7499995 -10.4166665 -10.2499995 353 0 2670 --47.7500005 -47.5833335 -10.4166665 -10.2499995 341 0 2670 --47.5833335 -47.4166665 -10.4166665 -10.2499995 329 0 2670 --47.4166665 -47.2499995 -10.4166665 -10.2499995 330 0 2670 --47.2500005 -47.0833335 -10.4166665 -10.2499995 387 0 2670 --47.0833335 -46.9166665 -10.4166665 -10.2499995 421 0 2670 --46.9166665 -46.7499995 -10.4166665 -10.2499995 369 0 2670 --46.7500005 -46.5833335 -10.4166665 -10.2499995 408 0 2670 --46.5833335 -46.4166665 -10.4166665 -10.2499995 446 0 2670 --46.4166665 -46.2499995 -10.4166665 -10.2499995 631 0 2670 --46.2500005 -46.0833335 -10.4166665 -10.2499995 745 0 2670 --46.0833335 -45.9166665 -10.4166665 -10.2499995 798 0 2670 --45.9166665 -45.7499995 -10.4166665 -10.2499995 785 0 2670 --45.7500005 -45.5833335 -10.4166665 -10.2499995 793 0 2670 --45.5833335 -45.4166665 -10.4166665 -10.2499995 806 0 2670 --45.4166665 -45.2499995 -10.4166665 -10.2499995 515 0 2670 --45.2500005 -45.0833335 -10.4166665 -10.2499995 523 0 2670 --45.0833335 -44.9166665 -10.4166665 -10.2499995 452 0 2670 --44.9166665 -44.7499995 -10.4166665 -10.2499995 403 0 2670 --44.7500005 -44.5833335 -10.4166665 -10.2499995 393 0 2670 --44.5833335 -44.4166665 -10.4166665 -10.2499995 427 0 2670 --44.4166665 -44.2499995 -10.4166665 -10.2499995 524 0 2670 --44.2500005 -44.0833335 -10.4166665 -10.2499995 515 0 2670 --44.0833335 -43.9166665 -10.4166665 -10.2499995 555 0 2670 --43.9166665 -43.7499995 -10.4166665 -10.2499995 605 0 2670 --43.7500005 -43.5833335 -10.4166665 -10.2499995 645 0 2670 --43.5833335 -43.4166665 -10.4166665 -10.2499995 510 0 2670 --43.4166665 -43.2499995 -10.4166665 -10.2499995 514 0 2670 --43.2500005 -43.0833335 -10.4166665 -10.2499995 529 0 2670 --43.0833335 -42.9166665 -10.4166665 -10.2499995 509 0 2670 --42.9166665 -42.7499995 -10.4166665 -10.2499995 462 0 2670 --42.7500005 -42.5833335 -10.4166665 -10.2499995 422 0 2670 --42.5833335 -42.4166665 -10.4166665 -10.2499995 435 0 2670 --42.4166665 -42.2499995 -10.4166665 -10.2499995 396 0 2670 --42.2500005 -42.0833335 -10.4166665 -10.2499995 403 0 2670 --42.0833335 -41.9166665 -10.4166665 -10.2499995 410 0 2670 --41.9166665 -41.7499995 -10.4166665 -10.2499995 411 0 2670 --41.7500005 -41.5833335 -10.4166665 -10.2499995 561 0 2670 --41.5833335 -41.4166665 -10.4166665 -10.2499995 1131 0 2670 --41.4166665 -41.2499995 -10.4166665 -10.2499995 1003 0 2670 --41.2500005 -41.0833335 -10.4166665 -10.2499995 910 0 2670 --41.0833335 -40.9166665 -10.4166665 -10.2499995 752 0 2670 --40.9166665 -40.7499995 -10.4166665 -10.2499995 526 0 2670 --40.7500005 -40.5833335 -10.4166665 -10.2499995 563 0 2670 --40.5833335 -40.4166665 -10.4166665 -10.2499995 791 0 2670 --40.4166665 -40.2499995 -10.4166665 -10.2499995 731 0 2670 --40.2500005 -40.0833335 -10.4166665 -10.2499995 593 0 2670 --40.0833335 -39.9166665 -10.4166665 -10.2499995 435 0 2670 --65.0833335 -64.9166665 -10.5833335 -10.4166665 157 0 2670 --64.9166665 -64.7499995 -10.5833335 -10.4166665 167 0 2670 --64.7500005 -64.5833335 -10.5833335 -10.4166665 191 0 2670 --64.5833335 -64.4166665 -10.5833335 -10.4166665 192 0 2670 --64.4166665 -64.2499995 -10.5833335 -10.4166665 230 0 2670 --64.2500005 -64.0833335 -10.5833335 -10.4166665 296 0 2670 --64.0833335 -63.9166665 -10.5833335 -10.4166665 161 0 2670 --63.9166665 -63.7499995 -10.5833335 -10.4166665 259 0 2670 --63.7500005 -63.5833335 -10.5833335 -10.4166665 189 0 2670 --63.5833335 -63.4166665 -10.5833335 -10.4166665 268 0 2670 --63.4166665 -63.2499995 -10.5833335 -10.4166665 178 0 2670 --63.2500005 -63.0833335 -10.5833335 -10.4166665 186 0 2670 --63.0833335 -62.9166665 -10.5833335 -10.4166665 319 0 2670 --62.9166665 -62.7499995 -10.5833335 -10.4166665 231 0 2670 --62.7500005 -62.5833335 -10.5833335 -10.4166665 208 0 2670 --62.5833335 -62.4166665 -10.5833335 -10.4166665 166 0 2670 --62.4166665 -62.2499995 -10.5833335 -10.4166665 201 0 2670 --62.2500005 -62.0833335 -10.5833335 -10.4166665 178 0 2670 --62.0833335 -61.9166665 -10.5833335 -10.4166665 203 0 2670 --61.9166665 -61.7499995 -10.5833335 -10.4166665 203 0 2670 --61.7500005 -61.5833335 -10.5833335 -10.4166665 214 0 2670 --61.5833335 -61.4166665 -10.5833335 -10.4166665 240 0 2670 --61.4166665 -61.2499995 -10.5833335 -10.4166665 251 0 2670 --61.2500005 -61.0833335 -10.5833335 -10.4166665 170 0 2670 --61.0833335 -60.9166665 -10.5833335 -10.4166665 195 0 2670 --60.9166665 -60.7499995 -10.5833335 -10.4166665 202 0 2670 --60.7500005 -60.5833335 -10.5833335 -10.4166665 178 0 2670 --60.5833335 -60.4166665 -10.5833335 -10.4166665 216 0 2670 --60.4166665 -60.2499995 -10.5833335 -10.4166665 347 0 2670 --60.2500005 -60.0833335 -10.5833335 -10.4166665 298 0 2670 --60.0833335 -59.9166665 -10.5833335 -10.4166665 257 0 2670 --59.9166665 -59.7499995 -10.5833335 -10.4166665 269 0 2670 --59.7500005 -59.5833335 -10.5833335 -10.4166665 282 0 2670 --59.5833335 -59.4166665 -10.5833335 -10.4166665 274 0 2670 --59.4166665 -59.2499995 -10.5833335 -10.4166665 300 0 2670 --59.2500005 -59.0833335 -10.5833335 -10.4166665 394 0 2670 --59.0833335 -58.9166665 -10.5833335 -10.4166665 433 0 2670 --58.9166665 -58.7499995 -10.5833335 -10.4166665 356 0 2670 --58.7500005 -58.5833335 -10.5833335 -10.4166665 238 0 2670 --58.5833335 -58.4166665 -10.5833335 -10.4166665 341 0 2670 --58.4166665 -58.2499995 -10.5833335 -10.4166665 244 0 2670 --58.2500005 -58.0833335 -10.5833335 -10.4166665 271 0 2670 --58.0833335 -57.9166665 -10.5833335 -10.4166665 350 0 2670 --57.9166665 -57.7499995 -10.5833335 -10.4166665 381 0 2670 --57.7500005 -57.5833335 -10.5833335 -10.4166665 394 0 2670 --57.5833335 -57.4166665 -10.5833335 -10.4166665 367 0 2670 --57.4166665 -57.2499995 -10.5833335 -10.4166665 313 0 2670 --57.2500005 -57.0833335 -10.5833335 -10.4166665 324 0 2670 --57.0833335 -56.9166665 -10.5833335 -10.4166665 323 0 2670 --56.9166665 -56.7499995 -10.5833335 -10.4166665 336 0 2670 --56.7500005 -56.5833335 -10.5833335 -10.4166665 319 0 2670 --56.5833335 -56.4166665 -10.5833335 -10.4166665 397 0 2670 --56.4166665 -56.2499995 -10.5833335 -10.4166665 338 0 2670 --56.2500005 -56.0833335 -10.5833335 -10.4166665 319 0 2670 --56.0833335 -55.9166665 -10.5833335 -10.4166665 265 0 2670 --55.9166665 -55.7499995 -10.5833335 -10.4166665 269 0 2670 --55.7500005 -55.5833335 -10.5833335 -10.4166665 264 0 2670 --55.5833335 -55.4166665 -10.5833335 -10.4166665 286 0 2670 --55.4166665 -55.2499995 -10.5833335 -10.4166665 264 0 2670 --55.2500005 -55.0833335 -10.5833335 -10.4166665 284 0 2670 --55.0833335 -54.9166665 -10.5833335 -10.4166665 350 0 2670 --54.9166665 -54.7499995 -10.5833335 -10.4166665 416 0 2670 --54.7500005 -54.5833335 -10.5833335 -10.4166665 283 0 2670 --54.5833335 -54.4166665 -10.5833335 -10.4166665 312 0 2670 --54.4166665 -54.2499995 -10.5833335 -10.4166665 401 0 2670 --54.2500005 -54.0833335 -10.5833335 -10.4166665 439 0 2670 --54.0833335 -53.9166665 -10.5833335 -10.4166665 444 0 2670 --53.9166665 -53.7499995 -10.5833335 -10.4166665 378 0 2670 --53.7500005 -53.5833335 -10.5833335 -10.4166665 349 0 2670 --53.5833335 -53.4166665 -10.5833335 -10.4166665 315 0 2670 --53.4166665 -53.2499995 -10.5833335 -10.4166665 294 0 2670 --53.2500005 -53.0833335 -10.5833335 -10.4166665 314 0 2670 --53.0833335 -52.9166665 -10.5833335 -10.4166665 308 0 2670 --52.9166665 -52.7499995 -10.5833335 -10.4166665 302 0 2670 --52.7500005 -52.5833335 -10.5833335 -10.4166665 301 0 2670 --52.5833335 -52.4166665 -10.5833335 -10.4166665 309 0 2670 --52.4166665 -52.2499995 -10.5833335 -10.4166665 284 0 2670 --52.2500005 -52.0833335 -10.5833335 -10.4166665 266 0 2670 --52.0833335 -51.9166665 -10.5833335 -10.4166665 293 0 2670 --51.9166665 -51.7499995 -10.5833335 -10.4166665 280 0 2670 --51.7500005 -51.5833335 -10.5833335 -10.4166665 222 0 2670 --51.5833335 -51.4166665 -10.5833335 -10.4166665 318 0 2670 --51.4166665 -51.2499995 -10.5833335 -10.4166665 404 0 2670 --51.2500005 -51.0833335 -10.5833335 -10.4166665 409 0 2670 --51.0833335 -50.9166665 -10.5833335 -10.4166665 225 0 2670 --50.9166665 -50.7499995 -10.5833335 -10.4166665 279 0 2670 --50.7500005 -50.5833335 -10.5833335 -10.4166665 227 0 2670 --50.5833335 -50.4166665 -10.5833335 -10.4166665 176 0 2670 --50.4166665 -50.2499995 -10.5833335 -10.4166665 176 0 2670 --50.2500005 -50.0833335 -10.5833335 -10.4166665 176 0 2670 --50.0833335 -49.9166665 -10.5833335 -10.4166665 177 0 2670 --49.9166665 -49.7499995 -10.5833335 -10.4166665 178 0 2670 --49.7500005 -49.5833335 -10.5833335 -10.4166665 183 0 2670 --49.5833335 -49.4166665 -10.5833335 -10.4166665 193 0 2670 --49.4166665 -49.2499995 -10.5833335 -10.4166665 205 0 2670 --49.2500005 -49.0833335 -10.5833335 -10.4166665 265 0 2670 --49.0833335 -48.9166665 -10.5833335 -10.4166665 314 0 2670 --48.9166665 -48.7499995 -10.5833335 -10.4166665 268 0 2670 --48.7500005 -48.5833335 -10.5833335 -10.4166665 512 0 2670 --48.5833335 -48.4166665 -10.5833335 -10.4166665 337 0 2670 --48.4166665 -48.2499995 -10.5833335 -10.4166665 237 0 2670 --48.2500005 -48.0833335 -10.5833335 -10.4166665 367 0 2670 --48.0833335 -47.9166665 -10.5833335 -10.4166665 481 0 2670 --47.9166665 -47.7499995 -10.5833335 -10.4166665 288 0 2670 --47.7500005 -47.5833335 -10.5833335 -10.4166665 366 0 2670 --47.5833335 -47.4166665 -10.5833335 -10.4166665 342 0 2670 --47.4166665 -47.2499995 -10.5833335 -10.4166665 354 0 2670 --47.2500005 -47.0833335 -10.5833335 -10.4166665 322 0 2670 --47.0833335 -46.9166665 -10.5833335 -10.4166665 482 0 2670 --46.9166665 -46.7499995 -10.5833335 -10.4166665 411 0 2670 --46.7500005 -46.5833335 -10.5833335 -10.4166665 427 0 2670 --46.5833335 -46.4166665 -10.5833335 -10.4166665 495 0 2670 --46.4166665 -46.2499995 -10.5833335 -10.4166665 613 0 2670 --46.2500005 -46.0833335 -10.5833335 -10.4166665 748 0 2670 --46.0833335 -45.9166665 -10.5833335 -10.4166665 722 0 2670 --45.9166665 -45.7499995 -10.5833335 -10.4166665 775 0 2670 --45.7500005 -45.5833335 -10.5833335 -10.4166665 775 0 2670 --45.5833335 -45.4166665 -10.5833335 -10.4166665 798 0 2670 --45.4166665 -45.2499995 -10.5833335 -10.4166665 661 0 2670 --45.2500005 -45.0833335 -10.5833335 -10.4166665 470 0 2670 --45.0833335 -44.9166665 -10.5833335 -10.4166665 440 0 2670 --44.9166665 -44.7499995 -10.5833335 -10.4166665 406 0 2670 --44.7500005 -44.5833335 -10.5833335 -10.4166665 454 0 2670 --44.5833335 -44.4166665 -10.5833335 -10.4166665 478 0 2670 --44.4166665 -44.2499995 -10.5833335 -10.4166665 673 0 2670 --44.2500005 -44.0833335 -10.5833335 -10.4166665 508 0 2670 --44.0833335 -43.9166665 -10.5833335 -10.4166665 630 0 2670 --43.9166665 -43.7499995 -10.5833335 -10.4166665 612 0 2670 --43.7500005 -43.5833335 -10.5833335 -10.4166665 655 0 2670 --43.5833335 -43.4166665 -10.5833335 -10.4166665 505 0 2670 --43.4166665 -43.2499995 -10.5833335 -10.4166665 576 0 2670 --43.2500005 -43.0833335 -10.5833335 -10.4166665 541 0 2670 --43.0833335 -42.9166665 -10.5833335 -10.4166665 491 0 2670 --42.9166665 -42.7499995 -10.5833335 -10.4166665 486 0 2670 --42.7500005 -42.5833335 -10.5833335 -10.4166665 496 0 2670 --42.5833335 -42.4166665 -10.5833335 -10.4166665 411 0 2670 --42.4166665 -42.2499995 -10.5833335 -10.4166665 404 0 2670 --42.2500005 -42.0833335 -10.5833335 -10.4166665 408 0 2670 --42.0833335 -41.9166665 -10.5833335 -10.4166665 416 0 2670 --41.9166665 -41.7499995 -10.5833335 -10.4166665 437 0 2670 --41.7500005 -41.5833335 -10.5833335 -10.4166665 830 0 2670 --41.5833335 -41.4166665 -10.5833335 -10.4166665 1016 0 2670 --41.4166665 -41.2499995 -10.5833335 -10.4166665 825 0 2670 --41.2500005 -41.0833335 -10.5833335 -10.4166665 938 0 2670 --41.0833335 -40.9166665 -10.5833335 -10.4166665 550 0 2670 --40.9166665 -40.7499995 -10.5833335 -10.4166665 531 0 2670 --40.7500005 -40.5833335 -10.5833335 -10.4166665 623 0 2670 --40.5833335 -40.4166665 -10.5833335 -10.4166665 824 0 2670 --40.4166665 -40.2499995 -10.5833335 -10.4166665 565 0 2670 --40.2500005 -40.0833335 -10.5833335 -10.4166665 477 0 2670 --40.0833335 -39.9166665 -10.5833335 -10.4166665 408 0 2670 --65.0833335 -64.9166665 -10.7500005 -10.5833335 191 0 2670 --64.9166665 -64.7499995 -10.7500005 -10.5833335 260 0 2670 --64.7500005 -64.5833335 -10.7500005 -10.5833335 173 0 2670 --64.5833335 -64.4166665 -10.7500005 -10.5833335 189 0 2670 --64.4166665 -64.2499995 -10.7500005 -10.5833335 359 0 2670 --64.2500005 -64.0833335 -10.7500005 -10.5833335 311 0 2670 --64.0833335 -63.9166665 -10.7500005 -10.5833335 244 0 2670 --63.9166665 -63.7499995 -10.7500005 -10.5833335 263 0 2670 --63.7500005 -63.5833335 -10.7500005 -10.5833335 300 0 2670 --63.5833335 -63.4166665 -10.7500005 -10.5833335 380 0 2670 --63.4166665 -63.2499995 -10.7500005 -10.5833335 219 0 2670 --63.2500005 -63.0833335 -10.7500005 -10.5833335 203 0 2670 --63.0833335 -62.9166665 -10.7500005 -10.5833335 277 0 2670 --62.9166665 -62.7499995 -10.7500005 -10.5833335 206 0 2670 --62.7500005 -62.5833335 -10.7500005 -10.5833335 171 0 2670 --62.5833335 -62.4166665 -10.7500005 -10.5833335 188 0 2670 --62.4166665 -62.2499995 -10.7500005 -10.5833335 240 0 2670 --62.2500005 -62.0833335 -10.7500005 -10.5833335 200 0 2670 --62.0833335 -61.9166665 -10.7500005 -10.5833335 173 0 2670 --61.9166665 -61.7499995 -10.7500005 -10.5833335 134 0 2670 --61.7500005 -61.5833335 -10.7500005 -10.5833335 289 0 2670 --61.5833335 -61.4166665 -10.7500005 -10.5833335 278 0 2670 --61.4166665 -61.2499995 -10.7500005 -10.5833335 285 0 2670 --61.2500005 -61.0833335 -10.7500005 -10.5833335 161 0 2670 --61.0833335 -60.9166665 -10.7500005 -10.5833335 177 0 2670 --60.9166665 -60.7499995 -10.7500005 -10.5833335 170 0 2670 --60.7500005 -60.5833335 -10.7500005 -10.5833335 157 0 2670 --60.5833335 -60.4166665 -10.7500005 -10.5833335 157 0 2670 --60.4166665 -60.2499995 -10.7500005 -10.5833335 177 0 2670 --60.2500005 -60.0833335 -10.7500005 -10.5833335 318 0 2670 --60.0833335 -59.9166665 -10.7500005 -10.5833335 250 0 2670 --59.9166665 -59.7499995 -10.7500005 -10.5833335 308 0 2670 --59.7500005 -59.5833335 -10.7500005 -10.5833335 359 0 2670 --59.5833335 -59.4166665 -10.7500005 -10.5833335 253 0 2670 --59.4166665 -59.2499995 -10.7500005 -10.5833335 302 0 2670 --59.2500005 -59.0833335 -10.7500005 -10.5833335 456 0 2670 --59.0833335 -58.9166665 -10.7500005 -10.5833335 457 0 2670 --58.9166665 -58.7499995 -10.7500005 -10.5833335 340 0 2670 --58.7500005 -58.5833335 -10.7500005 -10.5833335 248 0 2670 --58.5833335 -58.4166665 -10.7500005 -10.5833335 251 0 2670 --58.4166665 -58.2499995 -10.7500005 -10.5833335 236 0 2670 --58.2500005 -58.0833335 -10.7500005 -10.5833335 256 0 2670 --58.0833335 -57.9166665 -10.7500005 -10.5833335 230 0 2670 --57.9166665 -57.7499995 -10.7500005 -10.5833335 383 0 2670 --57.7500005 -57.5833335 -10.7500005 -10.5833335 490 0 2670 --57.5833335 -57.4166665 -10.7500005 -10.5833335 388 0 2670 --57.4166665 -57.2499995 -10.7500005 -10.5833335 399 0 2670 --57.2500005 -57.0833335 -10.7500005 -10.5833335 331 0 2670 --57.0833335 -56.9166665 -10.7500005 -10.5833335 332 0 2670 --56.9166665 -56.7499995 -10.7500005 -10.5833335 323 0 2670 --56.7500005 -56.5833335 -10.7500005 -10.5833335 308 0 2670 --56.5833335 -56.4166665 -10.7500005 -10.5833335 317 0 2670 --56.4166665 -56.2499995 -10.7500005 -10.5833335 302 0 2670 --56.2500005 -56.0833335 -10.7500005 -10.5833335 281 0 2670 --56.0833335 -55.9166665 -10.7500005 -10.5833335 280 0 2670 --55.9166665 -55.7499995 -10.7500005 -10.5833335 265 0 2670 --55.7500005 -55.5833335 -10.7500005 -10.5833335 299 0 2670 --55.5833335 -55.4166665 -10.7500005 -10.5833335 298 0 2670 --55.4166665 -55.2499995 -10.7500005 -10.5833335 298 0 2670 --55.2500005 -55.0833335 -10.7500005 -10.5833335 312 0 2670 --55.0833335 -54.9166665 -10.7500005 -10.5833335 394 0 2670 --54.9166665 -54.7499995 -10.7500005 -10.5833335 299 0 2670 --54.7500005 -54.5833335 -10.7500005 -10.5833335 381 0 2670 --54.5833335 -54.4166665 -10.7500005 -10.5833335 349 0 2670 --54.4166665 -54.2499995 -10.7500005 -10.5833335 367 0 2670 --54.2500005 -54.0833335 -10.7500005 -10.5833335 385 0 2670 --54.0833335 -53.9166665 -10.7500005 -10.5833335 333 0 2670 --53.9166665 -53.7499995 -10.7500005 -10.5833335 346 0 2670 --53.7500005 -53.5833335 -10.7500005 -10.5833335 347 0 2670 --53.5833335 -53.4166665 -10.7500005 -10.5833335 348 0 2670 --53.4166665 -53.2499995 -10.7500005 -10.5833335 335 0 2670 --53.2500005 -53.0833335 -10.7500005 -10.5833335 306 0 2670 --53.0833335 -52.9166665 -10.7500005 -10.5833335 331 0 2670 --52.9166665 -52.7499995 -10.7500005 -10.5833335 345 0 2670 --52.7500005 -52.5833335 -10.7500005 -10.5833335 308 0 2670 --52.5833335 -52.4166665 -10.7500005 -10.5833335 333 0 2670 --52.4166665 -52.2499995 -10.7500005 -10.5833335 297 0 2670 --52.2500005 -52.0833335 -10.7500005 -10.5833335 273 0 2670 --52.0833335 -51.9166665 -10.7500005 -10.5833335 225 0 2670 --51.9166665 -51.7499995 -10.7500005 -10.5833335 203 0 2670 --51.7500005 -51.5833335 -10.7500005 -10.5833335 219 0 2670 --51.5833335 -51.4166665 -10.7500005 -10.5833335 218 0 2670 --51.4166665 -51.2499995 -10.7500005 -10.5833335 287 0 2670 --51.2500005 -51.0833335 -10.7500005 -10.5833335 209 0 2670 --51.0833335 -50.9166665 -10.7500005 -10.5833335 202 0 2670 --50.9166665 -50.7499995 -10.7500005 -10.5833335 182 0 2670 --50.7500005 -50.5833335 -10.7500005 -10.5833335 184 0 2670 --50.5833335 -50.4166665 -10.7500005 -10.5833335 179 0 2670 --50.4166665 -50.2499995 -10.7500005 -10.5833335 178 0 2670 --50.2500005 -50.0833335 -10.7500005 -10.5833335 179 0 2670 --50.0833335 -49.9166665 -10.7500005 -10.5833335 177 0 2670 --49.9166665 -49.7499995 -10.7500005 -10.5833335 179 0 2670 --49.7500005 -49.5833335 -10.7500005 -10.5833335 187 0 2670 --49.5833335 -49.4166665 -10.7500005 -10.5833335 225 0 2670 --49.4166665 -49.2499995 -10.7500005 -10.5833335 218 0 2670 --49.2500005 -49.0833335 -10.7500005 -10.5833335 227 0 2670 --49.0833335 -48.9166665 -10.7500005 -10.5833335 349 0 2670 --48.9166665 -48.7499995 -10.7500005 -10.5833335 290 0 2670 --48.7500005 -48.5833335 -10.7500005 -10.5833335 458 0 2670 --48.5833335 -48.4166665 -10.7500005 -10.5833335 308 0 2670 --48.4166665 -48.2499995 -10.7500005 -10.5833335 296 0 2670 --48.2500005 -48.0833335 -10.7500005 -10.5833335 255 0 2670 --48.0833335 -47.9166665 -10.7500005 -10.5833335 697 0 2670 --47.9166665 -47.7499995 -10.7500005 -10.5833335 422 0 2670 --47.7500005 -47.5833335 -10.7500005 -10.5833335 372 0 2670 --47.5833335 -47.4166665 -10.7500005 -10.5833335 334 0 2670 --47.4166665 -47.2499995 -10.7500005 -10.5833335 327 0 2670 --47.2500005 -47.0833335 -10.7500005 -10.5833335 411 0 2670 --47.0833335 -46.9166665 -10.7500005 -10.5833335 403 0 2670 --46.9166665 -46.7499995 -10.7500005 -10.5833335 492 0 2670 --46.7500005 -46.5833335 -10.7500005 -10.5833335 449 0 2670 --46.5833335 -46.4166665 -10.7500005 -10.5833335 532 0 2670 --46.4166665 -46.2499995 -10.7500005 -10.5833335 579 0 2670 --46.2500005 -46.0833335 -10.7500005 -10.5833335 757 0 2670 --46.0833335 -45.9166665 -10.7500005 -10.5833335 737 0 2670 --45.9166665 -45.7499995 -10.7500005 -10.5833335 722 0 2670 --45.7500005 -45.5833335 -10.7500005 -10.5833335 778 0 2670 --45.5833335 -45.4166665 -10.7500005 -10.5833335 749 0 2670 --45.4166665 -45.2499995 -10.7500005 -10.5833335 680 0 2670 --45.2500005 -45.0833335 -10.7500005 -10.5833335 488 0 2670 --45.0833335 -44.9166665 -10.7500005 -10.5833335 428 0 2670 --44.9166665 -44.7499995 -10.7500005 -10.5833335 462 0 2670 --44.7500005 -44.5833335 -10.7500005 -10.5833335 663 0 2670 --44.5833335 -44.4166665 -10.7500005 -10.5833335 703 0 2670 --44.4166665 -44.2499995 -10.7500005 -10.5833335 674 0 2670 --44.2500005 -44.0833335 -10.7500005 -10.5833335 663 0 2670 --44.0833335 -43.9166665 -10.7500005 -10.5833335 654 0 2670 --43.9166665 -43.7499995 -10.7500005 -10.5833335 574 0 2670 --43.7500005 -43.5833335 -10.7500005 -10.5833335 532 0 2670 --43.5833335 -43.4166665 -10.7500005 -10.5833335 463 0 2670 --43.4166665 -43.2499995 -10.7500005 -10.5833335 620 0 2670 --43.2500005 -43.0833335 -10.7500005 -10.5833335 512 0 2670 --43.0833335 -42.9166665 -10.7500005 -10.5833335 460 0 2670 --42.9166665 -42.7499995 -10.7500005 -10.5833335 447 0 2670 --42.7500005 -42.5833335 -10.7500005 -10.5833335 399 0 2670 --42.5833335 -42.4166665 -10.7500005 -10.5833335 596 0 2670 --42.4166665 -42.2499995 -10.7500005 -10.5833335 416 0 2670 --42.2500005 -42.0833335 -10.7500005 -10.5833335 411 0 2670 --42.0833335 -41.9166665 -10.7500005 -10.5833335 437 0 2670 --41.9166665 -41.7499995 -10.7500005 -10.5833335 450 0 2670 --41.7500005 -41.5833335 -10.7500005 -10.5833335 511 0 2670 --41.5833335 -41.4166665 -10.7500005 -10.5833335 882 0 2670 --41.4166665 -41.2499995 -10.7500005 -10.5833335 785 0 2670 --41.2500005 -41.0833335 -10.7500005 -10.5833335 878 0 2670 --41.0833335 -40.9166665 -10.7500005 -10.5833335 556 0 2670 --40.9166665 -40.7499995 -10.7500005 -10.5833335 547 0 2670 --40.7500005 -40.5833335 -10.7500005 -10.5833335 753 0 2670 --40.5833335 -40.4166665 -10.7500005 -10.5833335 704 0 2670 --40.4166665 -40.2499995 -10.7500005 -10.5833335 478 0 2670 --40.2500005 -40.0833335 -10.7500005 -10.5833335 468 0 2670 --40.0833335 -39.9166665 -10.7500005 -10.5833335 401 0 2670 --65.0833335 -64.9166665 -10.9166665 -10.7499995 144 0 2670 --64.9166665 -64.7499995 -10.9166665 -10.7499995 158 0 2670 --64.7500005 -64.5833335 -10.9166665 -10.7499995 170 0 2670 --64.5833335 -64.4166665 -10.9166665 -10.7499995 156 0 2670 --64.4166665 -64.2499995 -10.9166665 -10.7499995 196 0 2670 --64.2500005 -64.0833335 -10.9166665 -10.7499995 307 0 2670 --64.0833335 -63.9166665 -10.9166665 -10.7499995 390 0 2670 --63.9166665 -63.7499995 -10.9166665 -10.7499995 380 0 2670 --63.7500005 -63.5833335 -10.9166665 -10.7499995 869 0 2670 --63.5833335 -63.4166665 -10.9166665 -10.7499995 342 0 2670 --63.4166665 -63.2499995 -10.9166665 -10.7499995 242 0 2670 --63.2500005 -63.0833335 -10.9166665 -10.7499995 318 0 2670 --63.0833335 -62.9166665 -10.9166665 -10.7499995 251 0 2670 --62.9166665 -62.7499995 -10.9166665 -10.7499995 196 0 2670 --62.7500005 -62.5833335 -10.9166665 -10.7499995 224 0 2670 --62.5833335 -62.4166665 -10.9166665 -10.7499995 270 0 2670 --62.4166665 -62.2499995 -10.9166665 -10.7499995 308 0 2670 --62.2500005 -62.0833335 -10.9166665 -10.7499995 214 0 2670 --62.0833335 -61.9166665 -10.9166665 -10.7499995 180 0 2670 --61.9166665 -61.7499995 -10.9166665 -10.7499995 170 0 2670 --61.7500005 -61.5833335 -10.9166665 -10.7499995 194 0 2670 --61.5833335 -61.4166665 -10.9166665 -10.7499995 289 0 2670 --61.4166665 -61.2499995 -10.9166665 -10.7499995 200 0 2670 --61.2500005 -61.0833335 -10.9166665 -10.7499995 172 0 2670 --61.0833335 -60.9166665 -10.9166665 -10.7499995 208 0 2670 --60.9166665 -60.7499995 -10.9166665 -10.7499995 194 0 2670 --60.7500005 -60.5833335 -10.9166665 -10.7499995 165 0 2670 --60.5833335 -60.4166665 -10.9166665 -10.7499995 214 0 2670 --60.4166665 -60.2499995 -10.9166665 -10.7499995 255 0 2670 --60.2500005 -60.0833335 -10.9166665 -10.7499995 235 0 2670 --60.0833335 -59.9166665 -10.9166665 -10.7499995 294 0 2670 --59.9166665 -59.7499995 -10.9166665 -10.7499995 276 0 2670 --59.7500005 -59.5833335 -10.9166665 -10.7499995 357 0 2670 --59.5833335 -59.4166665 -10.9166665 -10.7499995 325 0 2670 --59.4166665 -59.2499995 -10.9166665 -10.7499995 320 0 2670 --59.2500005 -59.0833335 -10.9166665 -10.7499995 298 0 2670 --59.0833335 -58.9166665 -10.9166665 -10.7499995 331 0 2670 --58.9166665 -58.7499995 -10.9166665 -10.7499995 353 0 2670 --58.7500005 -58.5833335 -10.9166665 -10.7499995 295 0 2670 --58.5833335 -58.4166665 -10.9166665 -10.7499995 281 0 2670 --58.4166665 -58.2499995 -10.9166665 -10.7499995 227 0 2670 --58.2500005 -58.0833335 -10.9166665 -10.7499995 265 0 2670 --58.0833335 -57.9166665 -10.9166665 -10.7499995 253 0 2670 --57.9166665 -57.7499995 -10.9166665 -10.7499995 257 0 2670 --57.7500005 -57.5833335 -10.9166665 -10.7499995 237 0 2670 --57.5833335 -57.4166665 -10.9166665 -10.7499995 302 0 2670 --57.4166665 -57.2499995 -10.9166665 -10.7499995 443 0 2670 --57.2500005 -57.0833335 -10.9166665 -10.7499995 319 0 2670 --57.0833335 -56.9166665 -10.9166665 -10.7499995 357 0 2670 --56.9166665 -56.7499995 -10.9166665 -10.7499995 316 0 2670 --56.7500005 -56.5833335 -10.9166665 -10.7499995 350 0 2670 --56.5833335 -56.4166665 -10.9166665 -10.7499995 354 0 2670 --56.4166665 -56.2499995 -10.9166665 -10.7499995 306 0 2670 --56.2500005 -56.0833335 -10.9166665 -10.7499995 277 0 2670 --56.0833335 -55.9166665 -10.9166665 -10.7499995 277 0 2670 --55.9166665 -55.7499995 -10.9166665 -10.7499995 311 0 2670 --55.7500005 -55.5833335 -10.9166665 -10.7499995 398 0 2670 --55.5833335 -55.4166665 -10.9166665 -10.7499995 304 0 2670 --55.4166665 -55.2499995 -10.9166665 -10.7499995 320 0 2670 --55.2500005 -55.0833335 -10.9166665 -10.7499995 347 0 2670 --55.0833335 -54.9166665 -10.9166665 -10.7499995 348 0 2670 --54.9166665 -54.7499995 -10.9166665 -10.7499995 382 0 2670 --54.7500005 -54.5833335 -10.9166665 -10.7499995 347 0 2670 --54.5833335 -54.4166665 -10.9166665 -10.7499995 427 0 2670 --54.4166665 -54.2499995 -10.9166665 -10.7499995 344 0 2670 --54.2500005 -54.0833335 -10.9166665 -10.7499995 343 0 2670 --54.0833335 -53.9166665 -10.9166665 -10.7499995 367 0 2670 --53.9166665 -53.7499995 -10.9166665 -10.7499995 374 0 2670 --53.7500005 -53.5833335 -10.9166665 -10.7499995 370 0 2670 --53.5833335 -53.4166665 -10.9166665 -10.7499995 353 0 2670 --53.4166665 -53.2499995 -10.9166665 -10.7499995 293 0 2670 --53.2500005 -53.0833335 -10.9166665 -10.7499995 273 0 2670 --53.0833335 -52.9166665 -10.9166665 -10.7499995 303 0 2670 --52.9166665 -52.7499995 -10.9166665 -10.7499995 345 0 2670 --52.7500005 -52.5833335 -10.9166665 -10.7499995 332 0 2670 --52.5833335 -52.4166665 -10.9166665 -10.7499995 329 0 2670 --52.4166665 -52.2499995 -10.9166665 -10.7499995 303 0 2670 --52.2500005 -52.0833335 -10.9166665 -10.7499995 285 0 2670 --52.0833335 -51.9166665 -10.9166665 -10.7499995 199 0 2670 --51.9166665 -51.7499995 -10.9166665 -10.7499995 214 0 2670 --51.7500005 -51.5833335 -10.9166665 -10.7499995 190 0 2670 --51.5833335 -51.4166665 -10.9166665 -10.7499995 192 0 2670 --51.4166665 -51.2499995 -10.9166665 -10.7499995 201 0 2670 --51.2500005 -51.0833335 -10.9166665 -10.7499995 193 0 2670 --51.0833335 -50.9166665 -10.9166665 -10.7499995 181 0 2670 --50.9166665 -50.7499995 -10.9166665 -10.7499995 181 0 2670 --50.7500005 -50.5833335 -10.9166665 -10.7499995 182 0 2670 --50.5833335 -50.4166665 -10.9166665 -10.7499995 182 0 2670 --50.4166665 -50.2499995 -10.9166665 -10.7499995 191 0 2670 --50.2500005 -50.0833335 -10.9166665 -10.7499995 192 0 2670 --50.0833335 -49.9166665 -10.9166665 -10.7499995 180 0 2670 --49.9166665 -49.7499995 -10.9166665 -10.7499995 186 0 2670 --49.7500005 -49.5833335 -10.9166665 -10.7499995 189 0 2670 --49.5833335 -49.4166665 -10.9166665 -10.7499995 190 0 2670 --49.4166665 -49.2499995 -10.9166665 -10.7499995 202 0 2670 --49.2500005 -49.0833335 -10.9166665 -10.7499995 284 0 2670 --49.0833335 -48.9166665 -10.9166665 -10.7499995 345 0 2670 --48.9166665 -48.7499995 -10.9166665 -10.7499995 291 0 2670 --48.7500005 -48.5833335 -10.9166665 -10.7499995 503 0 2670 --48.5833335 -48.4166665 -10.9166665 -10.7499995 342 0 2670 --48.4166665 -48.2499995 -10.9166665 -10.7499995 278 0 2670 --48.2500005 -48.0833335 -10.9166665 -10.7499995 292 0 2670 --48.0833335 -47.9166665 -10.9166665 -10.7499995 578 0 2670 --47.9166665 -47.7499995 -10.9166665 -10.7499995 374 0 2670 --47.7500005 -47.5833335 -10.9166665 -10.7499995 382 0 2670 --47.5833335 -47.4166665 -10.9166665 -10.7499995 394 0 2670 --47.4166665 -47.2499995 -10.9166665 -10.7499995 370 0 2670 --47.2500005 -47.0833335 -10.9166665 -10.7499995 401 0 2670 --47.0833335 -46.9166665 -10.9166665 -10.7499995 468 0 2670 --46.9166665 -46.7499995 -10.9166665 -10.7499995 597 0 2670 --46.7500005 -46.5833335 -10.9166665 -10.7499995 508 0 2670 --46.5833335 -46.4166665 -10.9166665 -10.7499995 764 0 2670 --46.4166665 -46.2499995 -10.9166665 -10.7499995 639 0 2670 --46.2500005 -46.0833335 -10.9166665 -10.7499995 661 0 2670 --46.0833335 -45.9166665 -10.9166665 -10.7499995 687 0 2670 --45.9166665 -45.7499995 -10.9166665 -10.7499995 555 0 2670 --45.7500005 -45.5833335 -10.9166665 -10.7499995 758 0 2670 --45.5833335 -45.4166665 -10.9166665 -10.7499995 746 0 2670 --45.4166665 -45.2499995 -10.9166665 -10.7499995 747 0 2670 --45.2500005 -45.0833335 -10.9166665 -10.7499995 613 0 2670 --45.0833335 -44.9166665 -10.9166665 -10.7499995 514 0 2670 --44.9166665 -44.7499995 -10.9166665 -10.7499995 567 0 2670 --44.7500005 -44.5833335 -10.9166665 -10.7499995 558 0 2670 --44.5833335 -44.4166665 -10.9166665 -10.7499995 548 0 2670 --44.4166665 -44.2499995 -10.9166665 -10.7499995 512 0 2670 --44.2500005 -44.0833335 -10.9166665 -10.7499995 496 0 2670 --44.0833335 -43.9166665 -10.9166665 -10.7499995 541 0 2670 --43.9166665 -43.7499995 -10.9166665 -10.7499995 570 0 2670 --43.7500005 -43.5833335 -10.9166665 -10.7499995 510 0 2670 --43.5833335 -43.4166665 -10.9166665 -10.7499995 440 0 2670 --43.4166665 -43.2499995 -10.9166665 -10.7499995 453 0 2670 --43.2500005 -43.0833335 -10.9166665 -10.7499995 468 0 2670 --43.0833335 -42.9166665 -10.9166665 -10.7499995 459 0 2670 --42.9166665 -42.7499995 -10.9166665 -10.7499995 402 0 2670 --42.7500005 -42.5833335 -10.9166665 -10.7499995 436 0 2670 --42.5833335 -42.4166665 -10.9166665 -10.7499995 478 0 2670 --42.4166665 -42.2499995 -10.9166665 -10.7499995 440 0 2670 --42.2500005 -42.0833335 -10.9166665 -10.7499995 428 0 2670 --42.0833335 -41.9166665 -10.9166665 -10.7499995 461 0 2670 --41.9166665 -41.7499995 -10.9166665 -10.7499995 490 0 2670 --41.7500005 -41.5833335 -10.9166665 -10.7499995 473 0 2670 --41.5833335 -41.4166665 -10.9166665 -10.7499995 764 0 2670 --41.4166665 -41.2499995 -10.9166665 -10.7499995 697 0 2670 --41.2500005 -41.0833335 -10.9166665 -10.7499995 615 0 2670 --41.0833335 -40.9166665 -10.9166665 -10.7499995 560 0 2670 --40.9166665 -40.7499995 -10.9166665 -10.7499995 566 0 2670 --40.7500005 -40.5833335 -10.9166665 -10.7499995 808 0 2670 --40.5833335 -40.4166665 -10.9166665 -10.7499995 603 0 2670 --40.4166665 -40.2499995 -10.9166665 -10.7499995 462 0 2670 --40.2500005 -40.0833335 -10.9166665 -10.7499995 404 0 2670 --40.0833335 -39.9166665 -10.9166665 -10.7499995 375 0 2670 --65.0833335 -64.9166665 -11.0833335 -10.9166665 163 0 2670 --64.9166665 -64.7499995 -11.0833335 -10.9166665 175 0 2670 --64.7500005 -64.5833335 -11.0833335 -10.9166665 160 0 2670 --64.5833335 -64.4166665 -11.0833335 -10.9166665 190 0 2670 --64.4166665 -64.2499995 -11.0833335 -10.9166665 191 0 2670 --64.2500005 -64.0833335 -11.0833335 -10.9166665 207 0 2670 --64.0833335 -63.9166665 -11.0833335 -10.9166665 185 0 2670 --63.9166665 -63.7499995 -11.0833335 -10.9166665 294 0 2670 --63.7500005 -63.5833335 -11.0833335 -10.9166665 857 0 2670 --63.5833335 -63.4166665 -11.0833335 -10.9166665 368 0 2670 --63.4166665 -63.2499995 -11.0833335 -10.9166665 301 0 2670 --63.2500005 -63.0833335 -11.0833335 -10.9166665 310 0 2670 --63.0833335 -62.9166665 -11.0833335 -10.9166665 309 0 2670 --62.9166665 -62.7499995 -11.0833335 -10.9166665 283 0 2670 --62.7500005 -62.5833335 -11.0833335 -10.9166665 257 0 2670 --62.5833335 -62.4166665 -11.0833335 -10.9166665 390 0 2670 --62.4166665 -62.2499995 -11.0833335 -10.9166665 211 0 2670 --62.2500005 -62.0833335 -11.0833335 -10.9166665 172 0 2670 --62.0833335 -61.9166665 -11.0833335 -10.9166665 177 0 2670 --61.9166665 -61.7499995 -11.0833335 -10.9166665 215 0 2670 --61.7500005 -61.5833335 -11.0833335 -10.9166665 281 0 2670 --61.5833335 -61.4166665 -11.0833335 -10.9166665 312 0 2670 --61.4166665 -61.2499995 -11.0833335 -10.9166665 207 0 2670 --61.2500005 -61.0833335 -11.0833335 -10.9166665 188 0 2670 --61.0833335 -60.9166665 -11.0833335 -10.9166665 194 0 2670 --60.9166665 -60.7499995 -11.0833335 -10.9166665 192 0 2670 --60.7500005 -60.5833335 -11.0833335 -10.9166665 241 0 2670 --60.5833335 -60.4166665 -11.0833335 -10.9166665 216 0 2670 --60.4166665 -60.2499995 -11.0833335 -10.9166665 215 0 2670 --60.2500005 -60.0833335 -11.0833335 -10.9166665 253 0 2670 --60.0833335 -59.9166665 -11.0833335 -10.9166665 273 0 2670 --59.9166665 -59.7499995 -11.0833335 -10.9166665 396 0 2670 --59.7500005 -59.5833335 -11.0833335 -10.9166665 380 0 2670 --59.5833335 -59.4166665 -11.0833335 -10.9166665 376 0 2670 --59.4166665 -59.2499995 -11.0833335 -10.9166665 276 0 2670 --59.2500005 -59.0833335 -11.0833335 -10.9166665 311 0 2670 --59.0833335 -58.9166665 -11.0833335 -10.9166665 339 0 2670 --58.9166665 -58.7499995 -11.0833335 -10.9166665 311 0 2670 --58.7500005 -58.5833335 -11.0833335 -10.9166665 269 0 2670 --58.5833335 -58.4166665 -11.0833335 -10.9166665 284 0 2670 --58.4166665 -58.2499995 -11.0833335 -10.9166665 251 0 2670 --58.2500005 -58.0833335 -11.0833335 -10.9166665 245 0 2670 --58.0833335 -57.9166665 -11.0833335 -10.9166665 289 0 2670 --57.9166665 -57.7499995 -11.0833335 -10.9166665 243 0 2670 --57.7500005 -57.5833335 -11.0833335 -10.9166665 264 0 2670 --57.5833335 -57.4166665 -11.0833335 -10.9166665 294 0 2670 --57.4166665 -57.2499995 -11.0833335 -10.9166665 255 0 2670 --57.2500005 -57.0833335 -11.0833335 -10.9166665 312 0 2670 --57.0833335 -56.9166665 -11.0833335 -10.9166665 316 0 2670 --56.9166665 -56.7499995 -11.0833335 -10.9166665 340 0 2670 --56.7500005 -56.5833335 -11.0833335 -10.9166665 431 0 2670 --56.5833335 -56.4166665 -11.0833335 -10.9166665 304 0 2670 --56.4166665 -56.2499995 -11.0833335 -10.9166665 332 0 2670 --56.2500005 -56.0833335 -11.0833335 -10.9166665 299 0 2670 --56.0833335 -55.9166665 -11.0833335 -10.9166665 306 0 2670 --55.9166665 -55.7499995 -11.0833335 -10.9166665 280 0 2670 --55.7500005 -55.5833335 -11.0833335 -10.9166665 291 0 2670 --55.5833335 -55.4166665 -11.0833335 -10.9166665 290 0 2670 --55.4166665 -55.2499995 -11.0833335 -10.9166665 322 0 2670 --55.2500005 -55.0833335 -11.0833335 -10.9166665 410 0 2670 --55.0833335 -54.9166665 -11.0833335 -10.9166665 424 0 2670 --54.9166665 -54.7499995 -11.0833335 -10.9166665 401 0 2670 --54.7500005 -54.5833335 -11.0833335 -10.9166665 355 0 2670 --54.5833335 -54.4166665 -11.0833335 -10.9166665 354 0 2670 --54.4166665 -54.2499995 -11.0833335 -10.9166665 317 0 2670 --54.2500005 -54.0833335 -11.0833335 -10.9166665 342 0 2670 --54.0833335 -53.9166665 -11.0833335 -10.9166665 318 0 2670 --53.9166665 -53.7499995 -11.0833335 -10.9166665 307 0 2670 --53.7500005 -53.5833335 -11.0833335 -10.9166665 317 0 2670 --53.5833335 -53.4166665 -11.0833335 -10.9166665 322 0 2670 --53.4166665 -53.2499995 -11.0833335 -10.9166665 276 0 2670 --53.2500005 -53.0833335 -11.0833335 -10.9166665 330 0 2670 --53.0833335 -52.9166665 -11.0833335 -10.9166665 304 0 2670 --52.9166665 -52.7499995 -11.0833335 -10.9166665 308 0 2670 --52.7500005 -52.5833335 -11.0833335 -10.9166665 325 0 2670 --52.5833335 -52.4166665 -11.0833335 -10.9166665 369 0 2670 --52.4166665 -52.2499995 -11.0833335 -10.9166665 310 0 2670 --52.2500005 -52.0833335 -11.0833335 -10.9166665 300 0 2670 --52.0833335 -51.9166665 -11.0833335 -10.9166665 239 0 2670 --51.9166665 -51.7499995 -11.0833335 -10.9166665 223 0 2670 --51.7500005 -51.5833335 -11.0833335 -10.9166665 191 0 2670 --51.5833335 -51.4166665 -11.0833335 -10.9166665 188 0 2670 --51.4166665 -51.2499995 -11.0833335 -10.9166665 187 0 2670 --51.2500005 -51.0833335 -11.0833335 -10.9166665 182 0 2670 --51.0833335 -50.9166665 -11.0833335 -10.9166665 182 0 2670 --50.9166665 -50.7499995 -11.0833335 -10.9166665 183 0 2670 --50.7500005 -50.5833335 -11.0833335 -10.9166665 185 0 2670 --50.5833335 -50.4166665 -11.0833335 -10.9166665 184 0 2670 --50.4166665 -50.2499995 -11.0833335 -10.9166665 190 0 2670 --50.2500005 -50.0833335 -11.0833335 -10.9166665 191 0 2670 --50.0833335 -49.9166665 -11.0833335 -10.9166665 184 0 2670 --49.9166665 -49.7499995 -11.0833335 -10.9166665 188 0 2670 --49.7500005 -49.5833335 -11.0833335 -10.9166665 189 0 2670 --49.5833335 -49.4166665 -11.0833335 -10.9166665 213 0 2670 --49.4166665 -49.2499995 -11.0833335 -10.9166665 219 0 2670 --49.2500005 -49.0833335 -11.0833335 -10.9166665 296 0 2670 --49.0833335 -48.9166665 -11.0833335 -10.9166665 277 0 2670 --48.9166665 -48.7499995 -11.0833335 -10.9166665 252 0 2670 --48.7500005 -48.5833335 -11.0833335 -10.9166665 381 0 2670 --48.5833335 -48.4166665 -11.0833335 -10.9166665 222 0 2670 --48.4166665 -48.2499995 -11.0833335 -10.9166665 296 0 2670 --48.2500005 -48.0833335 -11.0833335 -10.9166665 251 0 2670 --48.0833335 -47.9166665 -11.0833335 -10.9166665 306 0 2670 --47.9166665 -47.7499995 -11.0833335 -10.9166665 641 0 2670 --47.7500005 -47.5833335 -11.0833335 -10.9166665 357 0 2670 --47.5833335 -47.4166665 -11.0833335 -10.9166665 363 0 2670 --47.4166665 -47.2499995 -11.0833335 -10.9166665 364 0 2670 --47.2500005 -47.0833335 -11.0833335 -10.9166665 468 0 2670 --47.0833335 -46.9166665 -11.0833335 -10.9166665 465 0 2670 --46.9166665 -46.7499995 -11.0833335 -10.9166665 560 0 2670 --46.7500005 -46.5833335 -11.0833335 -10.9166665 589 0 2670 --46.5833335 -46.4166665 -11.0833335 -10.9166665 547 0 2670 --46.4166665 -46.2499995 -11.0833335 -10.9166665 807 0 2670 --46.2500005 -46.0833335 -11.0833335 -10.9166665 779 0 2670 --46.0833335 -45.9166665 -11.0833335 -10.9166665 678 0 2670 --45.9166665 -45.7499995 -11.0833335 -10.9166665 763 0 2670 --45.7500005 -45.5833335 -11.0833335 -10.9166665 739 0 2670 --45.5833335 -45.4166665 -11.0833335 -10.9166665 536 0 2670 --45.4166665 -45.2499995 -11.0833335 -10.9166665 689 0 2670 --45.2500005 -45.0833335 -11.0833335 -10.9166665 539 0 2670 --45.0833335 -44.9166665 -11.0833335 -10.9166665 532 0 2670 --44.9166665 -44.7499995 -11.0833335 -10.9166665 500 0 2670 --44.7500005 -44.5833335 -11.0833335 -10.9166665 467 0 2670 --44.5833335 -44.4166665 -11.0833335 -10.9166665 445 0 2670 --44.4166665 -44.2499995 -11.0833335 -10.9166665 454 0 2670 --44.2500005 -44.0833335 -11.0833335 -10.9166665 458 0 2670 --44.0833335 -43.9166665 -11.0833335 -10.9166665 698 0 2670 --43.9166665 -43.7499995 -11.0833335 -10.9166665 532 0 2670 --43.7500005 -43.5833335 -11.0833335 -10.9166665 480 0 2670 --43.5833335 -43.4166665 -11.0833335 -10.9166665 431 0 2670 --43.4166665 -43.2499995 -11.0833335 -10.9166665 419 0 2670 --43.2500005 -43.0833335 -11.0833335 -10.9166665 411 0 2670 --43.0833335 -42.9166665 -11.0833335 -10.9166665 403 0 2670 --42.9166665 -42.7499995 -11.0833335 -10.9166665 438 0 2670 --42.7500005 -42.5833335 -11.0833335 -10.9166665 531 0 2670 --42.5833335 -42.4166665 -11.0833335 -10.9166665 694 0 2670 --42.4166665 -42.2499995 -11.0833335 -10.9166665 445 0 2670 --42.2500005 -42.0833335 -11.0833335 -10.9166665 490 0 2670 --42.0833335 -41.9166665 -11.0833335 -10.9166665 551 0 2670 --41.9166665 -41.7499995 -11.0833335 -10.9166665 618 0 2670 --41.7500005 -41.5833335 -11.0833335 -10.9166665 766 0 2670 --41.5833335 -41.4166665 -11.0833335 -10.9166665 579 0 2670 --41.4166665 -41.2499995 -11.0833335 -10.9166665 792 0 2670 --41.2500005 -41.0833335 -11.0833335 -10.9166665 594 0 2670 --41.0833335 -40.9166665 -11.0833335 -10.9166665 586 0 2670 --40.9166665 -40.7499995 -11.0833335 -10.9166665 688 0 2670 --40.7500005 -40.5833335 -11.0833335 -10.9166665 773 0 2670 --40.5833335 -40.4166665 -11.0833335 -10.9166665 843 0 2670 --40.4166665 -40.2499995 -11.0833335 -10.9166665 460 0 2670 --40.2500005 -40.0833335 -11.0833335 -10.9166665 400 0 2670 --40.0833335 -39.9166665 -11.0833335 -10.9166665 350 0 2670 --65.0833335 -64.9166665 -11.2500005 -11.0833335 138 0 2670 --64.9166665 -64.7499995 -11.2500005 -11.0833335 153 0 2670 --64.7500005 -64.5833335 -11.2500005 -11.0833335 164 0 2670 --64.5833335 -64.4166665 -11.2500005 -11.0833335 183 0 2670 --64.4166665 -64.2499995 -11.2500005 -11.0833335 176 0 2670 --64.2500005 -64.0833335 -11.2500005 -11.0833335 176 0 2670 --64.0833335 -63.9166665 -11.2500005 -11.0833335 199 0 2670 --63.9166665 -63.7499995 -11.2500005 -11.0833335 221 0 2670 --63.7500005 -63.5833335 -11.2500005 -11.0833335 266 0 2670 --63.5833335 -63.4166665 -11.2500005 -11.0833335 253 0 2670 --63.4166665 -63.2499995 -11.2500005 -11.0833335 414 0 2670 --63.2500005 -63.0833335 -11.2500005 -11.0833335 256 0 2670 --63.0833335 -62.9166665 -11.2500005 -11.0833335 264 0 2670 --62.9166665 -62.7499995 -11.2500005 -11.0833335 251 0 2670 --62.7500005 -62.5833335 -11.2500005 -11.0833335 246 0 2670 --62.5833335 -62.4166665 -11.2500005 -11.0833335 244 0 2670 --62.4166665 -62.2499995 -11.2500005 -11.0833335 202 0 2670 --62.2500005 -62.0833335 -11.2500005 -11.0833335 234 0 2670 --62.0833335 -61.9166665 -11.2500005 -11.0833335 193 0 2670 --61.9166665 -61.7499995 -11.2500005 -11.0833335 200 0 2670 --61.7500005 -61.5833335 -11.2500005 -11.0833335 284 0 2670 --61.5833335 -61.4166665 -11.2500005 -11.0833335 270 0 2670 --61.4166665 -61.2499995 -11.2500005 -11.0833335 218 0 2670 --61.2500005 -61.0833335 -11.2500005 -11.0833335 229 0 2670 --61.0833335 -60.9166665 -11.2500005 -11.0833335 292 0 2670 --60.9166665 -60.7499995 -11.2500005 -11.0833335 492 0 2670 --60.7500005 -60.5833335 -11.2500005 -11.0833335 300 0 2670 --60.5833335 -60.4166665 -11.2500005 -11.0833335 241 0 2670 --60.4166665 -60.2499995 -11.2500005 -11.0833335 424 0 2670 --60.2500005 -60.0833335 -11.2500005 -11.0833335 292 0 2670 --60.0833335 -59.9166665 -11.2500005 -11.0833335 280 0 2670 --59.9166665 -59.7499995 -11.2500005 -11.0833335 473 0 2670 --59.7500005 -59.5833335 -11.2500005 -11.0833335 369 0 2670 --59.5833335 -59.4166665 -11.2500005 -11.0833335 306 0 2670 --59.4166665 -59.2499995 -11.2500005 -11.0833335 367 0 2670 --59.2500005 -59.0833335 -11.2500005 -11.0833335 410 0 2670 --59.0833335 -58.9166665 -11.2500005 -11.0833335 346 0 2670 --58.9166665 -58.7499995 -11.2500005 -11.0833335 359 0 2670 --58.7500005 -58.5833335 -11.2500005 -11.0833335 332 0 2670 --58.5833335 -58.4166665 -11.2500005 -11.0833335 332 0 2670 --58.4166665 -58.2499995 -11.2500005 -11.0833335 241 0 2670 --58.2500005 -58.0833335 -11.2500005 -11.0833335 297 0 2670 --58.0833335 -57.9166665 -11.2500005 -11.0833335 288 0 2670 --57.9166665 -57.7499995 -11.2500005 -11.0833335 277 0 2670 --57.7500005 -57.5833335 -11.2500005 -11.0833335 232 0 2670 --57.5833335 -57.4166665 -11.2500005 -11.0833335 291 0 2670 --57.4166665 -57.2499995 -11.2500005 -11.0833335 250 0 2670 --57.2500005 -57.0833335 -11.2500005 -11.0833335 346 0 2670 --57.0833335 -56.9166665 -11.2500005 -11.0833335 325 0 2670 --56.9166665 -56.7499995 -11.2500005 -11.0833335 365 0 2670 --56.7500005 -56.5833335 -11.2500005 -11.0833335 326 0 2670 --56.5833335 -56.4166665 -11.2500005 -11.0833335 417 0 2670 --56.4166665 -56.2499995 -11.2500005 -11.0833335 448 0 2670 --56.2500005 -56.0833335 -11.2500005 -11.0833335 444 0 2670 --56.0833335 -55.9166665 -11.2500005 -11.0833335 409 0 2670 --55.9166665 -55.7499995 -11.2500005 -11.0833335 315 0 2670 --55.7500005 -55.5833335 -11.2500005 -11.0833335 355 0 2670 --55.5833335 -55.4166665 -11.2500005 -11.0833335 342 0 2670 --55.4166665 -55.2499995 -11.2500005 -11.0833335 311 0 2670 --55.2500005 -55.0833335 -11.2500005 -11.0833335 333 0 2670 --55.0833335 -54.9166665 -11.2500005 -11.0833335 355 0 2670 --54.9166665 -54.7499995 -11.2500005 -11.0833335 330 0 2670 --54.7500005 -54.5833335 -11.2500005 -11.0833335 312 0 2670 --54.5833335 -54.4166665 -11.2500005 -11.0833335 309 0 2670 --54.4166665 -54.2499995 -11.2500005 -11.0833335 325 0 2670 --54.2500005 -54.0833335 -11.2500005 -11.0833335 348 0 2670 --54.0833335 -53.9166665 -11.2500005 -11.0833335 351 0 2670 --53.9166665 -53.7499995 -11.2500005 -11.0833335 324 0 2670 --53.7500005 -53.5833335 -11.2500005 -11.0833335 281 0 2670 --53.5833335 -53.4166665 -11.2500005 -11.0833335 323 0 2670 --53.4166665 -53.2499995 -11.2500005 -11.0833335 305 0 2670 --53.2500005 -53.0833335 -11.2500005 -11.0833335 328 0 2670 --53.0833335 -52.9166665 -11.2500005 -11.0833335 300 0 2670 --52.9166665 -52.7499995 -11.2500005 -11.0833335 327 0 2670 --52.7500005 -52.5833335 -11.2500005 -11.0833335 340 0 2670 --52.5833335 -52.4166665 -11.2500005 -11.0833335 359 0 2670 --52.4166665 -52.2499995 -11.2500005 -11.0833335 323 0 2670 --52.2500005 -52.0833335 -11.2500005 -11.0833335 327 0 2670 --52.0833335 -51.9166665 -11.2500005 -11.0833335 239 0 2670 --51.9166665 -51.7499995 -11.2500005 -11.0833335 224 0 2670 --51.7500005 -51.5833335 -11.2500005 -11.0833335 221 0 2670 --51.5833335 -51.4166665 -11.2500005 -11.0833335 193 0 2670 --51.4166665 -51.2499995 -11.2500005 -11.0833335 200 0 2670 --51.2500005 -51.0833335 -11.2500005 -11.0833335 188 0 2670 --51.0833335 -50.9166665 -11.2500005 -11.0833335 188 0 2670 --50.9166665 -50.7499995 -11.2500005 -11.0833335 187 0 2670 --50.7500005 -50.5833335 -11.2500005 -11.0833335 184 0 2670 --50.5833335 -50.4166665 -11.2500005 -11.0833335 185 0 2670 --50.4166665 -50.2499995 -11.2500005 -11.0833335 185 0 2670 --50.2500005 -50.0833335 -11.2500005 -11.0833335 187 0 2670 --50.0833335 -49.9166665 -11.2500005 -11.0833335 185 0 2670 --49.9166665 -49.7499995 -11.2500005 -11.0833335 185 0 2670 --49.7500005 -49.5833335 -11.2500005 -11.0833335 189 0 2670 --49.5833335 -49.4166665 -11.2500005 -11.0833335 196 0 2670 --49.4166665 -49.2499995 -11.2500005 -11.0833335 239 0 2670 --49.2500005 -49.0833335 -11.2500005 -11.0833335 302 0 2670 --49.0833335 -48.9166665 -11.2500005 -11.0833335 261 0 2670 --48.9166665 -48.7499995 -11.2500005 -11.0833335 258 0 2670 --48.7500005 -48.5833335 -11.2500005 -11.0833335 259 0 2670 --48.5833335 -48.4166665 -11.2500005 -11.0833335 226 0 2670 --48.4166665 -48.2499995 -11.2500005 -11.0833335 321 0 2670 --48.2500005 -48.0833335 -11.2500005 -11.0833335 273 0 2670 --48.0833335 -47.9166665 -11.2500005 -11.0833335 278 0 2670 --47.9166665 -47.7499995 -11.2500005 -11.0833335 330 0 2670 --47.7500005 -47.5833335 -11.2500005 -11.0833335 452 0 2670 --47.5833335 -47.4166665 -11.2500005 -11.0833335 510 0 2670 --47.4166665 -47.2499995 -11.2500005 -11.0833335 398 0 2670 --47.2500005 -47.0833335 -11.2500005 -11.0833335 450 0 2670 --47.0833335 -46.9166665 -11.2500005 -11.0833335 494 0 2670 --46.9166665 -46.7499995 -11.2500005 -11.0833335 591 0 2670 --46.7500005 -46.5833335 -11.2500005 -11.0833335 742 0 2670 --46.5833335 -46.4166665 -11.2500005 -11.0833335 851 0 2670 --46.4166665 -46.2499995 -11.2500005 -11.0833335 713 0 2670 --46.2500005 -46.0833335 -11.2500005 -11.0833335 661 0 2670 --46.0833335 -45.9166665 -11.2500005 -11.0833335 729 0 2670 --45.9166665 -45.7499995 -11.2500005 -11.0833335 767 0 2670 --45.7500005 -45.5833335 -11.2500005 -11.0833335 758 0 2670 --45.5833335 -45.4166665 -11.2500005 -11.0833335 545 0 2670 --45.4166665 -45.2499995 -11.2500005 -11.0833335 594 0 2670 --45.2500005 -45.0833335 -11.2500005 -11.0833335 602 0 2670 --45.0833335 -44.9166665 -11.2500005 -11.0833335 584 0 2670 --44.9166665 -44.7499995 -11.2500005 -11.0833335 527 0 2670 --44.7500005 -44.5833335 -11.2500005 -11.0833335 519 0 2670 --44.5833335 -44.4166665 -11.2500005 -11.0833335 499 0 2670 --44.4166665 -44.2499995 -11.2500005 -11.0833335 445 0 2670 --44.2500005 -44.0833335 -11.2500005 -11.0833335 432 0 2670 --44.0833335 -43.9166665 -11.2500005 -11.0833335 430 0 2670 --43.9166665 -43.7499995 -11.2500005 -11.0833335 455 0 2670 --43.7500005 -43.5833335 -11.2500005 -11.0833335 427 0 2670 --43.5833335 -43.4166665 -11.2500005 -11.0833335 413 0 2670 --43.4166665 -43.2499995 -11.2500005 -11.0833335 418 0 2670 --43.2500005 -43.0833335 -11.2500005 -11.0833335 408 0 2670 --43.0833335 -42.9166665 -11.2500005 -11.0833335 412 0 2670 --42.9166665 -42.7499995 -11.2500005 -11.0833335 409 0 2670 --42.7500005 -42.5833335 -11.2500005 -11.0833335 907 0 2670 --42.5833335 -42.4166665 -11.2500005 -11.0833335 773 0 2670 --42.4166665 -42.2499995 -11.2500005 -11.0833335 488 0 2670 --42.2500005 -42.0833335 -11.2500005 -11.0833335 512 0 2670 --42.0833335 -41.9166665 -11.2500005 -11.0833335 760 0 2670 --41.9166665 -41.7499995 -11.2500005 -11.0833335 779 0 2670 --41.7500005 -41.5833335 -11.2500005 -11.0833335 807 0 2670 --41.5833335 -41.4166665 -11.2500005 -11.0833335 766 0 2670 --41.4166665 -41.2499995 -11.2500005 -11.0833335 849 0 2670 --41.2500005 -41.0833335 -11.2500005 -11.0833335 751 0 2670 --41.0833335 -40.9166665 -11.2500005 -11.0833335 705 0 2670 --40.9166665 -40.7499995 -11.2500005 -11.0833335 711 0 2670 --40.7500005 -40.5833335 -11.2500005 -11.0833335 698 0 2670 --40.5833335 -40.4166665 -11.2500005 -11.0833335 707 0 2670 --40.4166665 -40.2499995 -11.2500005 -11.0833335 525 0 2670 --40.2500005 -40.0833335 -11.2500005 -11.0833335 389 0 2670 --40.0833335 -39.9166665 -11.2500005 -11.0833335 345 0 2670 --65.0833335 -64.9166665 -11.4166665 -11.2499995 166 0 2670 --64.9166665 -64.7499995 -11.4166665 -11.2499995 141 0 2670 --64.7500005 -64.5833335 -11.4166665 -11.2499995 167 0 2670 --64.5833335 -64.4166665 -11.4166665 -11.2499995 175 0 2670 --64.4166665 -64.2499995 -11.4166665 -11.2499995 186 0 2670 --64.2500005 -64.0833335 -11.4166665 -11.2499995 196 0 2670 --64.0833335 -63.9166665 -11.4166665 -11.2499995 218 0 2670 --63.9166665 -63.7499995 -11.4166665 -11.2499995 239 0 2670 --63.7500005 -63.5833335 -11.4166665 -11.2499995 325 0 2670 --63.5833335 -63.4166665 -11.4166665 -11.2499995 240 0 2670 --63.4166665 -63.2499995 -11.4166665 -11.2499995 223 0 2670 --63.2500005 -63.0833335 -11.4166665 -11.2499995 248 0 2670 --63.0833335 -62.9166665 -11.4166665 -11.2499995 290 0 2670 --62.9166665 -62.7499995 -11.4166665 -11.2499995 303 0 2670 --62.7500005 -62.5833335 -11.4166665 -11.2499995 259 0 2670 --62.5833335 -62.4166665 -11.4166665 -11.2499995 241 0 2670 --62.4166665 -62.2499995 -11.4166665 -11.2499995 214 0 2670 --62.2500005 -62.0833335 -11.4166665 -11.2499995 187 0 2670 --62.0833335 -61.9166665 -11.4166665 -11.2499995 167 0 2670 --61.9166665 -61.7499995 -11.4166665 -11.2499995 173 0 2670 --61.7500005 -61.5833335 -11.4166665 -11.2499995 259 0 2670 --61.5833335 -61.4166665 -11.4166665 -11.2499995 244 0 2670 --61.4166665 -61.2499995 -11.4166665 -11.2499995 261 0 2670 --61.2500005 -61.0833335 -11.4166665 -11.2499995 260 0 2670 --61.0833335 -60.9166665 -11.4166665 -11.2499995 416 0 2670 --60.9166665 -60.7499995 -11.4166665 -11.2499995 366 0 2670 --60.7500005 -60.5833335 -11.4166665 -11.2499995 375 0 2670 --60.5833335 -60.4166665 -11.4166665 -11.2499995 261 0 2670 --60.4166665 -60.2499995 -11.4166665 -11.2499995 296 0 2670 --60.2500005 -60.0833335 -11.4166665 -11.2499995 345 0 2670 --60.0833335 -59.9166665 -11.4166665 -11.2499995 355 0 2670 --59.9166665 -59.7499995 -11.4166665 -11.2499995 421 0 2670 --59.7500005 -59.5833335 -11.4166665 -11.2499995 423 0 2670 --59.5833335 -59.4166665 -11.4166665 -11.2499995 341 0 2670 --59.4166665 -59.2499995 -11.4166665 -11.2499995 327 0 2670 --59.2500005 -59.0833335 -11.4166665 -11.2499995 355 0 2670 --59.0833335 -58.9166665 -11.4166665 -11.2499995 409 0 2670 --58.9166665 -58.7499995 -11.4166665 -11.2499995 381 0 2670 --58.7500005 -58.5833335 -11.4166665 -11.2499995 364 0 2670 --58.5833335 -58.4166665 -11.4166665 -11.2499995 309 0 2670 --58.4166665 -58.2499995 -11.4166665 -11.2499995 256 0 2670 --58.2500005 -58.0833335 -11.4166665 -11.2499995 300 0 2670 --58.0833335 -57.9166665 -11.4166665 -11.2499995 300 0 2670 --57.9166665 -57.7499995 -11.4166665 -11.2499995 317 0 2670 --57.7500005 -57.5833335 -11.4166665 -11.2499995 281 0 2670 --57.5833335 -57.4166665 -11.4166665 -11.2499995 275 0 2670 --57.4166665 -57.2499995 -11.4166665 -11.2499995 312 0 2670 --57.2500005 -57.0833335 -11.4166665 -11.2499995 313 0 2670 --57.0833335 -56.9166665 -11.4166665 -11.2499995 350 0 2670 --56.9166665 -56.7499995 -11.4166665 -11.2499995 331 0 2670 --56.7500005 -56.5833335 -11.4166665 -11.2499995 361 0 2670 --56.5833335 -56.4166665 -11.4166665 -11.2499995 341 0 2670 --56.4166665 -56.2499995 -11.4166665 -11.2499995 350 0 2670 --56.2500005 -56.0833335 -11.4166665 -11.2499995 395 0 2670 --56.0833335 -55.9166665 -11.4166665 -11.2499995 349 0 2670 --55.9166665 -55.7499995 -11.4166665 -11.2499995 419 0 2670 --55.7500005 -55.5833335 -11.4166665 -11.2499995 339 0 2670 --55.5833335 -55.4166665 -11.4166665 -11.2499995 335 0 2670 --55.4166665 -55.2499995 -11.4166665 -11.2499995 346 0 2670 --55.2500005 -55.0833335 -11.4166665 -11.2499995 322 0 2670 --55.0833335 -54.9166665 -11.4166665 -11.2499995 315 0 2670 --54.9166665 -54.7499995 -11.4166665 -11.2499995 312 0 2670 --54.7500005 -54.5833335 -11.4166665 -11.2499995 331 0 2670 --54.5833335 -54.4166665 -11.4166665 -11.2499995 384 0 2670 --54.4166665 -54.2499995 -11.4166665 -11.2499995 355 0 2670 --54.2500005 -54.0833335 -11.4166665 -11.2499995 305 0 2670 --54.0833335 -53.9166665 -11.4166665 -11.2499995 365 0 2670 --53.9166665 -53.7499995 -11.4166665 -11.2499995 294 0 2670 --53.7500005 -53.5833335 -11.4166665 -11.2499995 332 0 2670 --53.5833335 -53.4166665 -11.4166665 -11.2499995 318 0 2670 --53.4166665 -53.2499995 -11.4166665 -11.2499995 275 0 2670 --53.2500005 -53.0833335 -11.4166665 -11.2499995 275 0 2670 --53.0833335 -52.9166665 -11.4166665 -11.2499995 306 0 2670 --52.9166665 -52.7499995 -11.4166665 -11.2499995 310 0 2670 --52.7500005 -52.5833335 -11.4166665 -11.2499995 328 0 2670 --52.5833335 -52.4166665 -11.4166665 -11.2499995 355 0 2670 --52.4166665 -52.2499995 -11.4166665 -11.2499995 362 0 2670 --52.2500005 -52.0833335 -11.4166665 -11.2499995 338 0 2670 --52.0833335 -51.9166665 -11.4166665 -11.2499995 276 0 2670 --51.9166665 -51.7499995 -11.4166665 -11.2499995 261 0 2670 --51.7500005 -51.5833335 -11.4166665 -11.2499995 239 0 2670 --51.5833335 -51.4166665 -11.4166665 -11.2499995 227 0 2670 --51.4166665 -51.2499995 -11.4166665 -11.2499995 200 0 2670 --51.2500005 -51.0833335 -11.4166665 -11.2499995 197 0 2670 --51.0833335 -50.9166665 -11.4166665 -11.2499995 188 0 2670 --50.9166665 -50.7499995 -11.4166665 -11.2499995 192 0 2670 --50.7500005 -50.5833335 -11.4166665 -11.2499995 188 0 2670 --50.5833335 -50.4166665 -11.4166665 -11.2499995 188 0 2670 --50.4166665 -50.2499995 -11.4166665 -11.2499995 187 0 2670 --50.2500005 -50.0833335 -11.4166665 -11.2499995 190 0 2670 --50.0833335 -49.9166665 -11.4166665 -11.2499995 189 0 2670 --49.9166665 -49.7499995 -11.4166665 -11.2499995 188 0 2670 --49.7500005 -49.5833335 -11.4166665 -11.2499995 191 0 2670 --49.5833335 -49.4166665 -11.4166665 -11.2499995 202 0 2670 --49.4166665 -49.2499995 -11.4166665 -11.2499995 239 0 2670 --49.2500005 -49.0833335 -11.4166665 -11.2499995 220 0 2670 --49.0833335 -48.9166665 -11.4166665 -11.2499995 288 0 2670 --48.9166665 -48.7499995 -11.4166665 -11.2499995 260 0 2670 --48.7500005 -48.5833335 -11.4166665 -11.2499995 308 0 2670 --48.5833335 -48.4166665 -11.4166665 -11.2499995 260 0 2670 --48.4166665 -48.2499995 -11.4166665 -11.2499995 256 0 2670 --48.2500005 -48.0833335 -11.4166665 -11.2499995 274 0 2670 --48.0833335 -47.9166665 -11.4166665 -11.2499995 282 0 2670 --47.9166665 -47.7499995 -11.4166665 -11.2499995 408 0 2670 --47.7500005 -47.5833335 -11.4166665 -11.2499995 467 0 2670 --47.5833335 -47.4166665 -11.4166665 -11.2499995 512 0 2670 --47.4166665 -47.2499995 -11.4166665 -11.2499995 531 0 2670 --47.2500005 -47.0833335 -11.4166665 -11.2499995 420 0 2670 --47.0833335 -46.9166665 -11.4166665 -11.2499995 550 0 2670 --46.9166665 -46.7499995 -11.4166665 -11.2499995 561 0 2670 --46.7500005 -46.5833335 -11.4166665 -11.2499995 723 0 2670 --46.5833335 -46.4166665 -11.4166665 -11.2499995 698 0 2670 --46.4166665 -46.2499995 -11.4166665 -11.2499995 718 0 2670 --46.2500005 -46.0833335 -11.4166665 -11.2499995 820 0 2670 --46.0833335 -45.9166665 -11.4166665 -11.2499995 803 0 2670 --45.9166665 -45.7499995 -11.4166665 -11.2499995 773 0 2670 --45.7500005 -45.5833335 -11.4166665 -11.2499995 768 0 2670 --45.5833335 -45.4166665 -11.4166665 -11.2499995 635 0 2670 --45.4166665 -45.2499995 -11.4166665 -11.2499995 646 0 2670 --45.2500005 -45.0833335 -11.4166665 -11.2499995 642 0 2670 --45.0833335 -44.9166665 -11.4166665 -11.2499995 751 0 2670 --44.9166665 -44.7499995 -11.4166665 -11.2499995 548 0 2670 --44.7500005 -44.5833335 -11.4166665 -11.2499995 490 0 2670 --44.5833335 -44.4166665 -11.4166665 -11.2499995 450 0 2670 --44.4166665 -44.2499995 -11.4166665 -11.2499995 435 0 2670 --44.2500005 -44.0833335 -11.4166665 -11.2499995 432 0 2670 --44.0833335 -43.9166665 -11.4166665 -11.2499995 427 0 2670 --43.9166665 -43.7499995 -11.4166665 -11.2499995 514 0 2670 --43.7500005 -43.5833335 -11.4166665 -11.2499995 520 0 2670 --43.5833335 -43.4166665 -11.4166665 -11.2499995 448 0 2670 --43.4166665 -43.2499995 -11.4166665 -11.2499995 432 0 2670 --43.2500005 -43.0833335 -11.4166665 -11.2499995 409 0 2670 --43.0833335 -42.9166665 -11.4166665 -11.2499995 417 0 2670 --42.9166665 -42.7499995 -11.4166665 -11.2499995 426 0 2670 --42.7500005 -42.5833335 -11.4166665 -11.2499995 980 0 2670 --42.5833335 -42.4166665 -11.4166665 -11.2499995 991 0 2670 --42.4166665 -42.2499995 -11.4166665 -11.2499995 499 0 2670 --42.2500005 -42.0833335 -11.4166665 -11.2499995 955 0 2670 --42.0833335 -41.9166665 -11.4166665 -11.2499995 698 0 2670 --41.9166665 -41.7499995 -11.4166665 -11.2499995 782 0 2670 --41.7500005 -41.5833335 -11.4166665 -11.2499995 818 0 2670 --41.5833335 -41.4166665 -11.4166665 -11.2499995 779 0 2670 --41.4166665 -41.2499995 -11.4166665 -11.2499995 952 0 2670 --41.2500005 -41.0833335 -11.4166665 -11.2499995 982 0 2670 --41.0833335 -40.9166665 -11.4166665 -11.2499995 889 0 2670 --40.9166665 -40.7499995 -11.4166665 -11.2499995 861 0 2670 --40.7500005 -40.5833335 -11.4166665 -11.2499995 523 0 2670 --40.5833335 -40.4166665 -11.4166665 -11.2499995 690 0 2670 --40.4166665 -40.2499995 -11.4166665 -11.2499995 450 0 2670 --40.2500005 -40.0833335 -11.4166665 -11.2499995 396 0 2670 --40.0833335 -39.9166665 -11.4166665 -11.2499995 398 0 2670 --65.0833335 -64.9166665 -11.5833335 -11.4166665 171 0 2670 --64.9166665 -64.7499995 -11.5833335 -11.4166665 159 0 2670 --64.7500005 -64.5833335 -11.5833335 -11.4166665 155 0 2670 --64.5833335 -64.4166665 -11.5833335 -11.4166665 168 0 2670 --64.4166665 -64.2499995 -11.5833335 -11.4166665 171 0 2670 --64.2500005 -64.0833335 -11.5833335 -11.4166665 175 0 2670 --64.0833335 -63.9166665 -11.5833335 -11.4166665 210 0 2670 --63.9166665 -63.7499995 -11.5833335 -11.4166665 202 0 2670 --63.7500005 -63.5833335 -11.5833335 -11.4166665 234 0 2670 --63.5833335 -63.4166665 -11.5833335 -11.4166665 239 0 2670 --63.4166665 -63.2499995 -11.5833335 -11.4166665 288 0 2670 --63.2500005 -63.0833335 -11.5833335 -11.4166665 298 0 2670 --63.0833335 -62.9166665 -11.5833335 -11.4166665 220 0 2670 --62.9166665 -62.7499995 -11.5833335 -11.4166665 288 0 2670 --62.7500005 -62.5833335 -11.5833335 -11.4166665 245 0 2670 --62.5833335 -62.4166665 -11.5833335 -11.4166665 286 0 2670 --62.4166665 -62.2499995 -11.5833335 -11.4166665 215 0 2670 --62.2500005 -62.0833335 -11.5833335 -11.4166665 203 0 2670 --62.0833335 -61.9166665 -11.5833335 -11.4166665 206 0 2670 --61.9166665 -61.7499995 -11.5833335 -11.4166665 182 0 2670 --61.7500005 -61.5833335 -11.5833335 -11.4166665 226 0 2670 --61.5833335 -61.4166665 -11.5833335 -11.4166665 207 0 2670 --61.4166665 -61.2499995 -11.5833335 -11.4166665 180 0 2670 --61.2500005 -61.0833335 -11.5833335 -11.4166665 222 0 2670 --61.0833335 -60.9166665 -11.5833335 -11.4166665 286 0 2670 --60.9166665 -60.7499995 -11.5833335 -11.4166665 237 0 2670 --60.7500005 -60.5833335 -11.5833335 -11.4166665 410 0 2670 --60.5833335 -60.4166665 -11.5833335 -11.4166665 320 0 2670 --60.4166665 -60.2499995 -11.5833335 -11.4166665 362 0 2670 --60.2500005 -60.0833335 -11.5833335 -11.4166665 424 0 2670 --60.0833335 -59.9166665 -11.5833335 -11.4166665 341 0 2670 --59.9166665 -59.7499995 -11.5833335 -11.4166665 342 0 2670 --59.7500005 -59.5833335 -11.5833335 -11.4166665 373 0 2670 --59.5833335 -59.4166665 -11.5833335 -11.4166665 370 0 2670 --59.4166665 -59.2499995 -11.5833335 -11.4166665 364 0 2670 --59.2500005 -59.0833335 -11.5833335 -11.4166665 342 0 2670 --59.0833335 -58.9166665 -11.5833335 -11.4166665 348 0 2670 --58.9166665 -58.7499995 -11.5833335 -11.4166665 335 0 2670 --58.7500005 -58.5833335 -11.5833335 -11.4166665 302 0 2670 --58.5833335 -58.4166665 -11.5833335 -11.4166665 305 0 2670 --58.4166665 -58.2499995 -11.5833335 -11.4166665 245 0 2670 --58.2500005 -58.0833335 -11.5833335 -11.4166665 251 0 2670 --58.0833335 -57.9166665 -11.5833335 -11.4166665 316 0 2670 --57.9166665 -57.7499995 -11.5833335 -11.4166665 299 0 2670 --57.7500005 -57.5833335 -11.5833335 -11.4166665 294 0 2670 --57.5833335 -57.4166665 -11.5833335 -11.4166665 264 0 2670 --57.4166665 -57.2499995 -11.5833335 -11.4166665 285 0 2670 --57.2500005 -57.0833335 -11.5833335 -11.4166665 275 0 2670 --57.0833335 -56.9166665 -11.5833335 -11.4166665 327 0 2670 --56.9166665 -56.7499995 -11.5833335 -11.4166665 340 0 2670 --56.7500005 -56.5833335 -11.5833335 -11.4166665 361 0 2670 --56.5833335 -56.4166665 -11.5833335 -11.4166665 365 0 2670 --56.4166665 -56.2499995 -11.5833335 -11.4166665 340 0 2670 --56.2500005 -56.0833335 -11.5833335 -11.4166665 356 0 2670 --56.0833335 -55.9166665 -11.5833335 -11.4166665 411 0 2670 --55.9166665 -55.7499995 -11.5833335 -11.4166665 413 0 2670 --55.7500005 -55.5833335 -11.5833335 -11.4166665 333 0 2670 --55.5833335 -55.4166665 -11.5833335 -11.4166665 339 0 2670 --55.4166665 -55.2499995 -11.5833335 -11.4166665 355 0 2670 --55.2500005 -55.0833335 -11.5833335 -11.4166665 371 0 2670 --55.0833335 -54.9166665 -11.5833335 -11.4166665 317 0 2670 --54.9166665 -54.7499995 -11.5833335 -11.4166665 328 0 2670 --54.7500005 -54.5833335 -11.5833335 -11.4166665 315 0 2670 --54.5833335 -54.4166665 -11.5833335 -11.4166665 384 0 2670 --54.4166665 -54.2499995 -11.5833335 -11.4166665 335 0 2670 --54.2500005 -54.0833335 -11.5833335 -11.4166665 359 0 2670 --54.0833335 -53.9166665 -11.5833335 -11.4166665 351 0 2670 --53.9166665 -53.7499995 -11.5833335 -11.4166665 312 0 2670 --53.7500005 -53.5833335 -11.5833335 -11.4166665 331 0 2670 --53.5833335 -53.4166665 -11.5833335 -11.4166665 278 0 2670 --53.4166665 -53.2499995 -11.5833335 -11.4166665 312 0 2670 --53.2500005 -53.0833335 -11.5833335 -11.4166665 312 0 2670 --53.0833335 -52.9166665 -11.5833335 -11.4166665 289 0 2670 --52.9166665 -52.7499995 -11.5833335 -11.4166665 317 0 2670 --52.7500005 -52.5833335 -11.5833335 -11.4166665 318 0 2670 --52.5833335 -52.4166665 -11.5833335 -11.4166665 329 0 2670 --52.4166665 -52.2499995 -11.5833335 -11.4166665 325 0 2670 --52.2500005 -52.0833335 -11.5833335 -11.4166665 369 0 2670 --52.0833335 -51.9166665 -11.5833335 -11.4166665 312 0 2670 --51.9166665 -51.7499995 -11.5833335 -11.4166665 295 0 2670 --51.7500005 -51.5833335 -11.5833335 -11.4166665 253 0 2670 --51.5833335 -51.4166665 -11.5833335 -11.4166665 267 0 2670 --51.4166665 -51.2499995 -11.5833335 -11.4166665 230 0 2670 --51.2500005 -51.0833335 -11.5833335 -11.4166665 222 0 2670 --51.0833335 -50.9166665 -11.5833335 -11.4166665 190 0 2670 --50.9166665 -50.7499995 -11.5833335 -11.4166665 191 0 2670 --50.7500005 -50.5833335 -11.5833335 -11.4166665 190 0 2670 --50.5833335 -50.4166665 -11.5833335 -11.4166665 191 0 2670 --50.4166665 -50.2499995 -11.5833335 -11.4166665 189 0 2670 --50.2500005 -50.0833335 -11.5833335 -11.4166665 191 0 2670 --50.0833335 -49.9166665 -11.5833335 -11.4166665 189 0 2670 --49.9166665 -49.7499995 -11.5833335 -11.4166665 190 0 2670 --49.7500005 -49.5833335 -11.5833335 -11.4166665 201 0 2670 --49.5833335 -49.4166665 -11.5833335 -11.4166665 217 0 2670 --49.4166665 -49.2499995 -11.5833335 -11.4166665 278 0 2670 --49.2500005 -49.0833335 -11.5833335 -11.4166665 262 0 2670 --49.0833335 -48.9166665 -11.5833335 -11.4166665 263 0 2670 --48.9166665 -48.7499995 -11.5833335 -11.4166665 287 0 2670 --48.7500005 -48.5833335 -11.5833335 -11.4166665 271 0 2670 --48.5833335 -48.4166665 -11.5833335 -11.4166665 254 0 2670 --48.4166665 -48.2499995 -11.5833335 -11.4166665 260 0 2670 --48.2500005 -48.0833335 -11.5833335 -11.4166665 267 0 2670 --48.0833335 -47.9166665 -11.5833335 -11.4166665 333 0 2670 --47.9166665 -47.7499995 -11.5833335 -11.4166665 339 0 2670 --47.7500005 -47.5833335 -11.5833335 -11.4166665 349 0 2670 --47.5833335 -47.4166665 -11.5833335 -11.4166665 451 0 2670 --47.4166665 -47.2499995 -11.5833335 -11.4166665 353 0 2670 --47.2500005 -47.0833335 -11.5833335 -11.4166665 420 0 2670 --47.0833335 -46.9166665 -11.5833335 -11.4166665 462 0 2670 --46.9166665 -46.7499995 -11.5833335 -11.4166665 546 0 2670 --46.7500005 -46.5833335 -11.5833335 -11.4166665 619 0 2670 --46.5833335 -46.4166665 -11.5833335 -11.4166665 903 0 2670 --46.4166665 -46.2499995 -11.5833335 -11.4166665 867 0 2670 --46.2500005 -46.0833335 -11.5833335 -11.4166665 838 0 2670 --46.0833335 -45.9166665 -11.5833335 -11.4166665 810 0 2670 --45.9166665 -45.7499995 -11.5833335 -11.4166665 788 0 2670 --45.7500005 -45.5833335 -11.5833335 -11.4166665 779 0 2670 --45.5833335 -45.4166665 -11.5833335 -11.4166665 770 0 2670 --45.4166665 -45.2499995 -11.5833335 -11.4166665 758 0 2670 --45.2500005 -45.0833335 -11.5833335 -11.4166665 654 0 2670 --45.0833335 -44.9166665 -11.5833335 -11.4166665 660 0 2670 --44.9166665 -44.7499995 -11.5833335 -11.4166665 474 0 2670 --44.7500005 -44.5833335 -11.5833335 -11.4166665 455 0 2670 --44.5833335 -44.4166665 -11.5833335 -11.4166665 441 0 2670 --44.4166665 -44.2499995 -11.5833335 -11.4166665 428 0 2670 --44.2500005 -44.0833335 -11.5833335 -11.4166665 428 0 2670 --44.0833335 -43.9166665 -11.5833335 -11.4166665 415 0 2670 --43.9166665 -43.7499995 -11.5833335 -11.4166665 438 0 2670 --43.7500005 -43.5833335 -11.5833335 -11.4166665 496 0 2670 --43.5833335 -43.4166665 -11.5833335 -11.4166665 456 0 2670 --43.4166665 -43.2499995 -11.5833335 -11.4166665 415 0 2670 --43.2500005 -43.0833335 -11.5833335 -11.4166665 416 0 2670 --43.0833335 -42.9166665 -11.5833335 -11.4166665 435 0 2670 --42.9166665 -42.7499995 -11.5833335 -11.4166665 512 0 2670 --42.7500005 -42.5833335 -11.5833335 -11.4166665 921 0 2670 --42.5833335 -42.4166665 -11.5833335 -11.4166665 1024 0 2670 --42.4166665 -42.2499995 -11.5833335 -11.4166665 775 0 2670 --42.2500005 -42.0833335 -11.5833335 -11.4166665 968 0 2670 --42.0833335 -41.9166665 -11.5833335 -11.4166665 773 0 2670 --41.9166665 -41.7499995 -11.5833335 -11.4166665 794 0 2670 --41.7500005 -41.5833335 -11.5833335 -11.4166665 789 0 2670 --41.5833335 -41.4166665 -11.5833335 -11.4166665 693 0 2670 --41.4166665 -41.2499995 -11.5833335 -11.4166665 927 0 2670 --41.2500005 -41.0833335 -11.5833335 -11.4166665 1078 0 2670 --41.0833335 -40.9166665 -11.5833335 -11.4166665 837 0 2670 --40.9166665 -40.7499995 -11.5833335 -11.4166665 888 0 2670 --40.7500005 -40.5833335 -11.5833335 -11.4166665 608 0 2670 --40.5833335 -40.4166665 -11.5833335 -11.4166665 589 0 2670 --40.4166665 -40.2499995 -11.5833335 -11.4166665 489 0 2670 --40.2500005 -40.0833335 -11.5833335 -11.4166665 398 0 2670 --40.0833335 -39.9166665 -11.5833335 -11.4166665 351 0 2670 --65.0833335 -64.9166665 -11.7500005 -11.5833335 157 0 2670 --64.9166665 -64.7499995 -11.7500005 -11.5833335 162 0 2670 --64.7500005 -64.5833335 -11.7500005 -11.5833335 161 0 2670 --64.5833335 -64.4166665 -11.7500005 -11.5833335 203 0 2670 --64.4166665 -64.2499995 -11.7500005 -11.5833335 206 0 2670 --64.2500005 -64.0833335 -11.7500005 -11.5833335 206 0 2670 --64.0833335 -63.9166665 -11.7500005 -11.5833335 399 0 2670 --63.9166665 -63.7499995 -11.7500005 -11.5833335 194 0 2670 --63.7500005 -63.5833335 -11.7500005 -11.5833335 203 0 2670 --63.5833335 -63.4166665 -11.7500005 -11.5833335 330 0 2670 --63.4166665 -63.2499995 -11.7500005 -11.5833335 240 0 2670 --63.2500005 -63.0833335 -11.7500005 -11.5833335 205 0 2670 --63.0833335 -62.9166665 -11.7500005 -11.5833335 205 0 2670 --62.9166665 -62.7499995 -11.7500005 -11.5833335 181 0 2670 --62.7500005 -62.5833335 -11.7500005 -11.5833335 208 0 2670 --62.5833335 -62.4166665 -11.7500005 -11.5833335 233 0 2670 --62.4166665 -62.2499995 -11.7500005 -11.5833335 258 0 2670 --62.2500005 -62.0833335 -11.7500005 -11.5833335 240 0 2670 --62.0833335 -61.9166665 -11.7500005 -11.5833335 221 0 2670 --61.9166665 -61.7499995 -11.7500005 -11.5833335 241 0 2670 --61.7500005 -61.5833335 -11.7500005 -11.5833335 234 0 2670 --61.5833335 -61.4166665 -11.7500005 -11.5833335 215 0 2670 --61.4166665 -61.2499995 -11.7500005 -11.5833335 238 0 2670 --61.2500005 -61.0833335 -11.7500005 -11.5833335 181 0 2670 --61.0833335 -60.9166665 -11.7500005 -11.5833335 226 0 2670 --60.9166665 -60.7499995 -11.7500005 -11.5833335 259 0 2670 --60.7500005 -60.5833335 -11.7500005 -11.5833335 359 0 2670 --60.5833335 -60.4166665 -11.7500005 -11.5833335 390 0 2670 --60.4166665 -60.2499995 -11.7500005 -11.5833335 355 0 2670 --60.2500005 -60.0833335 -11.7500005 -11.5833335 339 0 2670 --60.0833335 -59.9166665 -11.7500005 -11.5833335 346 0 2670 --59.9166665 -59.7499995 -11.7500005 -11.5833335 389 0 2670 --59.7500005 -59.5833335 -11.7500005 -11.5833335 349 0 2670 --59.5833335 -59.4166665 -11.7500005 -11.5833335 390 0 2670 --59.4166665 -59.2499995 -11.7500005 -11.5833335 352 0 2670 --59.2500005 -59.0833335 -11.7500005 -11.5833335 356 0 2670 --59.0833335 -58.9166665 -11.7500005 -11.5833335 362 0 2670 --58.9166665 -58.7499995 -11.7500005 -11.5833335 320 0 2670 --58.7500005 -58.5833335 -11.7500005 -11.5833335 326 0 2670 --58.5833335 -58.4166665 -11.7500005 -11.5833335 292 0 2670 --58.4166665 -58.2499995 -11.7500005 -11.5833335 295 0 2670 --58.2500005 -58.0833335 -11.7500005 -11.5833335 269 0 2670 --58.0833335 -57.9166665 -11.7500005 -11.5833335 299 0 2670 --57.9166665 -57.7499995 -11.7500005 -11.5833335 294 0 2670 --57.7500005 -57.5833335 -11.7500005 -11.5833335 314 0 2670 --57.5833335 -57.4166665 -11.7500005 -11.5833335 292 0 2670 --57.4166665 -57.2499995 -11.7500005 -11.5833335 280 0 2670 --57.2500005 -57.0833335 -11.7500005 -11.5833335 287 0 2670 --57.0833335 -56.9166665 -11.7500005 -11.5833335 307 0 2670 --56.9166665 -56.7499995 -11.7500005 -11.5833335 326 0 2670 --56.7500005 -56.5833335 -11.7500005 -11.5833335 368 0 2670 --56.5833335 -56.4166665 -11.7500005 -11.5833335 385 0 2670 --56.4166665 -56.2499995 -11.7500005 -11.5833335 352 0 2670 --56.2500005 -56.0833335 -11.7500005 -11.5833335 376 0 2670 --56.0833335 -55.9166665 -11.7500005 -11.5833335 396 0 2670 --55.9166665 -55.7499995 -11.7500005 -11.5833335 372 0 2670 --55.7500005 -55.5833335 -11.7500005 -11.5833335 351 0 2670 --55.5833335 -55.4166665 -11.7500005 -11.5833335 391 0 2670 --55.4166665 -55.2499995 -11.7500005 -11.5833335 377 0 2670 --55.2500005 -55.0833335 -11.7500005 -11.5833335 376 0 2670 --55.0833335 -54.9166665 -11.7500005 -11.5833335 317 0 2670 --54.9166665 -54.7499995 -11.7500005 -11.5833335 310 0 2670 --54.7500005 -54.5833335 -11.7500005 -11.5833335 332 0 2670 --54.5833335 -54.4166665 -11.7500005 -11.5833335 344 0 2670 --54.4166665 -54.2499995 -11.7500005 -11.5833335 345 0 2670 --54.2500005 -54.0833335 -11.7500005 -11.5833335 300 0 2670 --54.0833335 -53.9166665 -11.7500005 -11.5833335 330 0 2670 --53.9166665 -53.7499995 -11.7500005 -11.5833335 326 0 2670 --53.7500005 -53.5833335 -11.7500005 -11.5833335 320 0 2670 --53.5833335 -53.4166665 -11.7500005 -11.5833335 316 0 2670 --53.4166665 -53.2499995 -11.7500005 -11.5833335 326 0 2670 --53.2500005 -53.0833335 -11.7500005 -11.5833335 278 0 2670 --53.0833335 -52.9166665 -11.7500005 -11.5833335 320 0 2670 --52.9166665 -52.7499995 -11.7500005 -11.5833335 303 0 2670 --52.7500005 -52.5833335 -11.7500005 -11.5833335 281 0 2670 --52.5833335 -52.4166665 -11.7500005 -11.5833335 309 0 2670 --52.4166665 -52.2499995 -11.7500005 -11.5833335 344 0 2670 --52.2500005 -52.0833335 -11.7500005 -11.5833335 351 0 2670 --52.0833335 -51.9166665 -11.7500005 -11.5833335 343 0 2670 --51.9166665 -51.7499995 -11.7500005 -11.5833335 317 0 2670 --51.7500005 -51.5833335 -11.7500005 -11.5833335 321 0 2670 --51.5833335 -51.4166665 -11.7500005 -11.5833335 272 0 2670 --51.4166665 -51.2499995 -11.7500005 -11.5833335 235 0 2670 --51.2500005 -51.0833335 -11.7500005 -11.5833335 213 0 2670 --51.0833335 -50.9166665 -11.7500005 -11.5833335 195 0 2670 --50.9166665 -50.7499995 -11.7500005 -11.5833335 202 0 2670 --50.7500005 -50.5833335 -11.7500005 -11.5833335 191 0 2670 --50.5833335 -50.4166665 -11.7500005 -11.5833335 192 0 2670 --50.4166665 -50.2499995 -11.7500005 -11.5833335 191 0 2670 --50.2500005 -50.0833335 -11.7500005 -11.5833335 193 0 2670 --50.0833335 -49.9166665 -11.7500005 -11.5833335 191 0 2670 --49.9166665 -49.7499995 -11.7500005 -11.5833335 198 0 2670 --49.7500005 -49.5833335 -11.7500005 -11.5833335 194 0 2670 --49.5833335 -49.4166665 -11.7500005 -11.5833335 203 0 2670 --49.4166665 -49.2499995 -11.7500005 -11.5833335 285 0 2670 --49.2500005 -49.0833335 -11.7500005 -11.5833335 341 0 2670 --49.0833335 -48.9166665 -11.7500005 -11.5833335 286 0 2670 --48.9166665 -48.7499995 -11.7500005 -11.5833335 321 0 2670 --48.7500005 -48.5833335 -11.7500005 -11.5833335 238 0 2670 --48.5833335 -48.4166665 -11.7500005 -11.5833335 264 0 2670 --48.4166665 -48.2499995 -11.7500005 -11.5833335 262 0 2670 --48.2500005 -48.0833335 -11.7500005 -11.5833335 252 0 2670 --48.0833335 -47.9166665 -11.7500005 -11.5833335 311 0 2670 --47.9166665 -47.7499995 -11.7500005 -11.5833335 343 0 2670 --47.7500005 -47.5833335 -11.7500005 -11.5833335 426 0 2670 --47.5833335 -47.4166665 -11.7500005 -11.5833335 488 0 2670 --47.4166665 -47.2499995 -11.7500005 -11.5833335 372 0 2670 --47.2500005 -47.0833335 -11.7500005 -11.5833335 394 0 2670 --47.0833335 -46.9166665 -11.7500005 -11.5833335 407 0 2670 --46.9166665 -46.7499995 -11.7500005 -11.5833335 725 0 2670 --46.7500005 -46.5833335 -11.7500005 -11.5833335 592 0 2670 --46.5833335 -46.4166665 -11.7500005 -11.5833335 638 0 2670 --46.4166665 -46.2499995 -11.7500005 -11.5833335 803 0 2670 --46.2500005 -46.0833335 -11.7500005 -11.5833335 838 0 2670 --46.0833335 -45.9166665 -11.7500005 -11.5833335 813 0 2670 --45.9166665 -45.7499995 -11.7500005 -11.5833335 762 0 2670 --45.7500005 -45.5833335 -11.7500005 -11.5833335 779 0 2670 --45.5833335 -45.4166665 -11.7500005 -11.5833335 766 0 2670 --45.4166665 -45.2499995 -11.7500005 -11.5833335 667 0 2670 --45.2500005 -45.0833335 -11.7500005 -11.5833335 759 0 2670 --45.0833335 -44.9166665 -11.7500005 -11.5833335 769 0 2670 --44.9166665 -44.7499995 -11.7500005 -11.5833335 483 0 2670 --44.7500005 -44.5833335 -11.7500005 -11.5833335 444 0 2670 --44.5833335 -44.4166665 -11.7500005 -11.5833335 440 0 2670 --44.4166665 -44.2499995 -11.7500005 -11.5833335 434 0 2670 --44.2500005 -44.0833335 -11.7500005 -11.5833335 420 0 2670 --44.0833335 -43.9166665 -11.7500005 -11.5833335 426 0 2670 --43.9166665 -43.7499995 -11.7500005 -11.5833335 430 0 2670 --43.7500005 -43.5833335 -11.7500005 -11.5833335 539 0 2670 --43.5833335 -43.4166665 -11.7500005 -11.5833335 432 0 2670 --43.4166665 -43.2499995 -11.7500005 -11.5833335 411 0 2670 --43.2500005 -43.0833335 -11.7500005 -11.5833335 483 0 2670 --43.0833335 -42.9166665 -11.7500005 -11.5833335 558 0 2670 --42.9166665 -42.7499995 -11.7500005 -11.5833335 843 0 2670 --42.7500005 -42.5833335 -11.7500005 -11.5833335 856 0 2670 --42.5833335 -42.4166665 -11.7500005 -11.5833335 1323 0 2670 --42.4166665 -42.2499995 -11.7500005 -11.5833335 640 0 2670 --42.2500005 -42.0833335 -11.7500005 -11.5833335 738 0 2670 --42.0833335 -41.9166665 -11.7500005 -11.5833335 749 0 2670 --41.9166665 -41.7499995 -11.7500005 -11.5833335 742 0 2670 --41.7500005 -41.5833335 -11.7500005 -11.5833335 702 0 2670 --41.5833335 -41.4166665 -11.7500005 -11.5833335 760 0 2670 --41.4166665 -41.2499995 -11.7500005 -11.5833335 974 0 2670 --41.2500005 -41.0833335 -11.7500005 -11.5833335 961 0 2670 --41.0833335 -40.9166665 -11.7500005 -11.5833335 854 0 2670 --40.9166665 -40.7499995 -11.7500005 -11.5833335 712 0 2670 --40.7500005 -40.5833335 -11.7500005 -11.5833335 610 0 2670 --40.5833335 -40.4166665 -11.7500005 -11.5833335 554 0 2670 --40.4166665 -40.2499995 -11.7500005 -11.5833335 444 0 2670 --40.2500005 -40.0833335 -11.7500005 -11.5833335 467 0 2670 --40.0833335 -39.9166665 -11.7500005 -11.5833335 415 0 2670 --65.0833335 -64.9166665 -11.9166665 -11.7499995 163 0 2670 --64.9166665 -64.7499995 -11.9166665 -11.7499995 166 0 2670 --64.7500005 -64.5833335 -11.9166665 -11.7499995 169 0 2670 --64.5833335 -64.4166665 -11.9166665 -11.7499995 171 0 2670 --64.4166665 -64.2499995 -11.9166665 -11.7499995 201 0 2670 --64.2500005 -64.0833335 -11.9166665 -11.7499995 180 0 2670 --64.0833335 -63.9166665 -11.9166665 -11.7499995 217 0 2670 --63.9166665 -63.7499995 -11.9166665 -11.7499995 219 0 2670 --63.7500005 -63.5833335 -11.9166665 -11.7499995 238 0 2670 --63.5833335 -63.4166665 -11.9166665 -11.7499995 205 0 2670 --63.4166665 -63.2499995 -11.9166665 -11.7499995 193 0 2670 --63.2500005 -63.0833335 -11.9166665 -11.7499995 192 0 2670 --63.0833335 -62.9166665 -11.9166665 -11.7499995 183 0 2670 --62.9166665 -62.7499995 -11.9166665 -11.7499995 179 0 2670 --62.7500005 -62.5833335 -11.9166665 -11.7499995 204 0 2670 --62.5833335 -62.4166665 -11.9166665 -11.7499995 202 0 2670 --62.4166665 -62.2499995 -11.9166665 -11.7499995 277 0 2670 --62.2500005 -62.0833335 -11.9166665 -11.7499995 313 0 2670 --62.0833335 -61.9166665 -11.9166665 -11.7499995 283 0 2670 --61.9166665 -61.7499995 -11.9166665 -11.7499995 280 0 2670 --61.7500005 -61.5833335 -11.9166665 -11.7499995 240 0 2670 --61.5833335 -61.4166665 -11.9166665 -11.7499995 216 0 2670 --61.4166665 -61.2499995 -11.9166665 -11.7499995 231 0 2670 --61.2500005 -61.0833335 -11.9166665 -11.7499995 201 0 2670 --61.0833335 -60.9166665 -11.9166665 -11.7499995 209 0 2670 --60.9166665 -60.7499995 -11.9166665 -11.7499995 227 0 2670 --60.7500005 -60.5833335 -11.9166665 -11.7499995 328 0 2670 --60.5833335 -60.4166665 -11.9166665 -11.7499995 341 0 2670 --60.4166665 -60.2499995 -11.9166665 -11.7499995 371 0 2670 --60.2500005 -60.0833335 -11.9166665 -11.7499995 427 0 2670 --60.0833335 -59.9166665 -11.9166665 -11.7499995 423 0 2670 --59.9166665 -59.7499995 -11.9166665 -11.7499995 390 0 2670 --59.7500005 -59.5833335 -11.9166665 -11.7499995 334 0 2670 --59.5833335 -59.4166665 -11.9166665 -11.7499995 361 0 2670 --59.4166665 -59.2499995 -11.9166665 -11.7499995 388 0 2670 --59.2500005 -59.0833335 -11.9166665 -11.7499995 407 0 2670 --59.0833335 -58.9166665 -11.9166665 -11.7499995 425 0 2670 --58.9166665 -58.7499995 -11.9166665 -11.7499995 410 0 2670 --58.7500005 -58.5833335 -11.9166665 -11.7499995 289 0 2670 --58.5833335 -58.4166665 -11.9166665 -11.7499995 338 0 2670 --58.4166665 -58.2499995 -11.9166665 -11.7499995 276 0 2670 --58.2500005 -58.0833335 -11.9166665 -11.7499995 290 0 2670 --58.0833335 -57.9166665 -11.9166665 -11.7499995 285 0 2670 --57.9166665 -57.7499995 -11.9166665 -11.7499995 310 0 2670 --57.7500005 -57.5833335 -11.9166665 -11.7499995 337 0 2670 --57.5833335 -57.4166665 -11.9166665 -11.7499995 313 0 2670 --57.4166665 -57.2499995 -11.9166665 -11.7499995 290 0 2670 --57.2500005 -57.0833335 -11.9166665 -11.7499995 298 0 2670 --57.0833335 -56.9166665 -11.9166665 -11.7499995 315 0 2670 --56.9166665 -56.7499995 -11.9166665 -11.7499995 331 0 2670 --56.7500005 -56.5833335 -11.9166665 -11.7499995 333 0 2670 --56.5833335 -56.4166665 -11.9166665 -11.7499995 362 0 2670 --56.4166665 -56.2499995 -11.9166665 -11.7499995 372 0 2670 --56.2500005 -56.0833335 -11.9166665 -11.7499995 384 0 2670 --56.0833335 -55.9166665 -11.9166665 -11.7499995 373 0 2670 --55.9166665 -55.7499995 -11.9166665 -11.7499995 330 0 2670 --55.7500005 -55.5833335 -11.9166665 -11.7499995 323 0 2670 --55.5833335 -55.4166665 -11.9166665 -11.7499995 373 0 2670 --55.4166665 -55.2499995 -11.9166665 -11.7499995 353 0 2670 --55.2500005 -55.0833335 -11.9166665 -11.7499995 343 0 2670 --55.0833335 -54.9166665 -11.9166665 -11.7499995 354 0 2670 --54.9166665 -54.7499995 -11.9166665 -11.7499995 373 0 2670 --54.7500005 -54.5833335 -11.9166665 -11.7499995 376 0 2670 --54.5833335 -54.4166665 -11.9166665 -11.7499995 381 0 2670 --54.4166665 -54.2499995 -11.9166665 -11.7499995 339 0 2670 --54.2500005 -54.0833335 -11.9166665 -11.7499995 339 0 2670 --54.0833335 -53.9166665 -11.9166665 -11.7499995 349 0 2670 --53.9166665 -53.7499995 -11.9166665 -11.7499995 345 0 2670 --53.7500005 -53.5833335 -11.9166665 -11.7499995 316 0 2670 --53.5833335 -53.4166665 -11.9166665 -11.7499995 311 0 2670 --53.4166665 -53.2499995 -11.9166665 -11.7499995 329 0 2670 --53.2500005 -53.0833335 -11.9166665 -11.7499995 303 0 2670 --53.0833335 -52.9166665 -11.9166665 -11.7499995 325 0 2670 --52.9166665 -52.7499995 -11.9166665 -11.7499995 317 0 2670 --52.7500005 -52.5833335 -11.9166665 -11.7499995 326 0 2670 --52.5833335 -52.4166665 -11.9166665 -11.7499995 308 0 2670 --52.4166665 -52.2499995 -11.9166665 -11.7499995 345 0 2670 --52.2500005 -52.0833335 -11.9166665 -11.7499995 318 0 2670 --52.0833335 -51.9166665 -11.9166665 -11.7499995 375 0 2670 --51.9166665 -51.7499995 -11.9166665 -11.7499995 389 0 2670 --51.7500005 -51.5833335 -11.9166665 -11.7499995 319 0 2670 --51.5833335 -51.4166665 -11.9166665 -11.7499995 360 0 2670 --51.4166665 -51.2499995 -11.9166665 -11.7499995 246 0 2670 --51.2500005 -51.0833335 -11.9166665 -11.7499995 209 0 2670 --51.0833335 -50.9166665 -11.9166665 -11.7499995 195 0 2670 --50.9166665 -50.7499995 -11.9166665 -11.7499995 196 0 2670 --50.7500005 -50.5833335 -11.9166665 -11.7499995 195 0 2670 --50.5833335 -50.4166665 -11.9166665 -11.7499995 195 0 2670 --50.4166665 -50.2499995 -11.9166665 -11.7499995 194 0 2670 --50.2500005 -50.0833335 -11.9166665 -11.7499995 195 0 2670 --50.0833335 -49.9166665 -11.9166665 -11.7499995 194 0 2670 --49.9166665 -49.7499995 -11.9166665 -11.7499995 190 0 2670 --49.7500005 -49.5833335 -11.9166665 -11.7499995 192 0 2670 --49.5833335 -49.4166665 -11.9166665 -11.7499995 238 0 2670 --49.4166665 -49.2499995 -11.9166665 -11.7499995 233 0 2670 --49.2500005 -49.0833335 -11.9166665 -11.7499995 286 0 2670 --49.0833335 -48.9166665 -11.9166665 -11.7499995 255 0 2670 --48.9166665 -48.7499995 -11.9166665 -11.7499995 245 0 2670 --48.7500005 -48.5833335 -11.9166665 -11.7499995 244 0 2670 --48.5833335 -48.4166665 -11.9166665 -11.7499995 277 0 2670 --48.4166665 -48.2499995 -11.9166665 -11.7499995 274 0 2670 --48.2500005 -48.0833335 -11.9166665 -11.7499995 311 0 2670 --48.0833335 -47.9166665 -11.9166665 -11.7499995 303 0 2670 --47.9166665 -47.7499995 -11.9166665 -11.7499995 310 0 2670 --47.7500005 -47.5833335 -11.9166665 -11.7499995 302 0 2670 --47.5833335 -47.4166665 -11.9166665 -11.7499995 312 0 2670 --47.4166665 -47.2499995 -11.9166665 -11.7499995 353 0 2670 --47.2500005 -47.0833335 -11.9166665 -11.7499995 343 0 2670 --47.0833335 -46.9166665 -11.9166665 -11.7499995 384 0 2670 --46.9166665 -46.7499995 -11.9166665 -11.7499995 461 0 2670 --46.7500005 -46.5833335 -11.9166665 -11.7499995 639 0 2670 --46.5833335 -46.4166665 -11.9166665 -11.7499995 609 0 2670 --46.4166665 -46.2499995 -11.9166665 -11.7499995 864 0 2670 --46.2500005 -46.0833335 -11.9166665 -11.7499995 821 0 2670 --46.0833335 -45.9166665 -11.9166665 -11.7499995 781 0 2670 --45.9166665 -45.7499995 -11.9166665 -11.7499995 781 0 2670 --45.7500005 -45.5833335 -11.9166665 -11.7499995 766 0 2670 --45.5833335 -45.4166665 -11.9166665 -11.7499995 752 0 2670 --45.4166665 -45.2499995 -11.9166665 -11.7499995 609 0 2670 --45.2500005 -45.0833335 -11.9166665 -11.7499995 481 0 2670 --45.0833335 -44.9166665 -11.9166665 -11.7499995 673 0 2670 --44.9166665 -44.7499995 -11.9166665 -11.7499995 493 0 2670 --44.7500005 -44.5833335 -11.9166665 -11.7499995 448 0 2670 --44.5833335 -44.4166665 -11.9166665 -11.7499995 438 0 2670 --44.4166665 -44.2499995 -11.9166665 -11.7499995 430 0 2670 --44.2500005 -44.0833335 -11.9166665 -11.7499995 434 0 2670 --44.0833335 -43.9166665 -11.9166665 -11.7499995 446 0 2670 --43.9166665 -43.7499995 -11.9166665 -11.7499995 448 0 2670 --43.7500005 -43.5833335 -11.9166665 -11.7499995 677 0 2670 --43.5833335 -43.4166665 -11.9166665 -11.7499995 448 0 2670 --43.4166665 -43.2499995 -11.9166665 -11.7499995 413 0 2670 --43.2500005 -43.0833335 -11.9166665 -11.7499995 426 0 2670 --43.0833335 -42.9166665 -11.9166665 -11.7499995 434 0 2670 --42.9166665 -42.7499995 -11.9166665 -11.7499995 593 0 2670 --42.7500005 -42.5833335 -11.9166665 -11.7499995 732 0 2670 --42.5833335 -42.4166665 -11.9166665 -11.7499995 988 0 2670 --42.4166665 -42.2499995 -11.9166665 -11.7499995 1078 0 2670 --42.2500005 -42.0833335 -11.9166665 -11.7499995 878 0 2670 --42.0833335 -41.9166665 -11.9166665 -11.7499995 795 0 2670 --41.9166665 -41.7499995 -11.9166665 -11.7499995 786 0 2670 --41.7500005 -41.5833335 -11.9166665 -11.7499995 812 0 2670 --41.5833335 -41.4166665 -11.9166665 -11.7499995 791 0 2670 --41.4166665 -41.2499995 -11.9166665 -11.7499995 946 0 2670 --41.2500005 -41.0833335 -11.9166665 -11.7499995 946 0 2670 --41.0833335 -40.9166665 -11.9166665 -11.7499995 784 0 2670 --40.9166665 -40.7499995 -11.9166665 -11.7499995 805 0 2670 --40.7500005 -40.5833335 -11.9166665 -11.7499995 606 0 2670 --40.5833335 -40.4166665 -11.9166665 -11.7499995 665 0 2670 --40.4166665 -40.2499995 -11.9166665 -11.7499995 465 0 2670 --40.2500005 -40.0833335 -11.9166665 -11.7499995 425 0 2670 --40.0833335 -39.9166665 -11.9166665 -11.7499995 338 0 2670 --65.0833335 -64.9166665 -12.0833335 -11.9166665 132 0 2670 --64.9166665 -64.7499995 -12.0833335 -11.9166665 160 0 2670 --64.7500005 -64.5833335 -12.0833335 -11.9166665 167 0 2670 --64.5833335 -64.4166665 -12.0833335 -11.9166665 174 0 2670 --64.4166665 -64.2499995 -12.0833335 -11.9166665 168 0 2670 --64.2500005 -64.0833335 -12.0833335 -11.9166665 186 0 2670 --64.0833335 -63.9166665 -12.0833335 -11.9166665 181 0 2670 --63.9166665 -63.7499995 -12.0833335 -11.9166665 168 0 2670 --63.7500005 -63.5833335 -12.0833335 -11.9166665 198 0 2670 --63.5833335 -63.4166665 -12.0833335 -11.9166665 182 0 2670 --63.4166665 -63.2499995 -12.0833335 -11.9166665 210 0 2670 --63.2500005 -63.0833335 -12.0833335 -11.9166665 176 0 2670 --63.0833335 -62.9166665 -12.0833335 -11.9166665 165 0 2670 --62.9166665 -62.7499995 -12.0833335 -11.9166665 174 0 2670 --62.7500005 -62.5833335 -12.0833335 -11.9166665 334 0 2670 --62.5833335 -62.4166665 -12.0833335 -11.9166665 175 0 2670 --62.4166665 -62.2499995 -12.0833335 -11.9166665 327 0 2670 --62.2500005 -62.0833335 -12.0833335 -11.9166665 403 0 2670 --62.0833335 -61.9166665 -12.0833335 -11.9166665 398 0 2670 --61.9166665 -61.7499995 -12.0833335 -11.9166665 381 0 2670 --61.7500005 -61.5833335 -12.0833335 -11.9166665 337 0 2670 --61.5833335 -61.4166665 -12.0833335 -11.9166665 262 0 2670 --61.4166665 -61.2499995 -12.0833335 -11.9166665 213 0 2670 --61.2500005 -61.0833335 -12.0833335 -11.9166665 216 0 2670 --61.0833335 -60.9166665 -12.0833335 -11.9166665 283 0 2670 --60.9166665 -60.7499995 -12.0833335 -11.9166665 308 0 2670 --60.7500005 -60.5833335 -12.0833335 -11.9166665 275 0 2670 --60.5833335 -60.4166665 -12.0833335 -11.9166665 351 0 2670 --60.4166665 -60.2499995 -12.0833335 -11.9166665 370 0 2670 --60.2500005 -60.0833335 -12.0833335 -11.9166665 435 0 2670 --60.0833335 -59.9166665 -12.0833335 -11.9166665 395 0 2670 --59.9166665 -59.7499995 -12.0833335 -11.9166665 447 0 2670 --59.7500005 -59.5833335 -12.0833335 -11.9166665 427 0 2670 --59.5833335 -59.4166665 -12.0833335 -11.9166665 394 0 2670 --59.4166665 -59.2499995 -12.0833335 -11.9166665 469 0 2670 --59.2500005 -59.0833335 -12.0833335 -11.9166665 354 0 2670 --59.0833335 -58.9166665 -12.0833335 -11.9166665 354 0 2670 --58.9166665 -58.7499995 -12.0833335 -11.9166665 302 0 2670 --58.7500005 -58.5833335 -12.0833335 -11.9166665 284 0 2670 --58.5833335 -58.4166665 -12.0833335 -11.9166665 305 0 2670 --58.4166665 -58.2499995 -12.0833335 -11.9166665 325 0 2670 --58.2500005 -58.0833335 -12.0833335 -11.9166665 298 0 2670 --58.0833335 -57.9166665 -12.0833335 -11.9166665 273 0 2670 --57.9166665 -57.7499995 -12.0833335 -11.9166665 293 0 2670 --57.7500005 -57.5833335 -12.0833335 -11.9166665 332 0 2670 --57.5833335 -57.4166665 -12.0833335 -11.9166665 361 0 2670 --57.4166665 -57.2499995 -12.0833335 -11.9166665 326 0 2670 --57.2500005 -57.0833335 -12.0833335 -11.9166665 281 0 2670 --57.0833335 -56.9166665 -12.0833335 -11.9166665 318 0 2670 --56.9166665 -56.7499995 -12.0833335 -11.9166665 350 0 2670 --56.7500005 -56.5833335 -12.0833335 -11.9166665 344 0 2670 --56.5833335 -56.4166665 -12.0833335 -11.9166665 348 0 2670 --56.4166665 -56.2499995 -12.0833335 -11.9166665 378 0 2670 --56.2500005 -56.0833335 -12.0833335 -11.9166665 390 0 2670 --56.0833335 -55.9166665 -12.0833335 -11.9166665 351 0 2670 --55.9166665 -55.7499995 -12.0833335 -11.9166665 376 0 2670 --55.7500005 -55.5833335 -12.0833335 -11.9166665 360 0 2670 --55.5833335 -55.4166665 -12.0833335 -11.9166665 362 0 2670 --55.4166665 -55.2499995 -12.0833335 -11.9166665 357 0 2670 --55.2500005 -55.0833335 -12.0833335 -11.9166665 377 0 2670 --55.0833335 -54.9166665 -12.0833335 -11.9166665 313 0 2670 --54.9166665 -54.7499995 -12.0833335 -11.9166665 389 0 2670 --54.7500005 -54.5833335 -12.0833335 -11.9166665 371 0 2670 --54.5833335 -54.4166665 -12.0833335 -11.9166665 310 0 2670 --54.4166665 -54.2499995 -12.0833335 -11.9166665 351 0 2670 --54.2500005 -54.0833335 -12.0833335 -11.9166665 360 0 2670 --54.0833335 -53.9166665 -12.0833335 -11.9166665 324 0 2670 --53.9166665 -53.7499995 -12.0833335 -11.9166665 317 0 2670 --53.7500005 -53.5833335 -12.0833335 -11.9166665 290 0 2670 --53.5833335 -53.4166665 -12.0833335 -11.9166665 295 0 2670 --53.4166665 -53.2499995 -12.0833335 -11.9166665 318 0 2670 --53.2500005 -53.0833335 -12.0833335 -11.9166665 324 0 2670 --53.0833335 -52.9166665 -12.0833335 -11.9166665 327 0 2670 --52.9166665 -52.7499995 -12.0833335 -11.9166665 323 0 2670 --52.7500005 -52.5833335 -12.0833335 -11.9166665 318 0 2670 --52.5833335 -52.4166665 -12.0833335 -11.9166665 341 0 2670 --52.4166665 -52.2499995 -12.0833335 -11.9166665 301 0 2670 --52.2500005 -52.0833335 -12.0833335 -11.9166665 339 0 2670 --52.0833335 -51.9166665 -12.0833335 -11.9166665 333 0 2670 --51.9166665 -51.7499995 -12.0833335 -11.9166665 373 0 2670 --51.7500005 -51.5833335 -12.0833335 -11.9166665 298 0 2670 --51.5833335 -51.4166665 -12.0833335 -11.9166665 322 0 2670 --51.4166665 -51.2499995 -12.0833335 -11.9166665 270 0 2670 --51.2500005 -51.0833335 -12.0833335 -11.9166665 227 0 2670 --51.0833335 -50.9166665 -12.0833335 -11.9166665 200 0 2670 --50.9166665 -50.7499995 -12.0833335 -11.9166665 197 0 2670 --50.7500005 -50.5833335 -12.0833335 -11.9166665 198 0 2670 --50.5833335 -50.4166665 -12.0833335 -11.9166665 196 0 2670 --50.4166665 -50.2499995 -12.0833335 -11.9166665 195 0 2670 --50.2500005 -50.0833335 -12.0833335 -11.9166665 196 0 2670 --50.0833335 -49.9166665 -12.0833335 -11.9166665 197 0 2670 --49.9166665 -49.7499995 -12.0833335 -11.9166665 195 0 2670 --49.7500005 -49.5833335 -12.0833335 -11.9166665 196 0 2670 --49.5833335 -49.4166665 -12.0833335 -11.9166665 245 0 2670 --49.4166665 -49.2499995 -12.0833335 -11.9166665 282 0 2670 --49.2500005 -49.0833335 -12.0833335 -11.9166665 274 0 2670 --49.0833335 -48.9166665 -12.0833335 -11.9166665 264 0 2670 --48.9166665 -48.7499995 -12.0833335 -11.9166665 271 0 2670 --48.7500005 -48.5833335 -12.0833335 -11.9166665 241 0 2670 --48.5833335 -48.4166665 -12.0833335 -11.9166665 245 0 2670 --48.4166665 -48.2499995 -12.0833335 -11.9166665 326 0 2670 --48.2500005 -48.0833335 -12.0833335 -11.9166665 329 0 2670 --48.0833335 -47.9166665 -12.0833335 -11.9166665 386 0 2670 --47.9166665 -47.7499995 -12.0833335 -11.9166665 520 0 2670 --47.7500005 -47.5833335 -12.0833335 -11.9166665 342 0 2670 --47.5833335 -47.4166665 -12.0833335 -11.9166665 329 0 2670 --47.4166665 -47.2499995 -12.0833335 -11.9166665 322 0 2670 --47.2500005 -47.0833335 -12.0833335 -11.9166665 352 0 2670 --47.0833335 -46.9166665 -12.0833335 -11.9166665 375 0 2670 --46.9166665 -46.7499995 -12.0833335 -11.9166665 436 0 2670 --46.7500005 -46.5833335 -12.0833335 -11.9166665 393 0 2670 --46.5833335 -46.4166665 -12.0833335 -11.9166665 470 0 2670 --46.4166665 -46.2499995 -12.0833335 -11.9166665 846 0 2670 --46.2500005 -46.0833335 -12.0833335 -11.9166665 846 0 2670 --46.0833335 -45.9166665 -12.0833335 -11.9166665 807 0 2670 --45.9166665 -45.7499995 -12.0833335 -11.9166665 772 0 2670 --45.7500005 -45.5833335 -12.0833335 -11.9166665 766 0 2670 --45.5833335 -45.4166665 -12.0833335 -11.9166665 748 0 2670 --45.4166665 -45.2499995 -12.0833335 -11.9166665 739 0 2670 --45.2500005 -45.0833335 -12.0833335 -11.9166665 742 0 2670 --45.0833335 -44.9166665 -12.0833335 -11.9166665 457 0 2670 --44.9166665 -44.7499995 -12.0833335 -11.9166665 458 0 2670 --44.7500005 -44.5833335 -12.0833335 -11.9166665 470 0 2670 --44.5833335 -44.4166665 -12.0833335 -11.9166665 475 0 2670 --44.4166665 -44.2499995 -12.0833335 -11.9166665 482 0 2670 --44.2500005 -44.0833335 -12.0833335 -11.9166665 483 0 2670 --44.0833335 -43.9166665 -12.0833335 -11.9166665 716 0 2670 --43.9166665 -43.7499995 -12.0833335 -11.9166665 502 0 2670 --43.7500005 -43.5833335 -12.0833335 -11.9166665 469 0 2670 --43.5833335 -43.4166665 -12.0833335 -11.9166665 620 0 2670 --43.4166665 -43.2499995 -12.0833335 -11.9166665 415 0 2670 --43.2500005 -43.0833335 -12.0833335 -11.9166665 548 0 2670 --43.0833335 -42.9166665 -12.0833335 -11.9166665 445 0 2670 --42.9166665 -42.7499995 -12.0833335 -11.9166665 467 0 2670 --42.7500005 -42.5833335 -12.0833335 -11.9166665 913 0 2670 --42.5833335 -42.4166665 -12.0833335 -11.9166665 872 0 2670 --42.4166665 -42.2499995 -12.0833335 -11.9166665 1082 0 2670 --42.2500005 -42.0833335 -12.0833335 -11.9166665 1175 0 2670 --42.0833335 -41.9166665 -12.0833335 -11.9166665 833 0 2670 --41.9166665 -41.7499995 -12.0833335 -11.9166665 806 0 2670 --41.7500005 -41.5833335 -12.0833335 -11.9166665 843 0 2670 --41.5833335 -41.4166665 -12.0833335 -11.9166665 1030 0 2670 --41.4166665 -41.2499995 -12.0833335 -11.9166665 950 0 2670 --41.2500005 -41.0833335 -12.0833335 -11.9166665 810 0 2670 --41.0833335 -40.9166665 -12.0833335 -11.9166665 640 0 2670 --40.9166665 -40.7499995 -12.0833335 -11.9166665 710 0 2670 --40.7500005 -40.5833335 -12.0833335 -11.9166665 540 0 2670 --40.5833335 -40.4166665 -12.0833335 -11.9166665 459 0 2670 --40.4166665 -40.2499995 -12.0833335 -11.9166665 372 0 2670 --40.2500005 -40.0833335 -12.0833335 -11.9166665 341 0 2670 --40.0833335 -39.9166665 -12.0833335 -11.9166665 307 0 2670 --65.0833335 -64.9166665 -12.2500005 -12.0833335 145 0 2670 --64.9166665 -64.7499995 -12.2500005 -12.0833335 157 0 2670 --64.7500005 -64.5833335 -12.2500005 -12.0833335 132 0 2670 --64.5833335 -64.4166665 -12.2500005 -12.0833335 149 0 2670 --64.4166665 -64.2499995 -12.2500005 -12.0833335 165 0 2670 --64.2500005 -64.0833335 -12.2500005 -12.0833335 163 0 2670 --64.0833335 -63.9166665 -12.2500005 -12.0833335 172 0 2670 --63.9166665 -63.7499995 -12.2500005 -12.0833335 226 0 2670 --63.7500005 -63.5833335 -12.2500005 -12.0833335 189 0 2670 --63.5833335 -63.4166665 -12.2500005 -12.0833335 163 0 2670 --63.4166665 -63.2499995 -12.2500005 -12.0833335 162 0 2670 --63.2500005 -63.0833335 -12.2500005 -12.0833335 166 0 2670 --63.0833335 -62.9166665 -12.2500005 -12.0833335 175 0 2670 --62.9166665 -62.7499995 -12.2500005 -12.0833335 185 0 2670 --62.7500005 -62.5833335 -12.2500005 -12.0833335 193 0 2670 --62.5833335 -62.4166665 -12.2500005 -12.0833335 189 0 2670 --62.4166665 -62.2499995 -12.2500005 -12.0833335 436 0 2670 --62.2500005 -62.0833335 -12.2500005 -12.0833335 450 0 2670 --62.0833335 -61.9166665 -12.2500005 -12.0833335 445 0 2670 --61.9166665 -61.7499995 -12.2500005 -12.0833335 414 0 2670 --61.7500005 -61.5833335 -12.2500005 -12.0833335 335 0 2670 --61.5833335 -61.4166665 -12.2500005 -12.0833335 302 0 2670 --61.4166665 -61.2499995 -12.2500005 -12.0833335 273 0 2670 --61.2500005 -61.0833335 -12.2500005 -12.0833335 252 0 2670 --61.0833335 -60.9166665 -12.2500005 -12.0833335 306 0 2670 --60.9166665 -60.7499995 -12.2500005 -12.0833335 312 0 2670 --60.7500005 -60.5833335 -12.2500005 -12.0833335 322 0 2670 --60.5833335 -60.4166665 -12.2500005 -12.0833335 326 0 2670 --60.4166665 -60.2499995 -12.2500005 -12.0833335 371 0 2670 --60.2500005 -60.0833335 -12.2500005 -12.0833335 420 0 2670 --60.0833335 -59.9166665 -12.2500005 -12.0833335 440 0 2670 --59.9166665 -59.7499995 -12.2500005 -12.0833335 413 0 2670 --59.7500005 -59.5833335 -12.2500005 -12.0833335 469 0 2670 --59.5833335 -59.4166665 -12.2500005 -12.0833335 377 0 2670 --59.4166665 -59.2499995 -12.2500005 -12.0833335 337 0 2670 --59.2500005 -59.0833335 -12.2500005 -12.0833335 401 0 2670 --59.0833335 -58.9166665 -12.2500005 -12.0833335 344 0 2670 --58.9166665 -58.7499995 -12.2500005 -12.0833335 293 0 2670 --58.7500005 -58.5833335 -12.2500005 -12.0833335 290 0 2670 --58.5833335 -58.4166665 -12.2500005 -12.0833335 278 0 2670 --58.4166665 -58.2499995 -12.2500005 -12.0833335 343 0 2670 --58.2500005 -58.0833335 -12.2500005 -12.0833335 278 0 2670 --58.0833335 -57.9166665 -12.2500005 -12.0833335 287 0 2670 --57.9166665 -57.7499995 -12.2500005 -12.0833335 277 0 2670 --57.7500005 -57.5833335 -12.2500005 -12.0833335 279 0 2670 --57.5833335 -57.4166665 -12.2500005 -12.0833335 302 0 2670 --57.4166665 -57.2499995 -12.2500005 -12.0833335 377 0 2670 --57.2500005 -57.0833335 -12.2500005 -12.0833335 308 0 2670 --57.0833335 -56.9166665 -12.2500005 -12.0833335 322 0 2670 --56.9166665 -56.7499995 -12.2500005 -12.0833335 333 0 2670 --56.7500005 -56.5833335 -12.2500005 -12.0833335 305 0 2670 --56.5833335 -56.4166665 -12.2500005 -12.0833335 355 0 2670 --56.4166665 -56.2499995 -12.2500005 -12.0833335 400 0 2670 --56.2500005 -56.0833335 -12.2500005 -12.0833335 371 0 2670 --56.0833335 -55.9166665 -12.2500005 -12.0833335 374 0 2670 --55.9166665 -55.7499995 -12.2500005 -12.0833335 375 0 2670 --55.7500005 -55.5833335 -12.2500005 -12.0833335 370 0 2670 --55.5833335 -55.4166665 -12.2500005 -12.0833335 342 0 2670 --55.4166665 -55.2499995 -12.2500005 -12.0833335 371 0 2670 --55.2500005 -55.0833335 -12.2500005 -12.0833335 356 0 2670 --55.0833335 -54.9166665 -12.2500005 -12.0833335 389 0 2670 --54.9166665 -54.7499995 -12.2500005 -12.0833335 325 0 2670 --54.7500005 -54.5833335 -12.2500005 -12.0833335 352 0 2670 --54.5833335 -54.4166665 -12.2500005 -12.0833335 379 0 2670 --54.4166665 -54.2499995 -12.2500005 -12.0833335 356 0 2670 --54.2500005 -54.0833335 -12.2500005 -12.0833335 339 0 2670 --54.0833335 -53.9166665 -12.2500005 -12.0833335 346 0 2670 --53.9166665 -53.7499995 -12.2500005 -12.0833335 289 0 2670 --53.7500005 -53.5833335 -12.2500005 -12.0833335 311 0 2670 --53.5833335 -53.4166665 -12.2500005 -12.0833335 326 0 2670 --53.4166665 -53.2499995 -12.2500005 -12.0833335 288 0 2670 --53.2500005 -53.0833335 -12.2500005 -12.0833335 313 0 2670 --53.0833335 -52.9166665 -12.2500005 -12.0833335 313 0 2670 --52.9166665 -52.7499995 -12.2500005 -12.0833335 312 0 2670 --52.7500005 -52.5833335 -12.2500005 -12.0833335 331 0 2670 --52.5833335 -52.4166665 -12.2500005 -12.0833335 345 0 2670 --52.4166665 -52.2499995 -12.2500005 -12.0833335 312 0 2670 --52.2500005 -52.0833335 -12.2500005 -12.0833335 289 0 2670 --52.0833335 -51.9166665 -12.2500005 -12.0833335 333 0 2670 --51.9166665 -51.7499995 -12.2500005 -12.0833335 330 0 2670 --51.7500005 -51.5833335 -12.2500005 -12.0833335 332 0 2670 --51.5833335 -51.4166665 -12.2500005 -12.0833335 267 0 2670 --51.4166665 -51.2499995 -12.2500005 -12.0833335 266 0 2670 --51.2500005 -51.0833335 -12.2500005 -12.0833335 224 0 2670 --51.0833335 -50.9166665 -12.2500005 -12.0833335 201 0 2670 --50.9166665 -50.7499995 -12.2500005 -12.0833335 199 0 2670 --50.7500005 -50.5833335 -12.2500005 -12.0833335 201 0 2670 --50.5833335 -50.4166665 -12.2500005 -12.0833335 203 0 2670 --50.4166665 -50.2499995 -12.2500005 -12.0833335 199 0 2670 --50.2500005 -50.0833335 -12.2500005 -12.0833335 197 0 2670 --50.0833335 -49.9166665 -12.2500005 -12.0833335 199 0 2670 --49.9166665 -49.7499995 -12.2500005 -12.0833335 216 0 2670 --49.7500005 -49.5833335 -12.2500005 -12.0833335 213 0 2670 --49.5833335 -49.4166665 -12.2500005 -12.0833335 239 0 2670 --49.4166665 -49.2499995 -12.2500005 -12.0833335 306 0 2670 --49.2500005 -49.0833335 -12.2500005 -12.0833335 270 0 2670 --49.0833335 -48.9166665 -12.2500005 -12.0833335 290 0 2670 --48.9166665 -48.7499995 -12.2500005 -12.0833335 307 0 2670 --48.7500005 -48.5833335 -12.2500005 -12.0833335 258 0 2670 --48.5833335 -48.4166665 -12.2500005 -12.0833335 245 0 2670 --48.4166665 -48.2499995 -12.2500005 -12.0833335 295 0 2670 --48.2500005 -48.0833335 -12.2500005 -12.0833335 305 0 2670 --48.0833335 -47.9166665 -12.2500005 -12.0833335 367 0 2670 --47.9166665 -47.7499995 -12.2500005 -12.0833335 627 0 2670 --47.7500005 -47.5833335 -12.2500005 -12.0833335 470 0 2670 --47.5833335 -47.4166665 -12.2500005 -12.0833335 356 0 2670 --47.4166665 -47.2499995 -12.2500005 -12.0833335 381 0 2670 --47.2500005 -47.0833335 -12.2500005 -12.0833335 386 0 2670 --47.0833335 -46.9166665 -12.2500005 -12.0833335 617 0 2670 --46.9166665 -46.7499995 -12.2500005 -12.0833335 364 0 2670 --46.7500005 -46.5833335 -12.2500005 -12.0833335 394 0 2670 --46.5833335 -46.4166665 -12.2500005 -12.0833335 472 0 2670 --46.4166665 -46.2499995 -12.2500005 -12.0833335 886 0 2670 --46.2500005 -46.0833335 -12.2500005 -12.0833335 816 0 2670 --46.0833335 -45.9166665 -12.2500005 -12.0833335 756 0 2670 --45.9166665 -45.7499995 -12.2500005 -12.0833335 774 0 2670 --45.7500005 -45.5833335 -12.2500005 -12.0833335 726 0 2670 --45.5833335 -45.4166665 -12.2500005 -12.0833335 699 0 2670 --45.4166665 -45.2499995 -12.2500005 -12.0833335 730 0 2670 --45.2500005 -45.0833335 -12.2500005 -12.0833335 539 0 2670 --45.0833335 -44.9166665 -12.2500005 -12.0833335 455 0 2670 --44.9166665 -44.7499995 -12.2500005 -12.0833335 693 0 2670 --44.7500005 -44.5833335 -12.2500005 -12.0833335 752 0 2670 --44.5833335 -44.4166665 -12.2500005 -12.0833335 765 0 2670 --44.4166665 -44.2499995 -12.2500005 -12.0833335 789 0 2670 --44.2500005 -44.0833335 -12.2500005 -12.0833335 766 0 2670 --44.0833335 -43.9166665 -12.2500005 -12.0833335 785 0 2670 --43.9166665 -43.7499995 -12.2500005 -12.0833335 859 0 2670 --43.7500005 -43.5833335 -12.2500005 -12.0833335 461 0 2670 --43.5833335 -43.4166665 -12.2500005 -12.0833335 478 0 2670 --43.4166665 -43.2499995 -12.2500005 -12.0833335 497 0 2670 --43.2500005 -43.0833335 -12.2500005 -12.0833335 465 0 2670 --43.0833335 -42.9166665 -12.2500005 -12.0833335 867 0 2670 --42.9166665 -42.7499995 -12.2500005 -12.0833335 446 0 2670 --42.7500005 -42.5833335 -12.2500005 -12.0833335 546 0 2670 --42.5833335 -42.4166665 -12.2500005 -12.0833335 559 0 2670 --42.4166665 -42.2499995 -12.2500005 -12.0833335 1081 0 2670 --42.2500005 -42.0833335 -12.2500005 -12.0833335 1086 0 2670 --42.0833335 -41.9166665 -12.2500005 -12.0833335 917 0 2670 --41.9166665 -41.7499995 -12.2500005 -12.0833335 1013 0 2670 --41.7500005 -41.5833335 -12.2500005 -12.0833335 783 0 2670 --41.5833335 -41.4166665 -12.2500005 -12.0833335 799 0 2670 --41.4166665 -41.2499995 -12.2500005 -12.0833335 887 0 2670 --41.2500005 -41.0833335 -12.2500005 -12.0833335 535 0 2670 --41.0833335 -40.9166665 -12.2500005 -12.0833335 672 0 2670 --40.9166665 -40.7499995 -12.2500005 -12.0833335 612 0 2670 --40.7500005 -40.5833335 -12.2500005 -12.0833335 536 0 2670 --40.5833335 -40.4166665 -12.2500005 -12.0833335 435 0 2670 --40.4166665 -40.2499995 -12.2500005 -12.0833335 361 0 2670 --40.2500005 -40.0833335 -12.2500005 -12.0833335 278 0 2670 --40.0833335 -39.9166665 -12.2500005 -12.0833335 267 0 2670 --65.0833335 -64.9166665 -12.4166665 -12.2499995 150 0 2670 --64.9166665 -64.7499995 -12.4166665 -12.2499995 164 0 2670 --64.7500005 -64.5833335 -12.4166665 -12.2499995 184 0 2670 --64.5833335 -64.4166665 -12.4166665 -12.2499995 136 0 2670 --64.4166665 -64.2499995 -12.4166665 -12.2499995 293 0 2670 --64.2500005 -64.0833335 -12.4166665 -12.2499995 184 0 2670 --64.0833335 -63.9166665 -12.4166665 -12.2499995 192 0 2670 --63.9166665 -63.7499995 -12.4166665 -12.2499995 165 0 2670 --63.7500005 -63.5833335 -12.4166665 -12.2499995 169 0 2670 --63.5833335 -63.4166665 -12.4166665 -12.2499995 166 0 2670 --63.4166665 -63.2499995 -12.4166665 -12.2499995 186 0 2670 --63.2500005 -63.0833335 -12.4166665 -12.2499995 151 0 2670 --63.0833335 -62.9166665 -12.4166665 -12.2499995 166 0 2670 --62.9166665 -62.7499995 -12.4166665 -12.2499995 160 0 2670 --62.7500005 -62.5833335 -12.4166665 -12.2499995 179 0 2670 --62.5833335 -62.4166665 -12.4166665 -12.2499995 194 0 2670 --62.4166665 -62.2499995 -12.4166665 -12.2499995 243 0 2670 --62.2500005 -62.0833335 -12.4166665 -12.2499995 284 0 2670 --62.0833335 -61.9166665 -12.4166665 -12.2499995 216 0 2670 --61.9166665 -61.7499995 -12.4166665 -12.2499995 271 0 2670 --61.7500005 -61.5833335 -12.4166665 -12.2499995 458 0 2670 --61.5833335 -61.4166665 -12.4166665 -12.2499995 296 0 2670 --61.4166665 -61.2499995 -12.4166665 -12.2499995 332 0 2670 --61.2500005 -61.0833335 -12.4166665 -12.2499995 325 0 2670 --61.0833335 -60.9166665 -12.4166665 -12.2499995 287 0 2670 --60.9166665 -60.7499995 -12.4166665 -12.2499995 297 0 2670 --60.7500005 -60.5833335 -12.4166665 -12.2499995 319 0 2670 --60.5833335 -60.4166665 -12.4166665 -12.2499995 316 0 2670 --60.4166665 -60.2499995 -12.4166665 -12.2499995 450 0 2670 --60.2500005 -60.0833335 -12.4166665 -12.2499995 490 0 2670 --60.0833335 -59.9166665 -12.4166665 -12.2499995 473 0 2670 --59.9166665 -59.7499995 -12.4166665 -12.2499995 496 0 2670 --59.7500005 -59.5833335 -12.4166665 -12.2499995 424 0 2670 --59.5833335 -59.4166665 -12.4166665 -12.2499995 376 0 2670 --59.4166665 -59.2499995 -12.4166665 -12.2499995 397 0 2670 --59.2500005 -59.0833335 -12.4166665 -12.2499995 355 0 2670 --59.0833335 -58.9166665 -12.4166665 -12.2499995 383 0 2670 --58.9166665 -58.7499995 -12.4166665 -12.2499995 292 0 2670 --58.7500005 -58.5833335 -12.4166665 -12.2499995 350 0 2670 --58.5833335 -58.4166665 -12.4166665 -12.2499995 258 0 2670 --58.4166665 -58.2499995 -12.4166665 -12.2499995 341 0 2670 --58.2500005 -58.0833335 -12.4166665 -12.2499995 309 0 2670 --58.0833335 -57.9166665 -12.4166665 -12.2499995 289 0 2670 --57.9166665 -57.7499995 -12.4166665 -12.2499995 305 0 2670 --57.7500005 -57.5833335 -12.4166665 -12.2499995 313 0 2670 --57.5833335 -57.4166665 -12.4166665 -12.2499995 318 0 2670 --57.4166665 -57.2499995 -12.4166665 -12.2499995 348 0 2670 --57.2500005 -57.0833335 -12.4166665 -12.2499995 358 0 2670 --57.0833335 -56.9166665 -12.4166665 -12.2499995 289 0 2670 --56.9166665 -56.7499995 -12.4166665 -12.2499995 311 0 2670 --56.7500005 -56.5833335 -12.4166665 -12.2499995 287 0 2670 --56.5833335 -56.4166665 -12.4166665 -12.2499995 333 0 2670 --56.4166665 -56.2499995 -12.4166665 -12.2499995 392 0 2670 --56.2500005 -56.0833335 -12.4166665 -12.2499995 377 0 2670 --56.0833335 -55.9166665 -12.4166665 -12.2499995 339 0 2670 --55.9166665 -55.7499995 -12.4166665 -12.2499995 384 0 2670 --55.7500005 -55.5833335 -12.4166665 -12.2499995 375 0 2670 --55.5833335 -55.4166665 -12.4166665 -12.2499995 354 0 2670 --55.4166665 -55.2499995 -12.4166665 -12.2499995 390 0 2670 --55.2500005 -55.0833335 -12.4166665 -12.2499995 349 0 2670 --55.0833335 -54.9166665 -12.4166665 -12.2499995 372 0 2670 --54.9166665 -54.7499995 -12.4166665 -12.2499995 376 0 2670 --54.7500005 -54.5833335 -12.4166665 -12.2499995 335 0 2670 --54.5833335 -54.4166665 -12.4166665 -12.2499995 321 0 2670 --54.4166665 -54.2499995 -12.4166665 -12.2499995 325 0 2670 --54.2500005 -54.0833335 -12.4166665 -12.2499995 344 0 2670 --54.0833335 -53.9166665 -12.4166665 -12.2499995 354 0 2670 --53.9166665 -53.7499995 -12.4166665 -12.2499995 335 0 2670 --53.7500005 -53.5833335 -12.4166665 -12.2499995 331 0 2670 --53.5833335 -53.4166665 -12.4166665 -12.2499995 318 0 2670 --53.4166665 -53.2499995 -12.4166665 -12.2499995 313 0 2670 --53.2500005 -53.0833335 -12.4166665 -12.2499995 292 0 2670 --53.0833335 -52.9166665 -12.4166665 -12.2499995 289 0 2670 --52.9166665 -52.7499995 -12.4166665 -12.2499995 316 0 2670 --52.7500005 -52.5833335 -12.4166665 -12.2499995 343 0 2670 --52.5833335 -52.4166665 -12.4166665 -12.2499995 343 0 2670 --52.4166665 -52.2499995 -12.4166665 -12.2499995 328 0 2670 --52.2500005 -52.0833335 -12.4166665 -12.2499995 335 0 2670 --52.0833335 -51.9166665 -12.4166665 -12.2499995 352 0 2670 --51.9166665 -51.7499995 -12.4166665 -12.2499995 333 0 2670 --51.7500005 -51.5833335 -12.4166665 -12.2499995 371 0 2670 --51.5833335 -51.4166665 -12.4166665 -12.2499995 318 0 2670 --51.4166665 -51.2499995 -12.4166665 -12.2499995 222 0 2670 --51.2500005 -51.0833335 -12.4166665 -12.2499995 220 0 2670 --51.0833335 -50.9166665 -12.4166665 -12.2499995 206 0 2670 --50.9166665 -50.7499995 -12.4166665 -12.2499995 204 0 2670 --50.7500005 -50.5833335 -12.4166665 -12.2499995 204 0 2670 --50.5833335 -50.4166665 -12.4166665 -12.2499995 202 0 2670 --50.4166665 -50.2499995 -12.4166665 -12.2499995 201 0 2670 --50.2500005 -50.0833335 -12.4166665 -12.2499995 201 0 2670 --50.0833335 -49.9166665 -12.4166665 -12.2499995 210 0 2670 --49.9166665 -49.7499995 -12.4166665 -12.2499995 235 0 2670 --49.7500005 -49.5833335 -12.4166665 -12.2499995 212 0 2670 --49.5833335 -49.4166665 -12.4166665 -12.2499995 221 0 2670 --49.4166665 -49.2499995 -12.4166665 -12.2499995 267 0 2670 --49.2500005 -49.0833335 -12.4166665 -12.2499995 280 0 2670 --49.0833335 -48.9166665 -12.4166665 -12.2499995 273 0 2670 --48.9166665 -48.7499995 -12.4166665 -12.2499995 264 0 2670 --48.7500005 -48.5833335 -12.4166665 -12.2499995 265 0 2670 --48.5833335 -48.4166665 -12.4166665 -12.2499995 315 0 2670 --48.4166665 -48.2499995 -12.4166665 -12.2499995 286 0 2670 --48.2500005 -48.0833335 -12.4166665 -12.2499995 285 0 2670 --48.0833335 -47.9166665 -12.4166665 -12.2499995 367 0 2670 --47.9166665 -47.7499995 -12.4166665 -12.2499995 366 0 2670 --47.7500005 -47.5833335 -12.4166665 -12.2499995 326 0 2670 --47.5833335 -47.4166665 -12.4166665 -12.2499995 354 0 2670 --47.4166665 -47.2499995 -12.4166665 -12.2499995 380 0 2670 --47.2500005 -47.0833335 -12.4166665 -12.2499995 354 0 2670 --47.0833335 -46.9166665 -12.4166665 -12.2499995 362 0 2670 --46.9166665 -46.7499995 -12.4166665 -12.2499995 359 0 2670 --46.7500005 -46.5833335 -12.4166665 -12.2499995 398 0 2670 --46.5833335 -46.4166665 -12.4166665 -12.2499995 492 0 2670 --46.4166665 -46.2499995 -12.4166665 -12.2499995 899 0 2670 --46.2500005 -46.0833335 -12.4166665 -12.2499995 859 0 2670 --46.0833335 -45.9166665 -12.4166665 -12.2499995 813 0 2670 --45.9166665 -45.7499995 -12.4166665 -12.2499995 752 0 2670 --45.7500005 -45.5833335 -12.4166665 -12.2499995 726 0 2670 --45.5833335 -45.4166665 -12.4166665 -12.2499995 711 0 2670 --45.4166665 -45.2499995 -12.4166665 -12.2499995 700 0 2670 --45.2500005 -45.0833335 -12.4166665 -12.2499995 730 0 2670 --45.0833335 -44.9166665 -12.4166665 -12.2499995 522 0 2670 --44.9166665 -44.7499995 -12.4166665 -12.2499995 682 0 2670 --44.7500005 -44.5833335 -12.4166665 -12.2499995 668 0 2670 --44.5833335 -44.4166665 -12.4166665 -12.2499995 734 0 2670 --44.4166665 -44.2499995 -12.4166665 -12.2499995 755 0 2670 --44.2500005 -44.0833335 -12.4166665 -12.2499995 795 0 2670 --44.0833335 -43.9166665 -12.4166665 -12.2499995 856 0 2670 --43.9166665 -43.7499995 -12.4166665 -12.2499995 615 0 2670 --43.7500005 -43.5833335 -12.4166665 -12.2499995 494 0 2670 --43.5833335 -43.4166665 -12.4166665 -12.2499995 492 0 2670 --43.4166665 -43.2499995 -12.4166665 -12.2499995 452 0 2670 --43.2500005 -43.0833335 -12.4166665 -12.2499995 469 0 2670 --43.0833335 -42.9166665 -12.4166665 -12.2499995 1018 0 2670 --42.9166665 -42.7499995 -12.4166665 -12.2499995 486 0 2670 --42.7500005 -42.5833335 -12.4166665 -12.2499995 470 0 2670 --42.5833335 -42.4166665 -12.4166665 -12.2499995 495 0 2670 --42.4166665 -42.2499995 -12.4166665 -12.2499995 1157 0 2670 --42.2500005 -42.0833335 -12.4166665 -12.2499995 1082 0 2670 --42.0833335 -41.9166665 -12.4166665 -12.2499995 1046 0 2670 --41.9166665 -41.7499995 -12.4166665 -12.2499995 1092 0 2670 --41.7500005 -41.5833335 -12.4166665 -12.2499995 744 0 2670 --41.5833335 -41.4166665 -12.4166665 -12.2499995 692 0 2670 --41.4166665 -41.2499995 -12.4166665 -12.2499995 810 0 2670 --41.2500005 -41.0833335 -12.4166665 -12.2499995 458 0 2670 --41.0833335 -40.9166665 -12.4166665 -12.2499995 637 0 2670 --40.9166665 -40.7499995 -12.4166665 -12.2499995 620 0 2670 --40.7500005 -40.5833335 -12.4166665 -12.2499995 503 0 2670 --40.5833335 -40.4166665 -12.4166665 -12.2499995 601 0 2670 --40.4166665 -40.2499995 -12.4166665 -12.2499995 343 0 2670 --40.2500005 -40.0833335 -12.4166665 -12.2499995 269 0 2670 --40.0833335 -39.9166665 -12.4166665 -12.2499995 291 0 2670 --65.0833335 -64.9166665 -12.5833335 -12.4166665 140 0 2670 --64.9166665 -64.7499995 -12.5833335 -12.4166665 159 0 2670 --64.7500005 -64.5833335 -12.5833335 -12.4166665 154 0 2670 --64.5833335 -64.4166665 -12.5833335 -12.4166665 143 0 2670 --64.4166665 -64.2499995 -12.5833335 -12.4166665 135 0 2670 --64.2500005 -64.0833335 -12.5833335 -12.4166665 136 0 2670 --64.0833335 -63.9166665 -12.5833335 -12.4166665 138 0 2670 --63.9166665 -63.7499995 -12.5833335 -12.4166665 141 0 2670 --63.7500005 -63.5833335 -12.5833335 -12.4166665 143 0 2670 --63.5833335 -63.4166665 -12.5833335 -12.4166665 146 0 2670 --63.4166665 -63.2499995 -12.5833335 -12.4166665 139 0 2670 --63.2500005 -63.0833335 -12.5833335 -12.4166665 140 0 2670 --63.0833335 -62.9166665 -12.5833335 -12.4166665 159 0 2670 --62.9166665 -62.7499995 -12.5833335 -12.4166665 179 0 2670 --62.7500005 -62.5833335 -12.5833335 -12.4166665 183 0 2670 --62.5833335 -62.4166665 -12.5833335 -12.4166665 301 0 2670 --62.4166665 -62.2499995 -12.5833335 -12.4166665 256 0 2670 --62.2500005 -62.0833335 -12.5833335 -12.4166665 193 0 2670 --62.0833335 -61.9166665 -12.5833335 -12.4166665 205 0 2670 --61.9166665 -61.7499995 -12.5833335 -12.4166665 243 0 2670 --61.7500005 -61.5833335 -12.5833335 -12.4166665 469 0 2670 --61.5833335 -61.4166665 -12.5833335 -12.4166665 428 0 2670 --61.4166665 -61.2499995 -12.5833335 -12.4166665 407 0 2670 --61.2500005 -61.0833335 -12.5833335 -12.4166665 344 0 2670 --61.0833335 -60.9166665 -12.5833335 -12.4166665 263 0 2670 --60.9166665 -60.7499995 -12.5833335 -12.4166665 342 0 2670 --60.7500005 -60.5833335 -12.5833335 -12.4166665 448 0 2670 --60.5833335 -60.4166665 -12.5833335 -12.4166665 461 0 2670 --60.4166665 -60.2499995 -12.5833335 -12.4166665 473 0 2670 --60.2500005 -60.0833335 -12.5833335 -12.4166665 518 0 2670 --60.0833335 -59.9166665 -12.5833335 -12.4166665 596 0 2670 --59.9166665 -59.7499995 -12.5833335 -12.4166665 505 0 2670 --59.7500005 -59.5833335 -12.5833335 -12.4166665 368 0 2670 --59.5833335 -59.4166665 -12.5833335 -12.4166665 337 0 2670 --59.4166665 -59.2499995 -12.5833335 -12.4166665 365 0 2670 --59.2500005 -59.0833335 -12.5833335 -12.4166665 367 0 2670 --59.0833335 -58.9166665 -12.5833335 -12.4166665 412 0 2670 --58.9166665 -58.7499995 -12.5833335 -12.4166665 370 0 2670 --58.7500005 -58.5833335 -12.5833335 -12.4166665 352 0 2670 --58.5833335 -58.4166665 -12.5833335 -12.4166665 314 0 2670 --58.4166665 -58.2499995 -12.5833335 -12.4166665 322 0 2670 --58.2500005 -58.0833335 -12.5833335 -12.4166665 354 0 2670 --58.0833335 -57.9166665 -12.5833335 -12.4166665 333 0 2670 --57.9166665 -57.7499995 -12.5833335 -12.4166665 330 0 2670 --57.7500005 -57.5833335 -12.5833335 -12.4166665 271 0 2670 --57.5833335 -57.4166665 -12.5833335 -12.4166665 329 0 2670 --57.4166665 -57.2499995 -12.5833335 -12.4166665 302 0 2670 --57.2500005 -57.0833335 -12.5833335 -12.4166665 342 0 2670 --57.0833335 -56.9166665 -12.5833335 -12.4166665 304 0 2670 --56.9166665 -56.7499995 -12.5833335 -12.4166665 317 0 2670 --56.7500005 -56.5833335 -12.5833335 -12.4166665 353 0 2670 --56.5833335 -56.4166665 -12.5833335 -12.4166665 323 0 2670 --56.4166665 -56.2499995 -12.5833335 -12.4166665 345 0 2670 --56.2500005 -56.0833335 -12.5833335 -12.4166665 382 0 2670 --56.0833335 -55.9166665 -12.5833335 -12.4166665 369 0 2670 --55.9166665 -55.7499995 -12.5833335 -12.4166665 362 0 2670 --55.7500005 -55.5833335 -12.5833335 -12.4166665 384 0 2670 --55.5833335 -55.4166665 -12.5833335 -12.4166665 356 0 2670 --55.4166665 -55.2499995 -12.5833335 -12.4166665 408 0 2670 --55.2500005 -55.0833335 -12.5833335 -12.4166665 409 0 2670 --55.0833335 -54.9166665 -12.5833335 -12.4166665 402 0 2670 --54.9166665 -54.7499995 -12.5833335 -12.4166665 356 0 2670 --54.7500005 -54.5833335 -12.5833335 -12.4166665 345 0 2670 --54.5833335 -54.4166665 -12.5833335 -12.4166665 335 0 2670 --54.4166665 -54.2499995 -12.5833335 -12.4166665 362 0 2670 --54.2500005 -54.0833335 -12.5833335 -12.4166665 320 0 2670 --54.0833335 -53.9166665 -12.5833335 -12.4166665 321 0 2670 --53.9166665 -53.7499995 -12.5833335 -12.4166665 349 0 2670 --53.7500005 -53.5833335 -12.5833335 -12.4166665 323 0 2670 --53.5833335 -53.4166665 -12.5833335 -12.4166665 301 0 2670 --53.4166665 -53.2499995 -12.5833335 -12.4166665 321 0 2670 --53.2500005 -53.0833335 -12.5833335 -12.4166665 317 0 2670 --53.0833335 -52.9166665 -12.5833335 -12.4166665 326 0 2670 --52.9166665 -52.7499995 -12.5833335 -12.4166665 333 0 2670 --52.7500005 -52.5833335 -12.5833335 -12.4166665 334 0 2670 --52.5833335 -52.4166665 -12.5833335 -12.4166665 352 0 2670 --52.4166665 -52.2499995 -12.5833335 -12.4166665 320 0 2670 --52.2500005 -52.0833335 -12.5833335 -12.4166665 345 0 2670 --52.0833335 -51.9166665 -12.5833335 -12.4166665 325 0 2670 --51.9166665 -51.7499995 -12.5833335 -12.4166665 356 0 2670 --51.7500005 -51.5833335 -12.5833335 -12.4166665 387 0 2670 --51.5833335 -51.4166665 -12.5833335 -12.4166665 323 0 2670 --51.4166665 -51.2499995 -12.5833335 -12.4166665 231 0 2670 --51.2500005 -51.0833335 -12.5833335 -12.4166665 213 0 2670 --51.0833335 -50.9166665 -12.5833335 -12.4166665 207 0 2670 --50.9166665 -50.7499995 -12.5833335 -12.4166665 207 0 2670 --50.7500005 -50.5833335 -12.5833335 -12.4166665 205 0 2670 --50.5833335 -50.4166665 -12.5833335 -12.4166665 206 0 2670 --50.4166665 -50.2499995 -12.5833335 -12.4166665 207 0 2670 --50.2500005 -50.0833335 -12.5833335 -12.4166665 225 0 2670 --50.0833335 -49.9166665 -12.5833335 -12.4166665 226 0 2670 --49.9166665 -49.7499995 -12.5833335 -12.4166665 306 0 2670 --49.7500005 -49.5833335 -12.5833335 -12.4166665 260 0 2670 --49.5833335 -49.4166665 -12.5833335 -12.4166665 245 0 2670 --49.4166665 -49.2499995 -12.5833335 -12.4166665 226 0 2670 --49.2500005 -49.0833335 -12.5833335 -12.4166665 268 0 2670 --49.0833335 -48.9166665 -12.5833335 -12.4166665 262 0 2670 --48.9166665 -48.7499995 -12.5833335 -12.4166665 268 0 2670 --48.7500005 -48.5833335 -12.5833335 -12.4166665 286 0 2670 --48.5833335 -48.4166665 -12.5833335 -12.4166665 319 0 2670 --48.4166665 -48.2499995 -12.5833335 -12.4166665 316 0 2670 --48.2500005 -48.0833335 -12.5833335 -12.4166665 269 0 2670 --48.0833335 -47.9166665 -12.5833335 -12.4166665 308 0 2670 --47.9166665 -47.7499995 -12.5833335 -12.4166665 339 0 2670 --47.7500005 -47.5833335 -12.5833335 -12.4166665 320 0 2670 --47.5833335 -47.4166665 -12.5833335 -12.4166665 328 0 2670 --47.4166665 -47.2499995 -12.5833335 -12.4166665 336 0 2670 --47.2500005 -47.0833335 -12.5833335 -12.4166665 353 0 2670 --47.0833335 -46.9166665 -12.5833335 -12.4166665 396 0 2670 --46.9166665 -46.7499995 -12.5833335 -12.4166665 362 0 2670 --46.7500005 -46.5833335 -12.5833335 -12.4166665 411 0 2670 --46.5833335 -46.4166665 -12.5833335 -12.4166665 470 0 2670 --46.4166665 -46.2499995 -12.5833335 -12.4166665 553 0 2670 --46.2500005 -46.0833335 -12.5833335 -12.4166665 788 0 2670 --46.0833335 -45.9166665 -12.5833335 -12.4166665 821 0 2670 --45.9166665 -45.7499995 -12.5833335 -12.4166665 779 0 2670 --45.7500005 -45.5833335 -12.5833335 -12.4166665 732 0 2670 --45.5833335 -45.4166665 -12.5833335 -12.4166665 723 0 2670 --45.4166665 -45.2499995 -12.5833335 -12.4166665 709 0 2670 --45.2500005 -45.0833335 -12.5833335 -12.4166665 732 0 2670 --45.0833335 -44.9166665 -12.5833335 -12.4166665 696 0 2670 --44.9166665 -44.7499995 -12.5833335 -12.4166665 706 0 2670 --44.7500005 -44.5833335 -12.5833335 -12.4166665 740 0 2670 --44.5833335 -44.4166665 -12.5833335 -12.4166665 776 0 2670 --44.4166665 -44.2499995 -12.5833335 -12.4166665 786 0 2670 --44.2500005 -44.0833335 -12.5833335 -12.4166665 833 0 2670 --44.0833335 -43.9166665 -12.5833335 -12.4166665 632 0 2670 --43.9166665 -43.7499995 -12.5833335 -12.4166665 471 0 2670 --43.7500005 -43.5833335 -12.5833335 -12.4166665 450 0 2670 --43.5833335 -43.4166665 -12.5833335 -12.4166665 453 0 2670 --43.4166665 -43.2499995 -12.5833335 -12.4166665 583 0 2670 --43.2500005 -43.0833335 -12.5833335 -12.4166665 440 0 2670 --43.0833335 -42.9166665 -12.5833335 -12.4166665 532 0 2670 --42.9166665 -42.7499995 -12.5833335 -12.4166665 653 0 2670 --42.7500005 -42.5833335 -12.5833335 -12.4166665 474 0 2670 --42.5833335 -42.4166665 -12.5833335 -12.4166665 504 0 2670 --42.4166665 -42.2499995 -12.5833335 -12.4166665 864 0 2670 --42.2500005 -42.0833335 -12.5833335 -12.4166665 966 0 2670 --42.0833335 -41.9166665 -12.5833335 -12.4166665 1179 0 2670 --41.9166665 -41.7499995 -12.5833335 -12.4166665 993 0 2670 --41.7500005 -41.5833335 -12.5833335 -12.4166665 964 0 2670 --41.5833335 -41.4166665 -12.5833335 -12.4166665 991 0 2670 --41.4166665 -41.2499995 -12.5833335 -12.4166665 402 0 2670 --41.2500005 -41.0833335 -12.5833335 -12.4166665 462 0 2670 --41.0833335 -40.9166665 -12.5833335 -12.4166665 621 0 2670 --40.9166665 -40.7499995 -12.5833335 -12.4166665 546 0 2670 --40.7500005 -40.5833335 -12.5833335 -12.4166665 540 0 2670 --40.5833335 -40.4166665 -12.5833335 -12.4166665 359 0 2670 --40.4166665 -40.2499995 -12.5833335 -12.4166665 334 0 2670 --40.2500005 -40.0833335 -12.5833335 -12.4166665 251 0 2670 --40.0833335 -39.9166665 -12.5833335 -12.4166665 233 0 2670 --65.0833335 -64.9166665 -12.7500005 -12.5833335 134 0 2670 --64.9166665 -64.7499995 -12.7500005 -12.5833335 133 0 2670 --64.7500005 -64.5833335 -12.7500005 -12.5833335 158 0 2670 --64.5833335 -64.4166665 -12.7500005 -12.5833335 143 0 2670 --64.4166665 -64.2499995 -12.7500005 -12.5833335 144 0 2670 --64.2500005 -64.0833335 -12.7500005 -12.5833335 150 0 2670 --64.0833335 -63.9166665 -12.7500005 -12.5833335 131 0 2670 --63.9166665 -63.7499995 -12.7500005 -12.5833335 154 0 2670 --63.7500005 -63.5833335 -12.7500005 -12.5833335 151 0 2670 --63.5833335 -63.4166665 -12.7500005 -12.5833335 155 0 2670 --63.4166665 -63.2499995 -12.7500005 -12.5833335 142 0 2670 --63.2500005 -63.0833335 -12.7500005 -12.5833335 147 0 2670 --63.0833335 -62.9166665 -12.7500005 -12.5833335 141 0 2670 --62.9166665 -62.7499995 -12.7500005 -12.5833335 143 0 2670 --62.7500005 -62.5833335 -12.7500005 -12.5833335 174 0 2670 --62.5833335 -62.4166665 -12.7500005 -12.5833335 192 0 2670 --62.4166665 -62.2499995 -12.7500005 -12.5833335 190 0 2670 --62.2500005 -62.0833335 -12.7500005 -12.5833335 177 0 2670 --62.0833335 -61.9166665 -12.7500005 -12.5833335 192 0 2670 --61.9166665 -61.7499995 -12.7500005 -12.5833335 204 0 2670 --61.7500005 -61.5833335 -12.7500005 -12.5833335 349 0 2670 --61.5833335 -61.4166665 -12.7500005 -12.5833335 201 0 2670 --61.4166665 -61.2499995 -12.7500005 -12.5833335 378 0 2670 --61.2500005 -61.0833335 -12.7500005 -12.5833335 333 0 2670 --61.0833335 -60.9166665 -12.7500005 -12.5833335 309 0 2670 --60.9166665 -60.7499995 -12.7500005 -12.5833335 295 0 2670 --60.7500005 -60.5833335 -12.7500005 -12.5833335 333 0 2670 --60.5833335 -60.4166665 -12.7500005 -12.5833335 483 0 2670 --60.4166665 -60.2499995 -12.7500005 -12.5833335 552 0 2670 --60.2500005 -60.0833335 -12.7500005 -12.5833335 522 0 2670 --60.0833335 -59.9166665 -12.7500005 -12.5833335 507 0 2670 --59.9166665 -59.7499995 -12.7500005 -12.5833335 429 0 2670 --59.7500005 -59.5833335 -12.7500005 -12.5833335 322 0 2670 --59.5833335 -59.4166665 -12.7500005 -12.5833335 438 0 2670 --59.4166665 -59.2499995 -12.7500005 -12.5833335 354 0 2670 --59.2500005 -59.0833335 -12.7500005 -12.5833335 449 0 2670 --59.0833335 -58.9166665 -12.7500005 -12.5833335 353 0 2670 --58.9166665 -58.7499995 -12.7500005 -12.5833335 421 0 2670 --58.7500005 -58.5833335 -12.7500005 -12.5833335 353 0 2670 --58.5833335 -58.4166665 -12.7500005 -12.5833335 331 0 2670 --58.4166665 -58.2499995 -12.7500005 -12.5833335 321 0 2670 --58.2500005 -58.0833335 -12.7500005 -12.5833335 398 0 2670 --58.0833335 -57.9166665 -12.7500005 -12.5833335 411 0 2670 --57.9166665 -57.7499995 -12.7500005 -12.5833335 345 0 2670 --57.7500005 -57.5833335 -12.7500005 -12.5833335 328 0 2670 --57.5833335 -57.4166665 -12.7500005 -12.5833335 340 0 2670 --57.4166665 -57.2499995 -12.7500005 -12.5833335 339 0 2670 --57.2500005 -57.0833335 -12.7500005 -12.5833335 326 0 2670 --57.0833335 -56.9166665 -12.7500005 -12.5833335 322 0 2670 --56.9166665 -56.7499995 -12.7500005 -12.5833335 291 0 2670 --56.7500005 -56.5833335 -12.7500005 -12.5833335 326 0 2670 --56.5833335 -56.4166665 -12.7500005 -12.5833335 344 0 2670 --56.4166665 -56.2499995 -12.7500005 -12.5833335 397 0 2670 --56.2500005 -56.0833335 -12.7500005 -12.5833335 347 0 2670 --56.0833335 -55.9166665 -12.7500005 -12.5833335 406 0 2670 --55.9166665 -55.7499995 -12.7500005 -12.5833335 378 0 2670 --55.7500005 -55.5833335 -12.7500005 -12.5833335 373 0 2670 --55.5833335 -55.4166665 -12.7500005 -12.5833335 393 0 2670 --55.4166665 -55.2499995 -12.7500005 -12.5833335 419 0 2670 --55.2500005 -55.0833335 -12.7500005 -12.5833335 423 0 2670 --55.0833335 -54.9166665 -12.7500005 -12.5833335 379 0 2670 --54.9166665 -54.7499995 -12.7500005 -12.5833335 355 0 2670 --54.7500005 -54.5833335 -12.7500005 -12.5833335 338 0 2670 --54.5833335 -54.4166665 -12.7500005 -12.5833335 350 0 2670 --54.4166665 -54.2499995 -12.7500005 -12.5833335 317 0 2670 --54.2500005 -54.0833335 -12.7500005 -12.5833335 347 0 2670 --54.0833335 -53.9166665 -12.7500005 -12.5833335 358 0 2670 --53.9166665 -53.7499995 -12.7500005 -12.5833335 315 0 2670 --53.7500005 -53.5833335 -12.7500005 -12.5833335 340 0 2670 --53.5833335 -53.4166665 -12.7500005 -12.5833335 336 0 2670 --53.4166665 -53.2499995 -12.7500005 -12.5833335 326 0 2670 --53.2500005 -53.0833335 -12.7500005 -12.5833335 330 0 2670 --53.0833335 -52.9166665 -12.7500005 -12.5833335 309 0 2670 --52.9166665 -52.7499995 -12.7500005 -12.5833335 329 0 2670 --52.7500005 -52.5833335 -12.7500005 -12.5833335 306 0 2670 --52.5833335 -52.4166665 -12.7500005 -12.5833335 347 0 2670 --52.4166665 -52.2499995 -12.7500005 -12.5833335 319 0 2670 --52.2500005 -52.0833335 -12.7500005 -12.5833335 368 0 2670 --52.0833335 -51.9166665 -12.7500005 -12.5833335 373 0 2670 --51.9166665 -51.7499995 -12.7500005 -12.5833335 356 0 2670 --51.7500005 -51.5833335 -12.7500005 -12.5833335 313 0 2670 --51.5833335 -51.4166665 -12.7500005 -12.5833335 273 0 2670 --51.4166665 -51.2499995 -12.7500005 -12.5833335 228 0 2670 --51.2500005 -51.0833335 -12.7500005 -12.5833335 212 0 2670 --51.0833335 -50.9166665 -12.7500005 -12.5833335 212 0 2670 --50.9166665 -50.7499995 -12.7500005 -12.5833335 209 0 2670 --50.7500005 -50.5833335 -12.7500005 -12.5833335 208 0 2670 --50.5833335 -50.4166665 -12.7500005 -12.5833335 210 0 2670 --50.4166665 -50.2499995 -12.7500005 -12.5833335 209 0 2670 --50.2500005 -50.0833335 -12.7500005 -12.5833335 214 0 2670 --50.0833335 -49.9166665 -12.7500005 -12.5833335 235 0 2670 --49.9166665 -49.7499995 -12.7500005 -12.5833335 280 0 2670 --49.7500005 -49.5833335 -12.7500005 -12.5833335 274 0 2670 --49.5833335 -49.4166665 -12.7500005 -12.5833335 257 0 2670 --49.4166665 -49.2499995 -12.7500005 -12.5833335 223 0 2670 --49.2500005 -49.0833335 -12.7500005 -12.5833335 245 0 2670 --49.0833335 -48.9166665 -12.7500005 -12.5833335 273 0 2670 --48.9166665 -48.7499995 -12.7500005 -12.5833335 287 0 2670 --48.7500005 -48.5833335 -12.7500005 -12.5833335 564 0 2670 --48.5833335 -48.4166665 -12.7500005 -12.5833335 420 0 2670 --48.4166665 -48.2499995 -12.7500005 -12.5833335 338 0 2670 --48.2500005 -48.0833335 -12.7500005 -12.5833335 361 0 2670 --48.0833335 -47.9166665 -12.7500005 -12.5833335 323 0 2670 --47.9166665 -47.7499995 -12.7500005 -12.5833335 282 0 2670 --47.7500005 -47.5833335 -12.7500005 -12.5833335 339 0 2670 --47.5833335 -47.4166665 -12.7500005 -12.5833335 341 0 2670 --47.4166665 -47.2499995 -12.7500005 -12.5833335 384 0 2670 --47.2500005 -47.0833335 -12.7500005 -12.5833335 377 0 2670 --47.0833335 -46.9166665 -12.7500005 -12.5833335 535 0 2670 --46.9166665 -46.7499995 -12.7500005 -12.5833335 423 0 2670 --46.7500005 -46.5833335 -12.7500005 -12.5833335 384 0 2670 --46.5833335 -46.4166665 -12.7500005 -12.5833335 443 0 2670 --46.4166665 -46.2499995 -12.7500005 -12.5833335 533 0 2670 --46.2500005 -46.0833335 -12.7500005 -12.5833335 886 0 2670 --46.0833335 -45.9166665 -12.7500005 -12.5833335 835 0 2670 --45.9166665 -45.7499995 -12.7500005 -12.5833335 765 0 2670 --45.7500005 -45.5833335 -12.7500005 -12.5833335 759 0 2670 --45.5833335 -45.4166665 -12.7500005 -12.5833335 731 0 2670 --45.4166665 -45.2499995 -12.7500005 -12.5833335 737 0 2670 --45.2500005 -45.0833335 -12.7500005 -12.5833335 722 0 2670 --45.0833335 -44.9166665 -12.7500005 -12.5833335 708 0 2670 --44.9166665 -44.7499995 -12.7500005 -12.5833335 741 0 2670 --44.7500005 -44.5833335 -12.7500005 -12.5833335 778 0 2670 --44.5833335 -44.4166665 -12.7500005 -12.5833335 786 0 2670 --44.4166665 -44.2499995 -12.7500005 -12.5833335 782 0 2670 --44.2500005 -44.0833335 -12.7500005 -12.5833335 767 0 2670 --44.0833335 -43.9166665 -12.7500005 -12.5833335 528 0 2670 --43.9166665 -43.7499995 -12.7500005 -12.5833335 486 0 2670 --43.7500005 -43.5833335 -12.7500005 -12.5833335 460 0 2670 --43.5833335 -43.4166665 -12.7500005 -12.5833335 440 0 2670 --43.4166665 -43.2499995 -12.7500005 -12.5833335 441 0 2670 --43.2500005 -43.0833335 -12.7500005 -12.5833335 427 0 2670 --43.0833335 -42.9166665 -12.7500005 -12.5833335 474 0 2670 --42.9166665 -42.7499995 -12.7500005 -12.5833335 984 0 2670 --42.7500005 -42.5833335 -12.7500005 -12.5833335 519 0 2670 --42.5833335 -42.4166665 -12.7500005 -12.5833335 526 0 2670 --42.4166665 -42.2499995 -12.7500005 -12.5833335 572 0 2670 --42.2500005 -42.0833335 -12.7500005 -12.5833335 1225 0 2670 --42.0833335 -41.9166665 -12.7500005 -12.5833335 1197 0 2670 --41.9166665 -41.7499995 -12.7500005 -12.5833335 1030 0 2670 --41.7500005 -41.5833335 -12.7500005 -12.5833335 953 0 2670 --41.5833335 -41.4166665 -12.7500005 -12.5833335 1307 0 2670 --41.4166665 -41.2499995 -12.7500005 -12.5833335 346 0 2670 --41.2500005 -41.0833335 -12.7500005 -12.5833335 411 0 2670 --41.0833335 -40.9166665 -12.7500005 -12.5833335 598 0 2670 --40.9166665 -40.7499995 -12.7500005 -12.5833335 512 0 2670 --40.7500005 -40.5833335 -12.7500005 -12.5833335 349 0 2670 --40.5833335 -40.4166665 -12.7500005 -12.5833335 436 0 2670 --40.4166665 -40.2499995 -12.7500005 -12.5833335 280 0 2670 --40.2500005 -40.0833335 -12.7500005 -12.5833335 251 0 2670 --40.0833335 -39.9166665 -12.7500005 -12.5833335 227 0 2670 --65.0833335 -64.9166665 -12.9166665 -12.7499995 139 0 2670 --64.9166665 -64.7499995 -12.9166665 -12.7499995 141 0 2670 --64.7500005 -64.5833335 -12.9166665 -12.7499995 153 0 2670 --64.5833335 -64.4166665 -12.9166665 -12.7499995 141 0 2670 --64.4166665 -64.2499995 -12.9166665 -12.7499995 138 0 2670 --64.2500005 -64.0833335 -12.9166665 -12.7499995 175 0 2670 --64.0833335 -63.9166665 -12.9166665 -12.7499995 146 0 2670 --63.9166665 -63.7499995 -12.9166665 -12.7499995 138 0 2670 --63.7500005 -63.5833335 -12.9166665 -12.7499995 154 0 2670 --63.5833335 -63.4166665 -12.9166665 -12.7499995 158 0 2670 --63.4166665 -63.2499995 -12.9166665 -12.7499995 182 0 2670 --63.2500005 -63.0833335 -12.9166665 -12.7499995 154 0 2670 --63.0833335 -62.9166665 -12.9166665 -12.7499995 150 0 2670 --62.9166665 -62.7499995 -12.9166665 -12.7499995 143 0 2670 --62.7500005 -62.5833335 -12.9166665 -12.7499995 145 0 2670 --62.5833335 -62.4166665 -12.9166665 -12.7499995 149 0 2670 --62.4166665 -62.2499995 -12.9166665 -12.7499995 160 0 2670 --62.2500005 -62.0833335 -12.9166665 -12.7499995 188 0 2670 --62.0833335 -61.9166665 -12.9166665 -12.7499995 167 0 2670 --61.9166665 -61.7499995 -12.9166665 -12.7499995 163 0 2670 --61.7500005 -61.5833335 -12.9166665 -12.7499995 186 0 2670 --61.5833335 -61.4166665 -12.9166665 -12.7499995 193 0 2670 --61.4166665 -61.2499995 -12.9166665 -12.7499995 236 0 2670 --61.2500005 -61.0833335 -12.9166665 -12.7499995 294 0 2670 --61.0833335 -60.9166665 -12.9166665 -12.7499995 299 0 2670 --60.9166665 -60.7499995 -12.9166665 -12.7499995 301 0 2670 --60.7500005 -60.5833335 -12.9166665 -12.7499995 374 0 2670 --60.5833335 -60.4166665 -12.9166665 -12.7499995 338 0 2670 --60.4166665 -60.2499995 -12.9166665 -12.7499995 502 0 2670 --60.2500005 -60.0833335 -12.9166665 -12.7499995 570 0 2670 --60.0833335 -59.9166665 -12.9166665 -12.7499995 589 0 2670 --59.9166665 -59.7499995 -12.9166665 -12.7499995 521 0 2670 --59.7500005 -59.5833335 -12.9166665 -12.7499995 481 0 2670 --59.5833335 -59.4166665 -12.9166665 -12.7499995 457 0 2670 --59.4166665 -59.2499995 -12.9166665 -12.7499995 439 0 2670 --59.2500005 -59.0833335 -12.9166665 -12.7499995 366 0 2670 --59.0833335 -58.9166665 -12.9166665 -12.7499995 427 0 2670 --58.9166665 -58.7499995 -12.9166665 -12.7499995 387 0 2670 --58.7500005 -58.5833335 -12.9166665 -12.7499995 345 0 2670 --58.5833335 -58.4166665 -12.9166665 -12.7499995 391 0 2670 --58.4166665 -58.2499995 -12.9166665 -12.7499995 326 0 2670 --58.2500005 -58.0833335 -12.9166665 -12.7499995 408 0 2670 --58.0833335 -57.9166665 -12.9166665 -12.7499995 408 0 2670 --57.9166665 -57.7499995 -12.9166665 -12.7499995 413 0 2670 --57.7500005 -57.5833335 -12.9166665 -12.7499995 340 0 2670 --57.5833335 -57.4166665 -12.9166665 -12.7499995 335 0 2670 --57.4166665 -57.2499995 -12.9166665 -12.7499995 319 0 2670 --57.2500005 -57.0833335 -12.9166665 -12.7499995 354 0 2670 --57.0833335 -56.9166665 -12.9166665 -12.7499995 338 0 2670 --56.9166665 -56.7499995 -12.9166665 -12.7499995 322 0 2670 --56.7500005 -56.5833335 -12.9166665 -12.7499995 298 0 2670 --56.5833335 -56.4166665 -12.9166665 -12.7499995 380 0 2670 --56.4166665 -56.2499995 -12.9166665 -12.7499995 404 0 2670 --56.2500005 -56.0833335 -12.9166665 -12.7499995 369 0 2670 --56.0833335 -55.9166665 -12.9166665 -12.7499995 366 0 2670 --55.9166665 -55.7499995 -12.9166665 -12.7499995 403 0 2670 --55.7500005 -55.5833335 -12.9166665 -12.7499995 337 0 2670 --55.5833335 -55.4166665 -12.9166665 -12.7499995 417 0 2670 --55.4166665 -55.2499995 -12.9166665 -12.7499995 427 0 2670 --55.2500005 -55.0833335 -12.9166665 -12.7499995 415 0 2670 --55.0833335 -54.9166665 -12.9166665 -12.7499995 378 0 2670 --54.9166665 -54.7499995 -12.9166665 -12.7499995 363 0 2670 --54.7500005 -54.5833335 -12.9166665 -12.7499995 348 0 2670 --54.5833335 -54.4166665 -12.9166665 -12.7499995 381 0 2670 --54.4166665 -54.2499995 -12.9166665 -12.7499995 317 0 2670 --54.2500005 -54.0833335 -12.9166665 -12.7499995 316 0 2670 --54.0833335 -53.9166665 -12.9166665 -12.7499995 352 0 2670 --53.9166665 -53.7499995 -12.9166665 -12.7499995 338 0 2670 --53.7500005 -53.5833335 -12.9166665 -12.7499995 360 0 2670 --53.5833335 -53.4166665 -12.9166665 -12.7499995 357 0 2670 --53.4166665 -53.2499995 -12.9166665 -12.7499995 344 0 2670 --53.2500005 -53.0833335 -12.9166665 -12.7499995 342 0 2670 --53.0833335 -52.9166665 -12.9166665 -12.7499995 307 0 2670 --52.9166665 -52.7499995 -12.9166665 -12.7499995 304 0 2670 --52.7500005 -52.5833335 -12.9166665 -12.7499995 347 0 2670 --52.5833335 -52.4166665 -12.9166665 -12.7499995 335 0 2670 --52.4166665 -52.2499995 -12.9166665 -12.7499995 348 0 2670 --52.2500005 -52.0833335 -12.9166665 -12.7499995 377 0 2670 --52.0833335 -51.9166665 -12.9166665 -12.7499995 350 0 2670 --51.9166665 -51.7499995 -12.9166665 -12.7499995 382 0 2670 --51.7500005 -51.5833335 -12.9166665 -12.7499995 294 0 2670 --51.5833335 -51.4166665 -12.9166665 -12.7499995 242 0 2670 --51.4166665 -51.2499995 -12.9166665 -12.7499995 224 0 2670 --51.2500005 -51.0833335 -12.9166665 -12.7499995 214 0 2670 --51.0833335 -50.9166665 -12.9166665 -12.7499995 214 0 2670 --50.9166665 -50.7499995 -12.9166665 -12.7499995 210 0 2670 --50.7500005 -50.5833335 -12.9166665 -12.7499995 213 0 2670 --50.5833335 -50.4166665 -12.9166665 -12.7499995 214 0 2670 --50.4166665 -50.2499995 -12.9166665 -12.7499995 212 0 2670 --50.2500005 -50.0833335 -12.9166665 -12.7499995 285 0 2670 --50.0833335 -49.9166665 -12.9166665 -12.7499995 293 0 2670 --49.9166665 -49.7499995 -12.9166665 -12.7499995 315 0 2670 --49.7500005 -49.5833335 -12.9166665 -12.7499995 261 0 2670 --49.5833335 -49.4166665 -12.9166665 -12.7499995 265 0 2670 --49.4166665 -49.2499995 -12.9166665 -12.7499995 244 0 2670 --49.2500005 -49.0833335 -12.9166665 -12.7499995 261 0 2670 --49.0833335 -48.9166665 -12.9166665 -12.7499995 296 0 2670 --48.9166665 -48.7499995 -12.9166665 -12.7499995 308 0 2670 --48.7500005 -48.5833335 -12.9166665 -12.7499995 409 0 2670 --48.5833335 -48.4166665 -12.9166665 -12.7499995 429 0 2670 --48.4166665 -48.2499995 -12.9166665 -12.7499995 348 0 2670 --48.2500005 -48.0833335 -12.9166665 -12.7499995 441 0 2670 --48.0833335 -47.9166665 -12.9166665 -12.7499995 910 0 2670 --47.9166665 -47.7499995 -12.9166665 -12.7499995 317 0 2670 --47.7500005 -47.5833335 -12.9166665 -12.7499995 336 0 2670 --47.5833335 -47.4166665 -12.9166665 -12.7499995 371 0 2670 --47.4166665 -47.2499995 -12.9166665 -12.7499995 407 0 2670 --47.2500005 -47.0833335 -12.9166665 -12.7499995 444 0 2670 --47.0833335 -46.9166665 -12.9166665 -12.7499995 572 0 2670 --46.9166665 -46.7499995 -12.9166665 -12.7499995 733 0 2670 --46.7500005 -46.5833335 -12.9166665 -12.7499995 622 0 2670 --46.5833335 -46.4166665 -12.9166665 -12.7499995 425 0 2670 --46.4166665 -46.2499995 -12.9166665 -12.7499995 559 0 2670 --46.2500005 -46.0833335 -12.9166665 -12.7499995 905 0 2670 --46.0833335 -45.9166665 -12.9166665 -12.7499995 790 0 2670 --45.9166665 -45.7499995 -12.9166665 -12.7499995 807 0 2670 --45.7500005 -45.5833335 -12.9166665 -12.7499995 749 0 2670 --45.5833335 -45.4166665 -12.9166665 -12.7499995 756 0 2670 --45.4166665 -45.2499995 -12.9166665 -12.7499995 720 0 2670 --45.2500005 -45.0833335 -12.9166665 -12.7499995 741 0 2670 --45.0833335 -44.9166665 -12.9166665 -12.7499995 735 0 2670 --44.9166665 -44.7499995 -12.9166665 -12.7499995 767 0 2670 --44.7500005 -44.5833335 -12.9166665 -12.7499995 749 0 2670 --44.5833335 -44.4166665 -12.9166665 -12.7499995 788 0 2670 --44.4166665 -44.2499995 -12.9166665 -12.7499995 812 0 2670 --44.2500005 -44.0833335 -12.9166665 -12.7499995 829 0 2670 --44.0833335 -43.9166665 -12.9166665 -12.7499995 720 0 2670 --43.9166665 -43.7499995 -12.9166665 -12.7499995 505 0 2670 --43.7500005 -43.5833335 -12.9166665 -12.7499995 465 0 2670 --43.5833335 -43.4166665 -12.9166665 -12.7499995 442 0 2670 --43.4166665 -43.2499995 -12.9166665 -12.7499995 424 0 2670 --43.2500005 -43.0833335 -12.9166665 -12.7499995 447 0 2670 --43.0833335 -42.9166665 -12.9166665 -12.7499995 628 0 2670 --42.9166665 -42.7499995 -12.9166665 -12.7499995 866 0 2670 --42.7500005 -42.5833335 -12.9166665 -12.7499995 590 0 2670 --42.5833335 -42.4166665 -12.9166665 -12.7499995 501 0 2670 --42.4166665 -42.2499995 -12.9166665 -12.7499995 541 0 2670 --42.2500005 -42.0833335 -12.9166665 -12.7499995 873 0 2670 --42.0833335 -41.9166665 -12.9166665 -12.7499995 1155 0 2670 --41.9166665 -41.7499995 -12.9166665 -12.7499995 1103 0 2670 --41.7500005 -41.5833335 -12.9166665 -12.7499995 1260 0 2670 --41.5833335 -41.4166665 -12.9166665 -12.7499995 1154 0 2670 --41.4166665 -41.2499995 -12.9166665 -12.7499995 533 0 2670 --41.2500005 -41.0833335 -12.9166665 -12.7499995 363 0 2670 --41.0833335 -40.9166665 -12.9166665 -12.7499995 536 0 2670 --40.9166665 -40.7499995 -12.9166665 -12.7499995 652 0 2670 --40.7500005 -40.5833335 -12.9166665 -12.7499995 368 0 2670 --40.5833335 -40.4166665 -12.9166665 -12.7499995 450 0 2670 --40.4166665 -40.2499995 -12.9166665 -12.7499995 413 0 2670 --40.2500005 -40.0833335 -12.9166665 -12.7499995 300 0 2670 --40.0833335 -39.9166665 -12.9166665 -12.7499995 292 0 2670 --65.0833335 -64.9166665 -13.0833335 -12.9166665 143 0 2670 --64.9166665 -64.7499995 -13.0833335 -12.9166665 138 0 2670 --64.7500005 -64.5833335 -13.0833335 -12.9166665 138 0 2670 --64.5833335 -64.4166665 -13.0833335 -12.9166665 146 0 2670 --64.4166665 -64.2499995 -13.0833335 -12.9166665 134 0 2670 --64.2500005 -64.0833335 -13.0833335 -12.9166665 135 0 2670 --64.0833335 -63.9166665 -13.0833335 -12.9166665 146 0 2670 --63.9166665 -63.7499995 -13.0833335 -12.9166665 144 0 2670 --63.7500005 -63.5833335 -13.0833335 -12.9166665 175 0 2670 --63.5833335 -63.4166665 -13.0833335 -12.9166665 169 0 2670 --63.4166665 -63.2499995 -13.0833335 -12.9166665 179 0 2670 --63.2500005 -63.0833335 -13.0833335 -12.9166665 139 0 2670 --63.0833335 -62.9166665 -13.0833335 -12.9166665 149 0 2670 --62.9166665 -62.7499995 -13.0833335 -12.9166665 157 0 2670 --62.7500005 -62.5833335 -13.0833335 -12.9166665 158 0 2670 --62.5833335 -62.4166665 -13.0833335 -12.9166665 156 0 2670 --62.4166665 -62.2499995 -13.0833335 -12.9166665 220 0 2670 --62.2500005 -62.0833335 -13.0833335 -12.9166665 151 0 2670 --62.0833335 -61.9166665 -13.0833335 -12.9166665 160 0 2670 --61.9166665 -61.7499995 -13.0833335 -12.9166665 159 0 2670 --61.7500005 -61.5833335 -13.0833335 -12.9166665 179 0 2670 --61.5833335 -61.4166665 -13.0833335 -12.9166665 168 0 2670 --61.4166665 -61.2499995 -13.0833335 -12.9166665 205 0 2670 --61.2500005 -61.0833335 -13.0833335 -12.9166665 221 0 2670 --61.0833335 -60.9166665 -13.0833335 -12.9166665 253 0 2670 --60.9166665 -60.7499995 -13.0833335 -12.9166665 263 0 2670 --60.7500005 -60.5833335 -13.0833335 -12.9166665 554 0 2670 --60.5833335 -60.4166665 -13.0833335 -12.9166665 362 0 2670 --60.4166665 -60.2499995 -13.0833335 -12.9166665 322 0 2670 --60.2500005 -60.0833335 -13.0833335 -12.9166665 372 0 2670 --60.0833335 -59.9166665 -13.0833335 -12.9166665 566 0 2670 --59.9166665 -59.7499995 -13.0833335 -12.9166665 555 0 2670 --59.7500005 -59.5833335 -13.0833335 -12.9166665 535 0 2670 --59.5833335 -59.4166665 -13.0833335 -12.9166665 478 0 2670 --59.4166665 -59.2499995 -13.0833335 -12.9166665 449 0 2670 --59.2500005 -59.0833335 -13.0833335 -12.9166665 391 0 2670 --59.0833335 -58.9166665 -13.0833335 -12.9166665 431 0 2670 --58.9166665 -58.7499995 -13.0833335 -12.9166665 425 0 2670 --58.7500005 -58.5833335 -13.0833335 -12.9166665 457 0 2670 --58.5833335 -58.4166665 -13.0833335 -12.9166665 386 0 2670 --58.4166665 -58.2499995 -13.0833335 -12.9166665 378 0 2670 --58.2500005 -58.0833335 -13.0833335 -12.9166665 398 0 2670 --58.0833335 -57.9166665 -13.0833335 -12.9166665 415 0 2670 --57.9166665 -57.7499995 -13.0833335 -12.9166665 425 0 2670 --57.7500005 -57.5833335 -13.0833335 -12.9166665 375 0 2670 --57.5833335 -57.4166665 -13.0833335 -12.9166665 339 0 2670 --57.4166665 -57.2499995 -13.0833335 -12.9166665 319 0 2670 --57.2500005 -57.0833335 -13.0833335 -12.9166665 331 0 2670 --57.0833335 -56.9166665 -13.0833335 -12.9166665 386 0 2670 --56.9166665 -56.7499995 -13.0833335 -12.9166665 331 0 2670 --56.7500005 -56.5833335 -13.0833335 -12.9166665 300 0 2670 --56.5833335 -56.4166665 -13.0833335 -12.9166665 340 0 2670 --56.4166665 -56.2499995 -13.0833335 -12.9166665 371 0 2670 --56.2500005 -56.0833335 -13.0833335 -12.9166665 402 0 2670 --56.0833335 -55.9166665 -13.0833335 -12.9166665 405 0 2670 --55.9166665 -55.7499995 -13.0833335 -12.9166665 410 0 2670 --55.7500005 -55.5833335 -13.0833335 -12.9166665 356 0 2670 --55.5833335 -55.4166665 -13.0833335 -12.9166665 415 0 2670 --55.4166665 -55.2499995 -13.0833335 -12.9166665 418 0 2670 --55.2500005 -55.0833335 -13.0833335 -12.9166665 445 0 2670 --55.0833335 -54.9166665 -13.0833335 -12.9166665 403 0 2670 --54.9166665 -54.7499995 -13.0833335 -12.9166665 357 0 2670 --54.7500005 -54.5833335 -13.0833335 -12.9166665 347 0 2670 --54.5833335 -54.4166665 -13.0833335 -12.9166665 380 0 2670 --54.4166665 -54.2499995 -13.0833335 -12.9166665 365 0 2670 --54.2500005 -54.0833335 -13.0833335 -12.9166665 362 0 2670 --54.0833335 -53.9166665 -13.0833335 -12.9166665 325 0 2670 --53.9166665 -53.7499995 -13.0833335 -12.9166665 382 0 2670 --53.7500005 -53.5833335 -13.0833335 -12.9166665 359 0 2670 --53.5833335 -53.4166665 -13.0833335 -12.9166665 371 0 2670 --53.4166665 -53.2499995 -13.0833335 -12.9166665 343 0 2670 --53.2500005 -53.0833335 -13.0833335 -12.9166665 364 0 2670 --53.0833335 -52.9166665 -13.0833335 -12.9166665 335 0 2670 --52.9166665 -52.7499995 -13.0833335 -12.9166665 344 0 2670 --52.7500005 -52.5833335 -13.0833335 -12.9166665 367 0 2670 --52.5833335 -52.4166665 -13.0833335 -12.9166665 367 0 2670 --52.4166665 -52.2499995 -13.0833335 -12.9166665 355 0 2670 --52.2500005 -52.0833335 -13.0833335 -12.9166665 342 0 2670 --52.0833335 -51.9166665 -13.0833335 -12.9166665 397 0 2670 --51.9166665 -51.7499995 -13.0833335 -12.9166665 360 0 2670 --51.7500005 -51.5833335 -13.0833335 -12.9166665 261 0 2670 --51.5833335 -51.4166665 -13.0833335 -12.9166665 236 0 2670 --51.4166665 -51.2499995 -13.0833335 -12.9166665 224 0 2670 --51.2500005 -51.0833335 -13.0833335 -12.9166665 219 0 2670 --51.0833335 -50.9166665 -13.0833335 -12.9166665 217 0 2670 --50.9166665 -50.7499995 -13.0833335 -12.9166665 215 0 2670 --50.7500005 -50.5833335 -13.0833335 -12.9166665 216 0 2670 --50.5833335 -50.4166665 -13.0833335 -12.9166665 212 0 2670 --50.4166665 -50.2499995 -13.0833335 -12.9166665 221 0 2670 --50.2500005 -50.0833335 -13.0833335 -12.9166665 259 0 2670 --50.0833335 -49.9166665 -13.0833335 -12.9166665 270 0 2670 --49.9166665 -49.7499995 -13.0833335 -12.9166665 277 0 2670 --49.7500005 -49.5833335 -13.0833335 -12.9166665 294 0 2670 --49.5833335 -49.4166665 -13.0833335 -12.9166665 244 0 2670 --49.4166665 -49.2499995 -13.0833335 -12.9166665 285 0 2670 --49.2500005 -49.0833335 -13.0833335 -12.9166665 304 0 2670 --49.0833335 -48.9166665 -13.0833335 -12.9166665 409 0 2670 --48.9166665 -48.7499995 -13.0833335 -12.9166665 306 0 2670 --48.7500005 -48.5833335 -13.0833335 -12.9166665 344 0 2670 --48.5833335 -48.4166665 -13.0833335 -12.9166665 774 0 2670 --48.4166665 -48.2499995 -13.0833335 -12.9166665 432 0 2670 --48.2500005 -48.0833335 -13.0833335 -12.9166665 302 0 2670 --48.0833335 -47.9166665 -13.0833335 -12.9166665 743 0 2670 --47.9166665 -47.7499995 -13.0833335 -12.9166665 371 0 2670 --47.7500005 -47.5833335 -13.0833335 -12.9166665 335 0 2670 --47.5833335 -47.4166665 -13.0833335 -12.9166665 353 0 2670 --47.4166665 -47.2499995 -13.0833335 -12.9166665 404 0 2670 --47.2500005 -47.0833335 -13.0833335 -12.9166665 409 0 2670 --47.0833335 -46.9166665 -13.0833335 -12.9166665 584 0 2670 --46.9166665 -46.7499995 -13.0833335 -12.9166665 579 0 2670 --46.7500005 -46.5833335 -13.0833335 -12.9166665 638 0 2670 --46.5833335 -46.4166665 -13.0833335 -12.9166665 693 0 2670 --46.4166665 -46.2499995 -13.0833335 -12.9166665 684 0 2670 --46.2500005 -46.0833335 -13.0833335 -12.9166665 922 0 2670 --46.0833335 -45.9166665 -13.0833335 -12.9166665 841 0 2670 --45.9166665 -45.7499995 -13.0833335 -12.9166665 828 0 2670 --45.7500005 -45.5833335 -13.0833335 -12.9166665 777 0 2670 --45.5833335 -45.4166665 -13.0833335 -12.9166665 764 0 2670 --45.4166665 -45.2499995 -13.0833335 -12.9166665 762 0 2670 --45.2500005 -45.0833335 -13.0833335 -12.9166665 754 0 2670 --45.0833335 -44.9166665 -13.0833335 -12.9166665 752 0 2670 --44.9166665 -44.7499995 -13.0833335 -12.9166665 650 0 2670 --44.7500005 -44.5833335 -13.0833335 -12.9166665 702 0 2670 --44.5833335 -44.4166665 -13.0833335 -12.9166665 747 0 2670 --44.4166665 -44.2499995 -13.0833335 -12.9166665 783 0 2670 --44.2500005 -44.0833335 -13.0833335 -12.9166665 631 0 2670 --44.0833335 -43.9166665 -13.0833335 -12.9166665 522 0 2670 --43.9166665 -43.7499995 -13.0833335 -12.9166665 473 0 2670 --43.7500005 -43.5833335 -13.0833335 -12.9166665 461 0 2670 --43.5833335 -43.4166665 -13.0833335 -12.9166665 439 0 2670 --43.4166665 -43.2499995 -13.0833335 -12.9166665 430 0 2670 --43.2500005 -43.0833335 -13.0833335 -12.9166665 452 0 2670 --43.0833335 -42.9166665 -13.0833335 -12.9166665 883 0 2670 --42.9166665 -42.7499995 -13.0833335 -12.9166665 922 0 2670 --42.7500005 -42.5833335 -13.0833335 -12.9166665 634 0 2670 --42.5833335 -42.4166665 -13.0833335 -12.9166665 544 0 2670 --42.4166665 -42.2499995 -13.0833335 -12.9166665 554 0 2670 --42.2500005 -42.0833335 -13.0833335 -12.9166665 884 0 2670 --42.0833335 -41.9166665 -13.0833335 -12.9166665 1263 0 2670 --41.9166665 -41.7499995 -13.0833335 -12.9166665 1279 0 2670 --41.7500005 -41.5833335 -13.0833335 -12.9166665 1242 0 2670 --41.5833335 -41.4166665 -13.0833335 -12.9166665 1087 0 2670 --41.4166665 -41.2499995 -13.0833335 -12.9166665 982 0 2670 --41.2500005 -41.0833335 -13.0833335 -12.9166665 445 0 2670 --41.0833335 -40.9166665 -13.0833335 -12.9166665 604 0 2670 --40.9166665 -40.7499995 -13.0833335 -12.9166665 320 0 2670 --40.7500005 -40.5833335 -13.0833335 -12.9166665 281 0 2670 --40.5833335 -40.4166665 -13.0833335 -12.9166665 296 0 2670 --40.4166665 -40.2499995 -13.0833335 -12.9166665 718 0 2670 --40.2500005 -40.0833335 -13.0833335 -12.9166665 542 0 2670 --40.0833335 -39.9166665 -13.0833335 -12.9166665 538 0 2670 --65.0833335 -64.9166665 -13.2500005 -13.0833335 136 0 2670 --64.9166665 -64.7499995 -13.2500005 -13.0833335 134 0 2670 --64.7500005 -64.5833335 -13.2500005 -13.0833335 138 0 2670 --64.5833335 -64.4166665 -13.2500005 -13.0833335 139 0 2670 --64.4166665 -64.2499995 -13.2500005 -13.0833335 136 0 2670 --64.2500005 -64.0833335 -13.2500005 -13.0833335 137 0 2670 --64.0833335 -63.9166665 -13.2500005 -13.0833335 141 0 2670 --63.9166665 -63.7499995 -13.2500005 -13.0833335 140 0 2670 --63.7500005 -63.5833335 -13.2500005 -13.0833335 153 0 2670 --63.5833335 -63.4166665 -13.2500005 -13.0833335 198 0 2670 --63.4166665 -63.2499995 -13.2500005 -13.0833335 164 0 2670 --63.2500005 -63.0833335 -13.2500005 -13.0833335 148 0 2670 --63.0833335 -62.9166665 -13.2500005 -13.0833335 141 0 2670 --62.9166665 -62.7499995 -13.2500005 -13.0833335 188 0 2670 --62.7500005 -62.5833335 -13.2500005 -13.0833335 169 0 2670 --62.5833335 -62.4166665 -13.2500005 -13.0833335 175 0 2670 --62.4166665 -62.2499995 -13.2500005 -13.0833335 162 0 2670 --62.2500005 -62.0833335 -13.2500005 -13.0833335 165 0 2670 --62.0833335 -61.9166665 -13.2500005 -13.0833335 160 0 2670 --61.9166665 -61.7499995 -13.2500005 -13.0833335 158 0 2670 --61.7500005 -61.5833335 -13.2500005 -13.0833335 166 0 2670 --61.5833335 -61.4166665 -13.2500005 -13.0833335 174 0 2670 --61.4166665 -61.2499995 -13.2500005 -13.0833335 185 0 2670 --61.2500005 -61.0833335 -13.2500005 -13.0833335 193 0 2670 --61.0833335 -60.9166665 -13.2500005 -13.0833335 232 0 2670 --60.9166665 -60.7499995 -13.2500005 -13.0833335 255 0 2670 --60.7500005 -60.5833335 -13.2500005 -13.0833335 269 0 2670 --60.5833335 -60.4166665 -13.2500005 -13.0833335 412 0 2670 --60.4166665 -60.2499995 -13.2500005 -13.0833335 274 0 2670 --60.2500005 -60.0833335 -13.2500005 -13.0833335 291 0 2670 --60.0833335 -59.9166665 -13.2500005 -13.0833335 469 0 2670 --59.9166665 -59.7499995 -13.2500005 -13.0833335 559 0 2670 --59.7500005 -59.5833335 -13.2500005 -13.0833335 501 0 2670 --59.5833335 -59.4166665 -13.2500005 -13.0833335 438 0 2670 --59.4166665 -59.2499995 -13.2500005 -13.0833335 423 0 2670 --59.2500005 -59.0833335 -13.2500005 -13.0833335 437 0 2670 --59.0833335 -58.9166665 -13.2500005 -13.0833335 374 0 2670 --58.9166665 -58.7499995 -13.2500005 -13.0833335 487 0 2670 --58.7500005 -58.5833335 -13.2500005 -13.0833335 513 0 2670 --58.5833335 -58.4166665 -13.2500005 -13.0833335 444 0 2670 --58.4166665 -58.2499995 -13.2500005 -13.0833335 429 0 2670 --58.2500005 -58.0833335 -13.2500005 -13.0833335 415 0 2670 --58.0833335 -57.9166665 -13.2500005 -13.0833335 483 0 2670 --57.9166665 -57.7499995 -13.2500005 -13.0833335 478 0 2670 --57.7500005 -57.5833335 -13.2500005 -13.0833335 392 0 2670 --57.5833335 -57.4166665 -13.2500005 -13.0833335 313 0 2670 --57.4166665 -57.2499995 -13.2500005 -13.0833335 376 0 2670 --57.2500005 -57.0833335 -13.2500005 -13.0833335 308 0 2670 --57.0833335 -56.9166665 -13.2500005 -13.0833335 377 0 2670 --56.9166665 -56.7499995 -13.2500005 -13.0833335 351 0 2670 --56.7500005 -56.5833335 -13.2500005 -13.0833335 320 0 2670 --56.5833335 -56.4166665 -13.2500005 -13.0833335 397 0 2670 --56.4166665 -56.2499995 -13.2500005 -13.0833335 367 0 2670 --56.2500005 -56.0833335 -13.2500005 -13.0833335 415 0 2670 --56.0833335 -55.9166665 -13.2500005 -13.0833335 410 0 2670 --55.9166665 -55.7499995 -13.2500005 -13.0833335 405 0 2670 --55.7500005 -55.5833335 -13.2500005 -13.0833335 349 0 2670 --55.5833335 -55.4166665 -13.2500005 -13.0833335 431 0 2670 --55.4166665 -55.2499995 -13.2500005 -13.0833335 439 0 2670 --55.2500005 -55.0833335 -13.2500005 -13.0833335 437 0 2670 --55.0833335 -54.9166665 -13.2500005 -13.0833335 432 0 2670 --54.9166665 -54.7499995 -13.2500005 -13.0833335 354 0 2670 --54.7500005 -54.5833335 -13.2500005 -13.0833335 400 0 2670 --54.5833335 -54.4166665 -13.2500005 -13.0833335 383 0 2670 --54.4166665 -54.2499995 -13.2500005 -13.0833335 390 0 2670 --54.2500005 -54.0833335 -13.2500005 -13.0833335 352 0 2670 --54.0833335 -53.9166665 -13.2500005 -13.0833335 325 0 2670 --53.9166665 -53.7499995 -13.2500005 -13.0833335 392 0 2670 --53.7500005 -53.5833335 -13.2500005 -13.0833335 357 0 2670 --53.5833335 -53.4166665 -13.2500005 -13.0833335 356 0 2670 --53.4166665 -53.2499995 -13.2500005 -13.0833335 378 0 2670 --53.2500005 -53.0833335 -13.2500005 -13.0833335 399 0 2670 --53.0833335 -52.9166665 -13.2500005 -13.0833335 390 0 2670 --52.9166665 -52.7499995 -13.2500005 -13.0833335 379 0 2670 --52.7500005 -52.5833335 -13.2500005 -13.0833335 318 0 2670 --52.5833335 -52.4166665 -13.2500005 -13.0833335 360 0 2670 --52.4166665 -52.2499995 -13.2500005 -13.0833335 366 0 2670 --52.2500005 -52.0833335 -13.2500005 -13.0833335 353 0 2670 --52.0833335 -51.9166665 -13.2500005 -13.0833335 333 0 2670 --51.9166665 -51.7499995 -13.2500005 -13.0833335 386 0 2670 --51.7500005 -51.5833335 -13.2500005 -13.0833335 309 0 2670 --51.5833335 -51.4166665 -13.2500005 -13.0833335 250 0 2670 --51.4166665 -51.2499995 -13.2500005 -13.0833335 230 0 2670 --51.2500005 -51.0833335 -13.2500005 -13.0833335 218 0 2670 --51.0833335 -50.9166665 -13.2500005 -13.0833335 219 0 2670 --50.9166665 -50.7499995 -13.2500005 -13.0833335 216 0 2670 --50.7500005 -50.5833335 -13.2500005 -13.0833335 214 0 2670 --50.5833335 -50.4166665 -13.2500005 -13.0833335 214 0 2670 --50.4166665 -50.2499995 -13.2500005 -13.0833335 255 0 2670 --50.2500005 -50.0833335 -13.2500005 -13.0833335 350 0 2670 --50.0833335 -49.9166665 -13.2500005 -13.0833335 312 0 2670 --49.9166665 -49.7499995 -13.2500005 -13.0833335 296 0 2670 --49.7500005 -49.5833335 -13.2500005 -13.0833335 284 0 2670 --49.5833335 -49.4166665 -13.2500005 -13.0833335 253 0 2670 --49.4166665 -49.2499995 -13.2500005 -13.0833335 312 0 2670 --49.2500005 -49.0833335 -13.2500005 -13.0833335 313 0 2670 --49.0833335 -48.9166665 -13.2500005 -13.0833335 327 0 2670 --48.9166665 -48.7499995 -13.2500005 -13.0833335 313 0 2670 --48.7500005 -48.5833335 -13.2500005 -13.0833335 519 0 2670 --48.5833335 -48.4166665 -13.2500005 -13.0833335 660 0 2670 --48.4166665 -48.2499995 -13.2500005 -13.0833335 444 0 2670 --48.2500005 -48.0833335 -13.2500005 -13.0833335 310 0 2670 --48.0833335 -47.9166665 -13.2500005 -13.0833335 551 0 2670 --47.9166665 -47.7499995 -13.2500005 -13.0833335 878 0 2670 --47.7500005 -47.5833335 -13.2500005 -13.0833335 332 0 2670 --47.5833335 -47.4166665 -13.2500005 -13.0833335 341 0 2670 --47.4166665 -47.2499995 -13.2500005 -13.0833335 415 0 2670 --47.2500005 -47.0833335 -13.2500005 -13.0833335 424 0 2670 --47.0833335 -46.9166665 -13.2500005 -13.0833335 490 0 2670 --46.9166665 -46.7499995 -13.2500005 -13.0833335 677 0 2670 --46.7500005 -46.5833335 -13.2500005 -13.0833335 543 0 2670 --46.5833335 -46.4166665 -13.2500005 -13.0833335 608 0 2670 --46.4166665 -46.2499995 -13.2500005 -13.0833335 745 0 2670 --46.2500005 -46.0833335 -13.2500005 -13.0833335 942 0 2670 --46.0833335 -45.9166665 -13.2500005 -13.0833335 869 0 2670 --45.9166665 -45.7499995 -13.2500005 -13.0833335 841 0 2670 --45.7500005 -45.5833335 -13.2500005 -13.0833335 801 0 2670 --45.5833335 -45.4166665 -13.2500005 -13.0833335 761 0 2670 --45.4166665 -45.2499995 -13.2500005 -13.0833335 735 0 2670 --45.2500005 -45.0833335 -13.2500005 -13.0833335 760 0 2670 --45.0833335 -44.9166665 -13.2500005 -13.0833335 675 0 2670 --44.9166665 -44.7499995 -13.2500005 -13.0833335 734 0 2670 --44.7500005 -44.5833335 -13.2500005 -13.0833335 611 0 2670 --44.5833335 -44.4166665 -13.2500005 -13.0833335 694 0 2670 --44.4166665 -44.2499995 -13.2500005 -13.0833335 781 0 2670 --44.2500005 -44.0833335 -13.2500005 -13.0833335 642 0 2670 --44.0833335 -43.9166665 -13.2500005 -13.0833335 517 0 2670 --43.9166665 -43.7499995 -13.2500005 -13.0833335 472 0 2670 --43.7500005 -43.5833335 -13.2500005 -13.0833335 436 0 2670 --43.5833335 -43.4166665 -13.2500005 -13.0833335 436 0 2670 --43.4166665 -43.2499995 -13.2500005 -13.0833335 442 0 2670 --43.2500005 -43.0833335 -13.2500005 -13.0833335 450 0 2670 --43.0833335 -42.9166665 -13.2500005 -13.0833335 493 0 2670 --42.9166665 -42.7499995 -13.2500005 -13.0833335 659 0 2670 --42.7500005 -42.5833335 -13.2500005 -13.0833335 680 0 2670 --42.5833335 -42.4166665 -13.2500005 -13.0833335 622 0 2670 --42.4166665 -42.2499995 -13.2500005 -13.0833335 568 0 2670 --42.2500005 -42.0833335 -13.2500005 -13.0833335 908 0 2670 --42.0833335 -41.9166665 -13.2500005 -13.0833335 1185 0 2670 --41.9166665 -41.7499995 -13.2500005 -13.0833335 1349 0 2670 --41.7500005 -41.5833335 -13.2500005 -13.0833335 906 0 2670 --41.5833335 -41.4166665 -13.2500005 -13.0833335 1146 0 2670 --41.4166665 -41.2499995 -13.2500005 -13.0833335 1387 0 2670 --41.2500005 -41.0833335 -13.2500005 -13.0833335 835 0 2670 --41.0833335 -40.9166665 -13.2500005 -13.0833335 572 0 2670 --40.9166665 -40.7499995 -13.2500005 -13.0833335 391 0 2670 --40.7500005 -40.5833335 -13.2500005 -13.0833335 323 0 2670 --40.5833335 -40.4166665 -13.2500005 -13.0833335 629 0 2670 --40.4166665 -40.2499995 -13.2500005 -13.0833335 819 0 2670 --40.2500005 -40.0833335 -13.2500005 -13.0833335 842 0 2670 --40.0833335 -39.9166665 -13.2500005 -13.0833335 596 0 2670 --65.0833335 -64.9166665 -13.4166665 -13.2499995 137 0 2670 --64.9166665 -64.7499995 -13.4166665 -13.2499995 140 0 2670 --64.7500005 -64.5833335 -13.4166665 -13.2499995 138 0 2670 --64.5833335 -64.4166665 -13.4166665 -13.2499995 135 0 2670 --64.4166665 -64.2499995 -13.4166665 -13.2499995 137 0 2670 --64.2500005 -64.0833335 -13.4166665 -13.2499995 140 0 2670 --64.0833335 -63.9166665 -13.4166665 -13.2499995 140 0 2670 --63.9166665 -63.7499995 -13.4166665 -13.2499995 140 0 2670 --63.7500005 -63.5833335 -13.4166665 -13.2499995 142 0 2670 --63.5833335 -63.4166665 -13.4166665 -13.2499995 152 0 2670 --63.4166665 -63.2499995 -13.4166665 -13.2499995 143 0 2670 --63.2500005 -63.0833335 -13.4166665 -13.2499995 143 0 2670 --63.0833335 -62.9166665 -13.4166665 -13.2499995 147 0 2670 --62.9166665 -62.7499995 -13.4166665 -13.2499995 164 0 2670 --62.7500005 -62.5833335 -13.4166665 -13.2499995 210 0 2670 --62.5833335 -62.4166665 -13.4166665 -13.2499995 213 0 2670 --62.4166665 -62.2499995 -13.4166665 -13.2499995 152 0 2670 --62.2500005 -62.0833335 -13.4166665 -13.2499995 159 0 2670 --62.0833335 -61.9166665 -13.4166665 -13.2499995 166 0 2670 --61.9166665 -61.7499995 -13.4166665 -13.2499995 156 0 2670 --61.7500005 -61.5833335 -13.4166665 -13.2499995 161 0 2670 --61.5833335 -61.4166665 -13.4166665 -13.2499995 164 0 2670 --61.4166665 -61.2499995 -13.4166665 -13.2499995 166 0 2670 --61.2500005 -61.0833335 -13.4166665 -13.2499995 179 0 2670 --61.0833335 -60.9166665 -13.4166665 -13.2499995 193 0 2670 --60.9166665 -60.7499995 -13.4166665 -13.2499995 204 0 2670 --60.7500005 -60.5833335 -13.4166665 -13.2499995 239 0 2670 --60.5833335 -60.4166665 -13.4166665 -13.2499995 359 0 2670 --60.4166665 -60.2499995 -13.4166665 -13.2499995 248 0 2670 --60.2500005 -60.0833335 -13.4166665 -13.2499995 396 0 2670 --60.0833335 -59.9166665 -13.4166665 -13.2499995 456 0 2670 --59.9166665 -59.7499995 -13.4166665 -13.2499995 609 0 2670 --59.7500005 -59.5833335 -13.4166665 -13.2499995 568 0 2670 --59.5833335 -59.4166665 -13.4166665 -13.2499995 455 0 2670 --59.4166665 -59.2499995 -13.4166665 -13.2499995 509 0 2670 --59.2500005 -59.0833335 -13.4166665 -13.2499995 457 0 2670 --59.0833335 -58.9166665 -13.4166665 -13.2499995 443 0 2670 --58.9166665 -58.7499995 -13.4166665 -13.2499995 494 0 2670 --58.7500005 -58.5833335 -13.4166665 -13.2499995 471 0 2670 --58.5833335 -58.4166665 -13.4166665 -13.2499995 522 0 2670 --58.4166665 -58.2499995 -13.4166665 -13.2499995 433 0 2670 --58.2500005 -58.0833335 -13.4166665 -13.2499995 504 0 2670 --58.0833335 -57.9166665 -13.4166665 -13.2499995 478 0 2670 --57.9166665 -57.7499995 -13.4166665 -13.2499995 449 0 2670 --57.7500005 -57.5833335 -13.4166665 -13.2499995 434 0 2670 --57.5833335 -57.4166665 -13.4166665 -13.2499995 391 0 2670 --57.4166665 -57.2499995 -13.4166665 -13.2499995 364 0 2670 --57.2500005 -57.0833335 -13.4166665 -13.2499995 354 0 2670 --57.0833335 -56.9166665 -13.4166665 -13.2499995 317 0 2670 --56.9166665 -56.7499995 -13.4166665 -13.2499995 343 0 2670 --56.7500005 -56.5833335 -13.4166665 -13.2499995 328 0 2670 --56.5833335 -56.4166665 -13.4166665 -13.2499995 349 0 2670 --56.4166665 -56.2499995 -13.4166665 -13.2499995 375 0 2670 --56.2500005 -56.0833335 -13.4166665 -13.2499995 404 0 2670 --56.0833335 -55.9166665 -13.4166665 -13.2499995 427 0 2670 --55.9166665 -55.7499995 -13.4166665 -13.2499995 413 0 2670 --55.7500005 -55.5833335 -13.4166665 -13.2499995 442 0 2670 --55.5833335 -55.4166665 -13.4166665 -13.2499995 353 0 2670 --55.4166665 -55.2499995 -13.4166665 -13.2499995 446 0 2670 --55.2500005 -55.0833335 -13.4166665 -13.2499995 431 0 2670 --55.0833335 -54.9166665 -13.4166665 -13.2499995 448 0 2670 --54.9166665 -54.7499995 -13.4166665 -13.2499995 413 0 2670 --54.7500005 -54.5833335 -13.4166665 -13.2499995 450 0 2670 --54.5833335 -54.4166665 -13.4166665 -13.2499995 423 0 2670 --54.4166665 -54.2499995 -13.4166665 -13.2499995 452 0 2670 --54.2500005 -54.0833335 -13.4166665 -13.2499995 407 0 2670 --54.0833335 -53.9166665 -13.4166665 -13.2499995 387 0 2670 --53.9166665 -53.7499995 -13.4166665 -13.2499995 391 0 2670 --53.7500005 -53.5833335 -13.4166665 -13.2499995 395 0 2670 --53.5833335 -53.4166665 -13.4166665 -13.2499995 397 0 2670 --53.4166665 -53.2499995 -13.4166665 -13.2499995 361 0 2670 --53.2500005 -53.0833335 -13.4166665 -13.2499995 414 0 2670 --53.0833335 -52.9166665 -13.4166665 -13.2499995 318 0 2670 --52.9166665 -52.7499995 -13.4166665 -13.2499995 394 0 2670 --52.7500005 -52.5833335 -13.4166665 -13.2499995 373 0 2670 --52.5833335 -52.4166665 -13.4166665 -13.2499995 307 0 2670 --52.4166665 -52.2499995 -13.4166665 -13.2499995 345 0 2670 --52.2500005 -52.0833335 -13.4166665 -13.2499995 370 0 2670 --52.0833335 -51.9166665 -13.4166665 -13.2499995 370 0 2670 --51.9166665 -51.7499995 -13.4166665 -13.2499995 395 0 2670 --51.7500005 -51.5833335 -13.4166665 -13.2499995 260 0 2670 --51.5833335 -51.4166665 -13.4166665 -13.2499995 242 0 2670 --51.4166665 -51.2499995 -13.4166665 -13.2499995 224 0 2670 --51.2500005 -51.0833335 -13.4166665 -13.2499995 224 0 2670 --51.0833335 -50.9166665 -13.4166665 -13.2499995 220 0 2670 --50.9166665 -50.7499995 -13.4166665 -13.2499995 220 0 2670 --50.7500005 -50.5833335 -13.4166665 -13.2499995 223 0 2670 --50.5833335 -50.4166665 -13.4166665 -13.2499995 235 0 2670 --50.4166665 -50.2499995 -13.4166665 -13.2499995 288 0 2670 --50.2500005 -50.0833335 -13.4166665 -13.2499995 332 0 2670 --50.0833335 -49.9166665 -13.4166665 -13.2499995 245 0 2670 --49.9166665 -49.7499995 -13.4166665 -13.2499995 268 0 2670 --49.7500005 -49.5833335 -13.4166665 -13.2499995 292 0 2670 --49.5833335 -49.4166665 -13.4166665 -13.2499995 304 0 2670 --49.4166665 -49.2499995 -13.4166665 -13.2499995 459 0 2670 --49.2500005 -49.0833335 -13.4166665 -13.2499995 359 0 2670 --49.0833335 -48.9166665 -13.4166665 -13.2499995 316 0 2670 --48.9166665 -48.7499995 -13.4166665 -13.2499995 338 0 2670 --48.7500005 -48.5833335 -13.4166665 -13.2499995 411 0 2670 --48.5833335 -48.4166665 -13.4166665 -13.2499995 712 0 2670 --48.4166665 -48.2499995 -13.4166665 -13.2499995 393 0 2670 --48.2500005 -48.0833335 -13.4166665 -13.2499995 300 0 2670 --48.0833335 -47.9166665 -13.4166665 -13.2499995 856 0 2670 --47.9166665 -47.7499995 -13.4166665 -13.2499995 978 0 2670 --47.7500005 -47.5833335 -13.4166665 -13.2499995 457 0 2670 --47.5833335 -47.4166665 -13.4166665 -13.2499995 617 0 2670 --47.4166665 -47.2499995 -13.4166665 -13.2499995 447 0 2670 --47.2500005 -47.0833335 -13.4166665 -13.2499995 459 0 2670 --47.0833335 -46.9166665 -13.4166665 -13.2499995 432 0 2670 --46.9166665 -46.7499995 -13.4166665 -13.2499995 684 0 2670 --46.7500005 -46.5833335 -13.4166665 -13.2499995 488 0 2670 --46.5833335 -46.4166665 -13.4166665 -13.2499995 609 0 2670 --46.4166665 -46.2499995 -13.4166665 -13.2499995 688 0 2670 --46.2500005 -46.0833335 -13.4166665 -13.2499995 942 0 2670 --46.0833335 -45.9166665 -13.4166665 -13.2499995 888 0 2670 --45.9166665 -45.7499995 -13.4166665 -13.2499995 828 0 2670 --45.7500005 -45.5833335 -13.4166665 -13.2499995 799 0 2670 --45.5833335 -45.4166665 -13.4166665 -13.2499995 766 0 2670 --45.4166665 -45.2499995 -13.4166665 -13.2499995 770 0 2670 --45.2500005 -45.0833335 -13.4166665 -13.2499995 731 0 2670 --45.0833335 -44.9166665 -13.4166665 -13.2499995 759 0 2670 --44.9166665 -44.7499995 -13.4166665 -13.2499995 674 0 2670 --44.7500005 -44.5833335 -13.4166665 -13.2499995 603 0 2670 --44.5833335 -44.4166665 -13.4166665 -13.2499995 573 0 2670 --44.4166665 -44.2499995 -13.4166665 -13.2499995 601 0 2670 --44.2500005 -44.0833335 -13.4166665 -13.2499995 599 0 2670 --44.0833335 -43.9166665 -13.4166665 -13.2499995 465 0 2670 --43.9166665 -43.7499995 -13.4166665 -13.2499995 478 0 2670 --43.7500005 -43.5833335 -13.4166665 -13.2499995 460 0 2670 --43.5833335 -43.4166665 -13.4166665 -13.2499995 437 0 2670 --43.4166665 -43.2499995 -13.4166665 -13.2499995 444 0 2670 --43.2500005 -43.0833335 -13.4166665 -13.2499995 465 0 2670 --43.0833335 -42.9166665 -13.4166665 -13.2499995 650 0 2670 --42.9166665 -42.7499995 -13.4166665 -13.2499995 728 0 2670 --42.7500005 -42.5833335 -13.4166665 -13.2499995 856 0 2670 --42.5833335 -42.4166665 -13.4166665 -13.2499995 635 0 2670 --42.4166665 -42.2499995 -13.4166665 -13.2499995 600 0 2670 --42.2500005 -42.0833335 -13.4166665 -13.2499995 783 0 2670 --42.0833335 -41.9166665 -13.4166665 -13.2499995 1014 0 2670 --41.9166665 -41.7499995 -13.4166665 -13.2499995 1220 0 2670 --41.7500005 -41.5833335 -13.4166665 -13.2499995 820 0 2670 --41.5833335 -41.4166665 -13.4166665 -13.2499995 1206 0 2670 --41.4166665 -41.2499995 -13.4166665 -13.2499995 1084 0 2670 --41.2500005 -41.0833335 -13.4166665 -13.2499995 689 0 2670 --41.0833335 -40.9166665 -13.4166665 -13.2499995 695 0 2670 --40.9166665 -40.7499995 -13.4166665 -13.2499995 488 0 2670 --40.7500005 -40.5833335 -13.4166665 -13.2499995 477 0 2670 --40.5833335 -40.4166665 -13.4166665 -13.2499995 898 0 2670 --40.4166665 -40.2499995 -13.4166665 -13.2499995 807 0 2670 --40.2500005 -40.0833335 -13.4166665 -13.2499995 644 0 2670 --40.0833335 -39.9166665 -13.4166665 -13.2499995 696 0 2670 --65.0833335 -64.9166665 -13.5833335 -13.4166665 137 0 2670 --64.9166665 -64.7499995 -13.5833335 -13.4166665 136 0 2670 --64.7500005 -64.5833335 -13.5833335 -13.4166665 139 0 2670 --64.5833335 -64.4166665 -13.5833335 -13.4166665 138 0 2670 --64.4166665 -64.2499995 -13.5833335 -13.4166665 142 0 2670 --64.2500005 -64.0833335 -13.5833335 -13.4166665 140 0 2670 --64.0833335 -63.9166665 -13.5833335 -13.4166665 140 0 2670 --63.9166665 -63.7499995 -13.5833335 -13.4166665 144 0 2670 --63.7500005 -63.5833335 -13.5833335 -13.4166665 143 0 2670 --63.5833335 -63.4166665 -13.5833335 -13.4166665 142 0 2670 --63.4166665 -63.2499995 -13.5833335 -13.4166665 143 0 2670 --63.2500005 -63.0833335 -13.5833335 -13.4166665 145 0 2670 --63.0833335 -62.9166665 -13.5833335 -13.4166665 145 0 2670 --62.9166665 -62.7499995 -13.5833335 -13.4166665 149 0 2670 --62.7500005 -62.5833335 -13.5833335 -13.4166665 200 0 2670 --62.5833335 -62.4166665 -13.5833335 -13.4166665 205 0 2670 --62.4166665 -62.2499995 -13.5833335 -13.4166665 173 0 2670 --62.2500005 -62.0833335 -13.5833335 -13.4166665 178 0 2670 --62.0833335 -61.9166665 -13.5833335 -13.4166665 175 0 2670 --61.9166665 -61.7499995 -13.5833335 -13.4166665 170 0 2670 --61.7500005 -61.5833335 -13.5833335 -13.4166665 162 0 2670 --61.5833335 -61.4166665 -13.5833335 -13.4166665 174 0 2670 --61.4166665 -61.2499995 -13.5833335 -13.4166665 170 0 2670 --61.2500005 -61.0833335 -13.5833335 -13.4166665 171 0 2670 --61.0833335 -60.9166665 -13.5833335 -13.4166665 170 0 2670 --60.9166665 -60.7499995 -13.5833335 -13.4166665 189 0 2670 --60.7500005 -60.5833335 -13.5833335 -13.4166665 205 0 2670 --60.5833335 -60.4166665 -13.5833335 -13.4166665 207 0 2670 --60.4166665 -60.2499995 -13.5833335 -13.4166665 243 0 2670 --60.2500005 -60.0833335 -13.5833335 -13.4166665 259 0 2670 --60.0833335 -59.9166665 -13.5833335 -13.4166665 486 0 2670 --59.9166665 -59.7499995 -13.5833335 -13.4166665 633 0 2670 --59.7500005 -59.5833335 -13.5833335 -13.4166665 634 0 2670 --59.5833335 -59.4166665 -13.5833335 -13.4166665 553 0 2670 --59.4166665 -59.2499995 -13.5833335 -13.4166665 546 0 2670 --59.2500005 -59.0833335 -13.5833335 -13.4166665 530 0 2670 --59.0833335 -58.9166665 -13.5833335 -13.4166665 513 0 2670 --58.9166665 -58.7499995 -13.5833335 -13.4166665 527 0 2670 --58.7500005 -58.5833335 -13.5833335 -13.4166665 543 0 2670 --58.5833335 -58.4166665 -13.5833335 -13.4166665 550 0 2670 --58.4166665 -58.2499995 -13.5833335 -13.4166665 469 0 2670 --58.2500005 -58.0833335 -13.5833335 -13.4166665 539 0 2670 --58.0833335 -57.9166665 -13.5833335 -13.4166665 508 0 2670 --57.9166665 -57.7499995 -13.5833335 -13.4166665 529 0 2670 --57.7500005 -57.5833335 -13.5833335 -13.4166665 428 0 2670 --57.5833335 -57.4166665 -13.5833335 -13.4166665 499 0 2670 --57.4166665 -57.2499995 -13.5833335 -13.4166665 350 0 2670 --57.2500005 -57.0833335 -13.5833335 -13.4166665 376 0 2670 --57.0833335 -56.9166665 -13.5833335 -13.4166665 351 0 2670 --56.9166665 -56.7499995 -13.5833335 -13.4166665 390 0 2670 --56.7500005 -56.5833335 -13.5833335 -13.4166665 337 0 2670 --56.5833335 -56.4166665 -13.5833335 -13.4166665 341 0 2670 --56.4166665 -56.2499995 -13.5833335 -13.4166665 361 0 2670 --56.2500005 -56.0833335 -13.5833335 -13.4166665 388 0 2670 --56.0833335 -55.9166665 -13.5833335 -13.4166665 411 0 2670 --55.9166665 -55.7499995 -13.5833335 -13.4166665 435 0 2670 --55.7500005 -55.5833335 -13.5833335 -13.4166665 421 0 2670 --55.5833335 -55.4166665 -13.5833335 -13.4166665 431 0 2670 --55.4166665 -55.2499995 -13.5833335 -13.4166665 361 0 2670 --55.2500005 -55.0833335 -13.5833335 -13.4166665 470 0 2670 --55.0833335 -54.9166665 -13.5833335 -13.4166665 451 0 2670 --54.9166665 -54.7499995 -13.5833335 -13.4166665 455 0 2670 --54.7500005 -54.5833335 -13.5833335 -13.4166665 407 0 2670 --54.5833335 -54.4166665 -13.5833335 -13.4166665 427 0 2670 --54.4166665 -54.2499995 -13.5833335 -13.4166665 489 0 2670 --54.2500005 -54.0833335 -13.5833335 -13.4166665 426 0 2670 --54.0833335 -53.9166665 -13.5833335 -13.4166665 483 0 2670 --53.9166665 -53.7499995 -13.5833335 -13.4166665 466 0 2670 --53.7500005 -53.5833335 -13.5833335 -13.4166665 350 0 2670 --53.5833335 -53.4166665 -13.5833335 -13.4166665 416 0 2670 --53.4166665 -53.2499995 -13.5833335 -13.4166665 369 0 2670 --53.2500005 -53.0833335 -13.5833335 -13.4166665 371 0 2670 --53.0833335 -52.9166665 -13.5833335 -13.4166665 381 0 2670 --52.9166665 -52.7499995 -13.5833335 -13.4166665 414 0 2670 --52.7500005 -52.5833335 -13.5833335 -13.4166665 356 0 2670 --52.5833335 -52.4166665 -13.5833335 -13.4166665 348 0 2670 --52.4166665 -52.2499995 -13.5833335 -13.4166665 399 0 2670 --52.2500005 -52.0833335 -13.5833335 -13.4166665 385 0 2670 --52.0833335 -51.9166665 -13.5833335 -13.4166665 408 0 2670 --51.9166665 -51.7499995 -13.5833335 -13.4166665 459 0 2670 --51.7500005 -51.5833335 -13.5833335 -13.4166665 275 0 2670 --51.5833335 -51.4166665 -13.5833335 -13.4166665 238 0 2670 --51.4166665 -51.2499995 -13.5833335 -13.4166665 228 0 2670 --51.2500005 -51.0833335 -13.5833335 -13.4166665 225 0 2670 --51.0833335 -50.9166665 -13.5833335 -13.4166665 223 0 2670 --50.9166665 -50.7499995 -13.5833335 -13.4166665 222 0 2670 --50.7500005 -50.5833335 -13.5833335 -13.4166665 223 0 2670 --50.5833335 -50.4166665 -13.5833335 -13.4166665 225 0 2670 --50.4166665 -50.2499995 -13.5833335 -13.4166665 249 0 2670 --50.2500005 -50.0833335 -13.5833335 -13.4166665 246 0 2670 --50.0833335 -49.9166665 -13.5833335 -13.4166665 235 0 2670 --49.9166665 -49.7499995 -13.5833335 -13.4166665 247 0 2670 --49.7500005 -49.5833335 -13.5833335 -13.4166665 301 0 2670 --49.5833335 -49.4166665 -13.5833335 -13.4166665 405 0 2670 --49.4166665 -49.2499995 -13.5833335 -13.4166665 437 0 2670 --49.2500005 -49.0833335 -13.5833335 -13.4166665 351 0 2670 --49.0833335 -48.9166665 -13.5833335 -13.4166665 335 0 2670 --48.9166665 -48.7499995 -13.5833335 -13.4166665 338 0 2670 --48.7500005 -48.5833335 -13.5833335 -13.4166665 472 0 2670 --48.5833335 -48.4166665 -13.5833335 -13.4166665 807 0 2670 --48.4166665 -48.2499995 -13.5833335 -13.4166665 384 0 2670 --48.2500005 -48.0833335 -13.5833335 -13.4166665 341 0 2670 --48.0833335 -47.9166665 -13.5833335 -13.4166665 444 0 2670 --47.9166665 -47.7499995 -13.5833335 -13.4166665 697 0 2670 --47.7500005 -47.5833335 -13.5833335 -13.4166665 1161 0 2670 --47.5833335 -47.4166665 -13.5833335 -13.4166665 1191 0 2670 --47.4166665 -47.2499995 -13.5833335 -13.4166665 393 0 2670 --47.2500005 -47.0833335 -13.5833335 -13.4166665 418 0 2670 --47.0833335 -46.9166665 -13.5833335 -13.4166665 431 0 2670 --46.9166665 -46.7499995 -13.5833335 -13.4166665 635 0 2670 --46.7500005 -46.5833335 -13.5833335 -13.4166665 434 0 2670 --46.5833335 -46.4166665 -13.5833335 -13.4166665 545 0 2670 --46.4166665 -46.2499995 -13.5833335 -13.4166665 727 0 2670 --46.2500005 -46.0833335 -13.5833335 -13.4166665 962 0 2670 --46.0833335 -45.9166665 -13.5833335 -13.4166665 890 0 2670 --45.9166665 -45.7499995 -13.5833335 -13.4166665 832 0 2670 --45.7500005 -45.5833335 -13.5833335 -13.4166665 803 0 2670 --45.5833335 -45.4166665 -13.5833335 -13.4166665 728 0 2670 --45.4166665 -45.2499995 -13.5833335 -13.4166665 720 0 2670 --45.2500005 -45.0833335 -13.5833335 -13.4166665 677 0 2670 --45.0833335 -44.9166665 -13.5833335 -13.4166665 743 0 2670 --44.9166665 -44.7499995 -13.5833335 -13.4166665 642 0 2670 --44.7500005 -44.5833335 -13.5833335 -13.4166665 564 0 2670 --44.5833335 -44.4166665 -13.5833335 -13.4166665 615 0 2670 --44.4166665 -44.2499995 -13.5833335 -13.4166665 534 0 2670 --44.2500005 -44.0833335 -13.5833335 -13.4166665 655 0 2670 --44.0833335 -43.9166665 -13.5833335 -13.4166665 622 0 2670 --43.9166665 -43.7499995 -13.5833335 -13.4166665 737 0 2670 --43.7500005 -43.5833335 -13.5833335 -13.4166665 463 0 2670 --43.5833335 -43.4166665 -13.5833335 -13.4166665 429 0 2670 --43.4166665 -43.2499995 -13.5833335 -13.4166665 448 0 2670 --43.2500005 -43.0833335 -13.5833335 -13.4166665 549 0 2670 --43.0833335 -42.9166665 -13.5833335 -13.4166665 580 0 2670 --42.9166665 -42.7499995 -13.5833335 -13.4166665 1033 0 2670 --42.7500005 -42.5833335 -13.5833335 -13.4166665 756 0 2670 --42.5833335 -42.4166665 -13.5833335 -13.4166665 797 0 2670 --42.4166665 -42.2499995 -13.5833335 -13.4166665 659 0 2670 --42.2500005 -42.0833335 -13.5833335 -13.4166665 796 0 2670 --42.0833335 -41.9166665 -13.5833335 -13.4166665 1257 0 2670 --41.9166665 -41.7499995 -13.5833335 -13.4166665 1112 0 2670 --41.7500005 -41.5833335 -13.5833335 -13.4166665 777 0 2670 --41.5833335 -41.4166665 -13.5833335 -13.4166665 1312 0 2670 --41.4166665 -41.2499995 -13.5833335 -13.4166665 1155 0 2670 --41.2500005 -41.0833335 -13.5833335 -13.4166665 678 0 2670 --41.0833335 -40.9166665 -13.5833335 -13.4166665 550 0 2670 --40.9166665 -40.7499995 -13.5833335 -13.4166665 399 0 2670 --40.7500005 -40.5833335 -13.5833335 -13.4166665 364 0 2670 --40.5833335 -40.4166665 -13.5833335 -13.4166665 819 0 2670 --40.4166665 -40.2499995 -13.5833335 -13.4166665 841 0 2670 --40.2500005 -40.0833335 -13.5833335 -13.4166665 790 0 2670 --40.0833335 -39.9166665 -13.5833335 -13.4166665 738 0 2670 --65.0833335 -64.9166665 -13.7500005 -13.5833335 140 0 2670 --64.9166665 -64.7499995 -13.7500005 -13.5833335 140 0 2670 --64.7500005 -64.5833335 -13.7500005 -13.5833335 138 0 2670 --64.5833335 -64.4166665 -13.7500005 -13.5833335 142 0 2670 --64.4166665 -64.2499995 -13.7500005 -13.5833335 143 0 2670 --64.2500005 -64.0833335 -13.7500005 -13.5833335 144 0 2670 --64.0833335 -63.9166665 -13.7500005 -13.5833335 143 0 2670 --63.9166665 -63.7499995 -13.7500005 -13.5833335 144 0 2670 --63.7500005 -63.5833335 -13.7500005 -13.5833335 146 0 2670 --63.5833335 -63.4166665 -13.7500005 -13.5833335 144 0 2670 --63.4166665 -63.2499995 -13.7500005 -13.5833335 165 0 2670 --63.2500005 -63.0833335 -13.7500005 -13.5833335 156 0 2670 --63.0833335 -62.9166665 -13.7500005 -13.5833335 148 0 2670 --62.9166665 -62.7499995 -13.7500005 -13.5833335 150 0 2670 --62.7500005 -62.5833335 -13.7500005 -13.5833335 181 0 2670 --62.5833335 -62.4166665 -13.7500005 -13.5833335 214 0 2670 --62.4166665 -62.2499995 -13.7500005 -13.5833335 186 0 2670 --62.2500005 -62.0833335 -13.7500005 -13.5833335 332 0 2670 --62.0833335 -61.9166665 -13.7500005 -13.5833335 194 0 2670 --61.9166665 -61.7499995 -13.7500005 -13.5833335 181 0 2670 --61.7500005 -61.5833335 -13.7500005 -13.5833335 160 0 2670 --61.5833335 -61.4166665 -13.7500005 -13.5833335 164 0 2670 --61.4166665 -61.2499995 -13.7500005 -13.5833335 208 0 2670 --61.2500005 -61.0833335 -13.7500005 -13.5833335 224 0 2670 --61.0833335 -60.9166665 -13.7500005 -13.5833335 204 0 2670 --60.9166665 -60.7499995 -13.7500005 -13.5833335 465 0 2670 --60.7500005 -60.5833335 -13.7500005 -13.5833335 192 0 2670 --60.5833335 -60.4166665 -13.7500005 -13.5833335 208 0 2670 --60.4166665 -60.2499995 -13.7500005 -13.5833335 227 0 2670 --60.2500005 -60.0833335 -13.7500005 -13.5833335 280 0 2670 --60.0833335 -59.9166665 -13.7500005 -13.5833335 490 0 2670 --59.9166665 -59.7499995 -13.7500005 -13.5833335 573 0 2670 --59.7500005 -59.5833335 -13.7500005 -13.5833335 665 0 2670 --59.5833335 -59.4166665 -13.7500005 -13.5833335 536 0 2670 --59.4166665 -59.2499995 -13.7500005 -13.5833335 575 0 2670 --59.2500005 -59.0833335 -13.7500005 -13.5833335 583 0 2670 --59.0833335 -58.9166665 -13.7500005 -13.5833335 515 0 2670 --58.9166665 -58.7499995 -13.7500005 -13.5833335 588 0 2670 --58.7500005 -58.5833335 -13.7500005 -13.5833335 524 0 2670 --58.5833335 -58.4166665 -13.7500005 -13.5833335 559 0 2670 --58.4166665 -58.2499995 -13.7500005 -13.5833335 556 0 2670 --58.2500005 -58.0833335 -13.7500005 -13.5833335 546 0 2670 --58.0833335 -57.9166665 -13.7500005 -13.5833335 512 0 2670 --57.9166665 -57.7499995 -13.7500005 -13.5833335 560 0 2670 --57.7500005 -57.5833335 -13.7500005 -13.5833335 473 0 2670 --57.5833335 -57.4166665 -13.7500005 -13.5833335 532 0 2670 --57.4166665 -57.2499995 -13.7500005 -13.5833335 450 0 2670 --57.2500005 -57.0833335 -13.7500005 -13.5833335 402 0 2670 --57.0833335 -56.9166665 -13.7500005 -13.5833335 462 0 2670 --56.9166665 -56.7499995 -13.7500005 -13.5833335 401 0 2670 --56.7500005 -56.5833335 -13.7500005 -13.5833335 383 0 2670 --56.5833335 -56.4166665 -13.7500005 -13.5833335 351 0 2670 --56.4166665 -56.2499995 -13.7500005 -13.5833335 358 0 2670 --56.2500005 -56.0833335 -13.7500005 -13.5833335 395 0 2670 --56.0833335 -55.9166665 -13.7500005 -13.5833335 461 0 2670 --55.9166665 -55.7499995 -13.7500005 -13.5833335 459 0 2670 --55.7500005 -55.5833335 -13.7500005 -13.5833335 460 0 2670 --55.5833335 -55.4166665 -13.7500005 -13.5833335 446 0 2670 --55.4166665 -55.2499995 -13.7500005 -13.5833335 446 0 2670 --55.2500005 -55.0833335 -13.7500005 -13.5833335 389 0 2670 --55.0833335 -54.9166665 -13.7500005 -13.5833335 470 0 2670 --54.9166665 -54.7499995 -13.7500005 -13.5833335 504 0 2670 --54.7500005 -54.5833335 -13.7500005 -13.5833335 423 0 2670 --54.5833335 -54.4166665 -13.7500005 -13.5833335 474 0 2670 --54.4166665 -54.2499995 -13.7500005 -13.5833335 544 0 2670 --54.2500005 -54.0833335 -13.7500005 -13.5833335 470 0 2670 --54.0833335 -53.9166665 -13.7500005 -13.5833335 510 0 2670 --53.9166665 -53.7499995 -13.7500005 -13.5833335 348 0 2670 --53.7500005 -53.5833335 -13.7500005 -13.5833335 428 0 2670 --53.5833335 -53.4166665 -13.7500005 -13.5833335 423 0 2670 --53.4166665 -53.2499995 -13.7500005 -13.5833335 394 0 2670 --53.2500005 -53.0833335 -13.7500005 -13.5833335 366 0 2670 --53.0833335 -52.9166665 -13.7500005 -13.5833335 407 0 2670 --52.9166665 -52.7499995 -13.7500005 -13.5833335 357 0 2670 --52.7500005 -52.5833335 -13.7500005 -13.5833335 450 0 2670 --52.5833335 -52.4166665 -13.7500005 -13.5833335 336 0 2670 --52.4166665 -52.2499995 -13.7500005 -13.5833335 356 0 2670 --52.2500005 -52.0833335 -13.7500005 -13.5833335 397 0 2670 --52.0833335 -51.9166665 -13.7500005 -13.5833335 408 0 2670 --51.9166665 -51.7499995 -13.7500005 -13.5833335 268 0 2670 --51.7500005 -51.5833335 -13.7500005 -13.5833335 237 0 2670 --51.5833335 -51.4166665 -13.7500005 -13.5833335 221 0 2670 --51.4166665 -51.2499995 -13.7500005 -13.5833335 227 0 2670 --51.2500005 -51.0833335 -13.7500005 -13.5833335 226 0 2670 --51.0833335 -50.9166665 -13.7500005 -13.5833335 227 0 2670 --50.9166665 -50.7499995 -13.7500005 -13.5833335 228 0 2670 --50.7500005 -50.5833335 -13.7500005 -13.5833335 284 0 2670 --50.5833335 -50.4166665 -13.7500005 -13.5833335 254 0 2670 --50.4166665 -50.2499995 -13.7500005 -13.5833335 240 0 2670 --50.2500005 -50.0833335 -13.7500005 -13.5833335 236 0 2670 --50.0833335 -49.9166665 -13.7500005 -13.5833335 251 0 2670 --49.9166665 -49.7499995 -13.7500005 -13.5833335 259 0 2670 --49.7500005 -49.5833335 -13.7500005 -13.5833335 352 0 2670 --49.5833335 -49.4166665 -13.7500005 -13.5833335 324 0 2670 --49.4166665 -49.2499995 -13.7500005 -13.5833335 388 0 2670 --49.2500005 -49.0833335 -13.7500005 -13.5833335 380 0 2670 --49.0833335 -48.9166665 -13.7500005 -13.5833335 390 0 2670 --48.9166665 -48.7499995 -13.7500005 -13.5833335 444 0 2670 --48.7500005 -48.5833335 -13.7500005 -13.5833335 570 0 2670 --48.5833335 -48.4166665 -13.7500005 -13.5833335 655 0 2670 --48.4166665 -48.2499995 -13.7500005 -13.5833335 685 0 2670 --48.2500005 -48.0833335 -13.7500005 -13.5833335 435 0 2670 --48.0833335 -47.9166665 -13.7500005 -13.5833335 528 0 2670 --47.9166665 -47.7499995 -13.7500005 -13.5833335 806 0 2670 --47.7500005 -47.5833335 -13.7500005 -13.5833335 899 0 2670 --47.5833335 -47.4166665 -13.7500005 -13.5833335 1186 0 2670 --47.4166665 -47.2499995 -13.7500005 -13.5833335 824 0 2670 --47.2500005 -47.0833335 -13.7500005 -13.5833335 896 0 2670 --47.0833335 -46.9166665 -13.7500005 -13.5833335 463 0 2670 --46.9166665 -46.7499995 -13.7500005 -13.5833335 428 0 2670 --46.7500005 -46.5833335 -13.7500005 -13.5833335 508 0 2670 --46.5833335 -46.4166665 -13.7500005 -13.5833335 596 0 2670 --46.4166665 -46.2499995 -13.7500005 -13.5833335 734 0 2670 --46.2500005 -46.0833335 -13.7500005 -13.5833335 970 0 2670 --46.0833335 -45.9166665 -13.7500005 -13.5833335 854 0 2670 --45.9166665 -45.7499995 -13.7500005 -13.5833335 857 0 2670 --45.7500005 -45.5833335 -13.7500005 -13.5833335 820 0 2670 --45.5833335 -45.4166665 -13.7500005 -13.5833335 789 0 2670 --45.4166665 -45.2499995 -13.7500005 -13.5833335 758 0 2670 --45.2500005 -45.0833335 -13.7500005 -13.5833335 697 0 2670 --45.0833335 -44.9166665 -13.7500005 -13.5833335 677 0 2670 --44.9166665 -44.7499995 -13.7500005 -13.5833335 710 0 2670 --44.7500005 -44.5833335 -13.7500005 -13.5833335 654 0 2670 --44.5833335 -44.4166665 -13.7500005 -13.5833335 559 0 2670 --44.4166665 -44.2499995 -13.7500005 -13.5833335 673 0 2670 --44.2500005 -44.0833335 -13.7500005 -13.5833335 738 0 2670 --44.0833335 -43.9166665 -13.7500005 -13.5833335 801 0 2670 --43.9166665 -43.7499995 -13.7500005 -13.5833335 735 0 2670 --43.7500005 -43.5833335 -13.7500005 -13.5833335 448 0 2670 --43.5833335 -43.4166665 -13.7500005 -13.5833335 430 0 2670 --43.4166665 -43.2499995 -13.7500005 -13.5833335 447 0 2670 --43.2500005 -43.0833335 -13.7500005 -13.5833335 477 0 2670 --43.0833335 -42.9166665 -13.7500005 -13.5833335 590 0 2670 --42.9166665 -42.7499995 -13.7500005 -13.5833335 683 0 2670 --42.7500005 -42.5833335 -13.7500005 -13.5833335 832 0 2670 --42.5833335 -42.4166665 -13.7500005 -13.5833335 877 0 2670 --42.4166665 -42.2499995 -13.7500005 -13.5833335 1056 0 2670 --42.2500005 -42.0833335 -13.7500005 -13.5833335 943 0 2670 --42.0833335 -41.9166665 -13.7500005 -13.5833335 749 0 2670 --41.9166665 -41.7499995 -13.7500005 -13.5833335 472 0 2670 --41.7500005 -41.5833335 -13.7500005 -13.5833335 553 0 2670 --41.5833335 -41.4166665 -13.7500005 -13.5833335 1051 0 2670 --41.4166665 -41.2499995 -13.7500005 -13.5833335 1044 0 2670 --41.2500005 -41.0833335 -13.7500005 -13.5833335 631 0 2670 --41.0833335 -40.9166665 -13.7500005 -13.5833335 440 0 2670 --40.9166665 -40.7499995 -13.7500005 -13.5833335 325 0 2670 --40.7500005 -40.5833335 -13.7500005 -13.5833335 354 0 2670 --40.5833335 -40.4166665 -13.7500005 -13.5833335 820 0 2670 --40.4166665 -40.2499995 -13.7500005 -13.5833335 657 0 2670 --40.2500005 -40.0833335 -13.7500005 -13.5833335 571 0 2670 --40.0833335 -39.9166665 -13.7500005 -13.5833335 599 0 2670 --65.0833335 -64.9166665 -13.9166665 -13.7499995 141 0 2670 --64.9166665 -64.7499995 -13.9166665 -13.7499995 141 0 2670 --64.7500005 -64.5833335 -13.9166665 -13.7499995 141 0 2670 --64.5833335 -64.4166665 -13.9166665 -13.7499995 142 0 2670 --64.4166665 -64.2499995 -13.9166665 -13.7499995 143 0 2670 --64.2500005 -64.0833335 -13.9166665 -13.7499995 148 0 2670 --64.0833335 -63.9166665 -13.9166665 -13.7499995 150 0 2670 --63.9166665 -63.7499995 -13.9166665 -13.7499995 147 0 2670 --63.7500005 -63.5833335 -13.9166665 -13.7499995 152 0 2670 --63.5833335 -63.4166665 -13.9166665 -13.7499995 145 0 2670 --63.4166665 -63.2499995 -13.9166665 -13.7499995 152 0 2670 --63.2500005 -63.0833335 -13.9166665 -13.7499995 154 0 2670 --63.0833335 -62.9166665 -13.9166665 -13.7499995 153 0 2670 --62.9166665 -62.7499995 -13.9166665 -13.7499995 153 0 2670 --62.7500005 -62.5833335 -13.9166665 -13.7499995 170 0 2670 --62.5833335 -62.4166665 -13.9166665 -13.7499995 221 0 2670 --62.4166665 -62.2499995 -13.9166665 -13.7499995 227 0 2670 --62.2500005 -62.0833335 -13.9166665 -13.7499995 229 0 2670 --62.0833335 -61.9166665 -13.9166665 -13.7499995 187 0 2670 --61.9166665 -61.7499995 -13.9166665 -13.7499995 218 0 2670 --61.7500005 -61.5833335 -13.9166665 -13.7499995 161 0 2670 --61.5833335 -61.4166665 -13.9166665 -13.7499995 174 0 2670 --61.4166665 -61.2499995 -13.9166665 -13.7499995 258 0 2670 --61.2500005 -61.0833335 -13.9166665 -13.7499995 238 0 2670 --61.0833335 -60.9166665 -13.9166665 -13.7499995 376 0 2670 --60.9166665 -60.7499995 -13.9166665 -13.7499995 552 0 2670 --60.7500005 -60.5833335 -13.9166665 -13.7499995 296 0 2670 --60.5833335 -60.4166665 -13.9166665 -13.7499995 181 0 2670 --60.4166665 -60.2499995 -13.9166665 -13.7499995 204 0 2670 --60.2500005 -60.0833335 -13.9166665 -13.7499995 242 0 2670 --60.0833335 -59.9166665 -13.9166665 -13.7499995 491 0 2670 --59.9166665 -59.7499995 -13.9166665 -13.7499995 540 0 2670 --59.7500005 -59.5833335 -13.9166665 -13.7499995 625 0 2670 --59.5833335 -59.4166665 -13.9166665 -13.7499995 587 0 2670 --59.4166665 -59.2499995 -13.9166665 -13.7499995 658 0 2670 --59.2500005 -59.0833335 -13.9166665 -13.7499995 619 0 2670 --59.0833335 -58.9166665 -13.9166665 -13.7499995 557 0 2670 --58.9166665 -58.7499995 -13.9166665 -13.7499995 615 0 2670 --58.7500005 -58.5833335 -13.9166665 -13.7499995 565 0 2670 --58.5833335 -58.4166665 -13.9166665 -13.7499995 556 0 2670 --58.4166665 -58.2499995 -13.9166665 -13.7499995 595 0 2670 --58.2500005 -58.0833335 -13.9166665 -13.7499995 588 0 2670 --58.0833335 -57.9166665 -13.9166665 -13.7499995 546 0 2670 --57.9166665 -57.7499995 -13.9166665 -13.7499995 556 0 2670 --57.7500005 -57.5833335 -13.9166665 -13.7499995 581 0 2670 --57.5833335 -57.4166665 -13.9166665 -13.7499995 546 0 2670 --57.4166665 -57.2499995 -13.9166665 -13.7499995 541 0 2670 --57.2500005 -57.0833335 -13.9166665 -13.7499995 540 0 2670 --57.0833335 -56.9166665 -13.9166665 -13.7499995 467 0 2670 --56.9166665 -56.7499995 -13.9166665 -13.7499995 412 0 2670 --56.7500005 -56.5833335 -13.9166665 -13.7499995 407 0 2670 --56.5833335 -56.4166665 -13.9166665 -13.7499995 372 0 2670 --56.4166665 -56.2499995 -13.9166665 -13.7499995 407 0 2670 --56.2500005 -56.0833335 -13.9166665 -13.7499995 438 0 2670 --56.0833335 -55.9166665 -13.9166665 -13.7499995 405 0 2670 --55.9166665 -55.7499995 -13.9166665 -13.7499995 501 0 2670 --55.7500005 -55.5833335 -13.9166665 -13.7499995 477 0 2670 --55.5833335 -55.4166665 -13.9166665 -13.7499995 482 0 2670 --55.4166665 -55.2499995 -13.9166665 -13.7499995 493 0 2670 --55.2500005 -55.0833335 -13.9166665 -13.7499995 404 0 2670 --55.0833335 -54.9166665 -13.9166665 -13.7499995 373 0 2670 --54.9166665 -54.7499995 -13.9166665 -13.7499995 478 0 2670 --54.7500005 -54.5833335 -13.9166665 -13.7499995 501 0 2670 --54.5833335 -54.4166665 -13.9166665 -13.7499995 466 0 2670 --54.4166665 -54.2499995 -13.9166665 -13.7499995 539 0 2670 --54.2500005 -54.0833335 -13.9166665 -13.7499995 533 0 2670 --54.0833335 -53.9166665 -13.9166665 -13.7499995 464 0 2670 --53.9166665 -53.7499995 -13.9166665 -13.7499995 367 0 2670 --53.7500005 -53.5833335 -13.9166665 -13.7499995 366 0 2670 --53.5833335 -53.4166665 -13.9166665 -13.7499995 411 0 2670 --53.4166665 -53.2499995 -13.9166665 -13.7499995 366 0 2670 --53.2500005 -53.0833335 -13.9166665 -13.7499995 419 0 2670 --53.0833335 -52.9166665 -13.9166665 -13.7499995 391 0 2670 --52.9166665 -52.7499995 -13.9166665 -13.7499995 365 0 2670 --52.7500005 -52.5833335 -13.9166665 -13.7499995 431 0 2670 --52.5833335 -52.4166665 -13.9166665 -13.7499995 410 0 2670 --52.4166665 -52.2499995 -13.9166665 -13.7499995 395 0 2670 --52.2500005 -52.0833335 -13.9166665 -13.7499995 388 0 2670 --52.0833335 -51.9166665 -13.9166665 -13.7499995 283 0 2670 --51.9166665 -51.7499995 -13.9166665 -13.7499995 339 0 2670 --51.7500005 -51.5833335 -13.9166665 -13.7499995 237 0 2670 --51.5833335 -51.4166665 -13.9166665 -13.7499995 237 0 2670 --51.4166665 -51.2499995 -13.9166665 -13.7499995 232 0 2670 --51.2500005 -51.0833335 -13.9166665 -13.7499995 231 0 2670 --51.0833335 -50.9166665 -13.9166665 -13.7499995 236 0 2670 --50.9166665 -50.7499995 -13.9166665 -13.7499995 238 0 2670 --50.7500005 -50.5833335 -13.9166665 -13.7499995 284 0 2670 --50.5833335 -50.4166665 -13.9166665 -13.7499995 257 0 2670 --50.4166665 -50.2499995 -13.9166665 -13.7499995 282 0 2670 --50.2500005 -50.0833335 -13.9166665 -13.7499995 288 0 2670 --50.0833335 -49.9166665 -13.9166665 -13.7499995 301 0 2670 --49.9166665 -49.7499995 -13.9166665 -13.7499995 299 0 2670 --49.7500005 -49.5833335 -13.9166665 -13.7499995 341 0 2670 --49.5833335 -49.4166665 -13.9166665 -13.7499995 310 0 2670 --49.4166665 -49.2499995 -13.9166665 -13.7499995 389 0 2670 --49.2500005 -49.0833335 -13.9166665 -13.7499995 365 0 2670 --49.0833335 -48.9166665 -13.9166665 -13.7499995 415 0 2670 --48.9166665 -48.7499995 -13.9166665 -13.7499995 756 0 2670 --48.7500005 -48.5833335 -13.9166665 -13.7499995 715 0 2670 --48.5833335 -48.4166665 -13.9166665 -13.7499995 712 0 2670 --48.4166665 -48.2499995 -13.9166665 -13.7499995 449 0 2670 --48.2500005 -48.0833335 -13.9166665 -13.7499995 840 0 2670 --48.0833335 -47.9166665 -13.9166665 -13.7499995 401 0 2670 --47.9166665 -47.7499995 -13.9166665 -13.7499995 451 0 2670 --47.7500005 -47.5833335 -13.9166665 -13.7499995 499 0 2670 --47.5833335 -47.4166665 -13.9166665 -13.7499995 849 0 2670 --47.4166665 -47.2499995 -13.9166665 -13.7499995 1116 0 2670 --47.2500005 -47.0833335 -13.9166665 -13.7499995 736 0 2670 --47.0833335 -46.9166665 -13.9166665 -13.7499995 990 0 2670 --46.9166665 -46.7499995 -13.9166665 -13.7499995 421 0 2670 --46.7500005 -46.5833335 -13.9166665 -13.7499995 459 0 2670 --46.5833335 -46.4166665 -13.9166665 -13.7499995 598 0 2670 --46.4166665 -46.2499995 -13.9166665 -13.7499995 682 0 2670 --46.2500005 -46.0833335 -13.9166665 -13.7499995 972 0 2670 --46.0833335 -45.9166665 -13.9166665 -13.7499995 911 0 2670 --45.9166665 -45.7499995 -13.9166665 -13.7499995 808 0 2670 --45.7500005 -45.5833335 -13.9166665 -13.7499995 826 0 2670 --45.5833335 -45.4166665 -13.9166665 -13.7499995 733 0 2670 --45.4166665 -45.2499995 -13.9166665 -13.7499995 755 0 2670 --45.2500005 -45.0833335 -13.9166665 -13.7499995 768 0 2670 --45.0833335 -44.9166665 -13.9166665 -13.7499995 708 0 2670 --44.9166665 -44.7499995 -13.9166665 -13.7499995 680 0 2670 --44.7500005 -44.5833335 -13.9166665 -13.7499995 720 0 2670 --44.5833335 -44.4166665 -13.9166665 -13.7499995 694 0 2670 --44.4166665 -44.2499995 -13.9166665 -13.7499995 731 0 2670 --44.2500005 -44.0833335 -13.9166665 -13.7499995 721 0 2670 --44.0833335 -43.9166665 -13.9166665 -13.7499995 484 0 2670 --43.9166665 -43.7499995 -13.9166665 -13.7499995 461 0 2670 --43.7500005 -43.5833335 -13.9166665 -13.7499995 450 0 2670 --43.5833335 -43.4166665 -13.9166665 -13.7499995 441 0 2670 --43.4166665 -43.2499995 -13.9166665 -13.7499995 455 0 2670 --43.2500005 -43.0833335 -13.9166665 -13.7499995 488 0 2670 --43.0833335 -42.9166665 -13.9166665 -13.7499995 500 0 2670 --42.9166665 -42.7499995 -13.9166665 -13.7499995 702 0 2670 --42.7500005 -42.5833335 -13.9166665 -13.7499995 929 0 2670 --42.5833335 -42.4166665 -13.9166665 -13.7499995 1028 0 2670 --42.4166665 -42.2499995 -13.9166665 -13.7499995 1023 0 2670 --42.2500005 -42.0833335 -13.9166665 -13.7499995 634 0 2670 --42.0833335 -41.9166665 -13.9166665 -13.7499995 581 0 2670 --41.9166665 -41.7499995 -13.9166665 -13.7499995 606 0 2670 --41.7500005 -41.5833335 -13.9166665 -13.7499995 504 0 2670 --41.5833335 -41.4166665 -13.9166665 -13.7499995 484 0 2670 --41.4166665 -41.2499995 -13.9166665 -13.7499995 541 0 2670 --41.2500005 -41.0833335 -13.9166665 -13.7499995 555 0 2670 --41.0833335 -40.9166665 -13.9166665 -13.7499995 295 0 2670 --40.9166665 -40.7499995 -13.9166665 -13.7499995 255 0 2670 --40.7500005 -40.5833335 -13.9166665 -13.7499995 235 0 2670 --40.5833335 -40.4166665 -13.9166665 -13.7499995 421 0 2670 --40.4166665 -40.2499995 -13.9166665 -13.7499995 407 0 2670 --40.2500005 -40.0833335 -13.9166665 -13.7499995 513 0 2670 --40.0833335 -39.9166665 -13.9166665 -13.7499995 348 0 2670 --65.0833335 -64.9166665 -14.0833335 -13.9166665 144 0 2670 --64.9166665 -64.7499995 -14.0833335 -13.9166665 142 0 2670 --64.7500005 -64.5833335 -14.0833335 -13.9166665 144 0 2670 --64.5833335 -64.4166665 -14.0833335 -13.9166665 156 0 2670 --64.4166665 -64.2499995 -14.0833335 -13.9166665 148 0 2670 --64.2500005 -64.0833335 -14.0833335 -13.9166665 162 0 2670 --64.0833335 -63.9166665 -14.0833335 -13.9166665 154 0 2670 --63.9166665 -63.7499995 -14.0833335 -13.9166665 160 0 2670 --63.7500005 -63.5833335 -14.0833335 -13.9166665 171 0 2670 --63.5833335 -63.4166665 -14.0833335 -13.9166665 198 0 2670 --63.4166665 -63.2499995 -14.0833335 -13.9166665 166 0 2670 --63.2500005 -63.0833335 -14.0833335 -13.9166665 178 0 2670 --63.0833335 -62.9166665 -14.0833335 -13.9166665 167 0 2670 --62.9166665 -62.7499995 -14.0833335 -13.9166665 166 0 2670 --62.7500005 -62.5833335 -14.0833335 -13.9166665 162 0 2670 --62.5833335 -62.4166665 -14.0833335 -13.9166665 169 0 2670 --62.4166665 -62.2499995 -14.0833335 -13.9166665 183 0 2670 --62.2500005 -62.0833335 -14.0833335 -13.9166665 180 0 2670 --62.0833335 -61.9166665 -14.0833335 -13.9166665 212 0 2670 --61.9166665 -61.7499995 -14.0833335 -13.9166665 193 0 2670 --61.7500005 -61.5833335 -14.0833335 -13.9166665 189 0 2670 --61.5833335 -61.4166665 -14.0833335 -13.9166665 174 0 2670 --61.4166665 -61.2499995 -14.0833335 -13.9166665 186 0 2670 --61.2500005 -61.0833335 -14.0833335 -13.9166665 227 0 2670 --61.0833335 -60.9166665 -14.0833335 -13.9166665 233 0 2670 --60.9166665 -60.7499995 -14.0833335 -13.9166665 527 0 2670 --60.7500005 -60.5833335 -14.0833335 -13.9166665 560 0 2670 --60.5833335 -60.4166665 -14.0833335 -13.9166665 393 0 2670 --60.4166665 -60.2499995 -14.0833335 -13.9166665 193 0 2670 --60.2500005 -60.0833335 -14.0833335 -13.9166665 230 0 2670 --60.0833335 -59.9166665 -14.0833335 -13.9166665 245 0 2670 --59.9166665 -59.7499995 -14.0833335 -13.9166665 288 0 2670 --59.7500005 -59.5833335 -14.0833335 -13.9166665 445 0 2670 --59.5833335 -59.4166665 -14.0833335 -13.9166665 574 0 2670 --59.4166665 -59.2499995 -14.0833335 -13.9166665 615 0 2670 --59.2500005 -59.0833335 -14.0833335 -13.9166665 672 0 2670 --59.0833335 -58.9166665 -14.0833335 -13.9166665 545 0 2670 --58.9166665 -58.7499995 -14.0833335 -13.9166665 639 0 2670 --58.7500005 -58.5833335 -14.0833335 -13.9166665 572 0 2670 --58.5833335 -58.4166665 -14.0833335 -13.9166665 545 0 2670 --58.4166665 -58.2499995 -14.0833335 -13.9166665 584 0 2670 --58.2500005 -58.0833335 -14.0833335 -13.9166665 626 0 2670 --58.0833335 -57.9166665 -14.0833335 -13.9166665 619 0 2670 --57.9166665 -57.7499995 -14.0833335 -13.9166665 506 0 2670 --57.7500005 -57.5833335 -14.0833335 -13.9166665 553 0 2670 --57.5833335 -57.4166665 -14.0833335 -13.9166665 578 0 2670 --57.4166665 -57.2499995 -14.0833335 -13.9166665 590 0 2670 --57.2500005 -57.0833335 -14.0833335 -13.9166665 528 0 2670 --57.0833335 -56.9166665 -14.0833335 -13.9166665 500 0 2670 --56.9166665 -56.7499995 -14.0833335 -13.9166665 380 0 2670 --56.7500005 -56.5833335 -14.0833335 -13.9166665 396 0 2670 --56.5833335 -56.4166665 -14.0833335 -13.9166665 423 0 2670 --56.4166665 -56.2499995 -14.0833335 -13.9166665 322 0 2670 --56.2500005 -56.0833335 -14.0833335 -13.9166665 394 0 2670 --56.0833335 -55.9166665 -14.0833335 -13.9166665 397 0 2670 --55.9166665 -55.7499995 -14.0833335 -13.9166665 491 0 2670 --55.7500005 -55.5833335 -14.0833335 -13.9166665 453 0 2670 --55.5833335 -55.4166665 -14.0833335 -13.9166665 509 0 2670 --55.4166665 -55.2499995 -14.0833335 -13.9166665 509 0 2670 --55.2500005 -55.0833335 -14.0833335 -13.9166665 441 0 2670 --55.0833335 -54.9166665 -14.0833335 -13.9166665 443 0 2670 --54.9166665 -54.7499995 -14.0833335 -13.9166665 430 0 2670 --54.7500005 -54.5833335 -14.0833335 -13.9166665 474 0 2670 --54.5833335 -54.4166665 -14.0833335 -13.9166665 473 0 2670 --54.4166665 -54.2499995 -14.0833335 -13.9166665 476 0 2670 --54.2500005 -54.0833335 -14.0833335 -13.9166665 527 0 2670 --54.0833335 -53.9166665 -14.0833335 -13.9166665 514 0 2670 --53.9166665 -53.7499995 -14.0833335 -13.9166665 402 0 2670 --53.7500005 -53.5833335 -14.0833335 -13.9166665 522 0 2670 --53.5833335 -53.4166665 -14.0833335 -13.9166665 413 0 2670 --53.4166665 -53.2499995 -14.0833335 -13.9166665 354 0 2670 --53.2500005 -53.0833335 -14.0833335 -13.9166665 410 0 2670 --53.0833335 -52.9166665 -14.0833335 -13.9166665 336 0 2670 --52.9166665 -52.7499995 -14.0833335 -13.9166665 451 0 2670 --52.7500005 -52.5833335 -14.0833335 -13.9166665 463 0 2670 --52.5833335 -52.4166665 -14.0833335 -13.9166665 372 0 2670 --52.4166665 -52.2499995 -14.0833335 -13.9166665 347 0 2670 --52.2500005 -52.0833335 -14.0833335 -13.9166665 446 0 2670 --52.0833335 -51.9166665 -14.0833335 -13.9166665 288 0 2670 --51.9166665 -51.7499995 -14.0833335 -13.9166665 243 0 2670 --51.7500005 -51.5833335 -14.0833335 -13.9166665 231 0 2670 --51.5833335 -51.4166665 -14.0833335 -13.9166665 238 0 2670 --51.4166665 -51.2499995 -14.0833335 -13.9166665 242 0 2670 --51.2500005 -51.0833335 -14.0833335 -13.9166665 236 0 2670 --51.0833335 -50.9166665 -14.0833335 -13.9166665 236 0 2670 --50.9166665 -50.7499995 -14.0833335 -13.9166665 239 0 2670 --50.7500005 -50.5833335 -14.0833335 -13.9166665 291 0 2670 --50.5833335 -50.4166665 -14.0833335 -13.9166665 252 0 2670 --50.4166665 -50.2499995 -14.0833335 -13.9166665 297 0 2670 --50.2500005 -50.0833335 -14.0833335 -13.9166665 258 0 2670 --50.0833335 -49.9166665 -14.0833335 -13.9166665 297 0 2670 --49.9166665 -49.7499995 -14.0833335 -13.9166665 306 0 2670 --49.7500005 -49.5833335 -14.0833335 -13.9166665 313 0 2670 --49.5833335 -49.4166665 -14.0833335 -13.9166665 381 0 2670 --49.4166665 -49.2499995 -14.0833335 -13.9166665 362 0 2670 --49.2500005 -49.0833335 -14.0833335 -13.9166665 470 0 2670 --49.0833335 -48.9166665 -14.0833335 -13.9166665 534 0 2670 --48.9166665 -48.7499995 -14.0833335 -13.9166665 754 0 2670 --48.7500005 -48.5833335 -14.0833335 -13.9166665 557 0 2670 --48.5833335 -48.4166665 -14.0833335 -13.9166665 517 0 2670 --48.4166665 -48.2499995 -14.0833335 -13.9166665 638 0 2670 --48.2500005 -48.0833335 -14.0833335 -13.9166665 612 0 2670 --48.0833335 -47.9166665 -14.0833335 -13.9166665 504 0 2670 --47.9166665 -47.7499995 -14.0833335 -13.9166665 492 0 2670 --47.7500005 -47.5833335 -14.0833335 -13.9166665 1132 0 2670 --47.5833335 -47.4166665 -14.0833335 -13.9166665 1559 0 2670 --47.4166665 -47.2499995 -14.0833335 -13.9166665 937 0 2670 --47.2500005 -47.0833335 -14.0833335 -13.9166665 891 0 2670 --47.0833335 -46.9166665 -14.0833335 -13.9166665 470 0 2670 --46.9166665 -46.7499995 -14.0833335 -13.9166665 428 0 2670 --46.7500005 -46.5833335 -14.0833335 -13.9166665 522 0 2670 --46.5833335 -46.4166665 -14.0833335 -13.9166665 542 0 2670 --46.4166665 -46.2499995 -14.0833335 -13.9166665 889 0 2670 --46.2500005 -46.0833335 -14.0833335 -13.9166665 892 0 2670 --46.0833335 -45.9166665 -14.0833335 -13.9166665 931 0 2670 --45.9166665 -45.7499995 -14.0833335 -13.9166665 884 0 2670 --45.7500005 -45.5833335 -14.0833335 -13.9166665 834 0 2670 --45.5833335 -45.4166665 -14.0833335 -13.9166665 805 0 2670 --45.4166665 -45.2499995 -14.0833335 -13.9166665 736 0 2670 --45.2500005 -45.0833335 -14.0833335 -13.9166665 694 0 2670 --45.0833335 -44.9166665 -14.0833335 -13.9166665 677 0 2670 --44.9166665 -44.7499995 -14.0833335 -13.9166665 673 0 2670 --44.7500005 -44.5833335 -14.0833335 -13.9166665 681 0 2670 --44.5833335 -44.4166665 -14.0833335 -13.9166665 696 0 2670 --44.4166665 -44.2499995 -14.0833335 -13.9166665 688 0 2670 --44.2500005 -44.0833335 -14.0833335 -13.9166665 563 0 2670 --44.0833335 -43.9166665 -14.0833335 -13.9166665 472 0 2670 --43.9166665 -43.7499995 -14.0833335 -13.9166665 458 0 2670 --43.7500005 -43.5833335 -14.0833335 -13.9166665 447 0 2670 --43.5833335 -43.4166665 -14.0833335 -13.9166665 458 0 2670 --43.4166665 -43.2499995 -14.0833335 -13.9166665 451 0 2670 --43.2500005 -43.0833335 -14.0833335 -13.9166665 466 0 2670 --43.0833335 -42.9166665 -14.0833335 -13.9166665 493 0 2670 --42.9166665 -42.7499995 -14.0833335 -13.9166665 513 0 2670 --42.7500005 -42.5833335 -14.0833335 -13.9166665 830 0 2670 --42.5833335 -42.4166665 -14.0833335 -13.9166665 974 0 2670 --42.4166665 -42.2499995 -14.0833335 -13.9166665 942 0 2670 --42.2500005 -42.0833335 -14.0833335 -13.9166665 555 0 2670 --42.0833335 -41.9166665 -14.0833335 -13.9166665 509 0 2670 --41.9166665 -41.7499995 -14.0833335 -13.9166665 485 0 2670 --41.7500005 -41.5833335 -14.0833335 -13.9166665 411 0 2670 --41.5833335 -41.4166665 -14.0833335 -13.9166665 432 0 2670 --41.4166665 -41.2499995 -14.0833335 -13.9166665 629 0 2670 --41.2500005 -41.0833335 -14.0833335 -13.9166665 441 0 2670 --41.0833335 -40.9166665 -14.0833335 -13.9166665 279 0 2670 --40.9166665 -40.7499995 -14.0833335 -13.9166665 342 0 2670 --40.7500005 -40.5833335 -14.0833335 -13.9166665 314 0 2670 --40.5833335 -40.4166665 -14.0833335 -13.9166665 402 0 2670 --40.4166665 -40.2499995 -14.0833335 -13.9166665 556 0 2670 --40.2500005 -40.0833335 -14.0833335 -13.9166665 327 0 2670 --40.0833335 -39.9166665 -14.0833335 -13.9166665 690 0 2670 --65.0833335 -64.9166665 -14.2500005 -14.0833335 151 0 2670 --64.9166665 -64.7499995 -14.2500005 -14.0833335 145 0 2670 --64.7500005 -64.5833335 -14.2500005 -14.0833335 149 0 2670 --64.5833335 -64.4166665 -14.2500005 -14.0833335 158 0 2670 --64.4166665 -64.2499995 -14.2500005 -14.0833335 154 0 2670 --64.2500005 -64.0833335 -14.2500005 -14.0833335 165 0 2670 --64.0833335 -63.9166665 -14.2500005 -14.0833335 154 0 2670 --63.9166665 -63.7499995 -14.2500005 -14.0833335 164 0 2670 --63.7500005 -63.5833335 -14.2500005 -14.0833335 170 0 2670 --63.5833335 -63.4166665 -14.2500005 -14.0833335 166 0 2670 --63.4166665 -63.2499995 -14.2500005 -14.0833335 234 0 2670 --63.2500005 -63.0833335 -14.2500005 -14.0833335 196 0 2670 --63.0833335 -62.9166665 -14.2500005 -14.0833335 173 0 2670 --62.9166665 -62.7499995 -14.2500005 -14.0833335 165 0 2670 --62.7500005 -62.5833335 -14.2500005 -14.0833335 176 0 2670 --62.5833335 -62.4166665 -14.2500005 -14.0833335 177 0 2670 --62.4166665 -62.2499995 -14.2500005 -14.0833335 187 0 2670 --62.2500005 -62.0833335 -14.2500005 -14.0833335 225 0 2670 --62.0833335 -61.9166665 -14.2500005 -14.0833335 241 0 2670 --61.9166665 -61.7499995 -14.2500005 -14.0833335 274 0 2670 --61.7500005 -61.5833335 -14.2500005 -14.0833335 214 0 2670 --61.5833335 -61.4166665 -14.2500005 -14.0833335 168 0 2670 --61.4166665 -61.2499995 -14.2500005 -14.0833335 182 0 2670 --61.2500005 -61.0833335 -14.2500005 -14.0833335 189 0 2670 --61.0833335 -60.9166665 -14.2500005 -14.0833335 212 0 2670 --60.9166665 -60.7499995 -14.2500005 -14.0833335 607 0 2670 --60.7500005 -60.5833335 -14.2500005 -14.0833335 593 0 2670 --60.5833335 -60.4166665 -14.2500005 -14.0833335 372 0 2670 --60.4166665 -60.2499995 -14.2500005 -14.0833335 197 0 2670 --60.2500005 -60.0833335 -14.2500005 -14.0833335 212 0 2670 --60.0833335 -59.9166665 -14.2500005 -14.0833335 231 0 2670 --59.9166665 -59.7499995 -14.2500005 -14.0833335 236 0 2670 --59.7500005 -59.5833335 -14.2500005 -14.0833335 241 0 2670 --59.5833335 -59.4166665 -14.2500005 -14.0833335 602 0 2670 --59.4166665 -59.2499995 -14.2500005 -14.0833335 641 0 2670 --59.2500005 -59.0833335 -14.2500005 -14.0833335 699 0 2670 --59.0833335 -58.9166665 -14.2500005 -14.0833335 605 0 2670 --58.9166665 -58.7499995 -14.2500005 -14.0833335 633 0 2670 --58.7500005 -58.5833335 -14.2500005 -14.0833335 631 0 2670 --58.5833335 -58.4166665 -14.2500005 -14.0833335 658 0 2670 --58.4166665 -58.2499995 -14.2500005 -14.0833335 627 0 2670 --58.2500005 -58.0833335 -14.2500005 -14.0833335 614 0 2670 --58.0833335 -57.9166665 -14.2500005 -14.0833335 651 0 2670 --57.9166665 -57.7499995 -14.2500005 -14.0833335 638 0 2670 --57.7500005 -57.5833335 -14.2500005 -14.0833335 566 0 2670 --57.5833335 -57.4166665 -14.2500005 -14.0833335 605 0 2670 --57.4166665 -57.2499995 -14.2500005 -14.0833335 566 0 2670 --57.2500005 -57.0833335 -14.2500005 -14.0833335 534 0 2670 --57.0833335 -56.9166665 -14.2500005 -14.0833335 541 0 2670 --56.9166665 -56.7499995 -14.2500005 -14.0833335 442 0 2670 --56.7500005 -56.5833335 -14.2500005 -14.0833335 409 0 2670 --56.5833335 -56.4166665 -14.2500005 -14.0833335 490 0 2670 --56.4166665 -56.2499995 -14.2500005 -14.0833335 388 0 2670 --56.2500005 -56.0833335 -14.2500005 -14.0833335 338 0 2670 --56.0833335 -55.9166665 -14.2500005 -14.0833335 353 0 2670 --55.9166665 -55.7499995 -14.2500005 -14.0833335 385 0 2670 --55.7500005 -55.5833335 -14.2500005 -14.0833335 455 0 2670 --55.5833335 -55.4166665 -14.2500005 -14.0833335 457 0 2670 --55.4166665 -55.2499995 -14.2500005 -14.0833335 568 0 2670 --55.2500005 -55.0833335 -14.2500005 -14.0833335 540 0 2670 --55.0833335 -54.9166665 -14.2500005 -14.0833335 523 0 2670 --54.9166665 -54.7499995 -14.2500005 -14.0833335 424 0 2670 --54.7500005 -54.5833335 -14.2500005 -14.0833335 528 0 2670 --54.5833335 -54.4166665 -14.2500005 -14.0833335 548 0 2670 --54.4166665 -54.2499995 -14.2500005 -14.0833335 470 0 2670 --54.2500005 -54.0833335 -14.2500005 -14.0833335 514 0 2670 --54.0833335 -53.9166665 -14.2500005 -14.0833335 593 0 2670 --53.9166665 -53.7499995 -14.2500005 -14.0833335 570 0 2670 --53.7500005 -53.5833335 -14.2500005 -14.0833335 492 0 2670 --53.5833335 -53.4166665 -14.2500005 -14.0833335 421 0 2670 --53.4166665 -53.2499995 -14.2500005 -14.0833335 412 0 2670 --53.2500005 -53.0833335 -14.2500005 -14.0833335 451 0 2670 --53.0833335 -52.9166665 -14.2500005 -14.0833335 357 0 2670 --52.9166665 -52.7499995 -14.2500005 -14.0833335 495 0 2670 --52.7500005 -52.5833335 -14.2500005 -14.0833335 391 0 2670 --52.5833335 -52.4166665 -14.2500005 -14.0833335 336 0 2670 --52.4166665 -52.2499995 -14.2500005 -14.0833335 320 0 2670 --52.2500005 -52.0833335 -14.2500005 -14.0833335 350 0 2670 --52.0833335 -51.9166665 -14.2500005 -14.0833335 265 0 2670 --51.9166665 -51.7499995 -14.2500005 -14.0833335 251 0 2670 --51.7500005 -51.5833335 -14.2500005 -14.0833335 244 0 2670 --51.5833335 -51.4166665 -14.2500005 -14.0833335 242 0 2670 --51.4166665 -51.2499995 -14.2500005 -14.0833335 241 0 2670 --51.2500005 -51.0833335 -14.2500005 -14.0833335 241 0 2670 --51.0833335 -50.9166665 -14.2500005 -14.0833335 242 0 2670 --50.9166665 -50.7499995 -14.2500005 -14.0833335 236 0 2670 --50.7500005 -50.5833335 -14.2500005 -14.0833335 243 0 2670 --50.5833335 -50.4166665 -14.2500005 -14.0833335 265 0 2670 --50.4166665 -50.2499995 -14.2500005 -14.0833335 286 0 2670 --50.2500005 -50.0833335 -14.2500005 -14.0833335 294 0 2670 --50.0833335 -49.9166665 -14.2500005 -14.0833335 364 0 2670 --49.9166665 -49.7499995 -14.2500005 -14.0833335 290 0 2670 --49.7500005 -49.5833335 -14.2500005 -14.0833335 341 0 2670 --49.5833335 -49.4166665 -14.2500005 -14.0833335 307 0 2670 --49.4166665 -49.2499995 -14.2500005 -14.0833335 356 0 2670 --49.2500005 -49.0833335 -14.2500005 -14.0833335 584 0 2670 --49.0833335 -48.9166665 -14.2500005 -14.0833335 573 0 2670 --48.9166665 -48.7499995 -14.2500005 -14.0833335 444 0 2670 --48.7500005 -48.5833335 -14.2500005 -14.0833335 465 0 2670 --48.5833335 -48.4166665 -14.2500005 -14.0833335 446 0 2670 --48.4166665 -48.2499995 -14.2500005 -14.0833335 468 0 2670 --48.2500005 -48.0833335 -14.2500005 -14.0833335 523 0 2670 --48.0833335 -47.9166665 -14.2500005 -14.0833335 654 0 2670 --47.9166665 -47.7499995 -14.2500005 -14.0833335 957 0 2670 --47.7500005 -47.5833335 -14.2500005 -14.0833335 1200 0 2670 --47.5833335 -47.4166665 -14.2500005 -14.0833335 1349 0 2670 --47.4166665 -47.2499995 -14.2500005 -14.0833335 776 0 2670 --47.2500005 -47.0833335 -14.2500005 -14.0833335 492 0 2670 --47.0833335 -46.9166665 -14.2500005 -14.0833335 445 0 2670 --46.9166665 -46.7499995 -14.2500005 -14.0833335 469 0 2670 --46.7500005 -46.5833335 -14.2500005 -14.0833335 528 0 2670 --46.5833335 -46.4166665 -14.2500005 -14.0833335 705 0 2670 --46.4166665 -46.2499995 -14.2500005 -14.0833335 835 0 2670 --46.2500005 -46.0833335 -14.2500005 -14.0833335 848 0 2670 --46.0833335 -45.9166665 -14.2500005 -14.0833335 937 0 2670 --45.9166665 -45.7499995 -14.2500005 -14.0833335 890 0 2670 --45.7500005 -45.5833335 -14.2500005 -14.0833335 829 0 2670 --45.5833335 -45.4166665 -14.2500005 -14.0833335 812 0 2670 --45.4166665 -45.2499995 -14.2500005 -14.0833335 793 0 2670 --45.2500005 -45.0833335 -14.2500005 -14.0833335 757 0 2670 --45.0833335 -44.9166665 -14.2500005 -14.0833335 740 0 2670 --44.9166665 -44.7499995 -14.2500005 -14.0833335 614 0 2670 --44.7500005 -44.5833335 -14.2500005 -14.0833335 560 0 2670 --44.5833335 -44.4166665 -14.2500005 -14.0833335 596 0 2670 --44.4166665 -44.2499995 -14.2500005 -14.0833335 531 0 2670 --44.2500005 -44.0833335 -14.2500005 -14.0833335 490 0 2670 --44.0833335 -43.9166665 -14.2500005 -14.0833335 474 0 2670 --43.9166665 -43.7499995 -14.2500005 -14.0833335 462 0 2670 --43.7500005 -43.5833335 -14.2500005 -14.0833335 439 0 2670 --43.5833335 -43.4166665 -14.2500005 -14.0833335 455 0 2670 --43.4166665 -43.2499995 -14.2500005 -14.0833335 458 0 2670 --43.2500005 -43.0833335 -14.2500005 -14.0833335 492 0 2670 --43.0833335 -42.9166665 -14.2500005 -14.0833335 529 0 2670 --42.9166665 -42.7499995 -14.2500005 -14.0833335 507 0 2670 --42.7500005 -42.5833335 -14.2500005 -14.0833335 746 0 2670 --42.5833335 -42.4166665 -14.2500005 -14.0833335 1052 0 2670 --42.4166665 -42.2499995 -14.2500005 -14.0833335 632 0 2670 --42.2500005 -42.0833335 -14.2500005 -14.0833335 559 0 2670 --42.0833335 -41.9166665 -14.2500005 -14.0833335 872 0 2670 --41.9166665 -41.7499995 -14.2500005 -14.0833335 573 0 2670 --41.7500005 -41.5833335 -14.2500005 -14.0833335 521 0 2670 --41.5833335 -41.4166665 -14.2500005 -14.0833335 381 0 2670 --41.4166665 -41.2499995 -14.2500005 -14.0833335 431 0 2670 --41.2500005 -41.0833335 -14.2500005 -14.0833335 315 0 2670 --41.0833335 -40.9166665 -14.2500005 -14.0833335 312 0 2670 --40.9166665 -40.7499995 -14.2500005 -14.0833335 335 0 2670 --40.7500005 -40.5833335 -14.2500005 -14.0833335 610 0 2670 --40.5833335 -40.4166665 -14.2500005 -14.0833335 754 0 2670 --40.4166665 -40.2499995 -14.2500005 -14.0833335 567 0 2670 --40.2500005 -40.0833335 -14.2500005 -14.0833335 736 0 2670 --40.0833335 -39.9166665 -14.2500005 -14.0833335 236 0 2670 --65.0833335 -64.9166665 -14.4166665 -14.2499995 157 0 2670 --64.9166665 -64.7499995 -14.4166665 -14.2499995 148 0 2670 --64.7500005 -64.5833335 -14.4166665 -14.2499995 149 0 2670 --64.5833335 -64.4166665 -14.4166665 -14.2499995 151 0 2670 --64.4166665 -64.2499995 -14.4166665 -14.2499995 171 0 2670 --64.2500005 -64.0833335 -14.4166665 -14.2499995 170 0 2670 --64.0833335 -63.9166665 -14.4166665 -14.2499995 157 0 2670 --63.9166665 -63.7499995 -14.4166665 -14.2499995 159 0 2670 --63.7500005 -63.5833335 -14.4166665 -14.2499995 165 0 2670 --63.5833335 -63.4166665 -14.4166665 -14.2499995 179 0 2670 --63.4166665 -63.2499995 -14.4166665 -14.2499995 206 0 2670 --63.2500005 -63.0833335 -14.4166665 -14.2499995 195 0 2670 --63.0833335 -62.9166665 -14.4166665 -14.2499995 168 0 2670 --62.9166665 -62.7499995 -14.4166665 -14.2499995 185 0 2670 --62.7500005 -62.5833335 -14.4166665 -14.2499995 187 0 2670 --62.5833335 -62.4166665 -14.4166665 -14.2499995 204 0 2670 --62.4166665 -62.2499995 -14.4166665 -14.2499995 191 0 2670 --62.2500005 -62.0833335 -14.4166665 -14.2499995 198 0 2670 --62.0833335 -61.9166665 -14.4166665 -14.2499995 207 0 2670 --61.9166665 -61.7499995 -14.4166665 -14.2499995 253 0 2670 --61.7500005 -61.5833335 -14.4166665 -14.2499995 249 0 2670 --61.5833335 -61.4166665 -14.4166665 -14.2499995 204 0 2670 --61.4166665 -61.2499995 -14.4166665 -14.2499995 176 0 2670 --61.2500005 -61.0833335 -14.4166665 -14.2499995 209 0 2670 --61.0833335 -60.9166665 -14.4166665 -14.2499995 201 0 2670 --60.9166665 -60.7499995 -14.4166665 -14.2499995 718 0 2670 --60.7500005 -60.5833335 -14.4166665 -14.2499995 643 0 2670 --60.5833335 -60.4166665 -14.4166665 -14.2499995 362 0 2670 --60.4166665 -60.2499995 -14.4166665 -14.2499995 381 0 2670 --60.2500005 -60.0833335 -14.4166665 -14.2499995 189 0 2670 --60.0833335 -59.9166665 -14.4166665 -14.2499995 208 0 2670 --59.9166665 -59.7499995 -14.4166665 -14.2499995 208 0 2670 --59.7500005 -59.5833335 -14.4166665 -14.2499995 243 0 2670 --59.5833335 -59.4166665 -14.4166665 -14.2499995 657 0 2670 --59.4166665 -59.2499995 -14.4166665 -14.2499995 693 0 2670 --59.2500005 -59.0833335 -14.4166665 -14.2499995 630 0 2670 --59.0833335 -58.9166665 -14.4166665 -14.2499995 645 0 2670 --58.9166665 -58.7499995 -14.4166665 -14.2499995 738 0 2670 --58.7500005 -58.5833335 -14.4166665 -14.2499995 699 0 2670 --58.5833335 -58.4166665 -14.4166665 -14.2499995 634 0 2670 --58.4166665 -58.2499995 -14.4166665 -14.2499995 688 0 2670 --58.2500005 -58.0833335 -14.4166665 -14.2499995 628 0 2670 --58.0833335 -57.9166665 -14.4166665 -14.2499995 604 0 2670 --57.9166665 -57.7499995 -14.4166665 -14.2499995 582 0 2670 --57.7500005 -57.5833335 -14.4166665 -14.2499995 530 0 2670 --57.5833335 -57.4166665 -14.4166665 -14.2499995 323 0 2670 --57.4166665 -57.2499995 -14.4166665 -14.2499995 295 0 2670 --57.2500005 -57.0833335 -14.4166665 -14.2499995 344 0 2670 --57.0833335 -56.9166665 -14.4166665 -14.2499995 331 0 2670 --56.9166665 -56.7499995 -14.4166665 -14.2499995 326 0 2670 --56.7500005 -56.5833335 -14.4166665 -14.2499995 364 0 2670 --56.5833335 -56.4166665 -14.4166665 -14.2499995 469 0 2670 --56.4166665 -56.2499995 -14.4166665 -14.2499995 386 0 2670 --56.2500005 -56.0833335 -14.4166665 -14.2499995 455 0 2670 --56.0833335 -55.9166665 -14.4166665 -14.2499995 443 0 2670 --55.9166665 -55.7499995 -14.4166665 -14.2499995 469 0 2670 --55.7500005 -55.5833335 -14.4166665 -14.2499995 453 0 2670 --55.5833335 -55.4166665 -14.4166665 -14.2499995 311 0 2670 --55.4166665 -55.2499995 -14.4166665 -14.2499995 317 0 2670 --55.2500005 -55.0833335 -14.4166665 -14.2499995 389 0 2670 --55.0833335 -54.9166665 -14.4166665 -14.2499995 436 0 2670 --54.9166665 -54.7499995 -14.4166665 -14.2499995 406 0 2670 --54.7500005 -54.5833335 -14.4166665 -14.2499995 412 0 2670 --54.5833335 -54.4166665 -14.4166665 -14.2499995 454 0 2670 --54.4166665 -54.2499995 -14.4166665 -14.2499995 449 0 2670 --54.2500005 -54.0833335 -14.4166665 -14.2499995 514 0 2670 --54.0833335 -53.9166665 -14.4166665 -14.2499995 615 0 2670 --53.9166665 -53.7499995 -14.4166665 -14.2499995 626 0 2670 --53.7500005 -53.5833335 -14.4166665 -14.2499995 492 0 2670 --53.5833335 -53.4166665 -14.4166665 -14.2499995 415 0 2670 --53.4166665 -53.2499995 -14.4166665 -14.2499995 403 0 2670 --53.2500005 -53.0833335 -14.4166665 -14.2499995 390 0 2670 --53.0833335 -52.9166665 -14.4166665 -14.2499995 367 0 2670 --52.9166665 -52.7499995 -14.4166665 -14.2499995 412 0 2670 --52.7500005 -52.5833335 -14.4166665 -14.2499995 445 0 2670 --52.5833335 -52.4166665 -14.4166665 -14.2499995 361 0 2670 --52.4166665 -52.2499995 -14.4166665 -14.2499995 295 0 2670 --52.2500005 -52.0833335 -14.4166665 -14.2499995 281 0 2670 --52.0833335 -51.9166665 -14.4166665 -14.2499995 311 0 2670 --51.9166665 -51.7499995 -14.4166665 -14.2499995 257 0 2670 --51.7500005 -51.5833335 -14.4166665 -14.2499995 250 0 2670 --51.5833335 -51.4166665 -14.4166665 -14.2499995 247 0 2670 --51.4166665 -51.2499995 -14.4166665 -14.2499995 245 0 2670 --51.2500005 -51.0833335 -14.4166665 -14.2499995 248 0 2670 --51.0833335 -50.9166665 -14.4166665 -14.2499995 241 0 2670 --50.9166665 -50.7499995 -14.4166665 -14.2499995 239 0 2670 --50.7500005 -50.5833335 -14.4166665 -14.2499995 246 0 2670 --50.5833335 -50.4166665 -14.4166665 -14.2499995 307 0 2670 --50.4166665 -50.2499995 -14.4166665 -14.2499995 277 0 2670 --50.2500005 -50.0833335 -14.4166665 -14.2499995 326 0 2670 --50.0833335 -49.9166665 -14.4166665 -14.2499995 372 0 2670 --49.9166665 -49.7499995 -14.4166665 -14.2499995 348 0 2670 --49.7500005 -49.5833335 -14.4166665 -14.2499995 343 0 2670 --49.5833335 -49.4166665 -14.4166665 -14.2499995 376 0 2670 --49.4166665 -49.2499995 -14.4166665 -14.2499995 598 0 2670 --49.2500005 -49.0833335 -14.4166665 -14.2499995 544 0 2670 --49.0833335 -48.9166665 -14.4166665 -14.2499995 451 0 2670 --48.9166665 -48.7499995 -14.4166665 -14.2499995 495 0 2670 --48.7500005 -48.5833335 -14.4166665 -14.2499995 591 0 2670 --48.5833335 -48.4166665 -14.4166665 -14.2499995 736 0 2670 --48.4166665 -48.2499995 -14.4166665 -14.2499995 516 0 2670 --48.2500005 -48.0833335 -14.4166665 -14.2499995 486 0 2670 --48.0833335 -47.9166665 -14.4166665 -14.2499995 718 0 2670 --47.9166665 -47.7499995 -14.4166665 -14.2499995 605 0 2670 --47.7500005 -47.5833335 -14.4166665 -14.2499995 1045 0 2670 --47.5833335 -47.4166665 -14.4166665 -14.2499995 1127 0 2670 --47.4166665 -47.2499995 -14.4166665 -14.2499995 1049 0 2670 --47.2500005 -47.0833335 -14.4166665 -14.2499995 493 0 2670 --47.0833335 -46.9166665 -14.4166665 -14.2499995 438 0 2670 --46.9166665 -46.7499995 -14.4166665 -14.2499995 458 0 2670 --46.7500005 -46.5833335 -14.4166665 -14.2499995 503 0 2670 --46.5833335 -46.4166665 -14.4166665 -14.2499995 774 0 2670 --46.4166665 -46.2499995 -14.4166665 -14.2499995 703 0 2670 --46.2500005 -46.0833335 -14.4166665 -14.2499995 785 0 2670 --46.0833335 -45.9166665 -14.4166665 -14.2499995 755 0 2670 --45.9166665 -45.7499995 -14.4166665 -14.2499995 894 0 2670 --45.7500005 -45.5833335 -14.4166665 -14.2499995 850 0 2670 --45.5833335 -45.4166665 -14.4166665 -14.2499995 828 0 2670 --45.4166665 -45.2499995 -14.4166665 -14.2499995 798 0 2670 --45.2500005 -45.0833335 -14.4166665 -14.2499995 710 0 2670 --45.0833335 -44.9166665 -14.4166665 -14.2499995 649 0 2670 --44.9166665 -44.7499995 -14.4166665 -14.2499995 675 0 2670 --44.7500005 -44.5833335 -14.4166665 -14.2499995 629 0 2670 --44.5833335 -44.4166665 -14.4166665 -14.2499995 512 0 2670 --44.4166665 -44.2499995 -14.4166665 -14.2499995 622 0 2670 --44.2500005 -44.0833335 -14.4166665 -14.2499995 489 0 2670 --44.0833335 -43.9166665 -14.4166665 -14.2499995 464 0 2670 --43.9166665 -43.7499995 -14.4166665 -14.2499995 445 0 2670 --43.7500005 -43.5833335 -14.4166665 -14.2499995 465 0 2670 --43.5833335 -43.4166665 -14.4166665 -14.2499995 482 0 2670 --43.4166665 -43.2499995 -14.4166665 -14.2499995 493 0 2670 --43.2500005 -43.0833335 -14.4166665 -14.2499995 540 0 2670 --43.0833335 -42.9166665 -14.4166665 -14.2499995 692 0 2670 --42.9166665 -42.7499995 -14.4166665 -14.2499995 645 0 2670 --42.7500005 -42.5833335 -14.4166665 -14.2499995 842 0 2670 --42.5833335 -42.4166665 -14.4166665 -14.2499995 873 0 2670 --42.4166665 -42.2499995 -14.4166665 -14.2499995 708 0 2670 --42.2500005 -42.0833335 -14.4166665 -14.2499995 625 0 2670 --42.0833335 -41.9166665 -14.4166665 -14.2499995 596 0 2670 --41.9166665 -41.7499995 -14.4166665 -14.2499995 534 0 2670 --41.7500005 -41.5833335 -14.4166665 -14.2499995 606 0 2670 --41.5833335 -41.4166665 -14.4166665 -14.2499995 489 0 2670 --41.4166665 -41.2499995 -14.4166665 -14.2499995 517 0 2670 --41.2500005 -41.0833335 -14.4166665 -14.2499995 453 0 2670 --41.0833335 -40.9166665 -14.4166665 -14.2499995 419 0 2670 --40.9166665 -40.7499995 -14.4166665 -14.2499995 656 0 2670 --40.7500005 -40.5833335 -14.4166665 -14.2499995 851 0 2670 --40.5833335 -40.4166665 -14.4166665 -14.2499995 608 0 2670 --40.4166665 -40.2499995 -14.4166665 -14.2499995 532 0 2670 --40.2500005 -40.0833335 -14.4166665 -14.2499995 723 0 2670 --40.0833335 -39.9166665 -14.4166665 -14.2499995 316 0 2670 --65.0833335 -64.9166665 -14.5833335 -14.4166665 160 0 2670 --64.9166665 -64.7499995 -14.5833335 -14.4166665 151 0 2670 --64.7500005 -64.5833335 -14.5833335 -14.4166665 150 0 2670 --64.5833335 -64.4166665 -14.5833335 -14.4166665 153 0 2670 --64.4166665 -64.2499995 -14.5833335 -14.4166665 171 0 2670 --64.2500005 -64.0833335 -14.5833335 -14.4166665 174 0 2670 --64.0833335 -63.9166665 -14.5833335 -14.4166665 169 0 2670 --63.9166665 -63.7499995 -14.5833335 -14.4166665 164 0 2670 --63.7500005 -63.5833335 -14.5833335 -14.4166665 167 0 2670 --63.5833335 -63.4166665 -14.5833335 -14.4166665 179 0 2670 --63.4166665 -63.2499995 -14.5833335 -14.4166665 185 0 2670 --63.2500005 -63.0833335 -14.5833335 -14.4166665 240 0 2670 --63.0833335 -62.9166665 -14.5833335 -14.4166665 210 0 2670 --62.9166665 -62.7499995 -14.5833335 -14.4166665 213 0 2670 --62.7500005 -62.5833335 -14.5833335 -14.4166665 189 0 2670 --62.5833335 -62.4166665 -14.5833335 -14.4166665 183 0 2670 --62.4166665 -62.2499995 -14.5833335 -14.4166665 206 0 2670 --62.2500005 -62.0833335 -14.5833335 -14.4166665 233 0 2670 --62.0833335 -61.9166665 -14.5833335 -14.4166665 200 0 2670 --61.9166665 -61.7499995 -14.5833335 -14.4166665 200 0 2670 --61.7500005 -61.5833335 -14.5833335 -14.4166665 274 0 2670 --61.5833335 -61.4166665 -14.5833335 -14.4166665 228 0 2670 --61.4166665 -61.2499995 -14.5833335 -14.4166665 190 0 2670 --61.2500005 -61.0833335 -14.5833335 -14.4166665 187 0 2670 --61.0833335 -60.9166665 -14.5833335 -14.4166665 196 0 2670 --60.9166665 -60.7499995 -14.5833335 -14.4166665 284 0 2670 --60.7500005 -60.5833335 -14.5833335 -14.4166665 646 0 2670 --60.5833335 -60.4166665 -14.5833335 -14.4166665 535 0 2670 --60.4166665 -60.2499995 -14.5833335 -14.4166665 486 0 2670 --60.2500005 -60.0833335 -14.5833335 -14.4166665 246 0 2670 --60.0833335 -59.9166665 -14.5833335 -14.4166665 204 0 2670 --59.9166665 -59.7499995 -14.5833335 -14.4166665 347 0 2670 --59.7500005 -59.5833335 -14.5833335 -14.4166665 253 0 2670 --59.5833335 -59.4166665 -14.5833335 -14.4166665 597 0 2670 --59.4166665 -59.2499995 -14.5833335 -14.4166665 743 0 2670 --59.2500005 -59.0833335 -14.5833335 -14.4166665 679 0 2670 --59.0833335 -58.9166665 -14.5833335 -14.4166665 679 0 2670 --58.9166665 -58.7499995 -14.5833335 -14.4166665 697 0 2670 --58.7500005 -58.5833335 -14.5833335 -14.4166665 696 0 2670 --58.5833335 -58.4166665 -14.5833335 -14.4166665 637 0 2670 --58.4166665 -58.2499995 -14.5833335 -14.4166665 625 0 2670 --58.2500005 -58.0833335 -14.5833335 -14.4166665 599 0 2670 --58.0833335 -57.9166665 -14.5833335 -14.4166665 524 0 2670 --57.9166665 -57.7499995 -14.5833335 -14.4166665 301 0 2670 --57.7500005 -57.5833335 -14.5833335 -14.4166665 296 0 2670 --57.5833335 -57.4166665 -14.5833335 -14.4166665 291 0 2670 --57.4166665 -57.2499995 -14.5833335 -14.4166665 298 0 2670 --57.2500005 -57.0833335 -14.5833335 -14.4166665 391 0 2670 --57.0833335 -56.9166665 -14.5833335 -14.4166665 416 0 2670 --56.9166665 -56.7499995 -14.5833335 -14.4166665 246 0 2670 --56.7500005 -56.5833335 -14.5833335 -14.4166665 223 0 2670 --56.5833335 -56.4166665 -14.5833335 -14.4166665 226 0 2670 --56.4166665 -56.2499995 -14.5833335 -14.4166665 430 0 2670 --56.2500005 -56.0833335 -14.5833335 -14.4166665 468 0 2670 --56.0833335 -55.9166665 -14.5833335 -14.4166665 324 0 2670 --55.9166665 -55.7499995 -14.5833335 -14.4166665 371 0 2670 --55.7500005 -55.5833335 -14.5833335 -14.4166665 361 0 2670 --55.5833335 -55.4166665 -14.5833335 -14.4166665 358 0 2670 --55.4166665 -55.2499995 -14.5833335 -14.4166665 424 0 2670 --55.2500005 -55.0833335 -14.5833335 -14.4166665 453 0 2670 --55.0833335 -54.9166665 -14.5833335 -14.4166665 427 0 2670 --54.9166665 -54.7499995 -14.5833335 -14.4166665 438 0 2670 --54.7500005 -54.5833335 -14.5833335 -14.4166665 458 0 2670 --54.5833335 -54.4166665 -14.5833335 -14.4166665 419 0 2670 --54.4166665 -54.2499995 -14.5833335 -14.4166665 450 0 2670 --54.2500005 -54.0833335 -14.5833335 -14.4166665 485 0 2670 --54.0833335 -53.9166665 -14.5833335 -14.4166665 533 0 2670 --53.9166665 -53.7499995 -14.5833335 -14.4166665 601 0 2670 --53.7500005 -53.5833335 -14.5833335 -14.4166665 583 0 2670 --53.5833335 -53.4166665 -14.5833335 -14.4166665 493 0 2670 --53.4166665 -53.2499995 -14.5833335 -14.4166665 523 0 2670 --53.2500005 -53.0833335 -14.5833335 -14.4166665 429 0 2670 --53.0833335 -52.9166665 -14.5833335 -14.4166665 459 0 2670 --52.9166665 -52.7499995 -14.5833335 -14.4166665 457 0 2670 --52.7500005 -52.5833335 -14.5833335 -14.4166665 491 0 2670 --52.5833335 -52.4166665 -14.5833335 -14.4166665 375 0 2670 --52.4166665 -52.2499995 -14.5833335 -14.4166665 279 0 2670 --52.2500005 -52.0833335 -14.5833335 -14.4166665 303 0 2670 --52.0833335 -51.9166665 -14.5833335 -14.4166665 276 0 2670 --51.9166665 -51.7499995 -14.5833335 -14.4166665 241 0 2670 --51.7500005 -51.5833335 -14.5833335 -14.4166665 268 0 2670 --51.5833335 -51.4166665 -14.5833335 -14.4166665 251 0 2670 --51.4166665 -51.2499995 -14.5833335 -14.4166665 249 0 2670 --51.2500005 -51.0833335 -14.5833335 -14.4166665 255 0 2670 --51.0833335 -50.9166665 -14.5833335 -14.4166665 247 0 2670 --50.9166665 -50.7499995 -14.5833335 -14.4166665 243 0 2670 --50.7500005 -50.5833335 -14.5833335 -14.4166665 259 0 2670 --50.5833335 -50.4166665 -14.5833335 -14.4166665 268 0 2670 --50.4166665 -50.2499995 -14.5833335 -14.4166665 306 0 2670 --50.2500005 -50.0833335 -14.5833335 -14.4166665 321 0 2670 --50.0833335 -49.9166665 -14.5833335 -14.4166665 411 0 2670 --49.9166665 -49.7499995 -14.5833335 -14.4166665 406 0 2670 --49.7500005 -49.5833335 -14.5833335 -14.4166665 361 0 2670 --49.5833335 -49.4166665 -14.5833335 -14.4166665 385 0 2670 --49.4166665 -49.2499995 -14.5833335 -14.4166665 715 0 2670 --49.2500005 -49.0833335 -14.5833335 -14.4166665 481 0 2670 --49.0833335 -48.9166665 -14.5833335 -14.4166665 504 0 2670 --48.9166665 -48.7499995 -14.5833335 -14.4166665 560 0 2670 --48.7500005 -48.5833335 -14.5833335 -14.4166665 659 0 2670 --48.5833335 -48.4166665 -14.5833335 -14.4166665 646 0 2670 --48.4166665 -48.2499995 -14.5833335 -14.4166665 622 0 2670 --48.2500005 -48.0833335 -14.5833335 -14.4166665 584 0 2670 --48.0833335 -47.9166665 -14.5833335 -14.4166665 686 0 2670 --47.9166665 -47.7499995 -14.5833335 -14.4166665 876 0 2670 --47.7500005 -47.5833335 -14.5833335 -14.4166665 890 0 2670 --47.5833335 -47.4166665 -14.5833335 -14.4166665 1020 0 2670 --47.4166665 -47.2499995 -14.5833335 -14.4166665 603 0 2670 --47.2500005 -47.0833335 -14.5833335 -14.4166665 452 0 2670 --47.0833335 -46.9166665 -14.5833335 -14.4166665 443 0 2670 --46.9166665 -46.7499995 -14.5833335 -14.4166665 471 0 2670 --46.7500005 -46.5833335 -14.5833335 -14.4166665 478 0 2670 --46.5833335 -46.4166665 -14.5833335 -14.4166665 563 0 2670 --46.4166665 -46.2499995 -14.5833335 -14.4166665 733 0 2670 --46.2500005 -46.0833335 -14.5833335 -14.4166665 701 0 2670 --46.0833335 -45.9166665 -14.5833335 -14.4166665 868 0 2670 --45.9166665 -45.7499995 -14.5833335 -14.4166665 885 0 2670 --45.7500005 -45.5833335 -14.5833335 -14.4166665 850 0 2670 --45.5833335 -45.4166665 -14.5833335 -14.4166665 835 0 2670 --45.4166665 -45.2499995 -14.5833335 -14.4166665 716 0 2670 --45.2500005 -45.0833335 -14.5833335 -14.4166665 746 0 2670 --45.0833335 -44.9166665 -14.5833335 -14.4166665 737 0 2670 --44.9166665 -44.7499995 -14.5833335 -14.4166665 577 0 2670 --44.7500005 -44.5833335 -14.5833335 -14.4166665 664 0 2670 --44.5833335 -44.4166665 -14.5833335 -14.4166665 646 0 2670 --44.4166665 -44.2499995 -14.5833335 -14.4166665 573 0 2670 --44.2500005 -44.0833335 -14.5833335 -14.4166665 525 0 2670 --44.0833335 -43.9166665 -14.5833335 -14.4166665 484 0 2670 --43.9166665 -43.7499995 -14.5833335 -14.4166665 448 0 2670 --43.7500005 -43.5833335 -14.5833335 -14.4166665 809 0 2670 --43.5833335 -43.4166665 -14.5833335 -14.4166665 507 0 2670 --43.4166665 -43.2499995 -14.5833335 -14.4166665 489 0 2670 --43.2500005 -43.0833335 -14.5833335 -14.4166665 522 0 2670 --43.0833335 -42.9166665 -14.5833335 -14.4166665 608 0 2670 --42.9166665 -42.7499995 -14.5833335 -14.4166665 769 0 2670 --42.7500005 -42.5833335 -14.5833335 -14.4166665 648 0 2670 --42.5833335 -42.4166665 -14.5833335 -14.4166665 784 0 2670 --42.4166665 -42.2499995 -14.5833335 -14.4166665 734 0 2670 --42.2500005 -42.0833335 -14.5833335 -14.4166665 614 0 2670 --42.0833335 -41.9166665 -14.5833335 -14.4166665 588 0 2670 --41.9166665 -41.7499995 -14.5833335 -14.4166665 599 0 2670 --41.7500005 -41.5833335 -14.5833335 -14.4166665 641 0 2670 --41.5833335 -41.4166665 -14.5833335 -14.4166665 584 0 2670 --41.4166665 -41.2499995 -14.5833335 -14.4166665 544 0 2670 --41.2500005 -41.0833335 -14.5833335 -14.4166665 490 0 2670 --41.0833335 -40.9166665 -14.5833335 -14.4166665 500 0 2670 --40.9166665 -40.7499995 -14.5833335 -14.4166665 606 0 2670 --40.7500005 -40.5833335 -14.5833335 -14.4166665 802 0 2670 --40.5833335 -40.4166665 -14.5833335 -14.4166665 823 0 2670 --40.4166665 -40.2499995 -14.5833335 -14.4166665 751 0 2670 --40.2500005 -40.0833335 -14.5833335 -14.4166665 895 0 2670 --40.0833335 -39.9166665 -14.5833335 -14.4166665 336 0 2670 --65.0833335 -64.9166665 -14.7500005 -14.5833335 159 0 2670 --64.9166665 -64.7499995 -14.7500005 -14.5833335 153 0 2670 --64.7500005 -64.5833335 -14.7500005 -14.5833335 156 0 2670 --64.5833335 -64.4166665 -14.7500005 -14.5833335 156 0 2670 --64.4166665 -64.2499995 -14.7500005 -14.5833335 165 0 2670 --64.2500005 -64.0833335 -14.7500005 -14.5833335 177 0 2670 --64.0833335 -63.9166665 -14.7500005 -14.5833335 172 0 2670 --63.9166665 -63.7499995 -14.7500005 -14.5833335 183 0 2670 --63.7500005 -63.5833335 -14.7500005 -14.5833335 182 0 2670 --63.5833335 -63.4166665 -14.7500005 -14.5833335 199 0 2670 --63.4166665 -63.2499995 -14.7500005 -14.5833335 188 0 2670 --63.2500005 -63.0833335 -14.7500005 -14.5833335 190 0 2670 --63.0833335 -62.9166665 -14.7500005 -14.5833335 249 0 2670 --62.9166665 -62.7499995 -14.7500005 -14.5833335 229 0 2670 --62.7500005 -62.5833335 -14.7500005 -14.5833335 195 0 2670 --62.5833335 -62.4166665 -14.7500005 -14.5833335 218 0 2670 --62.4166665 -62.2499995 -14.7500005 -14.5833335 213 0 2670 --62.2500005 -62.0833335 -14.7500005 -14.5833335 248 0 2670 --62.0833335 -61.9166665 -14.7500005 -14.5833335 206 0 2670 --61.9166665 -61.7499995 -14.7500005 -14.5833335 214 0 2670 --61.7500005 -61.5833335 -14.7500005 -14.5833335 245 0 2670 --61.5833335 -61.4166665 -14.7500005 -14.5833335 256 0 2670 --61.4166665 -61.2499995 -14.7500005 -14.5833335 211 0 2670 --61.2500005 -61.0833335 -14.7500005 -14.5833335 186 0 2670 --61.0833335 -60.9166665 -14.7500005 -14.5833335 216 0 2670 --60.9166665 -60.7499995 -14.7500005 -14.5833335 212 0 2670 --60.7500005 -60.5833335 -14.7500005 -14.5833335 783 0 2670 --60.5833335 -60.4166665 -14.7500005 -14.5833335 684 0 2670 --60.4166665 -60.2499995 -14.7500005 -14.5833335 608 0 2670 --60.2500005 -60.0833335 -14.7500005 -14.5833335 212 0 2670 --60.0833335 -59.9166665 -14.7500005 -14.5833335 194 0 2670 --59.9166665 -59.7499995 -14.7500005 -14.5833335 618 0 2670 --59.7500005 -59.5833335 -14.7500005 -14.5833335 290 0 2670 --59.5833335 -59.4166665 -14.7500005 -14.5833335 251 0 2670 --59.4166665 -59.2499995 -14.7500005 -14.5833335 620 0 2670 --59.2500005 -59.0833335 -14.7500005 -14.5833335 680 0 2670 --59.0833335 -58.9166665 -14.7500005 -14.5833335 682 0 2670 --58.9166665 -58.7499995 -14.7500005 -14.5833335 706 0 2670 --58.7500005 -58.5833335 -14.7500005 -14.5833335 621 0 2670 --58.5833335 -58.4166665 -14.7500005 -14.5833335 551 0 2670 --58.4166665 -58.2499995 -14.7500005 -14.5833335 672 0 2670 --58.2500005 -58.0833335 -14.7500005 -14.5833335 521 0 2670 --58.0833335 -57.9166665 -14.7500005 -14.5833335 359 0 2670 --57.9166665 -57.7499995 -14.7500005 -14.5833335 225 0 2670 --57.7500005 -57.5833335 -14.7500005 -14.5833335 330 0 2670 --57.5833335 -57.4166665 -14.7500005 -14.5833335 424 0 2670 --57.4166665 -57.2499995 -14.7500005 -14.5833335 512 0 2670 --57.2500005 -57.0833335 -14.7500005 -14.5833335 334 0 2670 --57.0833335 -56.9166665 -14.7500005 -14.5833335 221 0 2670 --56.9166665 -56.7499995 -14.7500005 -14.5833335 216 0 2670 --56.7500005 -56.5833335 -14.7500005 -14.5833335 213 0 2670 --56.5833335 -56.4166665 -14.7500005 -14.5833335 439 0 2670 --56.4166665 -56.2499995 -14.7500005 -14.5833335 416 0 2670 --56.2500005 -56.0833335 -14.7500005 -14.5833335 208 0 2670 --56.0833335 -55.9166665 -14.7500005 -14.5833335 221 0 2670 --55.9166665 -55.7499995 -14.7500005 -14.5833335 248 0 2670 --55.7500005 -55.5833335 -14.7500005 -14.5833335 296 0 2670 --55.5833335 -55.4166665 -14.7500005 -14.5833335 369 0 2670 --55.4166665 -55.2499995 -14.7500005 -14.5833335 428 0 2670 --55.2500005 -55.0833335 -14.7500005 -14.5833335 422 0 2670 --55.0833335 -54.9166665 -14.7500005 -14.5833335 462 0 2670 --54.9166665 -54.7499995 -14.7500005 -14.5833335 516 0 2670 --54.7500005 -54.5833335 -14.7500005 -14.5833335 483 0 2670 --54.5833335 -54.4166665 -14.7500005 -14.5833335 587 0 2670 --54.4166665 -54.2499995 -14.7500005 -14.5833335 650 0 2670 --54.2500005 -54.0833335 -14.7500005 -14.5833335 591 0 2670 --54.0833335 -53.9166665 -14.7500005 -14.5833335 535 0 2670 --53.9166665 -53.7499995 -14.7500005 -14.5833335 499 0 2670 --53.7500005 -53.5833335 -14.7500005 -14.5833335 487 0 2670 --53.5833335 -53.4166665 -14.7500005 -14.5833335 466 0 2670 --53.4166665 -53.2499995 -14.7500005 -14.5833335 555 0 2670 --53.2500005 -53.0833335 -14.7500005 -14.5833335 477 0 2670 --53.0833335 -52.9166665 -14.7500005 -14.5833335 354 0 2670 --52.9166665 -52.7499995 -14.7500005 -14.5833335 386 0 2670 --52.7500005 -52.5833335 -14.7500005 -14.5833335 349 0 2670 --52.5833335 -52.4166665 -14.7500005 -14.5833335 288 0 2670 --52.4166665 -52.2499995 -14.7500005 -14.5833335 266 0 2670 --52.2500005 -52.0833335 -14.7500005 -14.5833335 267 0 2670 --52.0833335 -51.9166665 -14.7500005 -14.5833335 280 0 2670 --51.9166665 -51.7499995 -14.7500005 -14.5833335 259 0 2670 --51.7500005 -51.5833335 -14.7500005 -14.5833335 257 0 2670 --51.5833335 -51.4166665 -14.7500005 -14.5833335 257 0 2670 --51.4166665 -51.2499995 -14.7500005 -14.5833335 253 0 2670 --51.2500005 -51.0833335 -14.7500005 -14.5833335 257 0 2670 --51.0833335 -50.9166665 -14.7500005 -14.5833335 249 0 2670 --50.9166665 -50.7499995 -14.7500005 -14.5833335 251 0 2670 --50.7500005 -50.5833335 -14.7500005 -14.5833335 265 0 2670 --50.5833335 -50.4166665 -14.7500005 -14.5833335 289 0 2670 --50.4166665 -50.2499995 -14.7500005 -14.5833335 329 0 2670 --50.2500005 -50.0833335 -14.7500005 -14.5833335 337 0 2670 --50.0833335 -49.9166665 -14.7500005 -14.5833335 522 0 2670 --49.9166665 -49.7499995 -14.7500005 -14.5833335 382 0 2670 --49.7500005 -49.5833335 -14.7500005 -14.5833335 467 0 2670 --49.5833335 -49.4166665 -14.7500005 -14.5833335 674 0 2670 --49.4166665 -49.2499995 -14.7500005 -14.5833335 666 0 2670 --49.2500005 -49.0833335 -14.7500005 -14.5833335 558 0 2670 --49.0833335 -48.9166665 -14.7500005 -14.5833335 494 0 2670 --48.9166665 -48.7499995 -14.7500005 -14.5833335 505 0 2670 --48.7500005 -48.5833335 -14.7500005 -14.5833335 545 0 2670 --48.5833335 -48.4166665 -14.7500005 -14.5833335 853 0 2670 --48.4166665 -48.2499995 -14.7500005 -14.5833335 841 0 2670 --48.2500005 -48.0833335 -14.7500005 -14.5833335 546 0 2670 --48.0833335 -47.9166665 -14.7500005 -14.5833335 1096 0 2670 --47.9166665 -47.7499995 -14.7500005 -14.5833335 1012 0 2670 --47.7500005 -47.5833335 -14.7500005 -14.5833335 1132 0 2670 --47.5833335 -47.4166665 -14.7500005 -14.5833335 1006 0 2670 --47.4166665 -47.2499995 -14.7500005 -14.5833335 504 0 2670 --47.2500005 -47.0833335 -14.7500005 -14.5833335 458 0 2670 --47.0833335 -46.9166665 -14.7500005 -14.5833335 454 0 2670 --46.9166665 -46.7499995 -14.7500005 -14.5833335 485 0 2670 --46.7500005 -46.5833335 -14.7500005 -14.5833335 489 0 2670 --46.5833335 -46.4166665 -14.7500005 -14.5833335 1016 0 2670 --46.4166665 -46.2499995 -14.7500005 -14.5833335 710 0 2670 --46.2500005 -46.0833335 -14.7500005 -14.5833335 782 0 2670 --46.0833335 -45.9166665 -14.7500005 -14.5833335 935 0 2670 --45.9166665 -45.7499995 -14.7500005 -14.5833335 846 0 2670 --45.7500005 -45.5833335 -14.7500005 -14.5833335 869 0 2670 --45.5833335 -45.4166665 -14.7500005 -14.5833335 738 0 2670 --45.4166665 -45.2499995 -14.7500005 -14.5833335 827 0 2670 --45.2500005 -45.0833335 -14.7500005 -14.5833335 819 0 2670 --45.0833335 -44.9166665 -14.7500005 -14.5833335 635 0 2670 --44.9166665 -44.7499995 -14.7500005 -14.5833335 785 0 2670 --44.7500005 -44.5833335 -14.7500005 -14.5833335 712 0 2670 --44.5833335 -44.4166665 -14.7500005 -14.5833335 759 0 2670 --44.4166665 -44.2499995 -14.7500005 -14.5833335 643 0 2670 --44.2500005 -44.0833335 -14.7500005 -14.5833335 542 0 2670 --44.0833335 -43.9166665 -14.7500005 -14.5833335 480 0 2670 --43.9166665 -43.7499995 -14.7500005 -14.5833335 448 0 2670 --43.7500005 -43.5833335 -14.7500005 -14.5833335 468 0 2670 --43.5833335 -43.4166665 -14.7500005 -14.5833335 478 0 2670 --43.4166665 -43.2499995 -14.7500005 -14.5833335 467 0 2670 --43.2500005 -43.0833335 -14.7500005 -14.5833335 489 0 2670 --43.0833335 -42.9166665 -14.7500005 -14.5833335 508 0 2670 --42.9166665 -42.7499995 -14.7500005 -14.5833335 540 0 2670 --42.7500005 -42.5833335 -14.7500005 -14.5833335 701 0 2670 --42.5833335 -42.4166665 -14.7500005 -14.5833335 863 0 2670 --42.4166665 -42.2499995 -14.7500005 -14.5833335 680 0 2670 --42.2500005 -42.0833335 -14.7500005 -14.5833335 734 0 2670 --42.0833335 -41.9166665 -14.7500005 -14.5833335 660 0 2670 --41.9166665 -41.7499995 -14.7500005 -14.5833335 799 0 2670 --41.7500005 -41.5833335 -14.7500005 -14.5833335 740 0 2670 --41.5833335 -41.4166665 -14.7500005 -14.5833335 639 0 2670 --41.4166665 -41.2499995 -14.7500005 -14.5833335 494 0 2670 --41.2500005 -41.0833335 -14.7500005 -14.5833335 450 0 2670 --41.0833335 -40.9166665 -14.7500005 -14.5833335 641 0 2670 --40.9166665 -40.7499995 -14.7500005 -14.5833335 900 0 2670 --40.7500005 -40.5833335 -14.7500005 -14.5833335 848 0 2670 --40.5833335 -40.4166665 -14.7500005 -14.5833335 917 0 2670 --40.4166665 -40.2499995 -14.7500005 -14.5833335 916 0 2670 --40.2500005 -40.0833335 -14.7500005 -14.5833335 699 0 2670 --40.0833335 -39.9166665 -14.7500005 -14.5833335 434 0 2670 --65.0833335 -64.9166665 -14.9166665 -14.7499995 159 0 2670 --64.9166665 -64.7499995 -14.9166665 -14.7499995 157 0 2670 --64.7500005 -64.5833335 -14.9166665 -14.7499995 160 0 2670 --64.5833335 -64.4166665 -14.9166665 -14.7499995 169 0 2670 --64.4166665 -64.2499995 -14.9166665 -14.7499995 170 0 2670 --64.2500005 -64.0833335 -14.9166665 -14.7499995 182 0 2670 --64.0833335 -63.9166665 -14.9166665 -14.7499995 172 0 2670 --63.9166665 -63.7499995 -14.9166665 -14.7499995 185 0 2670 --63.7500005 -63.5833335 -14.9166665 -14.7499995 190 0 2670 --63.5833335 -63.4166665 -14.9166665 -14.7499995 177 0 2670 --63.4166665 -63.2499995 -14.9166665 -14.7499995 199 0 2670 --63.2500005 -63.0833335 -14.9166665 -14.7499995 256 0 2670 --63.0833335 -62.9166665 -14.9166665 -14.7499995 269 0 2670 --62.9166665 -62.7499995 -14.9166665 -14.7499995 223 0 2670 --62.7500005 -62.5833335 -14.9166665 -14.7499995 220 0 2670 --62.5833335 -62.4166665 -14.9166665 -14.7499995 220 0 2670 --62.4166665 -62.2499995 -14.9166665 -14.7499995 277 0 2670 --62.2500005 -62.0833335 -14.9166665 -14.7499995 260 0 2670 --62.0833335 -61.9166665 -14.9166665 -14.7499995 217 0 2670 --61.9166665 -61.7499995 -14.9166665 -14.7499995 272 0 2670 --61.7500005 -61.5833335 -14.9166665 -14.7499995 264 0 2670 --61.5833335 -61.4166665 -14.9166665 -14.7499995 273 0 2670 --61.4166665 -61.2499995 -14.9166665 -14.7499995 211 0 2670 --61.2500005 -61.0833335 -14.9166665 -14.7499995 176 0 2670 --61.0833335 -60.9166665 -14.9166665 -14.7499995 175 0 2670 --60.9166665 -60.7499995 -14.9166665 -14.7499995 205 0 2670 --60.7500005 -60.5833335 -14.9166665 -14.7499995 203 0 2670 --60.5833335 -60.4166665 -14.9166665 -14.7499995 314 0 2670 --60.4166665 -60.2499995 -14.9166665 -14.7499995 677 0 2670 --60.2500005 -60.0833335 -14.9166665 -14.7499995 425 0 2670 --60.0833335 -59.9166665 -14.9166665 -14.7499995 201 0 2670 --59.9166665 -59.7499995 -14.9166665 -14.7499995 210 0 2670 --59.7500005 -59.5833335 -14.9166665 -14.7499995 739 0 2670 --59.5833335 -59.4166665 -14.9166665 -14.7499995 341 0 2670 --59.4166665 -59.2499995 -14.9166665 -14.7499995 327 0 2670 --59.2500005 -59.0833335 -14.9166665 -14.7499995 673 0 2670 --59.0833335 -58.9166665 -14.9166665 -14.7499995 649 0 2670 --58.9166665 -58.7499995 -14.9166665 -14.7499995 605 0 2670 --58.7500005 -58.5833335 -14.9166665 -14.7499995 530 0 2670 --58.5833335 -58.4166665 -14.9166665 -14.7499995 584 0 2670 --58.4166665 -58.2499995 -14.9166665 -14.7499995 560 0 2670 --58.2500005 -58.0833335 -14.9166665 -14.7499995 492 0 2670 --58.0833335 -57.9166665 -14.9166665 -14.7499995 412 0 2670 --57.9166665 -57.7499995 -14.9166665 -14.7499995 244 0 2670 --57.7500005 -57.5833335 -14.9166665 -14.7499995 206 0 2670 --57.5833335 -57.4166665 -14.9166665 -14.7499995 223 0 2670 --57.4166665 -57.2499995 -14.9166665 -14.7499995 171 0 2670 --57.2500005 -57.0833335 -14.9166665 -14.7499995 198 0 2670 --57.0833335 -56.9166665 -14.9166665 -14.7499995 187 0 2670 --56.9166665 -56.7499995 -14.9166665 -14.7499995 187 0 2670 --56.7500005 -56.5833335 -14.9166665 -14.7499995 266 0 2670 --56.5833335 -56.4166665 -14.9166665 -14.7499995 278 0 2670 --56.4166665 -56.2499995 -14.9166665 -14.7499995 201 0 2670 --56.2500005 -56.0833335 -14.9166665 -14.7499995 245 0 2670 --56.0833335 -55.9166665 -14.9166665 -14.7499995 272 0 2670 --55.9166665 -55.7499995 -14.9166665 -14.7499995 267 0 2670 --55.7500005 -55.5833335 -14.9166665 -14.7499995 266 0 2670 --55.5833335 -55.4166665 -14.9166665 -14.7499995 309 0 2670 --55.4166665 -55.2499995 -14.9166665 -14.7499995 317 0 2670 --55.2500005 -55.0833335 -14.9166665 -14.7499995 388 0 2670 --55.0833335 -54.9166665 -14.9166665 -14.7499995 416 0 2670 --54.9166665 -54.7499995 -14.9166665 -14.7499995 493 0 2670 --54.7500005 -54.5833335 -14.9166665 -14.7499995 625 0 2670 --54.5833335 -54.4166665 -14.9166665 -14.7499995 784 0 2670 --54.4166665 -54.2499995 -14.9166665 -14.7499995 687 0 2670 --54.2500005 -54.0833335 -14.9166665 -14.7499995 699 0 2670 --54.0833335 -53.9166665 -14.9166665 -14.7499995 645 0 2670 --53.9166665 -53.7499995 -14.9166665 -14.7499995 619 0 2670 --53.7500005 -53.5833335 -14.9166665 -14.7499995 616 0 2670 --53.5833335 -53.4166665 -14.9166665 -14.7499995 628 0 2670 --53.4166665 -53.2499995 -14.9166665 -14.7499995 474 0 2670 --53.2500005 -53.0833335 -14.9166665 -14.7499995 458 0 2670 --53.0833335 -52.9166665 -14.9166665 -14.7499995 436 0 2670 --52.9166665 -52.7499995 -14.9166665 -14.7499995 347 0 2670 --52.7500005 -52.5833335 -14.9166665 -14.7499995 303 0 2670 --52.5833335 -52.4166665 -14.9166665 -14.7499995 449 0 2670 --52.4166665 -52.2499995 -14.9166665 -14.7499995 304 0 2670 --52.2500005 -52.0833335 -14.9166665 -14.7499995 285 0 2670 --52.0833335 -51.9166665 -14.9166665 -14.7499995 259 0 2670 --51.9166665 -51.7499995 -14.9166665 -14.7499995 268 0 2670 --51.7500005 -51.5833335 -14.9166665 -14.7499995 263 0 2670 --51.5833335 -51.4166665 -14.9166665 -14.7499995 260 0 2670 --51.4166665 -51.2499995 -14.9166665 -14.7499995 265 0 2670 --51.2500005 -51.0833335 -14.9166665 -14.7499995 258 0 2670 --51.0833335 -50.9166665 -14.9166665 -14.7499995 253 0 2670 --50.9166665 -50.7499995 -14.9166665 -14.7499995 254 0 2670 --50.7500005 -50.5833335 -14.9166665 -14.7499995 308 0 2670 --50.5833335 -50.4166665 -14.9166665 -14.7499995 355 0 2670 --50.4166665 -50.2499995 -14.9166665 -14.7499995 303 0 2670 --50.2500005 -50.0833335 -14.9166665 -14.7499995 423 0 2670 --50.0833335 -49.9166665 -14.9166665 -14.7499995 408 0 2670 --49.9166665 -49.7499995 -14.9166665 -14.7499995 436 0 2670 --49.7500005 -49.5833335 -14.9166665 -14.7499995 905 0 2670 --49.5833335 -49.4166665 -14.9166665 -14.7499995 707 0 2670 --49.4166665 -49.2499995 -14.9166665 -14.7499995 549 0 2670 --49.2500005 -49.0833335 -14.9166665 -14.7499995 533 0 2670 --49.0833335 -48.9166665 -14.9166665 -14.7499995 544 0 2670 --48.9166665 -48.7499995 -14.9166665 -14.7499995 698 0 2670 --48.7500005 -48.5833335 -14.9166665 -14.7499995 559 0 2670 --48.5833335 -48.4166665 -14.9166665 -14.7499995 700 0 2670 --48.4166665 -48.2499995 -14.9166665 -14.7499995 885 0 2670 --48.2500005 -48.0833335 -14.9166665 -14.7499995 1086 0 2670 --48.0833335 -47.9166665 -14.9166665 -14.7499995 1048 0 2670 --47.9166665 -47.7499995 -14.9166665 -14.7499995 1102 0 2670 --47.7500005 -47.5833335 -14.9166665 -14.7499995 1142 0 2670 --47.5833335 -47.4166665 -14.9166665 -14.7499995 1144 0 2670 --47.4166665 -47.2499995 -14.9166665 -14.7499995 525 0 2670 --47.2500005 -47.0833335 -14.9166665 -14.7499995 484 0 2670 --47.0833335 -46.9166665 -14.9166665 -14.7499995 480 0 2670 --46.9166665 -46.7499995 -14.9166665 -14.7499995 504 0 2670 --46.7500005 -46.5833335 -14.9166665 -14.7499995 534 0 2670 --46.5833335 -46.4166665 -14.9166665 -14.7499995 972 0 2670 --46.4166665 -46.2499995 -14.9166665 -14.7499995 875 0 2670 --46.2500005 -46.0833335 -14.9166665 -14.7499995 787 0 2670 --46.0833335 -45.9166665 -14.9166665 -14.7499995 882 0 2670 --45.9166665 -45.7499995 -14.9166665 -14.7499995 812 0 2670 --45.7500005 -45.5833335 -14.9166665 -14.7499995 862 0 2670 --45.5833335 -45.4166665 -14.9166665 -14.7499995 776 0 2670 --45.4166665 -45.2499995 -14.9166665 -14.7499995 752 0 2670 --45.2500005 -45.0833335 -14.9166665 -14.7499995 800 0 2670 --45.0833335 -44.9166665 -14.9166665 -14.7499995 727 0 2670 --44.9166665 -44.7499995 -14.9166665 -14.7499995 743 0 2670 --44.7500005 -44.5833335 -14.9166665 -14.7499995 781 0 2670 --44.5833335 -44.4166665 -14.9166665 -14.7499995 782 0 2670 --44.4166665 -44.2499995 -14.9166665 -14.7499995 636 0 2670 --44.2500005 -44.0833335 -14.9166665 -14.7499995 673 0 2670 --44.0833335 -43.9166665 -14.9166665 -14.7499995 484 0 2670 --43.9166665 -43.7499995 -14.9166665 -14.7499995 467 0 2670 --43.7500005 -43.5833335 -14.9166665 -14.7499995 471 0 2670 --43.5833335 -43.4166665 -14.9166665 -14.7499995 463 0 2670 --43.4166665 -43.2499995 -14.9166665 -14.7499995 534 0 2670 --43.2500005 -43.0833335 -14.9166665 -14.7499995 525 0 2670 --43.0833335 -42.9166665 -14.9166665 -14.7499995 649 0 2670 --42.9166665 -42.7499995 -14.9166665 -14.7499995 744 0 2670 --42.7500005 -42.5833335 -14.9166665 -14.7499995 792 0 2670 --42.5833335 -42.4166665 -14.9166665 -14.7499995 1141 0 2670 --42.4166665 -42.2499995 -14.9166665 -14.7499995 788 0 2670 --42.2500005 -42.0833335 -14.9166665 -14.7499995 767 0 2670 --42.0833335 -41.9166665 -14.9166665 -14.7499995 740 0 2670 --41.9166665 -41.7499995 -14.9166665 -14.7499995 695 0 2670 --41.7500005 -41.5833335 -14.9166665 -14.7499995 618 0 2670 --41.5833335 -41.4166665 -14.9166665 -14.7499995 534 0 2670 --41.4166665 -41.2499995 -14.9166665 -14.7499995 507 0 2670 --41.2500005 -41.0833335 -14.9166665 -14.7499995 464 0 2670 --41.0833335 -40.9166665 -14.9166665 -14.7499995 842 0 2670 --40.9166665 -40.7499995 -14.9166665 -14.7499995 1031 0 2670 --40.7500005 -40.5833335 -14.9166665 -14.7499995 874 0 2670 --40.5833335 -40.4166665 -14.9166665 -14.7499995 907 0 2670 --40.4166665 -40.2499995 -14.9166665 -14.7499995 801 0 2670 --40.2500005 -40.0833335 -14.9166665 -14.7499995 452 0 2670 --40.0833335 -39.9166665 -14.9166665 -14.7499995 376 0 2670 --65.0833335 -64.9166665 -15.0833335 -14.9166665 158 0 2670 --64.9166665 -64.7499995 -15.0833335 -14.9166665 158 0 2670 --64.7500005 -64.5833335 -15.0833335 -14.9166665 160 0 2670 --64.5833335 -64.4166665 -15.0833335 -14.9166665 162 0 2670 --64.4166665 -64.2499995 -15.0833335 -14.9166665 171 0 2670 --64.2500005 -64.0833335 -15.0833335 -14.9166665 168 0 2670 --64.0833335 -63.9166665 -15.0833335 -14.9166665 188 0 2670 --63.9166665 -63.7499995 -15.0833335 -14.9166665 182 0 2670 --63.7500005 -63.5833335 -15.0833335 -14.9166665 189 0 2670 --63.5833335 -63.4166665 -15.0833335 -14.9166665 213 0 2670 --63.4166665 -63.2499995 -15.0833335 -14.9166665 222 0 2670 --63.2500005 -63.0833335 -15.0833335 -14.9166665 231 0 2670 --63.0833335 -62.9166665 -15.0833335 -14.9166665 293 0 2670 --62.9166665 -62.7499995 -15.0833335 -14.9166665 255 0 2670 --62.7500005 -62.5833335 -15.0833335 -14.9166665 226 0 2670 --62.5833335 -62.4166665 -15.0833335 -14.9166665 262 0 2670 --62.4166665 -62.2499995 -15.0833335 -14.9166665 236 0 2670 --62.2500005 -62.0833335 -15.0833335 -14.9166665 279 0 2670 --62.0833335 -61.9166665 -15.0833335 -14.9166665 252 0 2670 --61.9166665 -61.7499995 -15.0833335 -14.9166665 228 0 2670 --61.7500005 -61.5833335 -15.0833335 -14.9166665 250 0 2670 --61.5833335 -61.4166665 -15.0833335 -14.9166665 304 0 2670 --61.4166665 -61.2499995 -15.0833335 -14.9166665 238 0 2670 --61.2500005 -61.0833335 -15.0833335 -14.9166665 189 0 2670 --61.0833335 -60.9166665 -15.0833335 -14.9166665 200 0 2670 --60.9166665 -60.7499995 -15.0833335 -14.9166665 225 0 2670 --60.7500005 -60.5833335 -15.0833335 -14.9166665 206 0 2670 --60.5833335 -60.4166665 -15.0833335 -14.9166665 215 0 2670 --60.4166665 -60.2499995 -15.0833335 -14.9166665 273 0 2670 --60.2500005 -60.0833335 -15.0833335 -14.9166665 249 0 2670 --60.0833335 -59.9166665 -15.0833335 -14.9166665 232 0 2670 --59.9166665 -59.7499995 -15.0833335 -14.9166665 209 0 2670 --59.7500005 -59.5833335 -15.0833335 -14.9166665 214 0 2670 --59.5833335 -59.4166665 -15.0833335 -14.9166665 253 0 2670 --59.4166665 -59.2499995 -15.0833335 -14.9166665 248 0 2670 --59.2500005 -59.0833335 -15.0833335 -14.9166665 282 0 2670 --59.0833335 -58.9166665 -15.0833335 -14.9166665 582 0 2670 --58.9166665 -58.7499995 -15.0833335 -14.9166665 488 0 2670 --58.7500005 -58.5833335 -15.0833335 -14.9166665 561 0 2670 --58.5833335 -58.4166665 -15.0833335 -14.9166665 488 0 2670 --58.4166665 -58.2499995 -15.0833335 -14.9166665 569 0 2670 --58.2500005 -58.0833335 -15.0833335 -14.9166665 421 0 2670 --58.0833335 -57.9166665 -15.0833335 -14.9166665 231 0 2670 --57.9166665 -57.7499995 -15.0833335 -14.9166665 230 0 2670 --57.7500005 -57.5833335 -15.0833335 -14.9166665 238 0 2670 --57.5833335 -57.4166665 -15.0833335 -14.9166665 223 0 2670 --57.4166665 -57.2499995 -15.0833335 -14.9166665 192 0 2670 --57.2500005 -57.0833335 -15.0833335 -14.9166665 160 0 2670 --57.0833335 -56.9166665 -15.0833335 -14.9166665 197 0 2670 --56.9166665 -56.7499995 -15.0833335 -14.9166665 194 0 2670 --56.7500005 -56.5833335 -15.0833335 -14.9166665 239 0 2670 --56.5833335 -56.4166665 -15.0833335 -14.9166665 222 0 2670 --56.4166665 -56.2499995 -15.0833335 -14.9166665 278 0 2670 --56.2500005 -56.0833335 -15.0833335 -14.9166665 335 0 2670 --56.0833335 -55.9166665 -15.0833335 -14.9166665 332 0 2670 --55.9166665 -55.7499995 -15.0833335 -14.9166665 354 0 2670 --55.7500005 -55.5833335 -15.0833335 -14.9166665 284 0 2670 --55.5833335 -55.4166665 -15.0833335 -14.9166665 339 0 2670 --55.4166665 -55.2499995 -15.0833335 -14.9166665 577 0 2670 --55.2500005 -55.0833335 -15.0833335 -14.9166665 694 0 2670 --55.0833335 -54.9166665 -15.0833335 -14.9166665 704 0 2670 --54.9166665 -54.7499995 -15.0833335 -14.9166665 548 0 2670 --54.7500005 -54.5833335 -15.0833335 -14.9166665 729 0 2670 --54.5833335 -54.4166665 -15.0833335 -14.9166665 721 0 2670 --54.4166665 -54.2499995 -15.0833335 -14.9166665 698 0 2670 --54.2500005 -54.0833335 -15.0833335 -14.9166665 681 0 2670 --54.0833335 -53.9166665 -15.0833335 -14.9166665 670 0 2670 --53.9166665 -53.7499995 -15.0833335 -14.9166665 631 0 2670 --53.7500005 -53.5833335 -15.0833335 -14.9166665 593 0 2670 --53.5833335 -53.4166665 -15.0833335 -14.9166665 604 0 2670 --53.4166665 -53.2499995 -15.0833335 -14.9166665 530 0 2670 --53.2500005 -53.0833335 -15.0833335 -14.9166665 456 0 2670 --53.0833335 -52.9166665 -15.0833335 -14.9166665 456 0 2670 --52.9166665 -52.7499995 -15.0833335 -14.9166665 445 0 2670 --52.7500005 -52.5833335 -15.0833335 -14.9166665 510 0 2670 --52.5833335 -52.4166665 -15.0833335 -14.9166665 586 0 2670 --52.4166665 -52.2499995 -15.0833335 -14.9166665 316 0 2670 --52.2500005 -52.0833335 -15.0833335 -14.9166665 277 0 2670 --52.0833335 -51.9166665 -15.0833335 -14.9166665 281 0 2670 --51.9166665 -51.7499995 -15.0833335 -14.9166665 275 0 2670 --51.7500005 -51.5833335 -15.0833335 -14.9166665 267 0 2670 --51.5833335 -51.4166665 -15.0833335 -14.9166665 269 0 2670 --51.4166665 -51.2499995 -15.0833335 -14.9166665 264 0 2670 --51.2500005 -51.0833335 -15.0833335 -14.9166665 255 0 2670 --51.0833335 -50.9166665 -15.0833335 -14.9166665 257 0 2670 --50.9166665 -50.7499995 -15.0833335 -14.9166665 268 0 2670 --50.7500005 -50.5833335 -15.0833335 -14.9166665 290 0 2670 --50.5833335 -50.4166665 -15.0833335 -14.9166665 307 0 2670 --50.4166665 -50.2499995 -15.0833335 -14.9166665 330 0 2670 --50.2500005 -50.0833335 -15.0833335 -14.9166665 379 0 2670 --50.0833335 -49.9166665 -15.0833335 -14.9166665 561 0 2670 --49.9166665 -49.7499995 -15.0833335 -14.9166665 790 0 2670 --49.7500005 -49.5833335 -15.0833335 -14.9166665 642 0 2670 --49.5833335 -49.4166665 -15.0833335 -14.9166665 532 0 2670 --49.4166665 -49.2499995 -15.0833335 -14.9166665 508 0 2670 --49.2500005 -49.0833335 -15.0833335 -14.9166665 598 0 2670 --49.0833335 -48.9166665 -15.0833335 -14.9166665 1079 0 2670 --48.9166665 -48.7499995 -15.0833335 -14.9166665 551 0 2670 --48.7500005 -48.5833335 -15.0833335 -14.9166665 562 0 2670 --48.5833335 -48.4166665 -15.0833335 -14.9166665 843 0 2670 --48.4166665 -48.2499995 -15.0833335 -14.9166665 721 0 2670 --48.2500005 -48.0833335 -15.0833335 -14.9166665 782 0 2670 --48.0833335 -47.9166665 -15.0833335 -14.9166665 894 0 2670 --47.9166665 -47.7499995 -15.0833335 -14.9166665 877 0 2670 --47.7500005 -47.5833335 -15.0833335 -14.9166665 1078 0 2670 --47.5833335 -47.4166665 -15.0833335 -14.9166665 612 0 2670 --47.4166665 -47.2499995 -15.0833335 -14.9166665 783 0 2670 --47.2500005 -47.0833335 -15.0833335 -14.9166665 482 0 2670 --47.0833335 -46.9166665 -15.0833335 -14.9166665 524 0 2670 --46.9166665 -46.7499995 -15.0833335 -14.9166665 963 0 2670 --46.7500005 -46.5833335 -15.0833335 -14.9166665 787 0 2670 --46.5833335 -46.4166665 -15.0833335 -14.9166665 945 0 2670 --46.4166665 -46.2499995 -15.0833335 -14.9166665 926 0 2670 --46.2500005 -46.0833335 -15.0833335 -14.9166665 811 0 2670 --46.0833335 -45.9166665 -15.0833335 -14.9166665 846 0 2670 --45.9166665 -45.7499995 -15.0833335 -14.9166665 838 0 2670 --45.7500005 -45.5833335 -15.0833335 -14.9166665 733 0 2670 --45.5833335 -45.4166665 -15.0833335 -14.9166665 755 0 2670 --45.4166665 -45.2499995 -15.0833335 -14.9166665 815 0 2670 --45.2500005 -45.0833335 -15.0833335 -14.9166665 822 0 2670 --45.0833335 -44.9166665 -15.0833335 -14.9166665 737 0 2670 --44.9166665 -44.7499995 -15.0833335 -14.9166665 815 0 2670 --44.7500005 -44.5833335 -15.0833335 -14.9166665 820 0 2670 --44.5833335 -44.4166665 -15.0833335 -14.9166665 745 0 2670 --44.4166665 -44.2499995 -15.0833335 -14.9166665 740 0 2670 --44.2500005 -44.0833335 -15.0833335 -14.9166665 723 0 2670 --44.0833335 -43.9166665 -15.0833335 -14.9166665 447 0 2670 --43.9166665 -43.7499995 -15.0833335 -14.9166665 475 0 2670 --43.7500005 -43.5833335 -15.0833335 -14.9166665 476 0 2670 --43.5833335 -43.4166665 -15.0833335 -14.9166665 465 0 2670 --43.4166665 -43.2499995 -15.0833335 -14.9166665 481 0 2670 --43.2500005 -43.0833335 -15.0833335 -14.9166665 517 0 2670 --43.0833335 -42.9166665 -15.0833335 -14.9166665 898 0 2670 --42.9166665 -42.7499995 -15.0833335 -14.9166665 620 0 2670 --42.7500005 -42.5833335 -15.0833335 -14.9166665 1048 0 2670 --42.5833335 -42.4166665 -15.0833335 -14.9166665 994 0 2670 --42.4166665 -42.2499995 -15.0833335 -14.9166665 920 0 2670 --42.2500005 -42.0833335 -15.0833335 -14.9166665 809 0 2670 --42.0833335 -41.9166665 -15.0833335 -14.9166665 728 0 2670 --41.9166665 -41.7499995 -15.0833335 -14.9166665 1000 0 2670 --41.7500005 -41.5833335 -15.0833335 -14.9166665 746 0 2670 --41.5833335 -41.4166665 -15.0833335 -14.9166665 741 0 2670 --41.4166665 -41.2499995 -15.0833335 -14.9166665 588 0 2670 --41.2500005 -41.0833335 -15.0833335 -14.9166665 847 0 2670 --41.0833335 -40.9166665 -15.0833335 -14.9166665 832 0 2670 --40.9166665 -40.7499995 -15.0833335 -14.9166665 866 0 2670 --40.7500005 -40.5833335 -15.0833335 -14.9166665 658 0 2670 --40.5833335 -40.4166665 -15.0833335 -14.9166665 593 0 2670 --40.4166665 -40.2499995 -15.0833335 -14.9166665 406 0 2670 --40.2500005 -40.0833335 -15.0833335 -14.9166665 663 0 2670 --40.0833335 -39.9166665 -15.0833335 -14.9166665 410 0 2670 --65.0833335 -64.9166665 -15.2500005 -15.0833335 162 0 2670 --64.9166665 -64.7499995 -15.2500005 -15.0833335 160 0 2670 --64.7500005 -64.5833335 -15.2500005 -15.0833335 159 0 2670 --64.5833335 -64.4166665 -15.2500005 -15.0833335 162 0 2670 --64.4166665 -64.2499995 -15.2500005 -15.0833335 166 0 2670 --64.2500005 -64.0833335 -15.2500005 -15.0833335 180 0 2670 --64.0833335 -63.9166665 -15.2500005 -15.0833335 187 0 2670 --63.9166665 -63.7499995 -15.2500005 -15.0833335 186 0 2670 --63.7500005 -63.5833335 -15.2500005 -15.0833335 190 0 2670 --63.5833335 -63.4166665 -15.2500005 -15.0833335 188 0 2670 --63.4166665 -63.2499995 -15.2500005 -15.0833335 196 0 2670 --63.2500005 -63.0833335 -15.2500005 -15.0833335 213 0 2670 --63.0833335 -62.9166665 -15.2500005 -15.0833335 296 0 2670 --62.9166665 -62.7499995 -15.2500005 -15.0833335 259 0 2670 --62.7500005 -62.5833335 -15.2500005 -15.0833335 286 0 2670 --62.5833335 -62.4166665 -15.2500005 -15.0833335 236 0 2670 --62.4166665 -62.2499995 -15.2500005 -15.0833335 280 0 2670 --62.2500005 -62.0833335 -15.2500005 -15.0833335 306 0 2670 --62.0833335 -61.9166665 -15.2500005 -15.0833335 249 0 2670 --61.9166665 -61.7499995 -15.2500005 -15.0833335 263 0 2670 --61.7500005 -61.5833335 -15.2500005 -15.0833335 280 0 2670 --61.5833335 -61.4166665 -15.2500005 -15.0833335 287 0 2670 --61.4166665 -61.2499995 -15.2500005 -15.0833335 330 0 2670 --61.2500005 -61.0833335 -15.2500005 -15.0833335 234 0 2670 --61.0833335 -60.9166665 -15.2500005 -15.0833335 182 0 2670 --60.9166665 -60.7499995 -15.2500005 -15.0833335 203 0 2670 --60.7500005 -60.5833335 -15.2500005 -15.0833335 216 0 2670 --60.5833335 -60.4166665 -15.2500005 -15.0833335 196 0 2670 --60.4166665 -60.2499995 -15.2500005 -15.0833335 225 0 2670 --60.2500005 -60.0833335 -15.2500005 -15.0833335 259 0 2670 --60.0833335 -59.9166665 -15.2500005 -15.0833335 209 0 2670 --59.9166665 -59.7499995 -15.2500005 -15.0833335 211 0 2670 --59.7500005 -59.5833335 -15.2500005 -15.0833335 216 0 2670 --59.5833335 -59.4166665 -15.2500005 -15.0833335 271 0 2670 --59.4166665 -59.2499995 -15.2500005 -15.0833335 268 0 2670 --59.2500005 -59.0833335 -15.2500005 -15.0833335 352 0 2670 --59.0833335 -58.9166665 -15.2500005 -15.0833335 358 0 2670 --58.9166665 -58.7499995 -15.2500005 -15.0833335 524 0 2670 --58.7500005 -58.5833335 -15.2500005 -15.0833335 493 0 2670 --58.5833335 -58.4166665 -15.2500005 -15.0833335 511 0 2670 --58.4166665 -58.2499995 -15.2500005 -15.0833335 296 0 2670 --58.2500005 -58.0833335 -15.2500005 -15.0833335 310 0 2670 --58.0833335 -57.9166665 -15.2500005 -15.0833335 407 0 2670 --57.9166665 -57.7499995 -15.2500005 -15.0833335 217 0 2670 --57.7500005 -57.5833335 -15.2500005 -15.0833335 183 0 2670 --57.5833335 -57.4166665 -15.2500005 -15.0833335 201 0 2670 --57.4166665 -57.2499995 -15.2500005 -15.0833335 198 0 2670 --57.2500005 -57.0833335 -15.2500005 -15.0833335 155 0 2670 --57.0833335 -56.9166665 -15.2500005 -15.0833335 192 0 2670 --56.9166665 -56.7499995 -15.2500005 -15.0833335 303 0 2670 --56.7500005 -56.5833335 -15.2500005 -15.0833335 269 0 2670 --56.5833335 -56.4166665 -15.2500005 -15.0833335 250 0 2670 --56.4166665 -56.2499995 -15.2500005 -15.0833335 205 0 2670 --56.2500005 -56.0833335 -15.2500005 -15.0833335 309 0 2670 --56.0833335 -55.9166665 -15.2500005 -15.0833335 348 0 2670 --55.9166665 -55.7499995 -15.2500005 -15.0833335 441 0 2670 --55.7500005 -55.5833335 -15.2500005 -15.0833335 322 0 2670 --55.5833335 -55.4166665 -15.2500005 -15.0833335 330 0 2670 --55.4166665 -55.2499995 -15.2500005 -15.0833335 463 0 2670 --55.2500005 -55.0833335 -15.2500005 -15.0833335 701 0 2670 --55.0833335 -54.9166665 -15.2500005 -15.0833335 775 0 2670 --54.9166665 -54.7499995 -15.2500005 -15.0833335 710 0 2670 --54.7500005 -54.5833335 -15.2500005 -15.0833335 632 0 2670 --54.5833335 -54.4166665 -15.2500005 -15.0833335 711 0 2670 --54.4166665 -54.2499995 -15.2500005 -15.0833335 617 0 2670 --54.2500005 -54.0833335 -15.2500005 -15.0833335 611 0 2670 --54.0833335 -53.9166665 -15.2500005 -15.0833335 594 0 2670 --53.9166665 -53.7499995 -15.2500005 -15.0833335 554 0 2670 --53.7500005 -53.5833335 -15.2500005 -15.0833335 556 0 2670 --53.5833335 -53.4166665 -15.2500005 -15.0833335 525 0 2670 --53.4166665 -53.2499995 -15.2500005 -15.0833335 554 0 2670 --53.2500005 -53.0833335 -15.2500005 -15.0833335 380 0 2670 --53.0833335 -52.9166665 -15.2500005 -15.0833335 450 0 2670 --52.9166665 -52.7499995 -15.2500005 -15.0833335 399 0 2670 --52.7500005 -52.5833335 -15.2500005 -15.0833335 587 0 2670 --52.5833335 -52.4166665 -15.2500005 -15.0833335 694 0 2670 --52.4166665 -52.2499995 -15.2500005 -15.0833335 490 0 2670 --52.2500005 -52.0833335 -15.2500005 -15.0833335 307 0 2670 --52.0833335 -51.9166665 -15.2500005 -15.0833335 288 0 2670 --51.9166665 -51.7499995 -15.2500005 -15.0833335 276 0 2670 --51.7500005 -51.5833335 -15.2500005 -15.0833335 272 0 2670 --51.5833335 -51.4166665 -15.2500005 -15.0833335 268 0 2670 --51.4166665 -51.2499995 -15.2500005 -15.0833335 276 0 2670 --51.2500005 -51.0833335 -15.2500005 -15.0833335 255 0 2670 --51.0833335 -50.9166665 -15.2500005 -15.0833335 271 0 2670 --50.9166665 -50.7499995 -15.2500005 -15.0833335 347 0 2670 --50.7500005 -50.5833335 -15.2500005 -15.0833335 299 0 2670 --50.5833335 -50.4166665 -15.2500005 -15.0833335 331 0 2670 --50.4166665 -50.2499995 -15.2500005 -15.0833335 378 0 2670 --50.2500005 -50.0833335 -15.2500005 -15.0833335 437 0 2670 --50.0833335 -49.9166665 -15.2500005 -15.0833335 742 0 2670 --49.9166665 -49.7499995 -15.2500005 -15.0833335 663 0 2670 --49.7500005 -49.5833335 -15.2500005 -15.0833335 579 0 2670 --49.5833335 -49.4166665 -15.2500005 -15.0833335 533 0 2670 --49.4166665 -49.2499995 -15.2500005 -15.0833335 616 0 2670 --49.2500005 -49.0833335 -15.2500005 -15.0833335 734 0 2670 --49.0833335 -48.9166665 -15.2500005 -15.0833335 761 0 2670 --48.9166665 -48.7499995 -15.2500005 -15.0833335 612 0 2670 --48.7500005 -48.5833335 -15.2500005 -15.0833335 651 0 2670 --48.5833335 -48.4166665 -15.2500005 -15.0833335 611 0 2670 --48.4166665 -48.2499995 -15.2500005 -15.0833335 612 0 2670 --48.2500005 -48.0833335 -15.2500005 -15.0833335 684 0 2670 --48.0833335 -47.9166665 -15.2500005 -15.0833335 736 0 2670 --47.9166665 -47.7499995 -15.2500005 -15.0833335 908 0 2670 --47.7500005 -47.5833335 -15.2500005 -15.0833335 998 0 2670 --47.5833335 -47.4166665 -15.2500005 -15.0833335 698 0 2670 --47.4166665 -47.2499995 -15.2500005 -15.0833335 814 0 2670 --47.2500005 -47.0833335 -15.2500005 -15.0833335 527 0 2670 --47.0833335 -46.9166665 -15.2500005 -15.0833335 537 0 2670 --46.9166665 -46.7499995 -15.2500005 -15.0833335 936 0 2670 --46.7500005 -46.5833335 -15.2500005 -15.0833335 961 0 2670 --46.5833335 -46.4166665 -15.2500005 -15.0833335 942 0 2670 --46.4166665 -46.2499995 -15.2500005 -15.0833335 961 0 2670 --46.2500005 -46.0833335 -15.2500005 -15.0833335 803 0 2670 --46.0833335 -45.9166665 -15.2500005 -15.0833335 782 0 2670 --45.9166665 -45.7499995 -15.2500005 -15.0833335 773 0 2670 --45.7500005 -45.5833335 -15.2500005 -15.0833335 785 0 2670 --45.5833335 -45.4166665 -15.2500005 -15.0833335 781 0 2670 --45.4166665 -45.2499995 -15.2500005 -15.0833335 792 0 2670 --45.2500005 -45.0833335 -15.2500005 -15.0833335 733 0 2670 --45.0833335 -44.9166665 -15.2500005 -15.0833335 682 0 2670 --44.9166665 -44.7499995 -15.2500005 -15.0833335 663 0 2670 --44.7500005 -44.5833335 -15.2500005 -15.0833335 716 0 2670 --44.5833335 -44.4166665 -15.2500005 -15.0833335 817 0 2670 --44.4166665 -44.2499995 -15.2500005 -15.0833335 754 0 2670 --44.2500005 -44.0833335 -15.2500005 -15.0833335 471 0 2670 --44.0833335 -43.9166665 -15.2500005 -15.0833335 465 0 2670 --43.9166665 -43.7499995 -15.2500005 -15.0833335 475 0 2670 --43.7500005 -43.5833335 -15.2500005 -15.0833335 468 0 2670 --43.5833335 -43.4166665 -15.2500005 -15.0833335 485 0 2670 --43.4166665 -43.2499995 -15.2500005 -15.0833335 476 0 2670 --43.2500005 -43.0833335 -15.2500005 -15.0833335 501 0 2670 --43.0833335 -42.9166665 -15.2500005 -15.0833335 1015 0 2670 --42.9166665 -42.7499995 -15.2500005 -15.0833335 687 0 2670 --42.7500005 -42.5833335 -15.2500005 -15.0833335 984 0 2670 --42.5833335 -42.4166665 -15.2500005 -15.0833335 929 0 2670 --42.4166665 -42.2499995 -15.2500005 -15.0833335 996 0 2670 --42.2500005 -42.0833335 -15.2500005 -15.0833335 939 0 2670 --42.0833335 -41.9166665 -15.2500005 -15.0833335 1056 0 2670 --41.9166665 -41.7499995 -15.2500005 -15.0833335 895 0 2670 --41.7500005 -41.5833335 -15.2500005 -15.0833335 885 0 2670 --41.5833335 -41.4166665 -15.2500005 -15.0833335 890 0 2670 --41.4166665 -41.2499995 -15.2500005 -15.0833335 821 0 2670 --41.2500005 -41.0833335 -15.2500005 -15.0833335 844 0 2670 --41.0833335 -40.9166665 -15.2500005 -15.0833335 788 0 2670 --40.9166665 -40.7499995 -15.2500005 -15.0833335 810 0 2670 --40.7500005 -40.5833335 -15.2500005 -15.0833335 364 0 2670 --40.5833335 -40.4166665 -15.2500005 -15.0833335 365 0 2670 --40.4166665 -40.2499995 -15.2500005 -15.0833335 289 0 2670 --40.2500005 -40.0833335 -15.2500005 -15.0833335 500 0 2670 --40.0833335 -39.9166665 -15.2500005 -15.0833335 276 0 2670 --65.0833335 -64.9166665 -15.4166665 -15.2499995 170 0 2670 --64.9166665 -64.7499995 -15.4166665 -15.2499995 164 0 2670 --64.7500005 -64.5833335 -15.4166665 -15.2499995 164 0 2670 --64.5833335 -64.4166665 -15.4166665 -15.2499995 167 0 2670 --64.4166665 -64.2499995 -15.4166665 -15.2499995 168 0 2670 --64.2500005 -64.0833335 -15.4166665 -15.2499995 173 0 2670 --64.0833335 -63.9166665 -15.4166665 -15.2499995 183 0 2670 --63.9166665 -63.7499995 -15.4166665 -15.2499995 191 0 2670 --63.7500005 -63.5833335 -15.4166665 -15.2499995 182 0 2670 --63.5833335 -63.4166665 -15.4166665 -15.2499995 196 0 2670 --63.4166665 -63.2499995 -15.4166665 -15.2499995 192 0 2670 --63.2500005 -63.0833335 -15.4166665 -15.2499995 220 0 2670 --63.0833335 -62.9166665 -15.4166665 -15.2499995 308 0 2670 --62.9166665 -62.7499995 -15.4166665 -15.2499995 309 0 2670 --62.7500005 -62.5833335 -15.4166665 -15.2499995 350 0 2670 --62.5833335 -62.4166665 -15.4166665 -15.2499995 306 0 2670 --62.4166665 -62.2499995 -15.4166665 -15.2499995 257 0 2670 --62.2500005 -62.0833335 -15.4166665 -15.2499995 290 0 2670 --62.0833335 -61.9166665 -15.4166665 -15.2499995 295 0 2670 --61.9166665 -61.7499995 -15.4166665 -15.2499995 281 0 2670 --61.7500005 -61.5833335 -15.4166665 -15.2499995 291 0 2670 --61.5833335 -61.4166665 -15.4166665 -15.2499995 285 0 2670 --61.4166665 -61.2499995 -15.4166665 -15.2499995 312 0 2670 --61.2500005 -61.0833335 -15.4166665 -15.2499995 251 0 2670 --61.0833335 -60.9166665 -15.4166665 -15.2499995 232 0 2670 --60.9166665 -60.7499995 -15.4166665 -15.2499995 201 0 2670 --60.7500005 -60.5833335 -15.4166665 -15.2499995 226 0 2670 --60.5833335 -60.4166665 -15.4166665 -15.2499995 195 0 2670 --60.4166665 -60.2499995 -15.4166665 -15.2499995 227 0 2670 --60.2500005 -60.0833335 -15.4166665 -15.2499995 221 0 2670 --60.0833335 -59.9166665 -15.4166665 -15.2499995 203 0 2670 --59.9166665 -59.7499995 -15.4166665 -15.2499995 209 0 2670 --59.7500005 -59.5833335 -15.4166665 -15.2499995 222 0 2670 --59.5833335 -59.4166665 -15.4166665 -15.2499995 232 0 2670 --59.4166665 -59.2499995 -15.4166665 -15.2499995 336 0 2670 --59.2500005 -59.0833335 -15.4166665 -15.2499995 329 0 2670 --59.0833335 -58.9166665 -15.4166665 -15.2499995 363 0 2670 --58.9166665 -58.7499995 -15.4166665 -15.2499995 427 0 2670 --58.7500005 -58.5833335 -15.4166665 -15.2499995 207 0 2670 --58.5833335 -58.4166665 -15.4166665 -15.2499995 357 0 2670 --58.4166665 -58.2499995 -15.4166665 -15.2499995 238 0 2670 --58.2500005 -58.0833335 -15.4166665 -15.2499995 435 0 2670 --58.0833335 -57.9166665 -15.4166665 -15.2499995 180 0 2670 --57.9166665 -57.7499995 -15.4166665 -15.2499995 205 0 2670 --57.7500005 -57.5833335 -15.4166665 -15.2499995 201 0 2670 --57.5833335 -57.4166665 -15.4166665 -15.2499995 177 0 2670 --57.4166665 -57.2499995 -15.4166665 -15.2499995 182 0 2670 --57.2500005 -57.0833335 -15.4166665 -15.2499995 161 0 2670 --57.0833335 -56.9166665 -15.4166665 -15.2499995 221 0 2670 --56.9166665 -56.7499995 -15.4166665 -15.2499995 477 0 2670 --56.7500005 -56.5833335 -15.4166665 -15.2499995 275 0 2670 --56.5833335 -56.4166665 -15.4166665 -15.2499995 255 0 2670 --56.4166665 -56.2499995 -15.4166665 -15.2499995 220 0 2670 --56.2500005 -56.0833335 -15.4166665 -15.2499995 218 0 2670 --56.0833335 -55.9166665 -15.4166665 -15.2499995 276 0 2670 --55.9166665 -55.7499995 -15.4166665 -15.2499995 376 0 2670 --55.7500005 -55.5833335 -15.4166665 -15.2499995 575 0 2670 --55.5833335 -55.4166665 -15.4166665 -15.2499995 433 0 2670 --55.4166665 -55.2499995 -15.4166665 -15.2499995 572 0 2670 --55.2500005 -55.0833335 -15.4166665 -15.2499995 710 0 2670 --55.0833335 -54.9166665 -15.4166665 -15.2499995 635 0 2670 --54.9166665 -54.7499995 -15.4166665 -15.2499995 651 0 2670 --54.7500005 -54.5833335 -15.4166665 -15.2499995 644 0 2670 --54.5833335 -54.4166665 -15.4166665 -15.2499995 689 0 2670 --54.4166665 -54.2499995 -15.4166665 -15.2499995 574 0 2670 --54.2500005 -54.0833335 -15.4166665 -15.2499995 573 0 2670 --54.0833335 -53.9166665 -15.4166665 -15.2499995 557 0 2670 --53.9166665 -53.7499995 -15.4166665 -15.2499995 547 0 2670 --53.7500005 -53.5833335 -15.4166665 -15.2499995 522 0 2670 --53.5833335 -53.4166665 -15.4166665 -15.2499995 530 0 2670 --53.4166665 -53.2499995 -15.4166665 -15.2499995 461 0 2670 --53.2500005 -53.0833335 -15.4166665 -15.2499995 440 0 2670 --53.0833335 -52.9166665 -15.4166665 -15.2499995 388 0 2670 --52.9166665 -52.7499995 -15.4166665 -15.2499995 392 0 2670 --52.7500005 -52.5833335 -15.4166665 -15.2499995 670 0 2670 --52.5833335 -52.4166665 -15.4166665 -15.2499995 806 0 2670 --52.4166665 -52.2499995 -15.4166665 -15.2499995 775 0 2670 --52.2500005 -52.0833335 -15.4166665 -15.2499995 350 0 2670 --52.0833335 -51.9166665 -15.4166665 -15.2499995 296 0 2670 --51.9166665 -51.7499995 -15.4166665 -15.2499995 278 0 2670 --51.7500005 -51.5833335 -15.4166665 -15.2499995 286 0 2670 --51.5833335 -51.4166665 -15.4166665 -15.2499995 286 0 2670 --51.4166665 -51.2499995 -15.4166665 -15.2499995 280 0 2670 --51.2500005 -51.0833335 -15.4166665 -15.2499995 259 0 2670 --51.0833335 -50.9166665 -15.4166665 -15.2499995 271 0 2670 --50.9166665 -50.7499995 -15.4166665 -15.2499995 343 0 2670 --50.7500005 -50.5833335 -15.4166665 -15.2499995 344 0 2670 --50.5833335 -50.4166665 -15.4166665 -15.2499995 315 0 2670 --50.4166665 -50.2499995 -15.4166665 -15.2499995 398 0 2670 --50.2500005 -50.0833335 -15.4166665 -15.2499995 470 0 2670 --50.0833335 -49.9166665 -15.4166665 -15.2499995 666 0 2670 --49.9166665 -49.7499995 -15.4166665 -15.2499995 605 0 2670 --49.7500005 -49.5833335 -15.4166665 -15.2499995 624 0 2670 --49.5833335 -49.4166665 -15.4166665 -15.2499995 704 0 2670 --49.4166665 -49.2499995 -15.4166665 -15.2499995 568 0 2670 --49.2500005 -49.0833335 -15.4166665 -15.2499995 621 0 2670 --49.0833335 -48.9166665 -15.4166665 -15.2499995 653 0 2670 --48.9166665 -48.7499995 -15.4166665 -15.2499995 652 0 2670 --48.7500005 -48.5833335 -15.4166665 -15.2499995 682 0 2670 --48.5833335 -48.4166665 -15.4166665 -15.2499995 691 0 2670 --48.4166665 -48.2499995 -15.4166665 -15.2499995 774 0 2670 --48.2500005 -48.0833335 -15.4166665 -15.2499995 729 0 2670 --48.0833335 -47.9166665 -15.4166665 -15.2499995 776 0 2670 --47.9166665 -47.7499995 -15.4166665 -15.2499995 930 0 2670 --47.7500005 -47.5833335 -15.4166665 -15.2499995 984 0 2670 --47.5833335 -47.4166665 -15.4166665 -15.2499995 1110 0 2670 --47.4166665 -47.2499995 -15.4166665 -15.2499995 778 0 2670 --47.2500005 -47.0833335 -15.4166665 -15.2499995 930 0 2670 --47.0833335 -46.9166665 -15.4166665 -15.2499995 805 0 2670 --46.9166665 -46.7499995 -15.4166665 -15.2499995 1002 0 2670 --46.7500005 -46.5833335 -15.4166665 -15.2499995 948 0 2670 --46.5833335 -46.4166665 -15.4166665 -15.2499995 927 0 2670 --46.4166665 -46.2499995 -15.4166665 -15.2499995 555 0 2670 --46.2500005 -46.0833335 -15.4166665 -15.2499995 734 0 2670 --46.0833335 -45.9166665 -15.4166665 -15.2499995 844 0 2670 --45.9166665 -45.7499995 -15.4166665 -15.2499995 787 0 2670 --45.7500005 -45.5833335 -15.4166665 -15.2499995 859 0 2670 --45.5833335 -45.4166665 -15.4166665 -15.2499995 708 0 2670 --45.4166665 -45.2499995 -15.4166665 -15.2499995 633 0 2670 --45.2500005 -45.0833335 -15.4166665 -15.2499995 675 0 2670 --45.0833335 -44.9166665 -15.4166665 -15.2499995 586 0 2670 --44.9166665 -44.7499995 -15.4166665 -15.2499995 601 0 2670 --44.7500005 -44.5833335 -15.4166665 -15.2499995 651 0 2670 --44.5833335 -44.4166665 -15.4166665 -15.2499995 669 0 2670 --44.4166665 -44.2499995 -15.4166665 -15.2499995 613 0 2670 --44.2500005 -44.0833335 -15.4166665 -15.2499995 450 0 2670 --44.0833335 -43.9166665 -15.4166665 -15.2499995 497 0 2670 --43.9166665 -43.7499995 -15.4166665 -15.2499995 533 0 2670 --43.7500005 -43.5833335 -15.4166665 -15.2499995 474 0 2670 --43.5833335 -43.4166665 -15.4166665 -15.2499995 491 0 2670 --43.4166665 -43.2499995 -15.4166665 -15.2499995 488 0 2670 --43.2500005 -43.0833335 -15.4166665 -15.2499995 483 0 2670 --43.0833335 -42.9166665 -15.4166665 -15.2499995 501 0 2670 --42.9166665 -42.7499995 -15.4166665 -15.2499995 571 0 2670 --42.7500005 -42.5833335 -15.4166665 -15.2499995 962 0 2670 --42.5833335 -42.4166665 -15.4166665 -15.2499995 874 0 2670 --42.4166665 -42.2499995 -15.4166665 -15.2499995 986 0 2670 --42.2500005 -42.0833335 -15.4166665 -15.2499995 860 0 2670 --42.0833335 -41.9166665 -15.4166665 -15.2499995 861 0 2670 --41.9166665 -41.7499995 -15.4166665 -15.2499995 903 0 2670 --41.7500005 -41.5833335 -15.4166665 -15.2499995 934 0 2670 --41.5833335 -41.4166665 -15.4166665 -15.2499995 821 0 2670 --41.4166665 -41.2499995 -15.4166665 -15.2499995 830 0 2670 --41.2500005 -41.0833335 -15.4166665 -15.2499995 743 0 2670 --41.0833335 -40.9166665 -15.4166665 -15.2499995 813 0 2670 --40.9166665 -40.7499995 -15.4166665 -15.2499995 613 0 2670 --40.7500005 -40.5833335 -15.4166665 -15.2499995 502 0 2670 --40.5833335 -40.4166665 -15.4166665 -15.2499995 406 0 2670 --40.4166665 -40.2499995 -15.4166665 -15.2499995 309 0 2670 --40.2500005 -40.0833335 -15.4166665 -15.2499995 247 0 2670 --40.0833335 -39.9166665 -15.4166665 -15.2499995 210 0 2670 --65.0833335 -64.9166665 -15.5833335 -15.4166665 163 0 2670 --64.9166665 -64.7499995 -15.5833335 -15.4166665 171 0 2670 --64.7500005 -64.5833335 -15.5833335 -15.4166665 174 0 2670 --64.5833335 -64.4166665 -15.5833335 -15.4166665 171 0 2670 --64.4166665 -64.2499995 -15.5833335 -15.4166665 171 0 2670 --64.2500005 -64.0833335 -15.5833335 -15.4166665 174 0 2670 --64.0833335 -63.9166665 -15.5833335 -15.4166665 179 0 2670 --63.9166665 -63.7499995 -15.5833335 -15.4166665 184 0 2670 --63.7500005 -63.5833335 -15.5833335 -15.4166665 192 0 2670 --63.5833335 -63.4166665 -15.5833335 -15.4166665 202 0 2670 --63.4166665 -63.2499995 -15.5833335 -15.4166665 202 0 2670 --63.2500005 -63.0833335 -15.5833335 -15.4166665 197 0 2670 --63.0833335 -62.9166665 -15.5833335 -15.4166665 204 0 2670 --62.9166665 -62.7499995 -15.5833335 -15.4166665 251 0 2670 --62.7500005 -62.5833335 -15.5833335 -15.4166665 288 0 2670 --62.5833335 -62.4166665 -15.5833335 -15.4166665 344 0 2670 --62.4166665 -62.2499995 -15.5833335 -15.4166665 319 0 2670 --62.2500005 -62.0833335 -15.5833335 -15.4166665 305 0 2670 --62.0833335 -61.9166665 -15.5833335 -15.4166665 388 0 2670 --61.9166665 -61.7499995 -15.5833335 -15.4166665 359 0 2670 --61.7500005 -61.5833335 -15.5833335 -15.4166665 362 0 2670 --61.5833335 -61.4166665 -15.5833335 -15.4166665 282 0 2670 --61.4166665 -61.2499995 -15.5833335 -15.4166665 318 0 2670 --61.2500005 -61.0833335 -15.5833335 -15.4166665 278 0 2670 --61.0833335 -60.9166665 -15.5833335 -15.4166665 227 0 2670 --60.9166665 -60.7499995 -15.5833335 -15.4166665 220 0 2670 --60.7500005 -60.5833335 -15.5833335 -15.4166665 335 0 2670 --60.5833335 -60.4166665 -15.5833335 -15.4166665 235 0 2670 --60.4166665 -60.2499995 -15.5833335 -15.4166665 227 0 2670 --60.2500005 -60.0833335 -15.5833335 -15.4166665 210 0 2670 --60.0833335 -59.9166665 -15.5833335 -15.4166665 200 0 2670 --59.9166665 -59.7499995 -15.5833335 -15.4166665 209 0 2670 --59.7500005 -59.5833335 -15.5833335 -15.4166665 220 0 2670 --59.5833335 -59.4166665 -15.5833335 -15.4166665 245 0 2670 --59.4166665 -59.2499995 -15.5833335 -15.4166665 236 0 2670 --59.2500005 -59.0833335 -15.5833335 -15.4166665 343 0 2670 --59.0833335 -58.9166665 -15.5833335 -15.4166665 338 0 2670 --58.9166665 -58.7499995 -15.5833335 -15.4166665 316 0 2670 --58.7500005 -58.5833335 -15.5833335 -15.4166665 264 0 2670 --58.5833335 -58.4166665 -15.5833335 -15.4166665 215 0 2670 --58.4166665 -58.2499995 -15.5833335 -15.4166665 208 0 2670 --58.2500005 -58.0833335 -15.5833335 -15.4166665 194 0 2670 --58.0833335 -57.9166665 -15.5833335 -15.4166665 184 0 2670 --57.9166665 -57.7499995 -15.5833335 -15.4166665 150 0 2670 --57.7500005 -57.5833335 -15.5833335 -15.4166665 177 0 2670 --57.5833335 -57.4166665 -15.5833335 -15.4166665 159 0 2670 --57.4166665 -57.2499995 -15.5833335 -15.4166665 147 0 2670 --57.2500005 -57.0833335 -15.5833335 -15.4166665 203 0 2670 --57.0833335 -56.9166665 -15.5833335 -15.4166665 381 0 2670 --56.9166665 -56.7499995 -15.5833335 -15.4166665 317 0 2670 --56.7500005 -56.5833335 -15.5833335 -15.4166665 272 0 2670 --56.5833335 -56.4166665 -15.5833335 -15.4166665 230 0 2670 --56.4166665 -56.2499995 -15.5833335 -15.4166665 189 0 2670 --56.2500005 -56.0833335 -15.5833335 -15.4166665 169 0 2670 --56.0833335 -55.9166665 -15.5833335 -15.4166665 215 0 2670 --55.9166665 -55.7499995 -15.5833335 -15.4166665 343 0 2670 --55.7500005 -55.5833335 -15.5833335 -15.4166665 368 0 2670 --55.5833335 -55.4166665 -15.5833335 -15.4166665 726 0 2670 --55.4166665 -55.2499995 -15.5833335 -15.4166665 735 0 2670 --55.2500005 -55.0833335 -15.5833335 -15.4166665 701 0 2670 --55.0833335 -54.9166665 -15.5833335 -15.4166665 654 0 2670 --54.9166665 -54.7499995 -15.5833335 -15.4166665 668 0 2670 --54.7500005 -54.5833335 -15.5833335 -15.4166665 622 0 2670 --54.5833335 -54.4166665 -15.5833335 -15.4166665 644 0 2670 --54.4166665 -54.2499995 -15.5833335 -15.4166665 610 0 2670 --54.2500005 -54.0833335 -15.5833335 -15.4166665 625 0 2670 --54.0833335 -53.9166665 -15.5833335 -15.4166665 587 0 2670 --53.9166665 -53.7499995 -15.5833335 -15.4166665 594 0 2670 --53.7500005 -53.5833335 -15.5833335 -15.4166665 582 0 2670 --53.5833335 -53.4166665 -15.5833335 -15.4166665 568 0 2670 --53.4166665 -53.2499995 -15.5833335 -15.4166665 476 0 2670 --53.2500005 -53.0833335 -15.5833335 -15.4166665 513 0 2670 --53.0833335 -52.9166665 -15.5833335 -15.4166665 445 0 2670 --52.9166665 -52.7499995 -15.5833335 -15.4166665 467 0 2670 --52.7500005 -52.5833335 -15.5833335 -15.4166665 462 0 2670 --52.5833335 -52.4166665 -15.5833335 -15.4166665 687 0 2670 --52.4166665 -52.2499995 -15.5833335 -15.4166665 391 0 2670 --52.2500005 -52.0833335 -15.5833335 -15.4166665 318 0 2670 --52.0833335 -51.9166665 -15.5833335 -15.4166665 309 0 2670 --51.9166665 -51.7499995 -15.5833335 -15.4166665 300 0 2670 --51.7500005 -51.5833335 -15.5833335 -15.4166665 280 0 2670 --51.5833335 -51.4166665 -15.5833335 -15.4166665 294 0 2670 --51.4166665 -51.2499995 -15.5833335 -15.4166665 286 0 2670 --51.2500005 -51.0833335 -15.5833335 -15.4166665 284 0 2670 --51.0833335 -50.9166665 -15.5833335 -15.4166665 287 0 2670 --50.9166665 -50.7499995 -15.5833335 -15.4166665 287 0 2670 --50.7500005 -50.5833335 -15.5833335 -15.4166665 338 0 2670 --50.5833335 -50.4166665 -15.5833335 -15.4166665 425 0 2670 --50.4166665 -50.2499995 -15.5833335 -15.4166665 418 0 2670 --50.2500005 -50.0833335 -15.5833335 -15.4166665 678 0 2670 --50.0833335 -49.9166665 -15.5833335 -15.4166665 734 0 2670 --49.9166665 -49.7499995 -15.5833335 -15.4166665 734 0 2670 --49.7500005 -49.5833335 -15.5833335 -15.4166665 611 0 2670 --49.5833335 -49.4166665 -15.5833335 -15.4166665 585 0 2670 --49.4166665 -49.2499995 -15.5833335 -15.4166665 751 0 2670 --49.2500005 -49.0833335 -15.5833335 -15.4166665 628 0 2670 --49.0833335 -48.9166665 -15.5833335 -15.4166665 767 0 2670 --48.9166665 -48.7499995 -15.5833335 -15.4166665 856 0 2670 --48.7500005 -48.5833335 -15.5833335 -15.4166665 674 0 2670 --48.5833335 -48.4166665 -15.5833335 -15.4166665 693 0 2670 --48.4166665 -48.2499995 -15.5833335 -15.4166665 740 0 2670 --48.2500005 -48.0833335 -15.5833335 -15.4166665 894 0 2670 --48.0833335 -47.9166665 -15.5833335 -15.4166665 854 0 2670 --47.9166665 -47.7499995 -15.5833335 -15.4166665 751 0 2670 --47.7500005 -47.5833335 -15.5833335 -15.4166665 932 0 2670 --47.5833335 -47.4166665 -15.5833335 -15.4166665 1129 0 2670 --47.4166665 -47.2499995 -15.5833335 -15.4166665 847 0 2670 --47.2500005 -47.0833335 -15.5833335 -15.4166665 1007 0 2670 --47.0833335 -46.9166665 -15.5833335 -15.4166665 873 0 2670 --46.9166665 -46.7499995 -15.5833335 -15.4166665 757 0 2670 --46.7500005 -46.5833335 -15.5833335 -15.4166665 833 0 2670 --46.5833335 -46.4166665 -15.5833335 -15.4166665 940 0 2670 --46.4166665 -46.2499995 -15.5833335 -15.4166665 593 0 2670 --46.2500005 -46.0833335 -15.5833335 -15.4166665 711 0 2670 --46.0833335 -45.9166665 -15.5833335 -15.4166665 723 0 2670 --45.9166665 -45.7499995 -15.5833335 -15.4166665 803 0 2670 --45.7500005 -45.5833335 -15.5833335 -15.4166665 704 0 2670 --45.5833335 -45.4166665 -15.5833335 -15.4166665 694 0 2670 --45.4166665 -45.2499995 -15.5833335 -15.4166665 638 0 2670 --45.2500005 -45.0833335 -15.5833335 -15.4166665 593 0 2670 --45.0833335 -44.9166665 -15.5833335 -15.4166665 613 0 2670 --44.9166665 -44.7499995 -15.5833335 -15.4166665 593 0 2670 --44.7500005 -44.5833335 -15.5833335 -15.4166665 608 0 2670 --44.5833335 -44.4166665 -15.5833335 -15.4166665 562 0 2670 --44.4166665 -44.2499995 -15.5833335 -15.4166665 456 0 2670 --44.2500005 -44.0833335 -15.5833335 -15.4166665 486 0 2670 --44.0833335 -43.9166665 -15.5833335 -15.4166665 748 0 2670 --43.9166665 -43.7499995 -15.5833335 -15.4166665 579 0 2670 --43.7500005 -43.5833335 -15.5833335 -15.4166665 480 0 2670 --43.5833335 -43.4166665 -15.5833335 -15.4166665 530 0 2670 --43.4166665 -43.2499995 -15.5833335 -15.4166665 508 0 2670 --43.2500005 -43.0833335 -15.5833335 -15.4166665 518 0 2670 --43.0833335 -42.9166665 -15.5833335 -15.4166665 525 0 2670 --42.9166665 -42.7499995 -15.5833335 -15.4166665 740 0 2670 --42.7500005 -42.5833335 -15.5833335 -15.4166665 947 0 2670 --42.5833335 -42.4166665 -15.5833335 -15.4166665 926 0 2670 --42.4166665 -42.2499995 -15.5833335 -15.4166665 921 0 2670 --42.2500005 -42.0833335 -15.5833335 -15.4166665 961 0 2670 --42.0833335 -41.9166665 -15.5833335 -15.4166665 760 0 2670 --41.9166665 -41.7499995 -15.5833335 -15.4166665 775 0 2670 --41.7500005 -41.5833335 -15.5833335 -15.4166665 729 0 2670 --41.5833335 -41.4166665 -15.5833335 -15.4166665 767 0 2670 --41.4166665 -41.2499995 -15.5833335 -15.4166665 683 0 2670 --41.2500005 -41.0833335 -15.5833335 -15.4166665 729 0 2670 --41.0833335 -40.9166665 -15.5833335 -15.4166665 763 0 2670 --40.9166665 -40.7499995 -15.5833335 -15.4166665 819 0 2670 --40.7500005 -40.5833335 -15.5833335 -15.4166665 785 0 2670 --40.5833335 -40.4166665 -15.5833335 -15.4166665 348 0 2670 --40.4166665 -40.2499995 -15.5833335 -15.4166665 304 0 2670 --40.2500005 -40.0833335 -15.5833335 -15.4166665 418 0 2670 --40.0833335 -39.9166665 -15.5833335 -15.4166665 238 0 2670 --65.0833335 -64.9166665 -15.7500005 -15.5833335 165 0 2670 --64.9166665 -64.7499995 -15.7500005 -15.5833335 167 0 2670 --64.7500005 -64.5833335 -15.7500005 -15.5833335 180 0 2670 --64.5833335 -64.4166665 -15.7500005 -15.5833335 178 0 2670 --64.4166665 -64.2499995 -15.7500005 -15.5833335 187 0 2670 --64.2500005 -64.0833335 -15.7500005 -15.5833335 182 0 2670 --64.0833335 -63.9166665 -15.7500005 -15.5833335 178 0 2670 --63.9166665 -63.7499995 -15.7500005 -15.5833335 187 0 2670 --63.7500005 -63.5833335 -15.7500005 -15.5833335 202 0 2670 --63.5833335 -63.4166665 -15.7500005 -15.5833335 199 0 2670 --63.4166665 -63.2499995 -15.7500005 -15.5833335 208 0 2670 --63.2500005 -63.0833335 -15.7500005 -15.5833335 190 0 2670 --63.0833335 -62.9166665 -15.7500005 -15.5833335 236 0 2670 --62.9166665 -62.7499995 -15.7500005 -15.5833335 304 0 2670 --62.7500005 -62.5833335 -15.7500005 -15.5833335 372 0 2670 --62.5833335 -62.4166665 -15.7500005 -15.5833335 517 0 2670 --62.4166665 -62.2499995 -15.7500005 -15.5833335 390 0 2670 --62.2500005 -62.0833335 -15.7500005 -15.5833335 342 0 2670 --62.0833335 -61.9166665 -15.7500005 -15.5833335 341 0 2670 --61.9166665 -61.7499995 -15.7500005 -15.5833335 418 0 2670 --61.7500005 -61.5833335 -15.7500005 -15.5833335 422 0 2670 --61.5833335 -61.4166665 -15.7500005 -15.5833335 411 0 2670 --61.4166665 -61.2499995 -15.7500005 -15.5833335 350 0 2670 --61.2500005 -61.0833335 -15.7500005 -15.5833335 319 0 2670 --61.0833335 -60.9166665 -15.7500005 -15.5833335 269 0 2670 --60.9166665 -60.7499995 -15.7500005 -15.5833335 235 0 2670 --60.7500005 -60.5833335 -15.7500005 -15.5833335 288 0 2670 --60.5833335 -60.4166665 -15.7500005 -15.5833335 254 0 2670 --60.4166665 -60.2499995 -15.7500005 -15.5833335 240 0 2670 --60.2500005 -60.0833335 -15.7500005 -15.5833335 205 0 2670 --60.0833335 -59.9166665 -15.7500005 -15.5833335 209 0 2670 --59.9166665 -59.7499995 -15.7500005 -15.5833335 210 0 2670 --59.7500005 -59.5833335 -15.7500005 -15.5833335 228 0 2670 --59.5833335 -59.4166665 -15.7500005 -15.5833335 450 0 2670 --59.4166665 -59.2499995 -15.7500005 -15.5833335 400 0 2670 --59.2500005 -59.0833335 -15.7500005 -15.5833335 379 0 2670 --59.0833335 -58.9166665 -15.7500005 -15.5833335 274 0 2670 --58.9166665 -58.7499995 -15.7500005 -15.5833335 311 0 2670 --58.7500005 -58.5833335 -15.7500005 -15.5833335 190 0 2670 --58.5833335 -58.4166665 -15.7500005 -15.5833335 222 0 2670 --58.4166665 -58.2499995 -15.7500005 -15.5833335 213 0 2670 --58.2500005 -58.0833335 -15.7500005 -15.5833335 228 0 2670 --58.0833335 -57.9166665 -15.7500005 -15.5833335 237 0 2670 --57.9166665 -57.7499995 -15.7500005 -15.5833335 158 0 2670 --57.7500005 -57.5833335 -15.7500005 -15.5833335 157 0 2670 --57.5833335 -57.4166665 -15.7500005 -15.5833335 134 0 2670 --57.4166665 -57.2499995 -15.7500005 -15.5833335 249 0 2670 --57.2500005 -57.0833335 -15.7500005 -15.5833335 570 0 2670 --57.0833335 -56.9166665 -15.7500005 -15.5833335 448 0 2670 --56.9166665 -56.7499995 -15.7500005 -15.5833335 313 0 2670 --56.7500005 -56.5833335 -15.7500005 -15.5833335 365 0 2670 --56.5833335 -56.4166665 -15.7500005 -15.5833335 244 0 2670 --56.4166665 -56.2499995 -15.7500005 -15.5833335 259 0 2670 --56.2500005 -56.0833335 -15.7500005 -15.5833335 206 0 2670 --56.0833335 -55.9166665 -15.7500005 -15.5833335 191 0 2670 --55.9166665 -55.7499995 -15.7500005 -15.5833335 173 0 2670 --55.7500005 -55.5833335 -15.7500005 -15.5833335 195 0 2670 --55.5833335 -55.4166665 -15.7500005 -15.5833335 614 0 2670 --55.4166665 -55.2499995 -15.7500005 -15.5833335 794 0 2670 --55.2500005 -55.0833335 -15.7500005 -15.5833335 727 0 2670 --55.0833335 -54.9166665 -15.7500005 -15.5833335 432 0 2670 --54.9166665 -54.7499995 -15.7500005 -15.5833335 381 0 2670 --54.7500005 -54.5833335 -15.7500005 -15.5833335 542 0 2670 --54.5833335 -54.4166665 -15.7500005 -15.5833335 564 0 2670 --54.4166665 -54.2499995 -15.7500005 -15.5833335 452 0 2670 --54.2500005 -54.0833335 -15.7500005 -15.5833335 716 0 2670 --54.0833335 -53.9166665 -15.7500005 -15.5833335 622 0 2670 --53.9166665 -53.7499995 -15.7500005 -15.5833335 675 0 2670 --53.7500005 -53.5833335 -15.7500005 -15.5833335 566 0 2670 --53.5833335 -53.4166665 -15.7500005 -15.5833335 524 0 2670 --53.4166665 -53.2499995 -15.7500005 -15.5833335 448 0 2670 --53.2500005 -53.0833335 -15.7500005 -15.5833335 402 0 2670 --53.0833335 -52.9166665 -15.7500005 -15.5833335 410 0 2670 --52.9166665 -52.7499995 -15.7500005 -15.5833335 400 0 2670 --52.7500005 -52.5833335 -15.7500005 -15.5833335 452 0 2670 --52.5833335 -52.4166665 -15.7500005 -15.5833335 711 0 2670 --52.4166665 -52.2499995 -15.7500005 -15.5833335 408 0 2670 --52.2500005 -52.0833335 -15.7500005 -15.5833335 337 0 2670 --52.0833335 -51.9166665 -15.7500005 -15.5833335 348 0 2670 --51.9166665 -51.7499995 -15.7500005 -15.5833335 344 0 2670 --51.7500005 -51.5833335 -15.7500005 -15.5833335 312 0 2670 --51.5833335 -51.4166665 -15.7500005 -15.5833335 310 0 2670 --51.4166665 -51.2499995 -15.7500005 -15.5833335 315 0 2670 --51.2500005 -51.0833335 -15.7500005 -15.5833335 308 0 2670 --51.0833335 -50.9166665 -15.7500005 -15.5833335 301 0 2670 --50.9166665 -50.7499995 -15.7500005 -15.5833335 364 0 2670 --50.7500005 -50.5833335 -15.7500005 -15.5833335 347 0 2670 --50.5833335 -50.4166665 -15.7500005 -15.5833335 431 0 2670 --50.4166665 -50.2499995 -15.7500005 -15.5833335 518 0 2670 --50.2500005 -50.0833335 -15.7500005 -15.5833335 549 0 2670 --50.0833335 -49.9166665 -15.7500005 -15.5833335 768 0 2670 --49.9166665 -49.7499995 -15.7500005 -15.5833335 707 0 2670 --49.7500005 -49.5833335 -15.7500005 -15.5833335 613 0 2670 --49.5833335 -49.4166665 -15.7500005 -15.5833335 638 0 2670 --49.4166665 -49.2499995 -15.7500005 -15.5833335 713 0 2670 --49.2500005 -49.0833335 -15.7500005 -15.5833335 756 0 2670 --49.0833335 -48.9166665 -15.7500005 -15.5833335 843 0 2670 --48.9166665 -48.7499995 -15.7500005 -15.5833335 992 0 2670 --48.7500005 -48.5833335 -15.7500005 -15.5833335 844 0 2670 --48.5833335 -48.4166665 -15.7500005 -15.5833335 716 0 2670 --48.4166665 -48.2499995 -15.7500005 -15.5833335 941 0 2670 --48.2500005 -48.0833335 -15.7500005 -15.5833335 1212 0 2670 --48.0833335 -47.9166665 -15.7500005 -15.5833335 1091 0 2670 --47.9166665 -47.7499995 -15.7500005 -15.5833335 1089 0 2670 --47.7500005 -47.5833335 -15.7500005 -15.5833335 956 0 2670 --47.5833335 -47.4166665 -15.7500005 -15.5833335 1160 0 2670 --47.4166665 -47.2499995 -15.7500005 -15.5833335 874 0 2670 --47.2500005 -47.0833335 -15.7500005 -15.5833335 919 0 2670 --47.0833335 -46.9166665 -15.7500005 -15.5833335 720 0 2670 --46.9166665 -46.7499995 -15.7500005 -15.5833335 906 0 2670 --46.7500005 -46.5833335 -15.7500005 -15.5833335 637 0 2670 --46.5833335 -46.4166665 -15.7500005 -15.5833335 623 0 2670 --46.4166665 -46.2499995 -15.7500005 -15.5833335 586 0 2670 --46.2500005 -46.0833335 -15.7500005 -15.5833335 550 0 2670 --46.0833335 -45.9166665 -15.7500005 -15.5833335 545 0 2670 --45.9166665 -45.7499995 -15.7500005 -15.5833335 737 0 2670 --45.7500005 -45.5833335 -15.7500005 -15.5833335 697 0 2670 --45.5833335 -45.4166665 -15.7500005 -15.5833335 657 0 2670 --45.4166665 -45.2499995 -15.7500005 -15.5833335 648 0 2670 --45.2500005 -45.0833335 -15.7500005 -15.5833335 598 0 2670 --45.0833335 -44.9166665 -15.7500005 -15.5833335 534 0 2670 --44.9166665 -44.7499995 -15.7500005 -15.5833335 502 0 2670 --44.7500005 -44.5833335 -15.7500005 -15.5833335 463 0 2670 --44.5833335 -44.4166665 -15.7500005 -15.5833335 456 0 2670 --44.4166665 -44.2499995 -15.7500005 -15.5833335 490 0 2670 --44.2500005 -44.0833335 -15.7500005 -15.5833335 779 0 2670 --44.0833335 -43.9166665 -15.7500005 -15.5833335 710 0 2670 --43.9166665 -43.7499995 -15.7500005 -15.5833335 562 0 2670 --43.7500005 -43.5833335 -15.7500005 -15.5833335 508 0 2670 --43.5833335 -43.4166665 -15.7500005 -15.5833335 530 0 2670 --43.4166665 -43.2499995 -15.7500005 -15.5833335 523 0 2670 --43.2500005 -43.0833335 -15.7500005 -15.5833335 551 0 2670 --43.0833335 -42.9166665 -15.7500005 -15.5833335 546 0 2670 --42.9166665 -42.7499995 -15.7500005 -15.5833335 1280 0 2670 --42.7500005 -42.5833335 -15.7500005 -15.5833335 875 0 2670 --42.5833335 -42.4166665 -15.7500005 -15.5833335 848 0 2670 --42.4166665 -42.2499995 -15.7500005 -15.5833335 842 0 2670 --42.2500005 -42.0833335 -15.7500005 -15.5833335 821 0 2670 --42.0833335 -41.9166665 -15.7500005 -15.5833335 776 0 2670 --41.9166665 -41.7499995 -15.7500005 -15.5833335 785 0 2670 --41.7500005 -41.5833335 -15.7500005 -15.5833335 842 0 2670 --41.5833335 -41.4166665 -15.7500005 -15.5833335 795 0 2670 --41.4166665 -41.2499995 -15.7500005 -15.5833335 880 0 2670 --41.2500005 -41.0833335 -15.7500005 -15.5833335 773 0 2670 --41.0833335 -40.9166665 -15.7500005 -15.5833335 852 0 2670 --40.9166665 -40.7499995 -15.7500005 -15.5833335 925 0 2670 --40.7500005 -40.5833335 -15.7500005 -15.5833335 805 0 2670 --40.5833335 -40.4166665 -15.7500005 -15.5833335 323 0 2670 --40.4166665 -40.2499995 -15.7500005 -15.5833335 626 0 2670 --40.2500005 -40.0833335 -15.7500005 -15.5833335 454 0 2670 --40.0833335 -39.9166665 -15.7500005 -15.5833335 252 0 2670 --65.0833335 -64.9166665 -15.9166665 -15.7499995 169 0 2670 --64.9166665 -64.7499995 -15.9166665 -15.7499995 179 0 2670 --64.7500005 -64.5833335 -15.9166665 -15.7499995 184 0 2670 --64.5833335 -64.4166665 -15.9166665 -15.7499995 192 0 2670 --64.4166665 -64.2499995 -15.9166665 -15.7499995 189 0 2670 --64.2500005 -64.0833335 -15.9166665 -15.7499995 196 0 2670 --64.0833335 -63.9166665 -15.9166665 -15.7499995 195 0 2670 --63.9166665 -63.7499995 -15.9166665 -15.7499995 192 0 2670 --63.7500005 -63.5833335 -15.9166665 -15.7499995 194 0 2670 --63.5833335 -63.4166665 -15.9166665 -15.7499995 199 0 2670 --63.4166665 -63.2499995 -15.9166665 -15.7499995 201 0 2670 --63.2500005 -63.0833335 -15.9166665 -15.7499995 206 0 2670 --63.0833335 -62.9166665 -15.9166665 -15.7499995 248 0 2670 --62.9166665 -62.7499995 -15.9166665 -15.7499995 244 0 2670 --62.7500005 -62.5833335 -15.9166665 -15.7499995 320 0 2670 --62.5833335 -62.4166665 -15.9166665 -15.7499995 447 0 2670 --62.4166665 -62.2499995 -15.9166665 -15.7499995 472 0 2670 --62.2500005 -62.0833335 -15.9166665 -15.7499995 440 0 2670 --62.0833335 -61.9166665 -15.9166665 -15.7499995 408 0 2670 --61.9166665 -61.7499995 -15.9166665 -15.7499995 398 0 2670 --61.7500005 -61.5833335 -15.9166665 -15.7499995 389 0 2670 --61.5833335 -61.4166665 -15.9166665 -15.7499995 359 0 2670 --61.4166665 -61.2499995 -15.9166665 -15.7499995 353 0 2670 --61.2500005 -61.0833335 -15.9166665 -15.7499995 253 0 2670 --61.0833335 -60.9166665 -15.9166665 -15.7499995 291 0 2670 --60.9166665 -60.7499995 -15.9166665 -15.7499995 273 0 2670 --60.7500005 -60.5833335 -15.9166665 -15.7499995 253 0 2670 --60.5833335 -60.4166665 -15.9166665 -15.7499995 231 0 2670 --60.4166665 -60.2499995 -15.9166665 -15.7499995 218 0 2670 --60.2500005 -60.0833335 -15.9166665 -15.7499995 213 0 2670 --60.0833335 -59.9166665 -15.9166665 -15.7499995 205 0 2670 --59.9166665 -59.7499995 -15.9166665 -15.7499995 214 0 2670 --59.7500005 -59.5833335 -15.9166665 -15.7499995 229 0 2670 --59.5833335 -59.4166665 -15.9166665 -15.7499995 486 0 2670 --59.4166665 -59.2499995 -15.9166665 -15.7499995 595 0 2670 --59.2500005 -59.0833335 -15.9166665 -15.7499995 309 0 2670 --59.0833335 -58.9166665 -15.9166665 -15.7499995 283 0 2670 --58.9166665 -58.7499995 -15.9166665 -15.7499995 238 0 2670 --58.7500005 -58.5833335 -15.9166665 -15.7499995 197 0 2670 --58.5833335 -58.4166665 -15.9166665 -15.7499995 186 0 2670 --58.4166665 -58.2499995 -15.9166665 -15.7499995 182 0 2670 --58.2500005 -58.0833335 -15.9166665 -15.7499995 246 0 2670 --58.0833335 -57.9166665 -15.9166665 -15.7499995 158 0 2670 --57.9166665 -57.7499995 -15.9166665 -15.7499995 153 0 2670 --57.7500005 -57.5833335 -15.9166665 -15.7499995 131 0 2670 --57.5833335 -57.4166665 -15.9166665 -15.7499995 189 0 2670 --57.4166665 -57.2499995 -15.9166665 -15.7499995 206 0 2670 --57.2500005 -57.0833335 -15.9166665 -15.7499995 500 0 2670 --57.0833335 -56.9166665 -15.9166665 -15.7499995 190 0 2670 --56.9166665 -56.7499995 -15.9166665 -15.7499995 339 0 2670 --56.7500005 -56.5833335 -15.9166665 -15.7499995 220 0 2670 --56.5833335 -56.4166665 -15.9166665 -15.7499995 205 0 2670 --56.4166665 -56.2499995 -15.9166665 -15.7499995 224 0 2670 --56.2500005 -56.0833335 -15.9166665 -15.7499995 166 0 2670 --56.0833335 -55.9166665 -15.9166665 -15.7499995 151 0 2670 --55.9166665 -55.7499995 -15.9166665 -15.7499995 157 0 2670 --55.7500005 -55.5833335 -15.9166665 -15.7499995 233 0 2670 --55.5833335 -55.4166665 -15.9166665 -15.7499995 631 0 2670 --55.4166665 -55.2499995 -15.9166665 -15.7499995 815 0 2670 --55.2500005 -55.0833335 -15.9166665 -15.7499995 734 0 2670 --55.0833335 -54.9166665 -15.9166665 -15.7499995 405 0 2670 --54.9166665 -54.7499995 -15.9166665 -15.7499995 424 0 2670 --54.7500005 -54.5833335 -15.9166665 -15.7499995 383 0 2670 --54.5833335 -54.4166665 -15.9166665 -15.7499995 503 0 2670 --54.4166665 -54.2499995 -15.9166665 -15.7499995 441 0 2670 --54.2500005 -54.0833335 -15.9166665 -15.7499995 608 0 2670 --54.0833335 -53.9166665 -15.9166665 -15.7499995 663 0 2670 --53.9166665 -53.7499995 -15.9166665 -15.7499995 637 0 2670 --53.7500005 -53.5833335 -15.9166665 -15.7499995 631 0 2670 --53.5833335 -53.4166665 -15.9166665 -15.7499995 484 0 2670 --53.4166665 -53.2499995 -15.9166665 -15.7499995 438 0 2670 --53.2500005 -53.0833335 -15.9166665 -15.7499995 441 0 2670 --53.0833335 -52.9166665 -15.9166665 -15.7499995 391 0 2670 --52.9166665 -52.7499995 -15.9166665 -15.7499995 399 0 2670 --52.7500005 -52.5833335 -15.9166665 -15.7499995 380 0 2670 --52.5833335 -52.4166665 -15.9166665 -15.7499995 381 0 2670 --52.4166665 -52.2499995 -15.9166665 -15.7499995 382 0 2670 --52.2500005 -52.0833335 -15.9166665 -15.7499995 401 0 2670 --52.0833335 -51.9166665 -15.9166665 -15.7499995 317 0 2670 --51.9166665 -51.7499995 -15.9166665 -15.7499995 304 0 2670 --51.7500005 -51.5833335 -15.9166665 -15.7499995 316 0 2670 --51.5833335 -51.4166665 -15.9166665 -15.7499995 316 0 2670 --51.4166665 -51.2499995 -15.9166665 -15.7499995 350 0 2670 --51.2500005 -51.0833335 -15.9166665 -15.7499995 427 0 2670 --51.0833335 -50.9166665 -15.9166665 -15.7499995 323 0 2670 --50.9166665 -50.7499995 -15.9166665 -15.7499995 349 0 2670 --50.7500005 -50.5833335 -15.9166665 -15.7499995 361 0 2670 --50.5833335 -50.4166665 -15.9166665 -15.7499995 398 0 2670 --50.4166665 -50.2499995 -15.9166665 -15.7499995 421 0 2670 --50.2500005 -50.0833335 -15.9166665 -15.7499995 660 0 2670 --50.0833335 -49.9166665 -15.9166665 -15.7499995 675 0 2670 --49.9166665 -49.7499995 -15.9166665 -15.7499995 699 0 2670 --49.7500005 -49.5833335 -15.9166665 -15.7499995 836 0 2670 --49.5833335 -49.4166665 -15.9166665 -15.7499995 716 0 2670 --49.4166665 -49.2499995 -15.9166665 -15.7499995 709 0 2670 --49.2500005 -49.0833335 -15.9166665 -15.7499995 670 0 2670 --49.0833335 -48.9166665 -15.9166665 -15.7499995 764 0 2670 --48.9166665 -48.7499995 -15.9166665 -15.7499995 1137 0 2670 --48.7500005 -48.5833335 -15.9166665 -15.7499995 1211 0 2670 --48.5833335 -48.4166665 -15.9166665 -15.7499995 984 0 2670 --48.4166665 -48.2499995 -15.9166665 -15.7499995 1067 0 2670 --48.2500005 -48.0833335 -15.9166665 -15.7499995 1049 0 2670 --48.0833335 -47.9166665 -15.9166665 -15.7499995 1073 0 2670 --47.9166665 -47.7499995 -15.9166665 -15.7499995 1016 0 2670 --47.7500005 -47.5833335 -15.9166665 -15.7499995 1002 0 2670 --47.5833335 -47.4166665 -15.9166665 -15.7499995 895 0 2670 --47.4166665 -47.2499995 -15.9166665 -15.7499995 927 0 2670 --47.2500005 -47.0833335 -15.9166665 -15.7499995 937 0 2670 --47.0833335 -46.9166665 -15.9166665 -15.7499995 972 0 2670 --46.9166665 -46.7499995 -15.9166665 -15.7499995 832 0 2670 --46.7500005 -46.5833335 -15.9166665 -15.7499995 956 0 2670 --46.5833335 -46.4166665 -15.9166665 -15.7499995 934 0 2670 --46.4166665 -46.2499995 -15.9166665 -15.7499995 860 0 2670 --46.2500005 -46.0833335 -15.9166665 -15.7499995 516 0 2670 --46.0833335 -45.9166665 -15.9166665 -15.7499995 532 0 2670 --45.9166665 -45.7499995 -15.9166665 -15.7499995 546 0 2670 --45.7500005 -45.5833335 -15.9166665 -15.7499995 641 0 2670 --45.5833335 -45.4166665 -15.9166665 -15.7499995 649 0 2670 --45.4166665 -45.2499995 -15.9166665 -15.7499995 599 0 2670 --45.2500005 -45.0833335 -15.9166665 -15.7499995 544 0 2670 --45.0833335 -44.9166665 -15.9166665 -15.7499995 487 0 2670 --44.9166665 -44.7499995 -15.9166665 -15.7499995 479 0 2670 --44.7500005 -44.5833335 -15.9166665 -15.7499995 512 0 2670 --44.5833335 -44.4166665 -15.9166665 -15.7499995 625 0 2670 --44.4166665 -44.2499995 -15.9166665 -15.7499995 699 0 2670 --44.2500005 -44.0833335 -15.9166665 -15.7499995 870 0 2670 --44.0833335 -43.9166665 -15.9166665 -15.7499995 715 0 2670 --43.9166665 -43.7499995 -15.9166665 -15.7499995 609 0 2670 --43.7500005 -43.5833335 -15.9166665 -15.7499995 507 0 2670 --43.5833335 -43.4166665 -15.9166665 -15.7499995 532 0 2670 --43.4166665 -43.2499995 -15.9166665 -15.7499995 541 0 2670 --43.2500005 -43.0833335 -15.9166665 -15.7499995 806 0 2670 --43.0833335 -42.9166665 -15.9166665 -15.7499995 600 0 2670 --42.9166665 -42.7499995 -15.9166665 -15.7499995 815 0 2670 --42.7500005 -42.5833335 -15.9166665 -15.7499995 1032 0 2670 --42.5833335 -42.4166665 -15.9166665 -15.7499995 817 0 2670 --42.4166665 -42.2499995 -15.9166665 -15.7499995 960 0 2670 --42.2500005 -42.0833335 -15.9166665 -15.7499995 802 0 2670 --42.0833335 -41.9166665 -15.9166665 -15.7499995 917 0 2670 --41.9166665 -41.7499995 -15.9166665 -15.7499995 829 0 2670 --41.7500005 -41.5833335 -15.9166665 -15.7499995 844 0 2670 --41.5833335 -41.4166665 -15.9166665 -15.7499995 860 0 2670 --41.4166665 -41.2499995 -15.9166665 -15.7499995 737 0 2670 --41.2500005 -41.0833335 -15.9166665 -15.7499995 728 0 2670 --41.0833335 -40.9166665 -15.9166665 -15.7499995 874 0 2670 --40.9166665 -40.7499995 -15.9166665 -15.7499995 721 0 2670 --40.7500005 -40.5833335 -15.9166665 -15.7499995 545 0 2670 --40.5833335 -40.4166665 -15.9166665 -15.7499995 611 0 2670 --40.4166665 -40.2499995 -15.9166665 -15.7499995 308 0 2670 --40.2500005 -40.0833335 -15.9166665 -15.7499995 222 0 2670 --40.0833335 -39.9166665 -15.9166665 -15.7499995 194 0 2670 --65.0833335 -64.9166665 -16.0833335 -15.9166665 175 0 2670 --64.9166665 -64.7499995 -16.0833335 -15.9166665 181 0 2670 --64.7500005 -64.5833335 -16.0833335 -15.9166665 181 0 2670 --64.5833335 -64.4166665 -16.0833335 -15.9166665 181 0 2670 --64.4166665 -64.2499995 -16.0833335 -15.9166665 197 0 2670 --64.2500005 -64.0833335 -16.0833335 -15.9166665 192 0 2670 --64.0833335 -63.9166665 -16.0833335 -15.9166665 188 0 2670 --63.9166665 -63.7499995 -16.0833335 -15.9166665 204 0 2670 --63.7500005 -63.5833335 -16.0833335 -15.9166665 205 0 2670 --63.5833335 -63.4166665 -16.0833335 -15.9166665 207 0 2670 --63.4166665 -63.2499995 -16.0833335 -15.9166665 209 0 2670 --63.2500005 -63.0833335 -16.0833335 -15.9166665 211 0 2670 --63.0833335 -62.9166665 -16.0833335 -15.9166665 298 0 2670 --62.9166665 -62.7499995 -16.0833335 -15.9166665 357 0 2670 --62.7500005 -62.5833335 -16.0833335 -15.9166665 404 0 2670 --62.5833335 -62.4166665 -16.0833335 -15.9166665 419 0 2670 --62.4166665 -62.2499995 -16.0833335 -15.9166665 476 0 2670 --62.2500005 -62.0833335 -16.0833335 -15.9166665 465 0 2670 --62.0833335 -61.9166665 -16.0833335 -15.9166665 455 0 2670 --61.9166665 -61.7499995 -16.0833335 -15.9166665 386 0 2670 --61.7500005 -61.5833335 -16.0833335 -15.9166665 418 0 2670 --61.5833335 -61.4166665 -16.0833335 -15.9166665 401 0 2670 --61.4166665 -61.2499995 -16.0833335 -15.9166665 404 0 2670 --61.2500005 -61.0833335 -16.0833335 -15.9166665 348 0 2670 --61.0833335 -60.9166665 -16.0833335 -15.9166665 348 0 2670 --60.9166665 -60.7499995 -16.0833335 -15.9166665 339 0 2670 --60.7500005 -60.5833335 -16.0833335 -15.9166665 269 0 2670 --60.5833335 -60.4166665 -16.0833335 -15.9166665 235 0 2670 --60.4166665 -60.2499995 -16.0833335 -15.9166665 231 0 2670 --60.2500005 -60.0833335 -16.0833335 -15.9166665 223 0 2670 --60.0833335 -59.9166665 -16.0833335 -15.9166665 222 0 2670 --59.9166665 -59.7499995 -16.0833335 -15.9166665 226 0 2670 --59.7500005 -59.5833335 -16.0833335 -15.9166665 244 0 2670 --59.5833335 -59.4166665 -16.0833335 -15.9166665 478 0 2670 --59.4166665 -59.2499995 -16.0833335 -15.9166665 737 0 2670 --59.2500005 -59.0833335 -16.0833335 -15.9166665 232 0 2670 --59.0833335 -58.9166665 -16.0833335 -15.9166665 219 0 2670 --58.9166665 -58.7499995 -16.0833335 -15.9166665 220 0 2670 --58.7500005 -58.5833335 -16.0833335 -15.9166665 231 0 2670 --58.5833335 -58.4166665 -16.0833335 -15.9166665 178 0 2670 --58.4166665 -58.2499995 -16.0833335 -15.9166665 156 0 2670 --58.2500005 -58.0833335 -16.0833335 -15.9166665 175 0 2670 --58.0833335 -57.9166665 -16.0833335 -15.9166665 130 0 2670 --57.9166665 -57.7499995 -16.0833335 -15.9166665 132 0 2670 --57.7500005 -57.5833335 -16.0833335 -15.9166665 124 0 2670 --57.5833335 -57.4166665 -16.0833335 -15.9166665 346 0 2670 --57.4166665 -57.2499995 -16.0833335 -15.9166665 305 0 2670 --57.2500005 -57.0833335 -16.0833335 -15.9166665 139 0 2670 --57.0833335 -56.9166665 -16.0833335 -15.9166665 155 0 2670 --56.9166665 -56.7499995 -16.0833335 -15.9166665 174 0 2670 --56.7500005 -56.5833335 -16.0833335 -15.9166665 195 0 2670 --56.5833335 -56.4166665 -16.0833335 -15.9166665 145 0 2670 --56.4166665 -56.2499995 -16.0833335 -15.9166665 155 0 2670 --56.2500005 -56.0833335 -16.0833335 -15.9166665 146 0 2670 --56.0833335 -55.9166665 -16.0833335 -15.9166665 150 0 2670 --55.9166665 -55.7499995 -16.0833335 -15.9166665 138 0 2670 --55.7500005 -55.5833335 -16.0833335 -15.9166665 164 0 2670 --55.5833335 -55.4166665 -16.0833335 -15.9166665 322 0 2670 --55.4166665 -55.2499995 -16.0833335 -15.9166665 701 0 2670 --55.2500005 -55.0833335 -16.0833335 -15.9166665 580 0 2670 --55.0833335 -54.9166665 -16.0833335 -15.9166665 323 0 2670 --54.9166665 -54.7499995 -16.0833335 -15.9166665 324 0 2670 --54.7500005 -54.5833335 -16.0833335 -15.9166665 351 0 2670 --54.5833335 -54.4166665 -16.0833335 -15.9166665 462 0 2670 --54.4166665 -54.2499995 -16.0833335 -15.9166665 338 0 2670 --54.2500005 -54.0833335 -16.0833335 -15.9166665 388 0 2670 --54.0833335 -53.9166665 -16.0833335 -15.9166665 383 0 2670 --53.9166665 -53.7499995 -16.0833335 -15.9166665 507 0 2670 --53.7500005 -53.5833335 -16.0833335 -15.9166665 537 0 2670 --53.5833335 -53.4166665 -16.0833335 -15.9166665 589 0 2670 --53.4166665 -53.2499995 -16.0833335 -15.9166665 458 0 2670 --53.2500005 -53.0833335 -16.0833335 -15.9166665 461 0 2670 --53.0833335 -52.9166665 -16.0833335 -15.9166665 461 0 2670 --52.9166665 -52.7499995 -16.0833335 -15.9166665 368 0 2670 --52.7500005 -52.5833335 -16.0833335 -15.9166665 506 0 2670 --52.5833335 -52.4166665 -16.0833335 -15.9166665 454 0 2670 --52.4166665 -52.2499995 -16.0833335 -15.9166665 351 0 2670 --52.2500005 -52.0833335 -16.0833335 -15.9166665 358 0 2670 --52.0833335 -51.9166665 -16.0833335 -15.9166665 345 0 2670 --51.9166665 -51.7499995 -16.0833335 -15.9166665 311 0 2670 --51.7500005 -51.5833335 -16.0833335 -15.9166665 360 0 2670 --51.5833335 -51.4166665 -16.0833335 -15.9166665 396 0 2670 --51.4166665 -51.2499995 -16.0833335 -15.9166665 385 0 2670 --51.2500005 -51.0833335 -16.0833335 -15.9166665 350 0 2670 --51.0833335 -50.9166665 -16.0833335 -15.9166665 535 0 2670 --50.9166665 -50.7499995 -16.0833335 -15.9166665 488 0 2670 --50.7500005 -50.5833335 -16.0833335 -15.9166665 413 0 2670 --50.5833335 -50.4166665 -16.0833335 -15.9166665 401 0 2670 --50.4166665 -50.2499995 -16.0833335 -15.9166665 550 0 2670 --50.2500005 -50.0833335 -16.0833335 -15.9166665 519 0 2670 --50.0833335 -49.9166665 -16.0833335 -15.9166665 725 0 2670 --49.9166665 -49.7499995 -16.0833335 -15.9166665 733 0 2670 --49.7500005 -49.5833335 -16.0833335 -15.9166665 765 0 2670 --49.5833335 -49.4166665 -16.0833335 -15.9166665 777 0 2670 --49.4166665 -49.2499995 -16.0833335 -15.9166665 729 0 2670 --49.2500005 -49.0833335 -16.0833335 -15.9166665 713 0 2670 --49.0833335 -48.9166665 -16.0833335 -15.9166665 822 0 2670 --48.9166665 -48.7499995 -16.0833335 -15.9166665 1013 0 2670 --48.7500005 -48.5833335 -16.0833335 -15.9166665 1099 0 2670 --48.5833335 -48.4166665 -16.0833335 -15.9166665 994 0 2670 --48.4166665 -48.2499995 -16.0833335 -15.9166665 1030 0 2670 --48.2500005 -48.0833335 -16.0833335 -15.9166665 1072 0 2670 --48.0833335 -47.9166665 -16.0833335 -15.9166665 1233 0 2670 --47.9166665 -47.7499995 -16.0833335 -15.9166665 967 0 2670 --47.7500005 -47.5833335 -16.0833335 -15.9166665 868 0 2670 --47.5833335 -47.4166665 -16.0833335 -15.9166665 964 0 2670 --47.4166665 -47.2499995 -16.0833335 -15.9166665 896 0 2670 --47.2500005 -47.0833335 -16.0833335 -15.9166665 861 0 2670 --47.0833335 -46.9166665 -16.0833335 -15.9166665 861 0 2670 --46.9166665 -46.7499995 -16.0833335 -15.9166665 811 0 2670 --46.7500005 -46.5833335 -16.0833335 -15.9166665 958 0 2670 --46.5833335 -46.4166665 -16.0833335 -15.9166665 882 0 2670 --46.4166665 -46.2499995 -16.0833335 -15.9166665 586 0 2670 --46.2500005 -46.0833335 -16.0833335 -15.9166665 787 0 2670 --46.0833335 -45.9166665 -16.0833335 -15.9166665 497 0 2670 --45.9166665 -45.7499995 -16.0833335 -15.9166665 536 0 2670 --45.7500005 -45.5833335 -16.0833335 -15.9166665 562 0 2670 --45.5833335 -45.4166665 -16.0833335 -15.9166665 619 0 2670 --45.4166665 -45.2499995 -16.0833335 -15.9166665 568 0 2670 --45.2500005 -45.0833335 -16.0833335 -15.9166665 526 0 2670 --45.0833335 -44.9166665 -16.0833335 -15.9166665 463 0 2670 --44.9166665 -44.7499995 -16.0833335 -15.9166665 517 0 2670 --44.7500005 -44.5833335 -16.0833335 -15.9166665 630 0 2670 --44.5833335 -44.4166665 -16.0833335 -15.9166665 701 0 2670 --44.4166665 -44.2499995 -16.0833335 -15.9166665 747 0 2670 --44.2500005 -44.0833335 -16.0833335 -15.9166665 806 0 2670 --44.0833335 -43.9166665 -16.0833335 -15.9166665 767 0 2670 --43.9166665 -43.7499995 -16.0833335 -15.9166665 628 0 2670 --43.7500005 -43.5833335 -16.0833335 -15.9166665 509 0 2670 --43.5833335 -43.4166665 -16.0833335 -15.9166665 546 0 2670 --43.4166665 -43.2499995 -16.0833335 -15.9166665 644 0 2670 --43.2500005 -43.0833335 -16.0833335 -15.9166665 682 0 2670 --43.0833335 -42.9166665 -16.0833335 -15.9166665 859 0 2670 --42.9166665 -42.7499995 -16.0833335 -15.9166665 817 0 2670 --42.7500005 -42.5833335 -16.0833335 -15.9166665 852 0 2670 --42.5833335 -42.4166665 -16.0833335 -15.9166665 857 0 2670 --42.4166665 -42.2499995 -16.0833335 -15.9166665 612 0 2670 --42.2500005 -42.0833335 -16.0833335 -15.9166665 620 0 2670 --42.0833335 -41.9166665 -16.0833335 -15.9166665 917 0 2670 --41.9166665 -41.7499995 -16.0833335 -15.9166665 855 0 2670 --41.7500005 -41.5833335 -16.0833335 -15.9166665 917 0 2670 --41.5833335 -41.4166665 -16.0833335 -15.9166665 776 0 2670 --41.4166665 -41.2499995 -16.0833335 -15.9166665 676 0 2670 --41.2500005 -41.0833335 -16.0833335 -15.9166665 764 0 2670 --41.0833335 -40.9166665 -16.0833335 -15.9166665 437 0 2670 --40.9166665 -40.7499995 -16.0833335 -15.9166665 366 0 2670 --40.7500005 -40.5833335 -16.0833335 -15.9166665 517 0 2670 --40.5833335 -40.4166665 -16.0833335 -15.9166665 300 0 2670 --40.4166665 -40.2499995 -16.0833335 -15.9166665 231 0 2670 --40.2500005 -40.0833335 -16.0833335 -15.9166665 197 0 2670 --40.0833335 -39.9166665 -16.0833335 -15.9166665 138 0 2670 --65.0833335 -64.9166665 -16.2500005 -16.0833335 181 0 2670 --64.9166665 -64.7499995 -16.2500005 -16.0833335 184 0 2670 --64.7500005 -64.5833335 -16.2500005 -16.0833335 188 0 2670 --64.5833335 -64.4166665 -16.2500005 -16.0833335 193 0 2670 --64.4166665 -64.2499995 -16.2500005 -16.0833335 187 0 2670 --64.2500005 -64.0833335 -16.2500005 -16.0833335 207 0 2670 --64.0833335 -63.9166665 -16.2500005 -16.0833335 204 0 2670 --63.9166665 -63.7499995 -16.2500005 -16.0833335 195 0 2670 --63.7500005 -63.5833335 -16.2500005 -16.0833335 203 0 2670 --63.5833335 -63.4166665 -16.2500005 -16.0833335 213 0 2670 --63.4166665 -63.2499995 -16.2500005 -16.0833335 217 0 2670 --63.2500005 -63.0833335 -16.2500005 -16.0833335 220 0 2670 --63.0833335 -62.9166665 -16.2500005 -16.0833335 310 0 2670 --62.9166665 -62.7499995 -16.2500005 -16.0833335 406 0 2670 --62.7500005 -62.5833335 -16.2500005 -16.0833335 652 0 2670 --62.5833335 -62.4166665 -16.2500005 -16.0833335 482 0 2670 --62.4166665 -62.2499995 -16.2500005 -16.0833335 506 0 2670 --62.2500005 -62.0833335 -16.2500005 -16.0833335 612 0 2670 --62.0833335 -61.9166665 -16.2500005 -16.0833335 505 0 2670 --61.9166665 -61.7499995 -16.2500005 -16.0833335 445 0 2670 --61.7500005 -61.5833335 -16.2500005 -16.0833335 412 0 2670 --61.5833335 -61.4166665 -16.2500005 -16.0833335 434 0 2670 --61.4166665 -61.2499995 -16.2500005 -16.0833335 410 0 2670 --61.2500005 -61.0833335 -16.2500005 -16.0833335 372 0 2670 --61.0833335 -60.9166665 -16.2500005 -16.0833335 382 0 2670 --60.9166665 -60.7499995 -16.2500005 -16.0833335 378 0 2670 --60.7500005 -60.5833335 -16.2500005 -16.0833335 310 0 2670 --60.5833335 -60.4166665 -16.2500005 -16.0833335 251 0 2670 --60.4166665 -60.2499995 -16.2500005 -16.0833335 276 0 2670 --60.2500005 -60.0833335 -16.2500005 -16.0833335 238 0 2670 --60.0833335 -59.9166665 -16.2500005 -16.0833335 259 0 2670 --59.9166665 -59.7499995 -16.2500005 -16.0833335 247 0 2670 --59.7500005 -59.5833335 -16.2500005 -16.0833335 250 0 2670 --59.5833335 -59.4166665 -16.2500005 -16.0833335 444 0 2670 --59.4166665 -59.2499995 -16.2500005 -16.0833335 226 0 2670 --59.2500005 -59.0833335 -16.2500005 -16.0833335 180 0 2670 --59.0833335 -58.9166665 -16.2500005 -16.0833335 166 0 2670 --58.9166665 -58.7499995 -16.2500005 -16.0833335 146 0 2670 --58.7500005 -58.5833335 -16.2500005 -16.0833335 194 0 2670 --58.5833335 -58.4166665 -16.2500005 -16.0833335 152 0 2670 --58.4166665 -58.2499995 -16.2500005 -16.0833335 137 0 2670 --58.2500005 -58.0833335 -16.2500005 -16.0833335 228 0 2670 --58.0833335 -57.9166665 -16.2500005 -16.0833335 128 0 2670 --57.9166665 -57.7499995 -16.2500005 -16.0833335 120 0 2670 --57.7500005 -57.5833335 -16.2500005 -16.0833335 154 0 2670 --57.5833335 -57.4166665 -16.2500005 -16.0833335 451 0 2670 --57.4166665 -57.2499995 -16.2500005 -16.0833335 179 0 2670 --57.2500005 -57.0833335 -16.2500005 -16.0833335 122 0 2670 --57.0833335 -56.9166665 -16.2500005 -16.0833335 122 0 2670 --56.9166665 -56.7499995 -16.2500005 -16.0833335 133 0 2670 --56.7500005 -56.5833335 -16.2500005 -16.0833335 156 0 2670 --56.5833335 -56.4166665 -16.2500005 -16.0833335 127 0 2670 --56.4166665 -56.2499995 -16.2500005 -16.0833335 133 0 2670 --56.2500005 -56.0833335 -16.2500005 -16.0833335 139 0 2670 --56.0833335 -55.9166665 -16.2500005 -16.0833335 135 0 2670 --55.9166665 -55.7499995 -16.2500005 -16.0833335 135 0 2670 --55.7500005 -55.5833335 -16.2500005 -16.0833335 143 0 2670 --55.5833335 -55.4166665 -16.2500005 -16.0833335 170 0 2670 --55.4166665 -55.2499995 -16.2500005 -16.0833335 732 0 2670 --55.2500005 -55.0833335 -16.2500005 -16.0833335 633 0 2670 --55.0833335 -54.9166665 -16.2500005 -16.0833335 461 0 2670 --54.9166665 -54.7499995 -16.2500005 -16.0833335 277 0 2670 --54.7500005 -54.5833335 -16.2500005 -16.0833335 298 0 2670 --54.5833335 -54.4166665 -16.2500005 -16.0833335 417 0 2670 --54.4166665 -54.2499995 -16.2500005 -16.0833335 318 0 2670 --54.2500005 -54.0833335 -16.2500005 -16.0833335 391 0 2670 --54.0833335 -53.9166665 -16.2500005 -16.0833335 371 0 2670 --53.9166665 -53.7499995 -16.2500005 -16.0833335 609 0 2670 --53.7500005 -53.5833335 -16.2500005 -16.0833335 527 0 2670 --53.5833335 -53.4166665 -16.2500005 -16.0833335 485 0 2670 --53.4166665 -53.2499995 -16.2500005 -16.0833335 536 0 2670 --53.2500005 -53.0833335 -16.2500005 -16.0833335 433 0 2670 --53.0833335 -52.9166665 -16.2500005 -16.0833335 393 0 2670 --52.9166665 -52.7499995 -16.2500005 -16.0833335 459 0 2670 --52.7500005 -52.5833335 -16.2500005 -16.0833335 423 0 2670 --52.5833335 -52.4166665 -16.2500005 -16.0833335 362 0 2670 --52.4166665 -52.2499995 -16.2500005 -16.0833335 374 0 2670 --52.2500005 -52.0833335 -16.2500005 -16.0833335 448 0 2670 --52.0833335 -51.9166665 -16.2500005 -16.0833335 383 0 2670 --51.9166665 -51.7499995 -16.2500005 -16.0833335 360 0 2670 --51.7500005 -51.5833335 -16.2500005 -16.0833335 346 0 2670 --51.5833335 -51.4166665 -16.2500005 -16.0833335 446 0 2670 --51.4166665 -51.2499995 -16.2500005 -16.0833335 500 0 2670 --51.2500005 -51.0833335 -16.2500005 -16.0833335 364 0 2670 --51.0833335 -50.9166665 -16.2500005 -16.0833335 366 0 2670 --50.9166665 -50.7499995 -16.2500005 -16.0833335 419 0 2670 --50.7500005 -50.5833335 -16.2500005 -16.0833335 451 0 2670 --50.5833335 -50.4166665 -16.2500005 -16.0833335 654 0 2670 --50.4166665 -50.2499995 -16.2500005 -16.0833335 538 0 2670 --50.2500005 -50.0833335 -16.2500005 -16.0833335 654 0 2670 --50.0833335 -49.9166665 -16.2500005 -16.0833335 839 0 2670 --49.9166665 -49.7499995 -16.2500005 -16.0833335 746 0 2670 --49.7500005 -49.5833335 -16.2500005 -16.0833335 897 0 2670 --49.5833335 -49.4166665 -16.2500005 -16.0833335 923 0 2670 --49.4166665 -49.2499995 -16.2500005 -16.0833335 785 0 2670 --49.2500005 -49.0833335 -16.2500005 -16.0833335 1084 0 2670 --49.0833335 -48.9166665 -16.2500005 -16.0833335 1056 0 2670 --48.9166665 -48.7499995 -16.2500005 -16.0833335 1054 0 2670 --48.7500005 -48.5833335 -16.2500005 -16.0833335 905 0 2670 --48.5833335 -48.4166665 -16.2500005 -16.0833335 903 0 2670 --48.4166665 -48.2499995 -16.2500005 -16.0833335 1006 0 2670 --48.2500005 -48.0833335 -16.2500005 -16.0833335 945 0 2670 --48.0833335 -47.9166665 -16.2500005 -16.0833335 906 0 2670 --47.9166665 -47.7499995 -16.2500005 -16.0833335 963 0 2670 --47.7500005 -47.5833335 -16.2500005 -16.0833335 996 0 2670 --47.5833335 -47.4166665 -16.2500005 -16.0833335 961 0 2670 --47.4166665 -47.2499995 -16.2500005 -16.0833335 832 0 2670 --47.2500005 -47.0833335 -16.2500005 -16.0833335 701 0 2670 --47.0833335 -46.9166665 -16.2500005 -16.0833335 693 0 2670 --46.9166665 -46.7499995 -16.2500005 -16.0833335 759 0 2670 --46.7500005 -46.5833335 -16.2500005 -16.0833335 798 0 2670 --46.5833335 -46.4166665 -16.2500005 -16.0833335 919 0 2670 --46.4166665 -46.2499995 -16.2500005 -16.0833335 815 0 2670 --46.2500005 -46.0833335 -16.2500005 -16.0833335 563 0 2670 --46.0833335 -45.9166665 -16.2500005 -16.0833335 529 0 2670 --45.9166665 -45.7499995 -16.2500005 -16.0833335 499 0 2670 --45.7500005 -45.5833335 -16.2500005 -16.0833335 483 0 2670 --45.5833335 -45.4166665 -16.2500005 -16.0833335 542 0 2670 --45.4166665 -45.2499995 -16.2500005 -16.0833335 588 0 2670 --45.2500005 -45.0833335 -16.2500005 -16.0833335 469 0 2670 --45.0833335 -44.9166665 -16.2500005 -16.0833335 510 0 2670 --44.9166665 -44.7499995 -16.2500005 -16.0833335 664 0 2670 --44.7500005 -44.5833335 -16.2500005 -16.0833335 690 0 2670 --44.5833335 -44.4166665 -16.2500005 -16.0833335 813 0 2670 --44.4166665 -44.2499995 -16.2500005 -16.0833335 847 0 2670 --44.2500005 -44.0833335 -16.2500005 -16.0833335 801 0 2670 --44.0833335 -43.9166665 -16.2500005 -16.0833335 669 0 2670 --43.9166665 -43.7499995 -16.2500005 -16.0833335 548 0 2670 --43.7500005 -43.5833335 -16.2500005 -16.0833335 678 0 2670 --43.5833335 -43.4166665 -16.2500005 -16.0833335 555 0 2670 --43.4166665 -43.2499995 -16.2500005 -16.0833335 687 0 2670 --43.2500005 -43.0833335 -16.2500005 -16.0833335 862 0 2670 --43.0833335 -42.9166665 -16.2500005 -16.0833335 801 0 2670 --42.9166665 -42.7499995 -16.2500005 -16.0833335 782 0 2670 --42.7500005 -42.5833335 -16.2500005 -16.0833335 682 0 2670 --42.5833335 -42.4166665 -16.2500005 -16.0833335 887 0 2670 --42.4166665 -42.2499995 -16.2500005 -16.0833335 564 0 2670 --42.2500005 -42.0833335 -16.2500005 -16.0833335 704 0 2670 --42.0833335 -41.9166665 -16.2500005 -16.0833335 872 0 2670 --41.9166665 -41.7499995 -16.2500005 -16.0833335 638 0 2670 --41.7500005 -41.5833335 -16.2500005 -16.0833335 780 0 2670 --41.5833335 -41.4166665 -16.2500005 -16.0833335 706 0 2670 --41.4166665 -41.2499995 -16.2500005 -16.0833335 657 0 2670 --41.2500005 -41.0833335 -16.2500005 -16.0833335 823 0 2670 --41.0833335 -40.9166665 -16.2500005 -16.0833335 770 0 2670 --40.9166665 -40.7499995 -16.2500005 -16.0833335 357 0 2670 --40.7500005 -40.5833335 -16.2500005 -16.0833335 186 0 2670 --40.5833335 -40.4166665 -16.2500005 -16.0833335 228 0 2670 --40.4166665 -40.2499995 -16.2500005 -16.0833335 209 0 2670 --40.2500005 -40.0833335 -16.2500005 -16.0833335 238 0 2670 --40.0833335 -39.9166665 -16.2500005 -16.0833335 214 0 2670 --65.0833335 -64.9166665 -16.4166665 -16.2499995 186 0 2670 --64.9166665 -64.7499995 -16.4166665 -16.2499995 200 0 2670 --64.7500005 -64.5833335 -16.4166665 -16.2499995 193 0 2670 --64.5833335 -64.4166665 -16.4166665 -16.2499995 198 0 2670 --64.4166665 -64.2499995 -16.4166665 -16.2499995 205 0 2670 --64.2500005 -64.0833335 -16.4166665 -16.2499995 193 0 2670 --64.0833335 -63.9166665 -16.4166665 -16.2499995 201 0 2670 --63.9166665 -63.7499995 -16.4166665 -16.2499995 210 0 2670 --63.7500005 -63.5833335 -16.4166665 -16.2499995 211 0 2670 --63.5833335 -63.4166665 -16.4166665 -16.2499995 209 0 2670 --63.4166665 -63.2499995 -16.4166665 -16.2499995 222 0 2670 --63.2500005 -63.0833335 -16.4166665 -16.2499995 224 0 2670 --63.0833335 -62.9166665 -16.4166665 -16.2499995 238 0 2670 --62.9166665 -62.7499995 -16.4166665 -16.2499995 249 0 2670 --62.7500005 -62.5833335 -16.4166665 -16.2499995 471 0 2670 --62.5833335 -62.4166665 -16.4166665 -16.2499995 445 0 2670 --62.4166665 -62.2499995 -16.4166665 -16.2499995 464 0 2670 --62.2500005 -62.0833335 -16.4166665 -16.2499995 635 0 2670 --62.0833335 -61.9166665 -16.4166665 -16.2499995 534 0 2670 --61.9166665 -61.7499995 -16.4166665 -16.2499995 506 0 2670 --61.7500005 -61.5833335 -16.4166665 -16.2499995 467 0 2670 --61.5833335 -61.4166665 -16.4166665 -16.2499995 450 0 2670 --61.4166665 -61.2499995 -16.4166665 -16.2499995 441 0 2670 --61.2500005 -61.0833335 -16.4166665 -16.2499995 440 0 2670 --61.0833335 -60.9166665 -16.4166665 -16.2499995 402 0 2670 --60.9166665 -60.7499995 -16.4166665 -16.2499995 381 0 2670 --60.7500005 -60.5833335 -16.4166665 -16.2499995 330 0 2670 --60.5833335 -60.4166665 -16.4166665 -16.2499995 309 0 2670 --60.4166665 -60.2499995 -16.4166665 -16.2499995 341 0 2670 --60.2500005 -60.0833335 -16.4166665 -16.2499995 316 0 2670 --60.0833335 -59.9166665 -16.4166665 -16.2499995 308 0 2670 --59.9166665 -59.7499995 -16.4166665 -16.2499995 274 0 2670 --59.7500005 -59.5833335 -16.4166665 -16.2499995 227 0 2670 --59.5833335 -59.4166665 -16.4166665 -16.2499995 210 0 2670 --59.4166665 -59.2499995 -16.4166665 -16.2499995 200 0 2670 --59.2500005 -59.0833335 -16.4166665 -16.2499995 199 0 2670 --59.0833335 -58.9166665 -16.4166665 -16.2499995 129 0 2670 --58.9166665 -58.7499995 -16.4166665 -16.2499995 124 0 2670 --58.7500005 -58.5833335 -16.4166665 -16.2499995 146 0 2670 --58.5833335 -58.4166665 -16.4166665 -16.2499995 160 0 2670 --58.4166665 -58.2499995 -16.4166665 -16.2499995 157 0 2670 --58.2500005 -58.0833335 -16.4166665 -16.2499995 217 0 2670 --58.0833335 -57.9166665 -16.4166665 -16.2499995 122 0 2670 --57.9166665 -57.7499995 -16.4166665 -16.2499995 117 0 2670 --57.7500005 -57.5833335 -16.4166665 -16.2499995 239 0 2670 --57.5833335 -57.4166665 -16.4166665 -16.2499995 617 0 2670 --57.4166665 -57.2499995 -16.4166665 -16.2499995 136 0 2670 --57.2500005 -57.0833335 -16.4166665 -16.2499995 138 0 2670 --57.0833335 -56.9166665 -16.4166665 -16.2499995 109 0 2670 --56.9166665 -56.7499995 -16.4166665 -16.2499995 127 0 2670 --56.7500005 -56.5833335 -16.4166665 -16.2499995 126 0 2670 --56.5833335 -56.4166665 -16.4166665 -16.2499995 126 0 2670 --56.4166665 -56.2499995 -16.4166665 -16.2499995 130 0 2670 --56.2500005 -56.0833335 -16.4166665 -16.2499995 129 0 2670 --56.0833335 -55.9166665 -16.4166665 -16.2499995 131 0 2670 --55.9166665 -55.7499995 -16.4166665 -16.2499995 134 0 2670 --55.7500005 -55.5833335 -16.4166665 -16.2499995 143 0 2670 --55.5833335 -55.4166665 -16.4166665 -16.2499995 154 0 2670 --55.4166665 -55.2499995 -16.4166665 -16.2499995 530 0 2670 --55.2500005 -55.0833335 -16.4166665 -16.2499995 498 0 2670 --55.0833335 -54.9166665 -16.4166665 -16.2499995 435 0 2670 --54.9166665 -54.7499995 -16.4166665 -16.2499995 274 0 2670 --54.7500005 -54.5833335 -16.4166665 -16.2499995 357 0 2670 --54.5833335 -54.4166665 -16.4166665 -16.2499995 314 0 2670 --54.4166665 -54.2499995 -16.4166665 -16.2499995 241 0 2670 --54.2500005 -54.0833335 -16.4166665 -16.2499995 310 0 2670 --54.0833335 -53.9166665 -16.4166665 -16.2499995 368 0 2670 --53.9166665 -53.7499995 -16.4166665 -16.2499995 445 0 2670 --53.7500005 -53.5833335 -16.4166665 -16.2499995 500 0 2670 --53.5833335 -53.4166665 -16.4166665 -16.2499995 655 0 2670 --53.4166665 -53.2499995 -16.4166665 -16.2499995 705 0 2670 --53.2500005 -53.0833335 -16.4166665 -16.2499995 567 0 2670 --53.0833335 -52.9166665 -16.4166665 -16.2499995 584 0 2670 --52.9166665 -52.7499995 -16.4166665 -16.2499995 493 0 2670 --52.7500005 -52.5833335 -16.4166665 -16.2499995 445 0 2670 --52.5833335 -52.4166665 -16.4166665 -16.2499995 692 0 2670 --52.4166665 -52.2499995 -16.4166665 -16.2499995 938 0 2670 --52.2500005 -52.0833335 -16.4166665 -16.2499995 499 0 2670 --52.0833335 -51.9166665 -16.4166665 -16.2499995 367 0 2670 --51.9166665 -51.7499995 -16.4166665 -16.2499995 340 0 2670 --51.7500005 -51.5833335 -16.4166665 -16.2499995 393 0 2670 --51.5833335 -51.4166665 -16.4166665 -16.2499995 522 0 2670 --51.4166665 -51.2499995 -16.4166665 -16.2499995 462 0 2670 --51.2500005 -51.0833335 -16.4166665 -16.2499995 757 0 2670 --51.0833335 -50.9166665 -16.4166665 -16.2499995 477 0 2670 --50.9166665 -50.7499995 -16.4166665 -16.2499995 411 0 2670 --50.7500005 -50.5833335 -16.4166665 -16.2499995 595 0 2670 --50.5833335 -50.4166665 -16.4166665 -16.2499995 484 0 2670 --50.4166665 -50.2499995 -16.4166665 -16.2499995 633 0 2670 --50.2500005 -50.0833335 -16.4166665 -16.2499995 707 0 2670 --50.0833335 -49.9166665 -16.4166665 -16.2499995 841 0 2670 --49.9166665 -49.7499995 -16.4166665 -16.2499995 775 0 2670 --49.7500005 -49.5833335 -16.4166665 -16.2499995 733 0 2670 --49.5833335 -49.4166665 -16.4166665 -16.2499995 768 0 2670 --49.4166665 -49.2499995 -16.4166665 -16.2499995 828 0 2670 --49.2500005 -49.0833335 -16.4166665 -16.2499995 927 0 2670 --49.0833335 -48.9166665 -16.4166665 -16.2499995 950 0 2670 --48.9166665 -48.7499995 -16.4166665 -16.2499995 982 0 2670 --48.7500005 -48.5833335 -16.4166665 -16.2499995 940 0 2670 --48.5833335 -48.4166665 -16.4166665 -16.2499995 903 0 2670 --48.4166665 -48.2499995 -16.4166665 -16.2499995 844 0 2670 --48.2500005 -48.0833335 -16.4166665 -16.2499995 794 0 2670 --48.0833335 -47.9166665 -16.4166665 -16.2499995 892 0 2670 --47.9166665 -47.7499995 -16.4166665 -16.2499995 977 0 2670 --47.7500005 -47.5833335 -16.4166665 -16.2499995 928 0 2670 --47.5833335 -47.4166665 -16.4166665 -16.2499995 949 0 2670 --47.4166665 -47.2499995 -16.4166665 -16.2499995 882 0 2670 --47.2500005 -47.0833335 -16.4166665 -16.2499995 901 0 2670 --47.0833335 -46.9166665 -16.4166665 -16.2499995 621 0 2670 --46.9166665 -46.7499995 -16.4166665 -16.2499995 616 0 2670 --46.7500005 -46.5833335 -16.4166665 -16.2499995 726 0 2670 --46.5833335 -46.4166665 -16.4166665 -16.2499995 946 0 2670 --46.4166665 -46.2499995 -16.4166665 -16.2499995 897 0 2670 --46.2500005 -46.0833335 -16.4166665 -16.2499995 831 0 2670 --46.0833335 -45.9166665 -16.4166665 -16.2499995 710 0 2670 --45.9166665 -45.7499995 -16.4166665 -16.2499995 623 0 2670 --45.7500005 -45.5833335 -16.4166665 -16.2499995 525 0 2670 --45.5833335 -45.4166665 -16.4166665 -16.2499995 497 0 2670 --45.4166665 -45.2499995 -16.4166665 -16.2499995 488 0 2670 --45.2500005 -45.0833335 -16.4166665 -16.2499995 498 0 2670 --45.0833335 -44.9166665 -16.4166665 -16.2499995 542 0 2670 --44.9166665 -44.7499995 -16.4166665 -16.2499995 617 0 2670 --44.7500005 -44.5833335 -16.4166665 -16.2499995 627 0 2670 --44.5833335 -44.4166665 -16.4166665 -16.2499995 737 0 2670 --44.4166665 -44.2499995 -16.4166665 -16.2499995 758 0 2670 --44.2500005 -44.0833335 -16.4166665 -16.2499995 838 0 2670 --44.0833335 -43.9166665 -16.4166665 -16.2499995 755 0 2670 --43.9166665 -43.7499995 -16.4166665 -16.2499995 718 0 2670 --43.7500005 -43.5833335 -16.4166665 -16.2499995 596 0 2670 --43.5833335 -43.4166665 -16.4166665 -16.2499995 635 0 2670 --43.4166665 -43.2499995 -16.4166665 -16.2499995 917 0 2670 --43.2500005 -43.0833335 -16.4166665 -16.2499995 925 0 2670 --43.0833335 -42.9166665 -16.4166665 -16.2499995 908 0 2670 --42.9166665 -42.7499995 -16.4166665 -16.2499995 792 0 2670 --42.7500005 -42.5833335 -16.4166665 -16.2499995 888 0 2670 --42.5833335 -42.4166665 -16.4166665 -16.2499995 626 0 2670 --42.4166665 -42.2499995 -16.4166665 -16.2499995 537 0 2670 --42.2500005 -42.0833335 -16.4166665 -16.2499995 782 0 2670 --42.0833335 -41.9166665 -16.4166665 -16.2499995 545 0 2670 --41.9166665 -41.7499995 -16.4166665 -16.2499995 714 0 2670 --41.7500005 -41.5833335 -16.4166665 -16.2499995 656 0 2670 --41.5833335 -41.4166665 -16.4166665 -16.2499995 794 0 2670 --41.4166665 -41.2499995 -16.4166665 -16.2499995 606 0 2670 --41.2500005 -41.0833335 -16.4166665 -16.2499995 696 0 2670 --41.0833335 -40.9166665 -16.4166665 -16.2499995 976 0 2670 --40.9166665 -40.7499995 -16.4166665 -16.2499995 213 0 2670 --40.7500005 -40.5833335 -16.4166665 -16.2499995 519 0 2670 --40.5833335 -40.4166665 -16.4166665 -16.2499995 232 0 2670 --40.4166665 -40.2499995 -16.4166665 -16.2499995 571 0 2670 --40.2500005 -40.0833335 -16.4166665 -16.2499995 499 0 2670 --40.0833335 -39.9166665 -16.4166665 -16.2499995 732 0 2670 --65.0833335 -64.9166665 -16.5833335 -16.4166665 197 0 2670 --64.9166665 -64.7499995 -16.5833335 -16.4166665 201 0 2670 --64.7500005 -64.5833335 -16.5833335 -16.4166665 195 0 2670 --64.5833335 -64.4166665 -16.5833335 -16.4166665 205 0 2670 --64.4166665 -64.2499995 -16.5833335 -16.4166665 211 0 2670 --64.2500005 -64.0833335 -16.5833335 -16.4166665 206 0 2670 --64.0833335 -63.9166665 -16.5833335 -16.4166665 216 0 2670 --63.9166665 -63.7499995 -16.5833335 -16.4166665 203 0 2670 --63.7500005 -63.5833335 -16.5833335 -16.4166665 211 0 2670 --63.5833335 -63.4166665 -16.5833335 -16.4166665 216 0 2670 --63.4166665 -63.2499995 -16.5833335 -16.4166665 216 0 2670 --63.2500005 -63.0833335 -16.5833335 -16.4166665 222 0 2670 --63.0833335 -62.9166665 -16.5833335 -16.4166665 227 0 2670 --62.9166665 -62.7499995 -16.5833335 -16.4166665 240 0 2670 --62.7500005 -62.5833335 -16.5833335 -16.4166665 248 0 2670 --62.5833335 -62.4166665 -16.5833335 -16.4166665 281 0 2670 --62.4166665 -62.2499995 -16.5833335 -16.4166665 353 0 2670 --62.2500005 -62.0833335 -16.5833335 -16.4166665 482 0 2670 --62.0833335 -61.9166665 -16.5833335 -16.4166665 648 0 2670 --61.9166665 -61.7499995 -16.5833335 -16.4166665 441 0 2670 --61.7500005 -61.5833335 -16.5833335 -16.4166665 420 0 2670 --61.5833335 -61.4166665 -16.5833335 -16.4166665 450 0 2670 --61.4166665 -61.2499995 -16.5833335 -16.4166665 438 0 2670 --61.2500005 -61.0833335 -16.5833335 -16.4166665 468 0 2670 --61.0833335 -60.9166665 -16.5833335 -16.4166665 467 0 2670 --60.9166665 -60.7499995 -16.5833335 -16.4166665 487 0 2670 --60.7500005 -60.5833335 -16.5833335 -16.4166665 409 0 2670 --60.5833335 -60.4166665 -16.5833335 -16.4166665 396 0 2670 --60.4166665 -60.2499995 -16.5833335 -16.4166665 306 0 2670 --60.2500005 -60.0833335 -16.5833335 -16.4166665 270 0 2670 --60.0833335 -59.9166665 -16.5833335 -16.4166665 211 0 2670 --59.9166665 -59.7499995 -16.5833335 -16.4166665 213 0 2670 --59.7500005 -59.5833335 -16.5833335 -16.4166665 188 0 2670 --59.5833335 -59.4166665 -16.5833335 -16.4166665 173 0 2670 --59.4166665 -59.2499995 -16.5833335 -16.4166665 193 0 2670 --59.2500005 -59.0833335 -16.5833335 -16.4166665 182 0 2670 --59.0833335 -58.9166665 -16.5833335 -16.4166665 119 0 2670 --58.9166665 -58.7499995 -16.5833335 -16.4166665 112 0 2670 --58.7500005 -58.5833335 -16.5833335 -16.4166665 109 0 2670 --58.5833335 -58.4166665 -16.5833335 -16.4166665 104 0 2670 --58.4166665 -58.2499995 -16.5833335 -16.4166665 100 0 2670 --58.2500005 -58.0833335 -16.5833335 -16.4166665 160 0 2670 --58.0833335 -57.9166665 -16.5833335 -16.4166665 114 0 2670 --57.9166665 -57.7499995 -16.5833335 -16.4166665 113 0 2670 --57.7500005 -57.5833335 -16.5833335 -16.4166665 329 0 2670 --57.5833335 -57.4166665 -16.5833335 -16.4166665 368 0 2670 --57.4166665 -57.2499995 -16.5833335 -16.4166665 112 0 2670 --57.2500005 -57.0833335 -16.5833335 -16.4166665 129 0 2670 --57.0833335 -56.9166665 -16.5833335 -16.4166665 112 0 2670 --56.9166665 -56.7499995 -16.5833335 -16.4166665 118 0 2670 --56.7500005 -56.5833335 -16.5833335 -16.4166665 123 0 2670 --56.5833335 -56.4166665 -16.5833335 -16.4166665 124 0 2670 --56.4166665 -56.2499995 -16.5833335 -16.4166665 127 0 2670 --56.2500005 -56.0833335 -16.5833335 -16.4166665 133 0 2670 --56.0833335 -55.9166665 -16.5833335 -16.4166665 135 0 2670 --55.9166665 -55.7499995 -16.5833335 -16.4166665 138 0 2670 --55.7500005 -55.5833335 -16.5833335 -16.4166665 147 0 2670 --55.5833335 -55.4166665 -16.5833335 -16.4166665 156 0 2670 --55.4166665 -55.2499995 -16.5833335 -16.4166665 176 0 2670 --55.2500005 -55.0833335 -16.5833335 -16.4166665 422 0 2670 --55.0833335 -54.9166665 -16.5833335 -16.4166665 189 0 2670 --54.9166665 -54.7499995 -16.5833335 -16.4166665 224 0 2670 --54.7500005 -54.5833335 -16.5833335 -16.4166665 237 0 2670 --54.5833335 -54.4166665 -16.5833335 -16.4166665 241 0 2670 --54.4166665 -54.2499995 -16.5833335 -16.4166665 278 0 2670 --54.2500005 -54.0833335 -16.5833335 -16.4166665 272 0 2670 --54.0833335 -53.9166665 -16.5833335 -16.4166665 336 0 2670 --53.9166665 -53.7499995 -16.5833335 -16.4166665 542 0 2670 --53.7500005 -53.5833335 -16.5833335 -16.4166665 509 0 2670 --53.5833335 -53.4166665 -16.5833335 -16.4166665 575 0 2670 --53.4166665 -53.2499995 -16.5833335 -16.4166665 565 0 2670 --53.2500005 -53.0833335 -16.5833335 -16.4166665 724 0 2670 --53.0833335 -52.9166665 -16.5833335 -16.4166665 615 0 2670 --52.9166665 -52.7499995 -16.5833335 -16.4166665 552 0 2670 --52.7500005 -52.5833335 -16.5833335 -16.4166665 520 0 2670 --52.5833335 -52.4166665 -16.5833335 -16.4166665 495 0 2670 --52.4166665 -52.2499995 -16.5833335 -16.4166665 616 0 2670 --52.2500005 -52.0833335 -16.5833335 -16.4166665 767 0 2670 --52.0833335 -51.9166665 -16.5833335 -16.4166665 651 0 2670 --51.9166665 -51.7499995 -16.5833335 -16.4166665 385 0 2670 --51.7500005 -51.5833335 -16.5833335 -16.4166665 475 0 2670 --51.5833335 -51.4166665 -16.5833335 -16.4166665 713 0 2670 --51.4166665 -51.2499995 -16.5833335 -16.4166665 484 0 2670 --51.2500005 -51.0833335 -16.5833335 -16.4166665 531 0 2670 --51.0833335 -50.9166665 -16.5833335 -16.4166665 460 0 2670 --50.9166665 -50.7499995 -16.5833335 -16.4166665 637 0 2670 --50.7500005 -50.5833335 -16.5833335 -16.4166665 562 0 2670 --50.5833335 -50.4166665 -16.5833335 -16.4166665 450 0 2670 --50.4166665 -50.2499995 -16.5833335 -16.4166665 578 0 2670 --50.2500005 -50.0833335 -16.5833335 -16.4166665 611 0 2670 --50.0833335 -49.9166665 -16.5833335 -16.4166665 792 0 2670 --49.9166665 -49.7499995 -16.5833335 -16.4166665 703 0 2670 --49.7500005 -49.5833335 -16.5833335 -16.4166665 634 0 2670 --49.5833335 -49.4166665 -16.5833335 -16.4166665 750 0 2670 --49.4166665 -49.2499995 -16.5833335 -16.4166665 751 0 2670 --49.2500005 -49.0833335 -16.5833335 -16.4166665 819 0 2670 --49.0833335 -48.9166665 -16.5833335 -16.4166665 956 0 2670 --48.9166665 -48.7499995 -16.5833335 -16.4166665 1016 0 2670 --48.7500005 -48.5833335 -16.5833335 -16.4166665 904 0 2670 --48.5833335 -48.4166665 -16.5833335 -16.4166665 903 0 2670 --48.4166665 -48.2499995 -16.5833335 -16.4166665 1019 0 2670 --48.2500005 -48.0833335 -16.5833335 -16.4166665 930 0 2670 --48.0833335 -47.9166665 -16.5833335 -16.4166665 809 0 2670 --47.9166665 -47.7499995 -16.5833335 -16.4166665 808 0 2670 --47.7500005 -47.5833335 -16.5833335 -16.4166665 887 0 2670 --47.5833335 -47.4166665 -16.5833335 -16.4166665 881 0 2670 --47.4166665 -47.2499995 -16.5833335 -16.4166665 958 0 2670 --47.2500005 -47.0833335 -16.5833335 -16.4166665 917 0 2670 --47.0833335 -46.9166665 -16.5833335 -16.4166665 872 0 2670 --46.9166665 -46.7499995 -16.5833335 -16.4166665 583 0 2670 --46.7500005 -46.5833335 -16.5833335 -16.4166665 562 0 2670 --46.5833335 -46.4166665 -16.5833335 -16.4166665 578 0 2670 --46.4166665 -46.2499995 -16.5833335 -16.4166665 909 0 2670 --46.2500005 -46.0833335 -16.5833335 -16.4166665 846 0 2670 --46.0833335 -45.9166665 -16.5833335 -16.4166665 749 0 2670 --45.9166665 -45.7499995 -16.5833335 -16.4166665 603 0 2670 --45.7500005 -45.5833335 -16.5833335 -16.4166665 564 0 2670 --45.5833335 -45.4166665 -16.5833335 -16.4166665 611 0 2670 --45.4166665 -45.2499995 -16.5833335 -16.4166665 522 0 2670 --45.2500005 -45.0833335 -16.5833335 -16.4166665 509 0 2670 --45.0833335 -44.9166665 -16.5833335 -16.4166665 530 0 2670 --44.9166665 -44.7499995 -16.5833335 -16.4166665 574 0 2670 --44.7500005 -44.5833335 -16.5833335 -16.4166665 603 0 2670 --44.5833335 -44.4166665 -16.5833335 -16.4166665 725 0 2670 --44.4166665 -44.2499995 -16.5833335 -16.4166665 794 0 2670 --44.2500005 -44.0833335 -16.5833335 -16.4166665 841 0 2670 --44.0833335 -43.9166665 -16.5833335 -16.4166665 902 0 2670 --43.9166665 -43.7499995 -16.5833335 -16.4166665 703 0 2670 --43.7500005 -43.5833335 -16.5833335 -16.4166665 595 0 2670 --43.5833335 -43.4166665 -16.5833335 -16.4166665 663 0 2670 --43.4166665 -43.2499995 -16.5833335 -16.4166665 945 0 2670 --43.2500005 -43.0833335 -16.5833335 -16.4166665 908 0 2670 --43.0833335 -42.9166665 -16.5833335 -16.4166665 822 0 2670 --42.9166665 -42.7499995 -16.5833335 -16.4166665 670 0 2670 --42.7500005 -42.5833335 -16.5833335 -16.4166665 946 0 2670 --42.5833335 -42.4166665 -16.5833335 -16.4166665 632 0 2670 --42.4166665 -42.2499995 -16.5833335 -16.4166665 730 0 2670 --42.2500005 -42.0833335 -16.5833335 -16.4166665 776 0 2670 --42.0833335 -41.9166665 -16.5833335 -16.4166665 866 0 2670 --41.9166665 -41.7499995 -16.5833335 -16.4166665 566 0 2670 --41.7500005 -41.5833335 -16.5833335 -16.4166665 459 0 2670 --41.5833335 -41.4166665 -16.5833335 -16.4166665 336 0 2670 --41.4166665 -41.2499995 -16.5833335 -16.4166665 311 0 2670 --41.2500005 -41.0833335 -16.5833335 -16.4166665 729 0 2670 --41.0833335 -40.9166665 -16.5833335 -16.4166665 519 0 2670 --40.9166665 -40.7499995 -16.5833335 -16.4166665 557 0 2670 --40.7500005 -40.5833335 -16.5833335 -16.4166665 542 0 2670 --40.5833335 -40.4166665 -16.5833335 -16.4166665 409 0 2670 --40.4166665 -40.2499995 -16.5833335 -16.4166665 723 0 2670 --40.2500005 -40.0833335 -16.5833335 -16.4166665 548 0 2670 --40.0833335 -39.9166665 -16.5833335 -16.4166665 277 0 2670 --65.0833335 -64.9166665 -16.7500005 -16.5833335 215 0 2670 --64.9166665 -64.7499995 -16.7500005 -16.5833335 208 0 2670 --64.7500005 -64.5833335 -16.7500005 -16.5833335 201 0 2670 --64.5833335 -64.4166665 -16.7500005 -16.5833335 209 0 2670 --64.4166665 -64.2499995 -16.7500005 -16.5833335 209 0 2670 --64.2500005 -64.0833335 -16.7500005 -16.5833335 234 0 2670 --64.0833335 -63.9166665 -16.7500005 -16.5833335 227 0 2670 --63.9166665 -63.7499995 -16.7500005 -16.5833335 224 0 2670 --63.7500005 -63.5833335 -16.7500005 -16.5833335 213 0 2670 --63.5833335 -63.4166665 -16.7500005 -16.5833335 222 0 2670 --63.4166665 -63.2499995 -16.7500005 -16.5833335 220 0 2670 --63.2500005 -63.0833335 -16.7500005 -16.5833335 230 0 2670 --63.0833335 -62.9166665 -16.7500005 -16.5833335 235 0 2670 --62.9166665 -62.7499995 -16.7500005 -16.5833335 235 0 2670 --62.7500005 -62.5833335 -16.7500005 -16.5833335 241 0 2670 --62.5833335 -62.4166665 -16.7500005 -16.5833335 244 0 2670 --62.4166665 -62.2499995 -16.7500005 -16.5833335 447 0 2670 --62.2500005 -62.0833335 -16.7500005 -16.5833335 554 0 2670 --62.0833335 -61.9166665 -16.7500005 -16.5833335 442 0 2670 --61.9166665 -61.7499995 -16.7500005 -16.5833335 357 0 2670 --61.7500005 -61.5833335 -16.7500005 -16.5833335 441 0 2670 --61.5833335 -61.4166665 -16.7500005 -16.5833335 488 0 2670 --61.4166665 -61.2499995 -16.7500005 -16.5833335 451 0 2670 --61.2500005 -61.0833335 -16.7500005 -16.5833335 426 0 2670 --61.0833335 -60.9166665 -16.7500005 -16.5833335 453 0 2670 --60.9166665 -60.7499995 -16.7500005 -16.5833335 518 0 2670 --60.7500005 -60.5833335 -16.7500005 -16.5833335 464 0 2670 --60.5833335 -60.4166665 -16.7500005 -16.5833335 422 0 2670 --60.4166665 -60.2499995 -16.7500005 -16.5833335 269 0 2670 --60.2500005 -60.0833335 -16.7500005 -16.5833335 281 0 2670 --60.0833335 -59.9166665 -16.7500005 -16.5833335 259 0 2670 --59.9166665 -59.7499995 -16.7500005 -16.5833335 225 0 2670 --59.7500005 -59.5833335 -16.7500005 -16.5833335 227 0 2670 --59.5833335 -59.4166665 -16.7500005 -16.5833335 177 0 2670 --59.4166665 -59.2499995 -16.7500005 -16.5833335 169 0 2670 --59.2500005 -59.0833335 -16.7500005 -16.5833335 128 0 2670 --59.0833335 -58.9166665 -16.7500005 -16.5833335 144 0 2670 --58.9166665 -58.7499995 -16.7500005 -16.5833335 147 0 2670 --58.7500005 -58.5833335 -16.7500005 -16.5833335 103 0 2670 --58.5833335 -58.4166665 -16.7500005 -16.5833335 101 0 2670 --58.4166665 -58.2499995 -16.7500005 -16.5833335 107 0 2670 --58.2500005 -58.0833335 -16.7500005 -16.5833335 108 0 2670 --58.0833335 -57.9166665 -16.7500005 -16.5833335 128 0 2670 --57.9166665 -57.7499995 -16.7500005 -16.5833335 145 0 2670 --57.7500005 -57.5833335 -16.7500005 -16.5833335 141 0 2670 --57.5833335 -57.4166665 -16.7500005 -16.5833335 103 0 2670 --57.4166665 -57.2499995 -16.7500005 -16.5833335 104 0 2670 --57.2500005 -57.0833335 -16.7500005 -16.5833335 107 0 2670 --57.0833335 -56.9166665 -16.7500005 -16.5833335 114 0 2670 --56.9166665 -56.7499995 -16.7500005 -16.5833335 115 0 2670 --56.7500005 -56.5833335 -16.7500005 -16.5833335 119 0 2670 --56.5833335 -56.4166665 -16.7500005 -16.5833335 124 0 2670 --56.4166665 -56.2499995 -16.7500005 -16.5833335 129 0 2670 --56.2500005 -56.0833335 -16.7500005 -16.5833335 131 0 2670 --56.0833335 -55.9166665 -16.7500005 -16.5833335 142 0 2670 --55.9166665 -55.7499995 -16.7500005 -16.5833335 144 0 2670 --55.7500005 -55.5833335 -16.7500005 -16.5833335 148 0 2670 --55.5833335 -55.4166665 -16.7500005 -16.5833335 183 0 2670 --55.4166665 -55.2499995 -16.7500005 -16.5833335 171 0 2670 --55.2500005 -55.0833335 -16.7500005 -16.5833335 176 0 2670 --55.0833335 -54.9166665 -16.7500005 -16.5833335 371 0 2670 --54.9166665 -54.7499995 -16.7500005 -16.5833335 528 0 2670 --54.7500005 -54.5833335 -16.7500005 -16.5833335 464 0 2670 --54.5833335 -54.4166665 -16.7500005 -16.5833335 330 0 2670 --54.4166665 -54.2499995 -16.7500005 -16.5833335 317 0 2670 --54.2500005 -54.0833335 -16.7500005 -16.5833335 540 0 2670 --54.0833335 -53.9166665 -16.7500005 -16.5833335 499 0 2670 --53.9166665 -53.7499995 -16.7500005 -16.5833335 602 0 2670 --53.7500005 -53.5833335 -16.7500005 -16.5833335 677 0 2670 --53.5833335 -53.4166665 -16.7500005 -16.5833335 599 0 2670 --53.4166665 -53.2499995 -16.7500005 -16.5833335 541 0 2670 --53.2500005 -53.0833335 -16.7500005 -16.5833335 686 0 2670 --53.0833335 -52.9166665 -16.7500005 -16.5833335 596 0 2670 --52.9166665 -52.7499995 -16.7500005 -16.5833335 525 0 2670 --52.7500005 -52.5833335 -16.7500005 -16.5833335 533 0 2670 --52.5833335 -52.4166665 -16.7500005 -16.5833335 537 0 2670 --52.4166665 -52.2499995 -16.7500005 -16.5833335 543 0 2670 --52.2500005 -52.0833335 -16.7500005 -16.5833335 661 0 2670 --52.0833335 -51.9166665 -16.7500005 -16.5833335 712 0 2670 --51.9166665 -51.7499995 -16.7500005 -16.5833335 630 0 2670 --51.7500005 -51.5833335 -16.7500005 -16.5833335 668 0 2670 --51.5833335 -51.4166665 -16.7500005 -16.5833335 675 0 2670 --51.4166665 -51.2499995 -16.7500005 -16.5833335 611 0 2670 --51.2500005 -51.0833335 -16.7500005 -16.5833335 598 0 2670 --51.0833335 -50.9166665 -16.7500005 -16.5833335 581 0 2670 --50.9166665 -50.7499995 -16.7500005 -16.5833335 555 0 2670 --50.7500005 -50.5833335 -16.7500005 -16.5833335 787 0 2670 --50.5833335 -50.4166665 -16.7500005 -16.5833335 500 0 2670 --50.4166665 -50.2499995 -16.7500005 -16.5833335 620 0 2670 --50.2500005 -50.0833335 -16.7500005 -16.5833335 649 0 2670 --50.0833335 -49.9166665 -16.7500005 -16.5833335 681 0 2670 --49.9166665 -49.7499995 -16.7500005 -16.5833335 625 0 2670 --49.7500005 -49.5833335 -16.7500005 -16.5833335 609 0 2670 --49.5833335 -49.4166665 -16.7500005 -16.5833335 787 0 2670 --49.4166665 -49.2499995 -16.7500005 -16.5833335 789 0 2670 --49.2500005 -49.0833335 -16.7500005 -16.5833335 752 0 2670 --49.0833335 -48.9166665 -16.7500005 -16.5833335 866 0 2670 --48.9166665 -48.7499995 -16.7500005 -16.5833335 903 0 2670 --48.7500005 -48.5833335 -16.7500005 -16.5833335 992 0 2670 --48.5833335 -48.4166665 -16.7500005 -16.5833335 862 0 2670 --48.4166665 -48.2499995 -16.7500005 -16.5833335 820 0 2670 --48.2500005 -48.0833335 -16.7500005 -16.5833335 926 0 2670 --48.0833335 -47.9166665 -16.7500005 -16.5833335 840 0 2670 --47.9166665 -47.7499995 -16.7500005 -16.5833335 839 0 2670 --47.7500005 -47.5833335 -16.7500005 -16.5833335 976 0 2670 --47.5833335 -47.4166665 -16.7500005 -16.5833335 951 0 2670 --47.4166665 -47.2499995 -16.7500005 -16.5833335 908 0 2670 --47.2500005 -47.0833335 -16.7500005 -16.5833335 926 0 2670 --47.0833335 -46.9166665 -16.7500005 -16.5833335 850 0 2670 --46.9166665 -46.7499995 -16.7500005 -16.5833335 590 0 2670 --46.7500005 -46.5833335 -16.7500005 -16.5833335 592 0 2670 --46.5833335 -46.4166665 -16.7500005 -16.5833335 531 0 2670 --46.4166665 -46.2499995 -16.7500005 -16.5833335 627 0 2670 --46.2500005 -46.0833335 -16.7500005 -16.5833335 748 0 2670 --46.0833335 -45.9166665 -16.7500005 -16.5833335 703 0 2670 --45.9166665 -45.7499995 -16.7500005 -16.5833335 752 0 2670 --45.7500005 -45.5833335 -16.7500005 -16.5833335 649 0 2670 --45.5833335 -45.4166665 -16.7500005 -16.5833335 583 0 2670 --45.4166665 -45.2499995 -16.7500005 -16.5833335 533 0 2670 --45.2500005 -45.0833335 -16.7500005 -16.5833335 478 0 2670 --45.0833335 -44.9166665 -16.7500005 -16.5833335 506 0 2670 --44.9166665 -44.7499995 -16.7500005 -16.5833335 531 0 2670 --44.7500005 -44.5833335 -16.7500005 -16.5833335 715 0 2670 --44.5833335 -44.4166665 -16.7500005 -16.5833335 742 0 2670 --44.4166665 -44.2499995 -16.7500005 -16.5833335 835 0 2670 --44.2500005 -44.0833335 -16.7500005 -16.5833335 801 0 2670 --44.0833335 -43.9166665 -16.7500005 -16.5833335 826 0 2670 --43.9166665 -43.7499995 -16.7500005 -16.5833335 604 0 2670 --43.7500005 -43.5833335 -16.7500005 -16.5833335 603 0 2670 --43.5833335 -43.4166665 -16.7500005 -16.5833335 780 0 2670 --43.4166665 -43.2499995 -16.7500005 -16.5833335 967 0 2670 --43.2500005 -43.0833335 -16.7500005 -16.5833335 782 0 2670 --43.0833335 -42.9166665 -16.7500005 -16.5833335 806 0 2670 --42.9166665 -42.7499995 -16.7500005 -16.5833335 637 0 2670 --42.7500005 -42.5833335 -16.7500005 -16.5833335 786 0 2670 --42.5833335 -42.4166665 -16.7500005 -16.5833335 484 0 2670 --42.4166665 -42.2499995 -16.7500005 -16.5833335 432 0 2670 --42.2500005 -42.0833335 -16.7500005 -16.5833335 398 0 2670 --42.0833335 -41.9166665 -16.7500005 -16.5833335 444 0 2670 --41.9166665 -41.7499995 -16.7500005 -16.5833335 306 0 2670 --41.7500005 -41.5833335 -16.7500005 -16.5833335 712 0 2670 --41.5833335 -41.4166665 -16.7500005 -16.5833335 370 0 2670 --41.4166665 -41.2499995 -16.7500005 -16.5833335 708 0 2670 --41.2500005 -41.0833335 -16.7500005 -16.5833335 677 0 2670 --41.0833335 -40.9166665 -16.7500005 -16.5833335 284 0 2670 --40.9166665 -40.7499995 -16.7500005 -16.5833335 596 0 2670 --40.7500005 -40.5833335 -16.7500005 -16.5833335 639 0 2670 --40.5833335 -40.4166665 -16.7500005 -16.5833335 825 0 2670 --40.4166665 -40.2499995 -16.7500005 -16.5833335 840 0 2670 --40.2500005 -40.0833335 -16.7500005 -16.5833335 444 0 2670 --40.0833335 -39.9166665 -16.7500005 -16.5833335 468 0 2670 --65.0833335 -64.9166665 -16.9166665 -16.7499995 215 0 2670 --64.9166665 -64.7499995 -16.9166665 -16.7499995 200 0 2670 --64.7500005 -64.5833335 -16.9166665 -16.7499995 201 0 2670 --64.5833335 -64.4166665 -16.9166665 -16.7499995 205 0 2670 --64.4166665 -64.2499995 -16.9166665 -16.7499995 226 0 2670 --64.2500005 -64.0833335 -16.9166665 -16.7499995 239 0 2670 --64.0833335 -63.9166665 -16.9166665 -16.7499995 233 0 2670 --63.9166665 -63.7499995 -16.9166665 -16.7499995 224 0 2670 --63.7500005 -63.5833335 -16.9166665 -16.7499995 221 0 2670 --63.5833335 -63.4166665 -16.9166665 -16.7499995 219 0 2670 --63.4166665 -63.2499995 -16.9166665 -16.7499995 228 0 2670 --63.2500005 -63.0833335 -16.9166665 -16.7499995 239 0 2670 --63.0833335 -62.9166665 -16.9166665 -16.7499995 240 0 2670 --62.9166665 -62.7499995 -16.9166665 -16.7499995 243 0 2670 --62.7500005 -62.5833335 -16.9166665 -16.7499995 255 0 2670 --62.5833335 -62.4166665 -16.9166665 -16.7499995 253 0 2670 --62.4166665 -62.2499995 -16.9166665 -16.7499995 247 0 2670 --62.2500005 -62.0833335 -16.9166665 -16.7499995 379 0 2670 --62.0833335 -61.9166665 -16.9166665 -16.7499995 334 0 2670 --61.9166665 -61.7499995 -16.9166665 -16.7499995 398 0 2670 --61.7500005 -61.5833335 -16.9166665 -16.7499995 418 0 2670 --61.5833335 -61.4166665 -16.9166665 -16.7499995 401 0 2670 --61.4166665 -61.2499995 -16.9166665 -16.7499995 389 0 2670 --61.2500005 -61.0833335 -16.9166665 -16.7499995 431 0 2670 --61.0833335 -60.9166665 -16.9166665 -16.7499995 388 0 2670 --60.9166665 -60.7499995 -16.9166665 -16.7499995 401 0 2670 --60.7500005 -60.5833335 -16.9166665 -16.7499995 392 0 2670 --60.5833335 -60.4166665 -16.9166665 -16.7499995 337 0 2670 --60.4166665 -60.2499995 -16.9166665 -16.7499995 308 0 2670 --60.2500005 -60.0833335 -16.9166665 -16.7499995 289 0 2670 --60.0833335 -59.9166665 -16.9166665 -16.7499995 291 0 2670 --59.9166665 -59.7499995 -16.9166665 -16.7499995 212 0 2670 --59.7500005 -59.5833335 -16.9166665 -16.7499995 203 0 2670 --59.5833335 -59.4166665 -16.9166665 -16.7499995 171 0 2670 --59.4166665 -59.2499995 -16.9166665 -16.7499995 158 0 2670 --59.2500005 -59.0833335 -16.9166665 -16.7499995 132 0 2670 --59.0833335 -58.9166665 -16.9166665 -16.7499995 120 0 2670 --58.9166665 -58.7499995 -16.9166665 -16.7499995 111 0 2670 --58.7500005 -58.5833335 -16.9166665 -16.7499995 106 0 2670 --58.5833335 -58.4166665 -16.9166665 -16.7499995 99 0 2670 --58.4166665 -58.2499995 -16.9166665 -16.7499995 103 0 2670 --58.2500005 -58.0833335 -16.9166665 -16.7499995 105 0 2670 --58.0833335 -57.9166665 -16.9166665 -16.7499995 106 0 2670 --57.9166665 -57.7499995 -16.9166665 -16.7499995 108 0 2670 --57.7500005 -57.5833335 -16.9166665 -16.7499995 102 0 2670 --57.5833335 -57.4166665 -16.9166665 -16.7499995 107 0 2670 --57.4166665 -57.2499995 -16.9166665 -16.7499995 103 0 2670 --57.2500005 -57.0833335 -16.9166665 -16.7499995 108 0 2670 --57.0833335 -56.9166665 -16.9166665 -16.7499995 111 0 2670 --56.9166665 -56.7499995 -16.9166665 -16.7499995 113 0 2670 --56.7500005 -56.5833335 -16.9166665 -16.7499995 120 0 2670 --56.5833335 -56.4166665 -16.9166665 -16.7499995 122 0 2670 --56.4166665 -56.2499995 -16.9166665 -16.7499995 131 0 2670 --56.2500005 -56.0833335 -16.9166665 -16.7499995 138 0 2670 --56.0833335 -55.9166665 -16.9166665 -16.7499995 134 0 2670 --55.9166665 -55.7499995 -16.9166665 -16.7499995 139 0 2670 --55.7500005 -55.5833335 -16.9166665 -16.7499995 150 0 2670 --55.5833335 -55.4166665 -16.9166665 -16.7499995 155 0 2670 --55.4166665 -55.2499995 -16.9166665 -16.7499995 163 0 2670 --55.2500005 -55.0833335 -16.9166665 -16.7499995 168 0 2670 --55.0833335 -54.9166665 -16.9166665 -16.7499995 193 0 2670 --54.9166665 -54.7499995 -16.9166665 -16.7499995 475 0 2670 --54.7500005 -54.5833335 -16.9166665 -16.7499995 439 0 2670 --54.5833335 -54.4166665 -16.9166665 -16.7499995 321 0 2670 --54.4166665 -54.2499995 -16.9166665 -16.7499995 359 0 2670 --54.2500005 -54.0833335 -16.9166665 -16.7499995 416 0 2670 --54.0833335 -53.9166665 -16.9166665 -16.7499995 709 0 2670 --53.9166665 -53.7499995 -16.9166665 -16.7499995 747 0 2670 --53.7500005 -53.5833335 -16.9166665 -16.7499995 758 0 2670 --53.5833335 -53.4166665 -16.9166665 -16.7499995 690 0 2670 --53.4166665 -53.2499995 -16.9166665 -16.7499995 549 0 2670 --53.2500005 -53.0833335 -16.9166665 -16.7499995 496 0 2670 --53.0833335 -52.9166665 -16.9166665 -16.7499995 507 0 2670 --52.9166665 -52.7499995 -16.9166665 -16.7499995 456 0 2670 --52.7500005 -52.5833335 -16.9166665 -16.7499995 566 0 2670 --52.5833335 -52.4166665 -16.9166665 -16.7499995 606 0 2670 --52.4166665 -52.2499995 -16.9166665 -16.7499995 566 0 2670 --52.2500005 -52.0833335 -16.9166665 -16.7499995 582 0 2670 --52.0833335 -51.9166665 -16.9166665 -16.7499995 714 0 2670 --51.9166665 -51.7499995 -16.9166665 -16.7499995 658 0 2670 --51.7500005 -51.5833335 -16.9166665 -16.7499995 640 0 2670 --51.5833335 -51.4166665 -16.9166665 -16.7499995 818 0 2670 --51.4166665 -51.2499995 -16.9166665 -16.7499995 645 0 2670 --51.2500005 -51.0833335 -16.9166665 -16.7499995 531 0 2670 --51.0833335 -50.9166665 -16.9166665 -16.7499995 748 0 2670 --50.9166665 -50.7499995 -16.9166665 -16.7499995 583 0 2670 --50.7500005 -50.5833335 -16.9166665 -16.7499995 637 0 2670 --50.5833335 -50.4166665 -16.9166665 -16.7499995 743 0 2670 --50.4166665 -50.2499995 -16.9166665 -16.7499995 578 0 2670 --50.2500005 -50.0833335 -16.9166665 -16.7499995 665 0 2670 --50.0833335 -49.9166665 -16.9166665 -16.7499995 601 0 2670 --49.9166665 -49.7499995 -16.9166665 -16.7499995 654 0 2670 --49.7500005 -49.5833335 -16.9166665 -16.7499995 763 0 2670 --49.5833335 -49.4166665 -16.9166665 -16.7499995 748 0 2670 --49.4166665 -49.2499995 -16.9166665 -16.7499995 894 0 2670 --49.2500005 -49.0833335 -16.9166665 -16.7499995 698 0 2670 --49.0833335 -48.9166665 -16.9166665 -16.7499995 764 0 2670 --48.9166665 -48.7499995 -16.9166665 -16.7499995 874 0 2670 --48.7500005 -48.5833335 -16.9166665 -16.7499995 902 0 2670 --48.5833335 -48.4166665 -16.9166665 -16.7499995 955 0 2670 --48.4166665 -48.2499995 -16.9166665 -16.7499995 906 0 2670 --48.2500005 -48.0833335 -16.9166665 -16.7499995 948 0 2670 --48.0833335 -47.9166665 -16.9166665 -16.7499995 959 0 2670 --47.9166665 -47.7499995 -16.9166665 -16.7499995 852 0 2670 --47.7500005 -47.5833335 -16.9166665 -16.7499995 1140 0 2670 --47.5833335 -47.4166665 -16.9166665 -16.7499995 974 0 2670 --47.4166665 -47.2499995 -16.9166665 -16.7499995 925 0 2670 --47.2500005 -47.0833335 -16.9166665 -16.7499995 870 0 2670 --47.0833335 -46.9166665 -16.9166665 -16.7499995 826 0 2670 --46.9166665 -46.7499995 -16.9166665 -16.7499995 628 0 2670 --46.7500005 -46.5833335 -16.9166665 -16.7499995 545 0 2670 --46.5833335 -46.4166665 -16.9166665 -16.7499995 536 0 2670 --46.4166665 -46.2499995 -16.9166665 -16.7499995 539 0 2670 --46.2500005 -46.0833335 -16.9166665 -16.7499995 550 0 2670 --46.0833335 -45.9166665 -16.9166665 -16.7499995 644 0 2670 --45.9166665 -45.7499995 -16.9166665 -16.7499995 737 0 2670 --45.7500005 -45.5833335 -16.9166665 -16.7499995 678 0 2670 --45.5833335 -45.4166665 -16.9166665 -16.7499995 562 0 2670 --45.4166665 -45.2499995 -16.9166665 -16.7499995 531 0 2670 --45.2500005 -45.0833335 -16.9166665 -16.7499995 547 0 2670 --45.0833335 -44.9166665 -16.9166665 -16.7499995 515 0 2670 --44.9166665 -44.7499995 -16.9166665 -16.7499995 535 0 2670 --44.7500005 -44.5833335 -16.9166665 -16.7499995 694 0 2670 --44.5833335 -44.4166665 -16.9166665 -16.7499995 727 0 2670 --44.4166665 -44.2499995 -16.9166665 -16.7499995 880 0 2670 --44.2500005 -44.0833335 -16.9166665 -16.7499995 918 0 2670 --44.0833335 -43.9166665 -16.9166665 -16.7499995 901 0 2670 --43.9166665 -43.7499995 -16.9166665 -16.7499995 885 0 2670 --43.7500005 -43.5833335 -16.9166665 -16.7499995 662 0 2670 --43.5833335 -43.4166665 -16.9166665 -16.7499995 1112 0 2670 --43.4166665 -43.2499995 -16.9166665 -16.7499995 1159 0 2670 --43.2500005 -43.0833335 -16.9166665 -16.7499995 845 0 2670 --43.0833335 -42.9166665 -16.9166665 -16.7499995 813 0 2670 --42.9166665 -42.7499995 -16.9166665 -16.7499995 671 0 2670 --42.7500005 -42.5833335 -16.9166665 -16.7499995 725 0 2670 --42.5833335 -42.4166665 -16.9166665 -16.7499995 712 0 2670 --42.4166665 -42.2499995 -16.9166665 -16.7499995 381 0 2670 --42.2500005 -42.0833335 -16.9166665 -16.7499995 430 0 2670 --42.0833335 -41.9166665 -16.9166665 -16.7499995 313 0 2670 --41.9166665 -41.7499995 -16.9166665 -16.7499995 375 0 2670 --41.7500005 -41.5833335 -16.9166665 -16.7499995 811 0 2670 --41.5833335 -41.4166665 -16.9166665 -16.7499995 791 0 2670 --41.4166665 -41.2499995 -16.9166665 -16.7499995 759 0 2670 --41.2500005 -41.0833335 -16.9166665 -16.7499995 814 0 2670 --41.0833335 -40.9166665 -16.9166665 -16.7499995 409 0 2670 --40.9166665 -40.7499995 -16.9166665 -16.7499995 586 0 2670 --40.7500005 -40.5833335 -16.9166665 -16.7499995 851 0 2670 --40.5833335 -40.4166665 -16.9166665 -16.7499995 492 0 2670 --40.4166665 -40.2499995 -16.9166665 -16.7499995 448 0 2670 --40.2500005 -40.0833335 -16.9166665 -16.7499995 316 0 2670 --40.0833335 -39.9166665 -16.9166665 -16.7499995 191 0 2670 --65.0833335 -64.9166665 -17.0833335 -16.9166665 235 0 2670 --64.9166665 -64.7499995 -17.0833335 -16.9166665 215 0 2670 --64.7500005 -64.5833335 -17.0833335 -16.9166665 211 0 2670 --64.5833335 -64.4166665 -17.0833335 -16.9166665 219 0 2670 --64.4166665 -64.2499995 -17.0833335 -16.9166665 231 0 2670 --64.2500005 -64.0833335 -17.0833335 -16.9166665 236 0 2670 --64.0833335 -63.9166665 -17.0833335 -16.9166665 251 0 2670 --63.9166665 -63.7499995 -17.0833335 -16.9166665 249 0 2670 --63.7500005 -63.5833335 -17.0833335 -16.9166665 304 0 2670 --63.5833335 -63.4166665 -17.0833335 -16.9166665 237 0 2670 --63.4166665 -63.2499995 -17.0833335 -16.9166665 245 0 2670 --63.2500005 -63.0833335 -17.0833335 -16.9166665 240 0 2670 --63.0833335 -62.9166665 -17.0833335 -16.9166665 252 0 2670 --62.9166665 -62.7499995 -17.0833335 -16.9166665 249 0 2670 --62.7500005 -62.5833335 -17.0833335 -16.9166665 248 0 2670 --62.5833335 -62.4166665 -17.0833335 -16.9166665 251 0 2670 --62.4166665 -62.2499995 -17.0833335 -16.9166665 249 0 2670 --62.2500005 -62.0833335 -17.0833335 -16.9166665 256 0 2670 --62.0833335 -61.9166665 -17.0833335 -16.9166665 291 0 2670 --61.9166665 -61.7499995 -17.0833335 -16.9166665 320 0 2670 --61.7500005 -61.5833335 -17.0833335 -16.9166665 324 0 2670 --61.5833335 -61.4166665 -17.0833335 -16.9166665 435 0 2670 --61.4166665 -61.2499995 -17.0833335 -16.9166665 435 0 2670 --61.2500005 -61.0833335 -17.0833335 -16.9166665 380 0 2670 --61.0833335 -60.9166665 -17.0833335 -16.9166665 363 0 2670 --60.9166665 -60.7499995 -17.0833335 -16.9166665 315 0 2670 --60.7500005 -60.5833335 -17.0833335 -16.9166665 301 0 2670 --60.5833335 -60.4166665 -17.0833335 -16.9166665 320 0 2670 --60.4166665 -60.2499995 -17.0833335 -16.9166665 342 0 2670 --60.2500005 -60.0833335 -17.0833335 -16.9166665 369 0 2670 --60.0833335 -59.9166665 -17.0833335 -16.9166665 247 0 2670 --59.9166665 -59.7499995 -17.0833335 -16.9166665 223 0 2670 --59.7500005 -59.5833335 -17.0833335 -16.9166665 242 0 2670 --59.5833335 -59.4166665 -17.0833335 -16.9166665 234 0 2670 --59.4166665 -59.2499995 -17.0833335 -16.9166665 154 0 2670 --59.2500005 -59.0833335 -17.0833335 -16.9166665 134 0 2670 --59.0833335 -58.9166665 -17.0833335 -16.9166665 122 0 2670 --58.9166665 -58.7499995 -17.0833335 -16.9166665 119 0 2670 --58.7500005 -58.5833335 -17.0833335 -16.9166665 104 0 2670 --58.5833335 -58.4166665 -17.0833335 -16.9166665 99 0 2670 --58.4166665 -58.2499995 -17.0833335 -16.9166665 98 0 2670 --58.2500005 -58.0833335 -17.0833335 -16.9166665 100 0 2670 --58.0833335 -57.9166665 -17.0833335 -16.9166665 102 0 2670 --57.9166665 -57.7499995 -17.0833335 -16.9166665 103 0 2670 --57.7500005 -57.5833335 -17.0833335 -16.9166665 103 0 2670 --57.5833335 -57.4166665 -17.0833335 -16.9166665 101 0 2670 --57.4166665 -57.2499995 -17.0833335 -16.9166665 100 0 2670 --57.2500005 -57.0833335 -17.0833335 -16.9166665 104 0 2670 --57.0833335 -56.9166665 -17.0833335 -16.9166665 111 0 2670 --56.9166665 -56.7499995 -17.0833335 -16.9166665 115 0 2670 --56.7500005 -56.5833335 -17.0833335 -16.9166665 112 0 2670 --56.5833335 -56.4166665 -17.0833335 -16.9166665 115 0 2670 --56.4166665 -56.2499995 -17.0833335 -16.9166665 118 0 2670 --56.2500005 -56.0833335 -17.0833335 -16.9166665 127 0 2670 --56.0833335 -55.9166665 -17.0833335 -16.9166665 134 0 2670 --55.9166665 -55.7499995 -17.0833335 -16.9166665 134 0 2670 --55.7500005 -55.5833335 -17.0833335 -16.9166665 143 0 2670 --55.5833335 -55.4166665 -17.0833335 -16.9166665 150 0 2670 --55.4166665 -55.2499995 -17.0833335 -16.9166665 156 0 2670 --55.2500005 -55.0833335 -17.0833335 -16.9166665 157 0 2670 --55.0833335 -54.9166665 -17.0833335 -16.9166665 177 0 2670 --54.9166665 -54.7499995 -17.0833335 -16.9166665 457 0 2670 --54.7500005 -54.5833335 -17.0833335 -16.9166665 467 0 2670 --54.5833335 -54.4166665 -17.0833335 -16.9166665 339 0 2670 --54.4166665 -54.2499995 -17.0833335 -16.9166665 393 0 2670 --54.2500005 -54.0833335 -17.0833335 -16.9166665 747 0 2670 --54.0833335 -53.9166665 -17.0833335 -16.9166665 639 0 2670 --53.9166665 -53.7499995 -17.0833335 -16.9166665 649 0 2670 --53.7500005 -53.5833335 -17.0833335 -16.9166665 693 0 2670 --53.5833335 -53.4166665 -17.0833335 -16.9166665 819 0 2670 --53.4166665 -53.2499995 -17.0833335 -16.9166665 819 0 2670 --53.2500005 -53.0833335 -17.0833335 -16.9166665 522 0 2670 --53.0833335 -52.9166665 -17.0833335 -16.9166665 524 0 2670 --52.9166665 -52.7499995 -17.0833335 -16.9166665 481 0 2670 --52.7500005 -52.5833335 -17.0833335 -16.9166665 542 0 2670 --52.5833335 -52.4166665 -17.0833335 -16.9166665 608 0 2670 --52.4166665 -52.2499995 -17.0833335 -16.9166665 591 0 2670 --52.2500005 -52.0833335 -17.0833335 -16.9166665 646 0 2670 --52.0833335 -51.9166665 -17.0833335 -16.9166665 643 0 2670 --51.9166665 -51.7499995 -17.0833335 -16.9166665 738 0 2670 --51.7500005 -51.5833335 -17.0833335 -16.9166665 810 0 2670 --51.5833335 -51.4166665 -17.0833335 -16.9166665 600 0 2670 --51.4166665 -51.2499995 -17.0833335 -16.9166665 714 0 2670 --51.2500005 -51.0833335 -17.0833335 -16.9166665 538 0 2670 --51.0833335 -50.9166665 -17.0833335 -16.9166665 751 0 2670 --50.9166665 -50.7499995 -17.0833335 -16.9166665 829 0 2670 --50.7500005 -50.5833335 -17.0833335 -16.9166665 676 0 2670 --50.5833335 -50.4166665 -17.0833335 -16.9166665 691 0 2670 --50.4166665 -50.2499995 -17.0833335 -16.9166665 585 0 2670 --50.2500005 -50.0833335 -17.0833335 -16.9166665 672 0 2670 --50.0833335 -49.9166665 -17.0833335 -16.9166665 561 0 2670 --49.9166665 -49.7499995 -17.0833335 -16.9166665 634 0 2670 --49.7500005 -49.5833335 -17.0833335 -16.9166665 705 0 2670 --49.5833335 -49.4166665 -17.0833335 -16.9166665 758 0 2670 --49.4166665 -49.2499995 -17.0833335 -16.9166665 866 0 2670 --49.2500005 -49.0833335 -17.0833335 -16.9166665 759 0 2670 --49.0833335 -48.9166665 -17.0833335 -16.9166665 744 0 2670 --48.9166665 -48.7499995 -17.0833335 -16.9166665 834 0 2670 --48.7500005 -48.5833335 -17.0833335 -16.9166665 937 0 2670 --48.5833335 -48.4166665 -17.0833335 -16.9166665 830 0 2670 --48.4166665 -48.2499995 -17.0833335 -16.9166665 860 0 2670 --48.2500005 -48.0833335 -17.0833335 -16.9166665 821 0 2670 --48.0833335 -47.9166665 -17.0833335 -16.9166665 859 0 2670 --47.9166665 -47.7499995 -17.0833335 -16.9166665 816 0 2670 --47.7500005 -47.5833335 -17.0833335 -16.9166665 954 0 2670 --47.5833335 -47.4166665 -17.0833335 -16.9166665 921 0 2670 --47.4166665 -47.2499995 -17.0833335 -16.9166665 865 0 2670 --47.2500005 -47.0833335 -17.0833335 -16.9166665 836 0 2670 --47.0833335 -46.9166665 -17.0833335 -16.9166665 881 0 2670 --46.9166665 -46.7499995 -17.0833335 -16.9166665 590 0 2670 --46.7500005 -46.5833335 -17.0833335 -16.9166665 584 0 2670 --46.5833335 -46.4166665 -17.0833335 -16.9166665 527 0 2670 --46.4166665 -46.2499995 -17.0833335 -16.9166665 529 0 2670 --46.2500005 -46.0833335 -17.0833335 -16.9166665 502 0 2670 --46.0833335 -45.9166665 -17.0833335 -16.9166665 559 0 2670 --45.9166665 -45.7499995 -17.0833335 -16.9166665 591 0 2670 --45.7500005 -45.5833335 -17.0833335 -16.9166665 608 0 2670 --45.5833335 -45.4166665 -17.0833335 -16.9166665 509 0 2670 --45.4166665 -45.2499995 -17.0833335 -16.9166665 523 0 2670 --45.2500005 -45.0833335 -17.0833335 -16.9166665 657 0 2670 --45.0833335 -44.9166665 -17.0833335 -16.9166665 679 0 2670 --44.9166665 -44.7499995 -17.0833335 -16.9166665 479 0 2670 --44.7500005 -44.5833335 -17.0833335 -16.9166665 652 0 2670 --44.5833335 -44.4166665 -17.0833335 -16.9166665 675 0 2670 --44.4166665 -44.2499995 -17.0833335 -16.9166665 786 0 2670 --44.2500005 -44.0833335 -17.0833335 -16.9166665 853 0 2670 --44.0833335 -43.9166665 -17.0833335 -16.9166665 912 0 2670 --43.9166665 -43.7499995 -17.0833335 -16.9166665 817 0 2670 --43.7500005 -43.5833335 -17.0833335 -16.9166665 793 0 2670 --43.5833335 -43.4166665 -17.0833335 -16.9166665 1034 0 2670 --43.4166665 -43.2499995 -17.0833335 -16.9166665 1273 0 2670 --43.2500005 -43.0833335 -17.0833335 -16.9166665 897 0 2670 --43.0833335 -42.9166665 -17.0833335 -16.9166665 880 0 2670 --42.9166665 -42.7499995 -17.0833335 -16.9166665 799 0 2670 --42.7500005 -42.5833335 -17.0833335 -16.9166665 780 0 2670 --42.5833335 -42.4166665 -17.0833335 -16.9166665 550 0 2670 --42.4166665 -42.2499995 -17.0833335 -16.9166665 436 0 2670 --42.2500005 -42.0833335 -17.0833335 -16.9166665 422 0 2670 --42.0833335 -41.9166665 -17.0833335 -16.9166665 602 0 2670 --41.9166665 -41.7499995 -17.0833335 -16.9166665 599 0 2670 --41.7500005 -41.5833335 -17.0833335 -16.9166665 940 0 2670 --41.5833335 -41.4166665 -17.0833335 -16.9166665 877 0 2670 --41.4166665 -41.2499995 -17.0833335 -16.9166665 861 0 2670 --41.2500005 -41.0833335 -17.0833335 -16.9166665 769 0 2670 --41.0833335 -40.9166665 -17.0833335 -16.9166665 362 0 2670 --40.9166665 -40.7499995 -17.0833335 -16.9166665 335 0 2670 --40.7500005 -40.5833335 -17.0833335 -16.9166665 338 0 2670 --40.5833335 -40.4166665 -17.0833335 -16.9166665 286 0 2670 --40.4166665 -40.2499995 -17.0833335 -16.9166665 625 0 2670 --40.2500005 -40.0833335 -17.0833335 -16.9166665 624 0 2670 --40.0833335 -39.9166665 -17.0833335 -16.9166665 411 0 2670 --65.0833335 -64.9166665 -17.2500005 -17.0833335 349 0 2670 --64.9166665 -64.7499995 -17.2500005 -17.0833335 243 0 2670 --64.7500005 -64.5833335 -17.2500005 -17.0833335 230 0 2670 --64.5833335 -64.4166665 -17.2500005 -17.0833335 229 0 2670 --64.4166665 -64.2499995 -17.2500005 -17.0833335 242 0 2670 --64.2500005 -64.0833335 -17.2500005 -17.0833335 252 0 2670 --64.0833335 -63.9166665 -17.2500005 -17.0833335 262 0 2670 --63.9166665 -63.7499995 -17.2500005 -17.0833335 265 0 2670 --63.7500005 -63.5833335 -17.2500005 -17.0833335 265 0 2670 --63.5833335 -63.4166665 -17.2500005 -17.0833335 255 0 2670 --63.4166665 -63.2499995 -17.2500005 -17.0833335 265 0 2670 --63.2500005 -63.0833335 -17.2500005 -17.0833335 263 0 2670 --63.0833335 -62.9166665 -17.2500005 -17.0833335 255 0 2670 --62.9166665 -62.7499995 -17.2500005 -17.0833335 259 0 2670 --62.7500005 -62.5833335 -17.2500005 -17.0833335 265 0 2670 --62.5833335 -62.4166665 -17.2500005 -17.0833335 260 0 2670 --62.4166665 -62.2499995 -17.2500005 -17.0833335 259 0 2670 --62.2500005 -62.0833335 -17.2500005 -17.0833335 261 0 2670 --62.0833335 -61.9166665 -17.2500005 -17.0833335 257 0 2670 --61.9166665 -61.7499995 -17.2500005 -17.0833335 266 0 2670 --61.7500005 -61.5833335 -17.2500005 -17.0833335 252 0 2670 --61.5833335 -61.4166665 -17.2500005 -17.0833335 300 0 2670 --61.4166665 -61.2499995 -17.2500005 -17.0833335 351 0 2670 --61.2500005 -61.0833335 -17.2500005 -17.0833335 316 0 2670 --61.0833335 -60.9166665 -17.2500005 -17.0833335 291 0 2670 --60.9166665 -60.7499995 -17.2500005 -17.0833335 290 0 2670 --60.7500005 -60.5833335 -17.2500005 -17.0833335 338 0 2670 --60.5833335 -60.4166665 -17.2500005 -17.0833335 308 0 2670 --60.4166665 -60.2499995 -17.2500005 -17.0833335 330 0 2670 --60.2500005 -60.0833335 -17.2500005 -17.0833335 356 0 2670 --60.0833335 -59.9166665 -17.2500005 -17.0833335 413 0 2670 --59.9166665 -59.7499995 -17.2500005 -17.0833335 284 0 2670 --59.7500005 -59.5833335 -17.2500005 -17.0833335 256 0 2670 --59.5833335 -59.4166665 -17.2500005 -17.0833335 191 0 2670 --59.4166665 -59.2499995 -17.2500005 -17.0833335 166 0 2670 --59.2500005 -59.0833335 -17.2500005 -17.0833335 147 0 2670 --59.0833335 -58.9166665 -17.2500005 -17.0833335 131 0 2670 --58.9166665 -58.7499995 -17.2500005 -17.0833335 123 0 2670 --58.7500005 -58.5833335 -17.2500005 -17.0833335 116 0 2670 --58.5833335 -58.4166665 -17.2500005 -17.0833335 105 0 2670 --58.4166665 -58.2499995 -17.2500005 -17.0833335 97 0 2670 --58.2500005 -58.0833335 -17.2500005 -17.0833335 99 0 2670 --58.0833335 -57.9166665 -17.2500005 -17.0833335 98 0 2670 --57.9166665 -57.7499995 -17.2500005 -17.0833335 98 0 2670 --57.7500005 -57.5833335 -17.2500005 -17.0833335 99 0 2670 --57.5833335 -57.4166665 -17.2500005 -17.0833335 99 0 2670 --57.4166665 -57.2499995 -17.2500005 -17.0833335 100 0 2670 --57.2500005 -57.0833335 -17.2500005 -17.0833335 103 0 2670 --57.0833335 -56.9166665 -17.2500005 -17.0833335 109 0 2670 --56.9166665 -56.7499995 -17.2500005 -17.0833335 109 0 2670 --56.7500005 -56.5833335 -17.2500005 -17.0833335 110 0 2670 --56.5833335 -56.4166665 -17.2500005 -17.0833335 112 0 2670 --56.4166665 -56.2499995 -17.2500005 -17.0833335 119 0 2670 --56.2500005 -56.0833335 -17.2500005 -17.0833335 121 0 2670 --56.0833335 -55.9166665 -17.2500005 -17.0833335 122 0 2670 --55.9166665 -55.7499995 -17.2500005 -17.0833335 131 0 2670 --55.7500005 -55.5833335 -17.2500005 -17.0833335 138 0 2670 --55.5833335 -55.4166665 -17.2500005 -17.0833335 144 0 2670 --55.4166665 -55.2499995 -17.2500005 -17.0833335 145 0 2670 --55.2500005 -55.0833335 -17.2500005 -17.0833335 155 0 2670 --55.0833335 -54.9166665 -17.2500005 -17.0833335 166 0 2670 --54.9166665 -54.7499995 -17.2500005 -17.0833335 442 0 2670 --54.7500005 -54.5833335 -17.2500005 -17.0833335 510 0 2670 --54.5833335 -54.4166665 -17.2500005 -17.0833335 591 0 2670 --54.4166665 -54.2499995 -17.2500005 -17.0833335 646 0 2670 --54.2500005 -54.0833335 -17.2500005 -17.0833335 556 0 2670 --54.0833335 -53.9166665 -17.2500005 -17.0833335 525 0 2670 --53.9166665 -53.7499995 -17.2500005 -17.0833335 613 0 2670 --53.7500005 -53.5833335 -17.2500005 -17.0833335 704 0 2670 --53.5833335 -53.4166665 -17.2500005 -17.0833335 760 0 2670 --53.4166665 -53.2499995 -17.2500005 -17.0833335 736 0 2670 --53.2500005 -53.0833335 -17.2500005 -17.0833335 676 0 2670 --53.0833335 -52.9166665 -17.2500005 -17.0833335 745 0 2670 --52.9166665 -52.7499995 -17.2500005 -17.0833335 516 0 2670 --52.7500005 -52.5833335 -17.2500005 -17.0833335 548 0 2670 --52.5833335 -52.4166665 -17.2500005 -17.0833335 565 0 2670 --52.4166665 -52.2499995 -17.2500005 -17.0833335 643 0 2670 --52.2500005 -52.0833335 -17.2500005 -17.0833335 656 0 2670 --52.0833335 -51.9166665 -17.2500005 -17.0833335 776 0 2670 --51.9166665 -51.7499995 -17.2500005 -17.0833335 827 0 2670 --51.7500005 -51.5833335 -17.2500005 -17.0833335 931 0 2670 --51.5833335 -51.4166665 -17.2500005 -17.0833335 703 0 2670 --51.4166665 -51.2499995 -17.2500005 -17.0833335 608 0 2670 --51.2500005 -51.0833335 -17.2500005 -17.0833335 813 0 2670 --51.0833335 -50.9166665 -17.2500005 -17.0833335 774 0 2670 --50.9166665 -50.7499995 -17.2500005 -17.0833335 698 0 2670 --50.7500005 -50.5833335 -17.2500005 -17.0833335 625 0 2670 --50.5833335 -50.4166665 -17.2500005 -17.0833335 639 0 2670 --50.4166665 -50.2499995 -17.2500005 -17.0833335 550 0 2670 --50.2500005 -50.0833335 -17.2500005 -17.0833335 581 0 2670 --50.0833335 -49.9166665 -17.2500005 -17.0833335 585 0 2670 --49.9166665 -49.7499995 -17.2500005 -17.0833335 682 0 2670 --49.7500005 -49.5833335 -17.2500005 -17.0833335 554 0 2670 --49.5833335 -49.4166665 -17.2500005 -17.0833335 839 0 2670 --49.4166665 -49.2499995 -17.2500005 -17.0833335 758 0 2670 --49.2500005 -49.0833335 -17.2500005 -17.0833335 735 0 2670 --49.0833335 -48.9166665 -17.2500005 -17.0833335 776 0 2670 --48.9166665 -48.7499995 -17.2500005 -17.0833335 905 0 2670 --48.7500005 -48.5833335 -17.2500005 -17.0833335 745 0 2670 --48.5833335 -48.4166665 -17.2500005 -17.0833335 864 0 2670 --48.4166665 -48.2499995 -17.2500005 -17.0833335 885 0 2670 --48.2500005 -48.0833335 -17.2500005 -17.0833335 748 0 2670 --48.0833335 -47.9166665 -17.2500005 -17.0833335 717 0 2670 --47.9166665 -47.7499995 -17.2500005 -17.0833335 828 0 2670 --47.7500005 -47.5833335 -17.2500005 -17.0833335 852 0 2670 --47.5833335 -47.4166665 -17.2500005 -17.0833335 886 0 2670 --47.4166665 -47.2499995 -17.2500005 -17.0833335 801 0 2670 --47.2500005 -47.0833335 -17.2500005 -17.0833335 686 0 2670 --47.0833335 -46.9166665 -17.2500005 -17.0833335 768 0 2670 --46.9166665 -46.7499995 -17.2500005 -17.0833335 602 0 2670 --46.7500005 -46.5833335 -17.2500005 -17.0833335 576 0 2670 --46.5833335 -46.4166665 -17.2500005 -17.0833335 539 0 2670 --46.4166665 -46.2499995 -17.2500005 -17.0833335 561 0 2670 --46.2500005 -46.0833335 -17.2500005 -17.0833335 525 0 2670 --46.0833335 -45.9166665 -17.2500005 -17.0833335 690 0 2670 --45.9166665 -45.7499995 -17.2500005 -17.0833335 505 0 2670 --45.7500005 -45.5833335 -17.2500005 -17.0833335 541 0 2670 --45.5833335 -45.4166665 -17.2500005 -17.0833335 588 0 2670 --45.4166665 -45.2499995 -17.2500005 -17.0833335 629 0 2670 --45.2500005 -45.0833335 -17.2500005 -17.0833335 696 0 2670 --45.0833335 -44.9166665 -17.2500005 -17.0833335 700 0 2670 --44.9166665 -44.7499995 -17.2500005 -17.0833335 479 0 2670 --44.7500005 -44.5833335 -17.2500005 -17.0833335 493 0 2670 --44.5833335 -44.4166665 -17.2500005 -17.0833335 537 0 2670 --44.4166665 -44.2499995 -17.2500005 -17.0833335 659 0 2670 --44.2500005 -44.0833335 -17.2500005 -17.0833335 890 0 2670 --44.0833335 -43.9166665 -17.2500005 -17.0833335 656 0 2670 --43.9166665 -43.7499995 -17.2500005 -17.0833335 708 0 2670 --43.7500005 -43.5833335 -17.2500005 -17.0833335 760 0 2670 --43.5833335 -43.4166665 -17.2500005 -17.0833335 729 0 2670 --43.4166665 -43.2499995 -17.2500005 -17.0833335 1126 0 2670 --43.2500005 -43.0833335 -17.2500005 -17.0833335 942 0 2670 --43.0833335 -42.9166665 -17.2500005 -17.0833335 643 0 2670 --42.9166665 -42.7499995 -17.2500005 -17.0833335 903 0 2670 --42.7500005 -42.5833335 -17.2500005 -17.0833335 663 0 2670 --42.5833335 -42.4166665 -17.2500005 -17.0833335 628 0 2670 --42.4166665 -42.2499995 -17.2500005 -17.0833335 765 0 2670 --42.2500005 -42.0833335 -17.2500005 -17.0833335 793 0 2670 --42.0833335 -41.9166665 -17.2500005 -17.0833335 715 0 2670 --41.9166665 -41.7499995 -17.2500005 -17.0833335 874 0 2670 --41.7500005 -41.5833335 -17.2500005 -17.0833335 906 0 2670 --41.5833335 -41.4166665 -17.2500005 -17.0833335 659 0 2670 --41.4166665 -41.2499995 -17.2500005 -17.0833335 872 0 2670 --41.2500005 -41.0833335 -17.2500005 -17.0833335 589 0 2670 --41.0833335 -40.9166665 -17.2500005 -17.0833335 430 0 2670 --40.9166665 -40.7499995 -17.2500005 -17.0833335 287 0 2670 --40.7500005 -40.5833335 -17.2500005 -17.0833335 327 0 2670 --40.5833335 -40.4166665 -17.2500005 -17.0833335 296 0 2670 --40.4166665 -40.2499995 -17.2500005 -17.0833335 193 0 2670 --40.2500005 -40.0833335 -17.2500005 -17.0833335 259 0 2670 --40.0833335 -39.9166665 -17.2500005 -17.0833335 169 0 2670 --65.0833335 -64.9166665 -17.4166665 -17.2499995 843 0 2670 --64.9166665 -64.7499995 -17.4166665 -17.2499995 766 0 2670 --64.7500005 -64.5833335 -17.4166665 -17.2499995 974 0 2670 --64.5833335 -64.4166665 -17.4166665 -17.2499995 429 0 2670 --64.4166665 -64.2499995 -17.4166665 -17.2499995 298 0 2670 --64.2500005 -64.0833335 -17.4166665 -17.2499995 267 0 2670 --64.0833335 -63.9166665 -17.4166665 -17.2499995 285 0 2670 --63.9166665 -63.7499995 -17.4166665 -17.2499995 295 0 2670 --63.7500005 -63.5833335 -17.4166665 -17.2499995 295 0 2670 --63.5833335 -63.4166665 -17.4166665 -17.2499995 287 0 2670 --63.4166665 -63.2499995 -17.4166665 -17.2499995 290 0 2670 --63.2500005 -63.0833335 -17.4166665 -17.2499995 295 0 2670 --63.0833335 -62.9166665 -17.4166665 -17.2499995 276 0 2670 --62.9166665 -62.7499995 -17.4166665 -17.2499995 266 0 2670 --62.7500005 -62.5833335 -17.4166665 -17.2499995 270 0 2670 --62.5833335 -62.4166665 -17.4166665 -17.2499995 273 0 2670 --62.4166665 -62.2499995 -17.4166665 -17.2499995 269 0 2670 --62.2500005 -62.0833335 -17.4166665 -17.2499995 266 0 2670 --62.0833335 -61.9166665 -17.4166665 -17.2499995 267 0 2670 --61.9166665 -61.7499995 -17.4166665 -17.2499995 267 0 2670 --61.7500005 -61.5833335 -17.4166665 -17.2499995 264 0 2670 --61.5833335 -61.4166665 -17.4166665 -17.2499995 259 0 2670 --61.4166665 -61.2499995 -17.4166665 -17.2499995 377 0 2670 --61.2500005 -61.0833335 -17.4166665 -17.2499995 260 0 2670 --61.0833335 -60.9166665 -17.4166665 -17.2499995 262 0 2670 --60.9166665 -60.7499995 -17.4166665 -17.2499995 341 0 2670 --60.7500005 -60.5833335 -17.4166665 -17.2499995 275 0 2670 --60.5833335 -60.4166665 -17.4166665 -17.2499995 333 0 2670 --60.4166665 -60.2499995 -17.4166665 -17.2499995 323 0 2670 --60.2500005 -60.0833335 -17.4166665 -17.2499995 349 0 2670 --60.0833335 -59.9166665 -17.4166665 -17.2499995 402 0 2670 --59.9166665 -59.7499995 -17.4166665 -17.2499995 382 0 2670 --59.7500005 -59.5833335 -17.4166665 -17.2499995 291 0 2670 --59.5833335 -59.4166665 -17.4166665 -17.2499995 257 0 2670 --59.4166665 -59.2499995 -17.4166665 -17.2499995 222 0 2670 --59.2500005 -59.0833335 -17.4166665 -17.2499995 157 0 2670 --59.0833335 -58.9166665 -17.4166665 -17.2499995 144 0 2670 --58.9166665 -58.7499995 -17.4166665 -17.2499995 129 0 2670 --58.7500005 -58.5833335 -17.4166665 -17.2499995 113 0 2670 --58.5833335 -58.4166665 -17.4166665 -17.2499995 100 0 2670 --58.4166665 -58.2499995 -17.4166665 -17.2499995 97 0 2670 --58.2500005 -58.0833335 -17.4166665 -17.2499995 94 0 2670 --58.0833335 -57.9166665 -17.4166665 -17.2499995 96 0 2670 --57.9166665 -57.7499995 -17.4166665 -17.2499995 95 0 2670 --57.7500005 -57.5833335 -17.4166665 -17.2499995 95 0 2670 --57.5833335 -57.4166665 -17.4166665 -17.2499995 97 0 2670 --57.4166665 -57.2499995 -17.4166665 -17.2499995 103 0 2670 --57.2500005 -57.0833335 -17.4166665 -17.2499995 100 0 2670 --57.0833335 -56.9166665 -17.4166665 -17.2499995 107 0 2670 --56.9166665 -56.7499995 -17.4166665 -17.2499995 106 0 2670 --56.7500005 -56.5833335 -17.4166665 -17.2499995 114 0 2670 --56.5833335 -56.4166665 -17.4166665 -17.2499995 116 0 2670 --56.4166665 -56.2499995 -17.4166665 -17.2499995 115 0 2670 --56.2500005 -56.0833335 -17.4166665 -17.2499995 119 0 2670 --56.0833335 -55.9166665 -17.4166665 -17.2499995 126 0 2670 --55.9166665 -55.7499995 -17.4166665 -17.2499995 129 0 2670 --55.7500005 -55.5833335 -17.4166665 -17.2499995 133 0 2670 --55.5833335 -55.4166665 -17.4166665 -17.2499995 136 0 2670 --55.4166665 -55.2499995 -17.4166665 -17.2499995 142 0 2670 --55.2500005 -55.0833335 -17.4166665 -17.2499995 150 0 2670 --55.0833335 -54.9166665 -17.4166665 -17.2499995 170 0 2670 --54.9166665 -54.7499995 -17.4166665 -17.2499995 463 0 2670 --54.7500005 -54.5833335 -17.4166665 -17.2499995 543 0 2670 --54.5833335 -54.4166665 -17.4166665 -17.2499995 514 0 2670 --54.4166665 -54.2499995 -17.4166665 -17.2499995 554 0 2670 --54.2500005 -54.0833335 -17.4166665 -17.2499995 578 0 2670 --54.0833335 -53.9166665 -17.4166665 -17.2499995 671 0 2670 --53.9166665 -53.7499995 -17.4166665 -17.2499995 648 0 2670 --53.7500005 -53.5833335 -17.4166665 -17.2499995 718 0 2670 --53.5833335 -53.4166665 -17.4166665 -17.2499995 702 0 2670 --53.4166665 -53.2499995 -17.4166665 -17.2499995 682 0 2670 --53.2500005 -53.0833335 -17.4166665 -17.2499995 726 0 2670 --53.0833335 -52.9166665 -17.4166665 -17.2499995 745 0 2670 --52.9166665 -52.7499995 -17.4166665 -17.2499995 876 0 2670 --52.7500005 -52.5833335 -17.4166665 -17.2499995 883 0 2670 --52.5833335 -52.4166665 -17.4166665 -17.2499995 938 0 2670 --52.4166665 -52.2499995 -17.4166665 -17.2499995 898 0 2670 --52.2500005 -52.0833335 -17.4166665 -17.2499995 818 0 2670 --52.0833335 -51.9166665 -17.4166665 -17.2499995 763 0 2670 --51.9166665 -51.7499995 -17.4166665 -17.2499995 954 0 2670 --51.7500005 -51.5833335 -17.4166665 -17.2499995 998 0 2670 --51.5833335 -51.4166665 -17.4166665 -17.2499995 934 0 2670 --51.4166665 -51.2499995 -17.4166665 -17.2499995 800 0 2670 --51.2500005 -51.0833335 -17.4166665 -17.2499995 854 0 2670 --51.0833335 -50.9166665 -17.4166665 -17.2499995 693 0 2670 --50.9166665 -50.7499995 -17.4166665 -17.2499995 743 0 2670 --50.7500005 -50.5833335 -17.4166665 -17.2499995 590 0 2670 --50.5833335 -50.4166665 -17.4166665 -17.2499995 582 0 2670 --50.4166665 -50.2499995 -17.4166665 -17.2499995 591 0 2670 --50.2500005 -50.0833335 -17.4166665 -17.2499995 522 0 2670 --50.0833335 -49.9166665 -17.4166665 -17.2499995 527 0 2670 --49.9166665 -49.7499995 -17.4166665 -17.2499995 568 0 2670 --49.7500005 -49.5833335 -17.4166665 -17.2499995 565 0 2670 --49.5833335 -49.4166665 -17.4166665 -17.2499995 743 0 2670 --49.4166665 -49.2499995 -17.4166665 -17.2499995 686 0 2670 --49.2500005 -49.0833335 -17.4166665 -17.2499995 668 0 2670 --49.0833335 -48.9166665 -17.4166665 -17.2499995 748 0 2670 --48.9166665 -48.7499995 -17.4166665 -17.2499995 775 0 2670 --48.7500005 -48.5833335 -17.4166665 -17.2499995 780 0 2670 --48.5833335 -48.4166665 -17.4166665 -17.2499995 719 0 2670 --48.4166665 -48.2499995 -17.4166665 -17.2499995 775 0 2670 --48.2500005 -48.0833335 -17.4166665 -17.2499995 728 0 2670 --48.0833335 -47.9166665 -17.4166665 -17.2499995 943 0 2670 --47.9166665 -47.7499995 -17.4166665 -17.2499995 958 0 2670 --47.7500005 -47.5833335 -17.4166665 -17.2499995 902 0 2670 --47.5833335 -47.4166665 -17.4166665 -17.2499995 797 0 2670 --47.4166665 -47.2499995 -17.4166665 -17.2499995 870 0 2670 --47.2500005 -47.0833335 -17.4166665 -17.2499995 855 0 2670 --47.0833335 -46.9166665 -17.4166665 -17.2499995 603 0 2670 --46.9166665 -46.7499995 -17.4166665 -17.2499995 681 0 2670 --46.7500005 -46.5833335 -17.4166665 -17.2499995 652 0 2670 --46.5833335 -46.4166665 -17.4166665 -17.2499995 517 0 2670 --46.4166665 -46.2499995 -17.4166665 -17.2499995 539 0 2670 --46.2500005 -46.0833335 -17.4166665 -17.2499995 528 0 2670 --46.0833335 -45.9166665 -17.4166665 -17.2499995 538 0 2670 --45.9166665 -45.7499995 -17.4166665 -17.2499995 578 0 2670 --45.7500005 -45.5833335 -17.4166665 -17.2499995 705 0 2670 --45.5833335 -45.4166665 -17.4166665 -17.2499995 617 0 2670 --45.4166665 -45.2499995 -17.4166665 -17.2499995 638 0 2670 --45.2500005 -45.0833335 -17.4166665 -17.2499995 744 0 2670 --45.0833335 -44.9166665 -17.4166665 -17.2499995 530 0 2670 --44.9166665 -44.7499995 -17.4166665 -17.2499995 585 0 2670 --44.7500005 -44.5833335 -17.4166665 -17.2499995 557 0 2670 --44.5833335 -44.4166665 -17.4166665 -17.2499995 564 0 2670 --44.4166665 -44.2499995 -17.4166665 -17.2499995 624 0 2670 --44.2500005 -44.0833335 -17.4166665 -17.2499995 637 0 2670 --44.0833335 -43.9166665 -17.4166665 -17.2499995 710 0 2670 --43.9166665 -43.7499995 -17.4166665 -17.2499995 881 0 2670 --43.7500005 -43.5833335 -17.4166665 -17.2499995 857 0 2670 --43.5833335 -43.4166665 -17.4166665 -17.2499995 832 0 2670 --43.4166665 -43.2499995 -17.4166665 -17.2499995 655 0 2670 --43.2500005 -43.0833335 -17.4166665 -17.2499995 720 0 2670 --43.0833335 -42.9166665 -17.4166665 -17.2499995 820 0 2670 --42.9166665 -42.7499995 -17.4166665 -17.2499995 617 0 2670 --42.7500005 -42.5833335 -17.4166665 -17.2499995 824 0 2670 --42.5833335 -42.4166665 -17.4166665 -17.2499995 822 0 2670 --42.4166665 -42.2499995 -17.4166665 -17.2499995 586 0 2670 --42.2500005 -42.0833335 -17.4166665 -17.2499995 807 0 2670 --42.0833335 -41.9166665 -17.4166665 -17.2499995 881 0 2670 --41.9166665 -41.7499995 -17.4166665 -17.2499995 914 0 2670 --41.7500005 -41.5833335 -17.4166665 -17.2499995 744 0 2670 --41.5833335 -41.4166665 -17.4166665 -17.2499995 687 0 2670 --41.4166665 -41.2499995 -17.4166665 -17.2499995 387 0 2670 --41.2500005 -41.0833335 -17.4166665 -17.2499995 483 0 2670 --41.0833335 -40.9166665 -17.4166665 -17.2499995 303 0 2670 --40.9166665 -40.7499995 -17.4166665 -17.2499995 330 0 2670 --40.7500005 -40.5833335 -17.4166665 -17.2499995 228 0 2670 --40.5833335 -40.4166665 -17.4166665 -17.2499995 230 0 2670 --40.4166665 -40.2499995 -17.4166665 -17.2499995 217 0 2670 --40.2500005 -40.0833335 -17.4166665 -17.2499995 215 0 2670 --40.0833335 -39.9166665 -17.4166665 -17.2499995 196 0 2670 --65.0833335 -64.9166665 -17.5833335 -17.4166665 1156 0 2670 --64.9166665 -64.7499995 -17.5833335 -17.4166665 1576 0 2670 --64.7500005 -64.5833335 -17.5833335 -17.4166665 775 0 2670 --64.5833335 -64.4166665 -17.5833335 -17.4166665 1004 0 2670 --64.4166665 -64.2499995 -17.5833335 -17.4166665 705 0 2670 --64.2500005 -64.0833335 -17.5833335 -17.4166665 1079 0 2670 --64.0833335 -63.9166665 -17.5833335 -17.4166665 441 0 2670 --63.9166665 -63.7499995 -17.5833335 -17.4166665 345 0 2670 --63.7500005 -63.5833335 -17.5833335 -17.4166665 349 0 2670 --63.5833335 -63.4166665 -17.5833335 -17.4166665 338 0 2670 --63.4166665 -63.2499995 -17.5833335 -17.4166665 347 0 2670 --63.2500005 -63.0833335 -17.5833335 -17.4166665 332 0 2670 --63.0833335 -62.9166665 -17.5833335 -17.4166665 313 0 2670 --62.9166665 -62.7499995 -17.5833335 -17.4166665 289 0 2670 --62.7500005 -62.5833335 -17.5833335 -17.4166665 277 0 2670 --62.5833335 -62.4166665 -17.5833335 -17.4166665 277 0 2670 --62.4166665 -62.2499995 -17.5833335 -17.4166665 275 0 2670 --62.2500005 -62.0833335 -17.5833335 -17.4166665 274 0 2670 --62.0833335 -61.9166665 -17.5833335 -17.4166665 278 0 2670 --61.9166665 -61.7499995 -17.5833335 -17.4166665 272 0 2670 --61.7500005 -61.5833335 -17.5833335 -17.4166665 270 0 2670 --61.5833335 -61.4166665 -17.5833335 -17.4166665 254 0 2670 --61.4166665 -61.2499995 -17.5833335 -17.4166665 251 0 2670 --61.2500005 -61.0833335 -17.5833335 -17.4166665 262 0 2670 --61.0833335 -60.9166665 -17.5833335 -17.4166665 265 0 2670 --60.9166665 -60.7499995 -17.5833335 -17.4166665 256 0 2670 --60.7500005 -60.5833335 -17.5833335 -17.4166665 267 0 2670 --60.5833335 -60.4166665 -17.5833335 -17.4166665 301 0 2670 --60.4166665 -60.2499995 -17.5833335 -17.4166665 324 0 2670 --60.2500005 -60.0833335 -17.5833335 -17.4166665 409 0 2670 --60.0833335 -59.9166665 -17.5833335 -17.4166665 364 0 2670 --59.9166665 -59.7499995 -17.5833335 -17.4166665 379 0 2670 --59.7500005 -59.5833335 -17.5833335 -17.4166665 336 0 2670 --59.5833335 -59.4166665 -17.5833335 -17.4166665 295 0 2670 --59.4166665 -59.2499995 -17.5833335 -17.4166665 236 0 2670 --59.2500005 -59.0833335 -17.5833335 -17.4166665 564 0 2670 --59.0833335 -58.9166665 -17.5833335 -17.4166665 153 0 2670 --58.9166665 -58.7499995 -17.5833335 -17.4166665 138 0 2670 --58.7500005 -58.5833335 -17.5833335 -17.4166665 173 0 2670 --58.5833335 -58.4166665 -17.5833335 -17.4166665 118 0 2670 --58.4166665 -58.2499995 -17.5833335 -17.4166665 103 0 2670 --58.2500005 -58.0833335 -17.5833335 -17.4166665 106 0 2670 --58.0833335 -57.9166665 -17.5833335 -17.4166665 95 0 2670 --57.9166665 -57.7499995 -17.5833335 -17.4166665 93 0 2670 --57.7500005 -57.5833335 -17.5833335 -17.4166665 95 0 2670 --57.5833335 -57.4166665 -17.5833335 -17.4166665 94 0 2670 --57.4166665 -57.2499995 -17.5833335 -17.4166665 96 0 2670 --57.2500005 -57.0833335 -17.5833335 -17.4166665 98 0 2670 --57.0833335 -56.9166665 -17.5833335 -17.4166665 108 0 2670 --56.9166665 -56.7499995 -17.5833335 -17.4166665 105 0 2670 --56.7500005 -56.5833335 -17.5833335 -17.4166665 110 0 2670 --56.5833335 -56.4166665 -17.5833335 -17.4166665 116 0 2670 --56.4166665 -56.2499995 -17.5833335 -17.4166665 118 0 2670 --56.2500005 -56.0833335 -17.5833335 -17.4166665 120 0 2670 --56.0833335 -55.9166665 -17.5833335 -17.4166665 125 0 2670 --55.9166665 -55.7499995 -17.5833335 -17.4166665 132 0 2670 --55.7500005 -55.5833335 -17.5833335 -17.4166665 135 0 2670 --55.5833335 -55.4166665 -17.5833335 -17.4166665 138 0 2670 --55.4166665 -55.2499995 -17.5833335 -17.4166665 142 0 2670 --55.2500005 -55.0833335 -17.5833335 -17.4166665 325 0 2670 --55.0833335 -54.9166665 -17.5833335 -17.4166665 214 0 2670 --54.9166665 -54.7499995 -17.5833335 -17.4166665 491 0 2670 --54.7500005 -54.5833335 -17.5833335 -17.4166665 417 0 2670 --54.5833335 -54.4166665 -17.5833335 -17.4166665 498 0 2670 --54.4166665 -54.2499995 -17.5833335 -17.4166665 589 0 2670 --54.2500005 -54.0833335 -17.5833335 -17.4166665 669 0 2670 --54.0833335 -53.9166665 -17.5833335 -17.4166665 630 0 2670 --53.9166665 -53.7499995 -17.5833335 -17.4166665 648 0 2670 --53.7500005 -53.5833335 -17.5833335 -17.4166665 733 0 2670 --53.5833335 -53.4166665 -17.5833335 -17.4166665 613 0 2670 --53.4166665 -53.2499995 -17.5833335 -17.4166665 756 0 2670 --53.2500005 -53.0833335 -17.5833335 -17.4166665 745 0 2670 --53.0833335 -52.9166665 -17.5833335 -17.4166665 720 0 2670 --52.9166665 -52.7499995 -17.5833335 -17.4166665 927 0 2670 --52.7500005 -52.5833335 -17.5833335 -17.4166665 856 0 2670 --52.5833335 -52.4166665 -17.5833335 -17.4166665 779 0 2670 --52.4166665 -52.2499995 -17.5833335 -17.4166665 910 0 2670 --52.2500005 -52.0833335 -17.5833335 -17.4166665 843 0 2670 --52.0833335 -51.9166665 -17.5833335 -17.4166665 785 0 2670 --51.9166665 -51.7499995 -17.5833335 -17.4166665 860 0 2670 --51.7500005 -51.5833335 -17.5833335 -17.4166665 918 0 2670 --51.5833335 -51.4166665 -17.5833335 -17.4166665 926 0 2670 --51.4166665 -51.2499995 -17.5833335 -17.4166665 930 0 2670 --51.2500005 -51.0833335 -17.5833335 -17.4166665 883 0 2670 --51.0833335 -50.9166665 -17.5833335 -17.4166665 814 0 2670 --50.9166665 -50.7499995 -17.5833335 -17.4166665 705 0 2670 --50.7500005 -50.5833335 -17.5833335 -17.4166665 602 0 2670 --50.5833335 -50.4166665 -17.5833335 -17.4166665 540 0 2670 --50.4166665 -50.2499995 -17.5833335 -17.4166665 498 0 2670 --50.2500005 -50.0833335 -17.5833335 -17.4166665 492 0 2670 --50.0833335 -49.9166665 -17.5833335 -17.4166665 496 0 2670 --49.9166665 -49.7499995 -17.5833335 -17.4166665 589 0 2670 --49.7500005 -49.5833335 -17.5833335 -17.4166665 507 0 2670 --49.5833335 -49.4166665 -17.5833335 -17.4166665 647 0 2670 --49.4166665 -49.2499995 -17.5833335 -17.4166665 657 0 2670 --49.2500005 -49.0833335 -17.5833335 -17.4166665 685 0 2670 --49.0833335 -48.9166665 -17.5833335 -17.4166665 734 0 2670 --48.9166665 -48.7499995 -17.5833335 -17.4166665 745 0 2670 --48.7500005 -48.5833335 -17.5833335 -17.4166665 731 0 2670 --48.5833335 -48.4166665 -17.5833335 -17.4166665 673 0 2670 --48.4166665 -48.2499995 -17.5833335 -17.4166665 770 0 2670 --48.2500005 -48.0833335 -17.5833335 -17.4166665 818 0 2670 --48.0833335 -47.9166665 -17.5833335 -17.4166665 878 0 2670 --47.9166665 -47.7499995 -17.5833335 -17.4166665 923 0 2670 --47.7500005 -47.5833335 -17.5833335 -17.4166665 850 0 2670 --47.5833335 -47.4166665 -17.5833335 -17.4166665 860 0 2670 --47.4166665 -47.2499995 -17.5833335 -17.4166665 983 0 2670 --47.2500005 -47.0833335 -17.5833335 -17.4166665 955 0 2670 --47.0833335 -46.9166665 -17.5833335 -17.4166665 628 0 2670 --46.9166665 -46.7499995 -17.5833335 -17.4166665 579 0 2670 --46.7500005 -46.5833335 -17.5833335 -17.4166665 567 0 2670 --46.5833335 -46.4166665 -17.5833335 -17.4166665 529 0 2670 --46.4166665 -46.2499995 -17.5833335 -17.4166665 554 0 2670 --46.2500005 -46.0833335 -17.5833335 -17.4166665 556 0 2670 --46.0833335 -45.9166665 -17.5833335 -17.4166665 550 0 2670 --45.9166665 -45.7499995 -17.5833335 -17.4166665 685 0 2670 --45.7500005 -45.5833335 -17.5833335 -17.4166665 613 0 2670 --45.5833335 -45.4166665 -17.5833335 -17.4166665 722 0 2670 --45.4166665 -45.2499995 -17.5833335 -17.4166665 866 0 2670 --45.2500005 -45.0833335 -17.5833335 -17.4166665 881 0 2670 --45.0833335 -44.9166665 -17.5833335 -17.4166665 521 0 2670 --44.9166665 -44.7499995 -17.5833335 -17.4166665 628 0 2670 --44.7500005 -44.5833335 -17.5833335 -17.4166665 516 0 2670 --44.5833335 -44.4166665 -17.5833335 -17.4166665 993 0 2670 --44.4166665 -44.2499995 -17.5833335 -17.4166665 740 0 2670 --44.2500005 -44.0833335 -17.5833335 -17.4166665 950 0 2670 --44.0833335 -43.9166665 -17.5833335 -17.4166665 625 0 2670 --43.9166665 -43.7499995 -17.5833335 -17.4166665 666 0 2670 --43.7500005 -43.5833335 -17.5833335 -17.4166665 949 0 2670 --43.5833335 -43.4166665 -17.5833335 -17.4166665 653 0 2670 --43.4166665 -43.2499995 -17.5833335 -17.4166665 651 0 2670 --43.2500005 -43.0833335 -17.5833335 -17.4166665 861 0 2670 --43.0833335 -42.9166665 -17.5833335 -17.4166665 722 0 2670 --42.9166665 -42.7499995 -17.5833335 -17.4166665 763 0 2670 --42.7500005 -42.5833335 -17.5833335 -17.4166665 669 0 2670 --42.5833335 -42.4166665 -17.5833335 -17.4166665 817 0 2670 --42.4166665 -42.2499995 -17.5833335 -17.4166665 998 0 2670 --42.2500005 -42.0833335 -17.5833335 -17.4166665 681 0 2670 --42.0833335 -41.9166665 -17.5833335 -17.4166665 827 0 2670 --41.9166665 -41.7499995 -17.5833335 -17.4166665 963 0 2670 --41.7500005 -41.5833335 -17.5833335 -17.4166665 810 0 2670 --41.5833335 -41.4166665 -17.5833335 -17.4166665 581 0 2670 --41.4166665 -41.2499995 -17.5833335 -17.4166665 293 0 2670 --41.2500005 -41.0833335 -17.5833335 -17.4166665 439 0 2670 --41.0833335 -40.9166665 -17.5833335 -17.4166665 278 0 2670 --40.9166665 -40.7499995 -17.5833335 -17.4166665 327 0 2670 --40.7500005 -40.5833335 -17.5833335 -17.4166665 230 0 2670 --40.5833335 -40.4166665 -17.5833335 -17.4166665 317 0 2670 --40.4166665 -40.2499995 -17.5833335 -17.4166665 241 0 2670 --40.2500005 -40.0833335 -17.5833335 -17.4166665 203 0 2670 --40.0833335 -39.9166665 -17.5833335 -17.4166665 168 0 2670 --65.0833335 -64.9166665 -17.7500005 -17.5833335 3295 0 2670 --64.9166665 -64.7499995 -17.7500005 -17.5833335 3692 0 2670 --64.7500005 -64.5833335 -17.7500005 -17.5833335 2116 0 2670 --64.5833335 -64.4166665 -17.7500005 -17.5833335 1733 0 2670 --64.4166665 -64.2499995 -17.7500005 -17.5833335 1817 0 2670 --64.2500005 -64.0833335 -17.7500005 -17.5833335 1102 0 2670 --64.0833335 -63.9166665 -17.7500005 -17.5833335 957 0 2670 --63.9166665 -63.7499995 -17.7500005 -17.5833335 899 0 2670 --63.7500005 -63.5833335 -17.7500005 -17.5833335 420 0 2670 --63.5833335 -63.4166665 -17.7500005 -17.5833335 422 0 2670 --63.4166665 -63.2499995 -17.7500005 -17.5833335 403 0 2670 --63.2500005 -63.0833335 -17.7500005 -17.5833335 387 0 2670 --63.0833335 -62.9166665 -17.7500005 -17.5833335 352 0 2670 --62.9166665 -62.7499995 -17.7500005 -17.5833335 306 0 2670 --62.7500005 -62.5833335 -17.7500005 -17.5833335 289 0 2670 --62.5833335 -62.4166665 -17.7500005 -17.5833335 289 0 2670 --62.4166665 -62.2499995 -17.7500005 -17.5833335 282 0 2670 --62.2500005 -62.0833335 -17.7500005 -17.5833335 286 0 2670 --62.0833335 -61.9166665 -17.7500005 -17.5833335 278 0 2670 --61.9166665 -61.7499995 -17.7500005 -17.5833335 278 0 2670 --61.7500005 -61.5833335 -17.7500005 -17.5833335 274 0 2670 --61.5833335 -61.4166665 -17.7500005 -17.5833335 272 0 2670 --61.4166665 -61.2499995 -17.7500005 -17.5833335 270 0 2670 --61.2500005 -61.0833335 -17.7500005 -17.5833335 267 0 2670 --61.0833335 -60.9166665 -17.7500005 -17.5833335 267 0 2670 --60.9166665 -60.7499995 -17.7500005 -17.5833335 258 0 2670 --60.7500005 -60.5833335 -17.7500005 -17.5833335 272 0 2670 --60.5833335 -60.4166665 -17.7500005 -17.5833335 287 0 2670 --60.4166665 -60.2499995 -17.7500005 -17.5833335 310 0 2670 --60.2500005 -60.0833335 -17.7500005 -17.5833335 330 0 2670 --60.0833335 -59.9166665 -17.7500005 -17.5833335 296 0 2670 --59.9166665 -59.7499995 -17.7500005 -17.5833335 332 0 2670 --59.7500005 -59.5833335 -17.7500005 -17.5833335 312 0 2670 --59.5833335 -59.4166665 -17.7500005 -17.5833335 268 0 2670 --59.4166665 -59.2499995 -17.7500005 -17.5833335 318 0 2670 --59.2500005 -59.0833335 -17.7500005 -17.5833335 282 0 2670 --59.0833335 -58.9166665 -17.7500005 -17.5833335 184 0 2670 --58.9166665 -58.7499995 -17.7500005 -17.5833335 163 0 2670 --58.7500005 -58.5833335 -17.7500005 -17.5833335 154 0 2670 --58.5833335 -58.4166665 -17.7500005 -17.5833335 129 0 2670 --58.4166665 -58.2499995 -17.7500005 -17.5833335 125 0 2670 --58.2500005 -58.0833335 -17.7500005 -17.5833335 149 0 2670 --58.0833335 -57.9166665 -17.7500005 -17.5833335 150 0 2670 --57.9166665 -57.7499995 -17.7500005 -17.5833335 134 0 2670 --57.7500005 -57.5833335 -17.7500005 -17.5833335 94 0 2670 --57.5833335 -57.4166665 -17.7500005 -17.5833335 93 0 2670 --57.4166665 -57.2499995 -17.7500005 -17.5833335 97 0 2670 --57.2500005 -57.0833335 -17.7500005 -17.5833335 99 0 2670 --57.0833335 -56.9166665 -17.7500005 -17.5833335 103 0 2670 --56.9166665 -56.7499995 -17.7500005 -17.5833335 107 0 2670 --56.7500005 -56.5833335 -17.7500005 -17.5833335 115 0 2670 --56.5833335 -56.4166665 -17.7500005 -17.5833335 120 0 2670 --56.4166665 -56.2499995 -17.7500005 -17.5833335 122 0 2670 --56.2500005 -56.0833335 -17.7500005 -17.5833335 126 0 2670 --56.0833335 -55.9166665 -17.7500005 -17.5833335 130 0 2670 --55.9166665 -55.7499995 -17.7500005 -17.5833335 134 0 2670 --55.7500005 -55.5833335 -17.7500005 -17.5833335 142 0 2670 --55.5833335 -55.4166665 -17.7500005 -17.5833335 146 0 2670 --55.4166665 -55.2499995 -17.7500005 -17.5833335 147 0 2670 --55.2500005 -55.0833335 -17.7500005 -17.5833335 151 0 2670 --55.0833335 -54.9166665 -17.7500005 -17.5833335 159 0 2670 --54.9166665 -54.7499995 -17.7500005 -17.5833335 434 0 2670 --54.7500005 -54.5833335 -17.7500005 -17.5833335 501 0 2670 --54.5833335 -54.4166665 -17.7500005 -17.5833335 551 0 2670 --54.4166665 -54.2499995 -17.7500005 -17.5833335 478 0 2670 --54.2500005 -54.0833335 -17.7500005 -17.5833335 620 0 2670 --54.0833335 -53.9166665 -17.7500005 -17.5833335 493 0 2670 --53.9166665 -53.7499995 -17.7500005 -17.5833335 422 0 2670 --53.7500005 -53.5833335 -17.7500005 -17.5833335 713 0 2670 --53.5833335 -53.4166665 -17.7500005 -17.5833335 695 0 2670 --53.4166665 -53.2499995 -17.7500005 -17.5833335 846 0 2670 --53.2500005 -53.0833335 -17.7500005 -17.5833335 824 0 2670 --53.0833335 -52.9166665 -17.7500005 -17.5833335 758 0 2670 --52.9166665 -52.7499995 -17.7500005 -17.5833335 814 0 2670 --52.7500005 -52.5833335 -17.7500005 -17.5833335 828 0 2670 --52.5833335 -52.4166665 -17.7500005 -17.5833335 669 0 2670 --52.4166665 -52.2499995 -17.7500005 -17.5833335 707 0 2670 --52.2500005 -52.0833335 -17.7500005 -17.5833335 856 0 2670 --52.0833335 -51.9166665 -17.7500005 -17.5833335 719 0 2670 --51.9166665 -51.7499995 -17.7500005 -17.5833335 811 0 2670 --51.7500005 -51.5833335 -17.7500005 -17.5833335 890 0 2670 --51.5833335 -51.4166665 -17.7500005 -17.5833335 881 0 2670 --51.4166665 -51.2499995 -17.7500005 -17.5833335 846 0 2670 --51.2500005 -51.0833335 -17.7500005 -17.5833335 847 0 2670 --51.0833335 -50.9166665 -17.7500005 -17.5833335 788 0 2670 --50.9166665 -50.7499995 -17.7500005 -17.5833335 724 0 2670 --50.7500005 -50.5833335 -17.7500005 -17.5833335 616 0 2670 --50.5833335 -50.4166665 -17.7500005 -17.5833335 535 0 2670 --50.4166665 -50.2499995 -17.7500005 -17.5833335 519 0 2670 --50.2500005 -50.0833335 -17.7500005 -17.5833335 458 0 2670 --50.0833335 -49.9166665 -17.7500005 -17.5833335 483 0 2670 --49.9166665 -49.7499995 -17.7500005 -17.5833335 528 0 2670 --49.7500005 -49.5833335 -17.7500005 -17.5833335 567 0 2670 --49.5833335 -49.4166665 -17.7500005 -17.5833335 698 0 2670 --49.4166665 -49.2499995 -17.7500005 -17.5833335 728 0 2670 --49.2500005 -49.0833335 -17.7500005 -17.5833335 710 0 2670 --49.0833335 -48.9166665 -17.7500005 -17.5833335 853 0 2670 --48.9166665 -48.7499995 -17.7500005 -17.5833335 634 0 2670 --48.7500005 -48.5833335 -17.7500005 -17.5833335 741 0 2670 --48.5833335 -48.4166665 -17.7500005 -17.5833335 832 0 2670 --48.4166665 -48.2499995 -17.7500005 -17.5833335 785 0 2670 --48.2500005 -48.0833335 -17.7500005 -17.5833335 848 0 2670 --48.0833335 -47.9166665 -17.7500005 -17.5833335 875 0 2670 --47.9166665 -47.7499995 -17.7500005 -17.5833335 895 0 2670 --47.7500005 -47.5833335 -17.7500005 -17.5833335 792 0 2670 --47.5833335 -47.4166665 -17.7500005 -17.5833335 930 0 2670 --47.4166665 -47.2499995 -17.7500005 -17.5833335 860 0 2670 --47.2500005 -47.0833335 -17.7500005 -17.5833335 872 0 2670 --47.0833335 -46.9166665 -17.7500005 -17.5833335 670 0 2670 --46.9166665 -46.7499995 -17.7500005 -17.5833335 563 0 2670 --46.7500005 -46.5833335 -17.7500005 -17.5833335 583 0 2670 --46.5833335 -46.4166665 -17.7500005 -17.5833335 563 0 2670 --46.4166665 -46.2499995 -17.7500005 -17.5833335 563 0 2670 --46.2500005 -46.0833335 -17.7500005 -17.5833335 634 0 2670 --46.0833335 -45.9166665 -17.7500005 -17.5833335 673 0 2670 --45.9166665 -45.7499995 -17.7500005 -17.5833335 760 0 2670 --45.7500005 -45.5833335 -17.7500005 -17.5833335 651 0 2670 --45.5833335 -45.4166665 -17.7500005 -17.5833335 765 0 2670 --45.4166665 -45.2499995 -17.7500005 -17.5833335 872 0 2670 --45.2500005 -45.0833335 -17.7500005 -17.5833335 717 0 2670 --45.0833335 -44.9166665 -17.7500005 -17.5833335 545 0 2670 --44.9166665 -44.7499995 -17.7500005 -17.5833335 651 0 2670 --44.7500005 -44.5833335 -17.7500005 -17.5833335 498 0 2670 --44.5833335 -44.4166665 -17.7500005 -17.5833335 851 0 2670 --44.4166665 -44.2499995 -17.7500005 -17.5833335 1142 0 2670 --44.2500005 -44.0833335 -17.7500005 -17.5833335 705 0 2670 --44.0833335 -43.9166665 -17.7500005 -17.5833335 693 0 2670 --43.9166665 -43.7499995 -17.7500005 -17.5833335 996 0 2670 --43.7500005 -43.5833335 -17.7500005 -17.5833335 683 0 2670 --43.5833335 -43.4166665 -17.7500005 -17.5833335 824 0 2670 --43.4166665 -43.2499995 -17.7500005 -17.5833335 741 0 2670 --43.2500005 -43.0833335 -17.7500005 -17.5833335 795 0 2670 --43.0833335 -42.9166665 -17.7500005 -17.5833335 726 0 2670 --42.9166665 -42.7499995 -17.7500005 -17.5833335 911 0 2670 --42.7500005 -42.5833335 -17.7500005 -17.5833335 751 0 2670 --42.5833335 -42.4166665 -17.7500005 -17.5833335 966 0 2670 --42.4166665 -42.2499995 -17.7500005 -17.5833335 930 0 2670 --42.2500005 -42.0833335 -17.7500005 -17.5833335 861 0 2670 --42.0833335 -41.9166665 -17.7500005 -17.5833335 892 0 2670 --41.9166665 -41.7499995 -17.7500005 -17.5833335 536 0 2670 --41.7500005 -41.5833335 -17.7500005 -17.5833335 454 0 2670 --41.5833335 -41.4166665 -17.7500005 -17.5833335 447 0 2670 --41.4166665 -41.2499995 -17.7500005 -17.5833335 445 0 2670 --41.2500005 -41.0833335 -17.7500005 -17.5833335 321 0 2670 --41.0833335 -40.9166665 -17.7500005 -17.5833335 270 0 2670 --40.9166665 -40.7499995 -17.7500005 -17.5833335 260 0 2670 --40.7500005 -40.5833335 -17.7500005 -17.5833335 256 0 2670 --40.5833335 -40.4166665 -17.7500005 -17.5833335 227 0 2670 --40.4166665 -40.2499995 -17.7500005 -17.5833335 238 0 2670 --40.2500005 -40.0833335 -17.7500005 -17.5833335 218 0 2670 --40.0833335 -39.9166665 -17.7500005 -17.5833335 132 0 2670 --65.0833335 -64.9166665 -17.9166665 -17.7499995 2490 0 2670 --64.9166665 -64.7499995 -17.9166665 -17.7499995 2706 0 2670 --64.7500005 -64.5833335 -17.9166665 -17.7499995 2420 0 2670 --64.5833335 -64.4166665 -17.9166665 -17.7499995 2319 0 2670 --64.4166665 -64.2499995 -17.9166665 -17.7499995 2304 0 2670 --64.2500005 -64.0833335 -17.9166665 -17.7499995 1652 0 2670 --64.0833335 -63.9166665 -17.9166665 -17.7499995 1047 0 2670 --63.9166665 -63.7499995 -17.9166665 -17.7499995 805 0 2670 --63.7500005 -63.5833335 -17.9166665 -17.7499995 1520 0 2670 --63.5833335 -63.4166665 -17.9166665 -17.7499995 584 0 2670 --63.4166665 -63.2499995 -17.9166665 -17.7499995 518 0 2670 --63.2500005 -63.0833335 -17.9166665 -17.7499995 425 0 2670 --63.0833335 -62.9166665 -17.9166665 -17.7499995 369 0 2670 --62.9166665 -62.7499995 -17.9166665 -17.7499995 319 0 2670 --62.7500005 -62.5833335 -17.9166665 -17.7499995 301 0 2670 --62.5833335 -62.4166665 -17.9166665 -17.7499995 298 0 2670 --62.4166665 -62.2499995 -17.9166665 -17.7499995 290 0 2670 --62.2500005 -62.0833335 -17.9166665 -17.7499995 291 0 2670 --62.0833335 -61.9166665 -17.9166665 -17.7499995 291 0 2670 --61.9166665 -61.7499995 -17.9166665 -17.7499995 284 0 2670 --61.7500005 -61.5833335 -17.9166665 -17.7499995 281 0 2670 --61.5833335 -61.4166665 -17.9166665 -17.7499995 277 0 2670 --61.4166665 -61.2499995 -17.9166665 -17.7499995 272 0 2670 --61.2500005 -61.0833335 -17.9166665 -17.7499995 268 0 2670 --61.0833335 -60.9166665 -17.9166665 -17.7499995 353 0 2670 --60.9166665 -60.7499995 -17.9166665 -17.7499995 325 0 2670 --60.7500005 -60.5833335 -17.9166665 -17.7499995 293 0 2670 --60.5833335 -60.4166665 -17.9166665 -17.7499995 339 0 2670 --60.4166665 -60.2499995 -17.9166665 -17.7499995 387 0 2670 --60.2500005 -60.0833335 -17.9166665 -17.7499995 404 0 2670 --60.0833335 -59.9166665 -17.9166665 -17.7499995 297 0 2670 --59.9166665 -59.7499995 -17.9166665 -17.7499995 252 0 2670 --59.7500005 -59.5833335 -17.9166665 -17.7499995 294 0 2670 --59.5833335 -59.4166665 -17.9166665 -17.7499995 577 0 2670 --59.4166665 -59.2499995 -17.9166665 -17.7499995 493 0 2670 --59.2500005 -59.0833335 -17.9166665 -17.7499995 554 0 2670 --59.0833335 -58.9166665 -17.9166665 -17.7499995 490 0 2670 --58.9166665 -58.7499995 -17.9166665 -17.7499995 220 0 2670 --58.7500005 -58.5833335 -17.9166665 -17.7499995 457 0 2670 --58.5833335 -58.4166665 -17.9166665 -17.7499995 175 0 2670 --58.4166665 -58.2499995 -17.9166665 -17.7499995 147 0 2670 --58.2500005 -58.0833335 -17.9166665 -17.7499995 194 0 2670 --58.0833335 -57.9166665 -17.9166665 -17.7499995 194 0 2670 --57.9166665 -57.7499995 -17.9166665 -17.7499995 126 0 2670 --57.7500005 -57.5833335 -17.9166665 -17.7499995 178 0 2670 --57.5833335 -57.4166665 -17.9166665 -17.7499995 92 0 2670 --57.4166665 -57.2499995 -17.9166665 -17.7499995 97 0 2670 --57.2500005 -57.0833335 -17.9166665 -17.7499995 101 0 2670 --57.0833335 -56.9166665 -17.9166665 -17.7499995 104 0 2670 --56.9166665 -56.7499995 -17.9166665 -17.7499995 109 0 2670 --56.7500005 -56.5833335 -17.9166665 -17.7499995 113 0 2670 --56.5833335 -56.4166665 -17.9166665 -17.7499995 118 0 2670 --56.4166665 -56.2499995 -17.9166665 -17.7499995 125 0 2670 --56.2500005 -56.0833335 -17.9166665 -17.7499995 130 0 2670 --56.0833335 -55.9166665 -17.9166665 -17.7499995 135 0 2670 --55.9166665 -55.7499995 -17.9166665 -17.7499995 138 0 2670 --55.7500005 -55.5833335 -17.9166665 -17.7499995 145 0 2670 --55.5833335 -55.4166665 -17.9166665 -17.7499995 150 0 2670 --55.4166665 -55.2499995 -17.9166665 -17.7499995 155 0 2670 --55.2500005 -55.0833335 -17.9166665 -17.7499995 160 0 2670 --55.0833335 -54.9166665 -17.9166665 -17.7499995 167 0 2670 --54.9166665 -54.7499995 -17.9166665 -17.7499995 477 0 2670 --54.7500005 -54.5833335 -17.9166665 -17.7499995 277 0 2670 --54.5833335 -54.4166665 -17.9166665 -17.7499995 264 0 2670 --54.4166665 -54.2499995 -17.9166665 -17.7499995 294 0 2670 --54.2500005 -54.0833335 -17.9166665 -17.7499995 360 0 2670 --54.0833335 -53.9166665 -17.9166665 -17.7499995 333 0 2670 --53.9166665 -53.7499995 -17.9166665 -17.7499995 357 0 2670 --53.7500005 -53.5833335 -17.9166665 -17.7499995 437 0 2670 --53.5833335 -53.4166665 -17.9166665 -17.7499995 836 0 2670 --53.4166665 -53.2499995 -17.9166665 -17.7499995 859 0 2670 --53.2500005 -53.0833335 -17.9166665 -17.7499995 789 0 2670 --53.0833335 -52.9166665 -17.9166665 -17.7499995 886 0 2670 --52.9166665 -52.7499995 -17.9166665 -17.7499995 739 0 2670 --52.7500005 -52.5833335 -17.9166665 -17.7499995 653 0 2670 --52.5833335 -52.4166665 -17.9166665 -17.7499995 681 0 2670 --52.4166665 -52.2499995 -17.9166665 -17.7499995 596 0 2670 --52.2500005 -52.0833335 -17.9166665 -17.7499995 882 0 2670 --52.0833335 -51.9166665 -17.9166665 -17.7499995 836 0 2670 --51.9166665 -51.7499995 -17.9166665 -17.7499995 679 0 2670 --51.7500005 -51.5833335 -17.9166665 -17.7499995 760 0 2670 --51.5833335 -51.4166665 -17.9166665 -17.7499995 855 0 2670 --51.4166665 -51.2499995 -17.9166665 -17.7499995 779 0 2670 --51.2500005 -51.0833335 -17.9166665 -17.7499995 836 0 2670 --51.0833335 -50.9166665 -17.9166665 -17.7499995 726 0 2670 --50.9166665 -50.7499995 -17.9166665 -17.7499995 713 0 2670 --50.7500005 -50.5833335 -17.9166665 -17.7499995 627 0 2670 --50.5833335 -50.4166665 -17.9166665 -17.7499995 524 0 2670 --50.4166665 -50.2499995 -17.9166665 -17.7499995 506 0 2670 --50.2500005 -50.0833335 -17.9166665 -17.7499995 484 0 2670 --50.0833335 -49.9166665 -17.9166665 -17.7499995 498 0 2670 --49.9166665 -49.7499995 -17.9166665 -17.7499995 667 0 2670 --49.7500005 -49.5833335 -17.9166665 -17.7499995 785 0 2670 --49.5833335 -49.4166665 -17.9166665 -17.7499995 588 0 2670 --49.4166665 -49.2499995 -17.9166665 -17.7499995 750 0 2670 --49.2500005 -49.0833335 -17.9166665 -17.7499995 881 0 2670 --49.0833335 -48.9166665 -17.9166665 -17.7499995 736 0 2670 --48.9166665 -48.7499995 -17.9166665 -17.7499995 580 0 2670 --48.7500005 -48.5833335 -17.9166665 -17.7499995 905 0 2670 --48.5833335 -48.4166665 -17.9166665 -17.7499995 703 0 2670 --48.4166665 -48.2499995 -17.9166665 -17.7499995 736 0 2670 --48.2500005 -48.0833335 -17.9166665 -17.7499995 714 0 2670 --48.0833335 -47.9166665 -17.9166665 -17.7499995 814 0 2670 --47.9166665 -47.7499995 -17.9166665 -17.7499995 845 0 2670 --47.7500005 -47.5833335 -17.9166665 -17.7499995 724 0 2670 --47.5833335 -47.4166665 -17.9166665 -17.7499995 864 0 2670 --47.4166665 -47.2499995 -17.9166665 -17.7499995 790 0 2670 --47.2500005 -47.0833335 -17.9166665 -17.7499995 947 0 2670 --47.0833335 -46.9166665 -17.9166665 -17.7499995 731 0 2670 --46.9166665 -46.7499995 -17.9166665 -17.7499995 653 0 2670 --46.7500005 -46.5833335 -17.9166665 -17.7499995 624 0 2670 --46.5833335 -46.4166665 -17.9166665 -17.7499995 579 0 2670 --46.4166665 -46.2499995 -17.9166665 -17.7499995 598 0 2670 --46.2500005 -46.0833335 -17.9166665 -17.7499995 839 0 2670 --46.0833335 -45.9166665 -17.9166665 -17.7499995 802 0 2670 --45.9166665 -45.7499995 -17.9166665 -17.7499995 752 0 2670 --45.7500005 -45.5833335 -17.9166665 -17.7499995 773 0 2670 --45.5833335 -45.4166665 -17.9166665 -17.7499995 818 0 2670 --45.4166665 -45.2499995 -17.9166665 -17.7499995 784 0 2670 --45.2500005 -45.0833335 -17.9166665 -17.7499995 573 0 2670 --45.0833335 -44.9166665 -17.9166665 -17.7499995 687 0 2670 --44.9166665 -44.7499995 -17.9166665 -17.7499995 802 0 2670 --44.7500005 -44.5833335 -17.9166665 -17.7499995 752 0 2670 --44.5833335 -44.4166665 -17.9166665 -17.7499995 743 0 2670 --44.4166665 -44.2499995 -17.9166665 -17.7499995 1181 0 2670 --44.2500005 -44.0833335 -17.9166665 -17.7499995 667 0 2670 --44.0833335 -43.9166665 -17.9166665 -17.7499995 624 0 2670 --43.9166665 -43.7499995 -17.9166665 -17.7499995 1100 0 2670 --43.7500005 -43.5833335 -17.9166665 -17.7499995 1037 0 2670 --43.5833335 -43.4166665 -17.9166665 -17.7499995 723 0 2670 --43.4166665 -43.2499995 -17.9166665 -17.7499995 904 0 2670 --43.2500005 -43.0833335 -17.9166665 -17.7499995 836 0 2670 --43.0833335 -42.9166665 -17.9166665 -17.7499995 900 0 2670 --42.9166665 -42.7499995 -17.9166665 -17.7499995 1041 0 2670 --42.7500005 -42.5833335 -17.9166665 -17.7499995 802 0 2670 --42.5833335 -42.4166665 -17.9166665 -17.7499995 978 0 2670 --42.4166665 -42.2499995 -17.9166665 -17.7499995 565 0 2670 --42.2500005 -42.0833335 -17.9166665 -17.7499995 585 0 2670 --42.0833335 -41.9166665 -17.9166665 -17.7499995 761 0 2670 --41.9166665 -41.7499995 -17.9166665 -17.7499995 566 0 2670 --41.7500005 -41.5833335 -17.9166665 -17.7499995 628 0 2670 --41.5833335 -41.4166665 -17.9166665 -17.7499995 374 0 2670 --41.4166665 -41.2499995 -17.9166665 -17.7499995 386 0 2670 --41.2500005 -41.0833335 -17.9166665 -17.7499995 273 0 2670 --41.0833335 -40.9166665 -17.9166665 -17.7499995 393 0 2670 --40.9166665 -40.7499995 -17.9166665 -17.7499995 288 0 2670 --40.7500005 -40.5833335 -17.9166665 -17.7499995 250 0 2670 --40.5833335 -40.4166665 -17.9166665 -17.7499995 207 0 2670 --40.4166665 -40.2499995 -17.9166665 -17.7499995 129 0 2670 --40.2500005 -40.0833335 -17.9166665 -17.7499995 157 0 2670 --40.0833335 -39.9166665 -17.9166665 -17.7499995 107 0 2670 --65.0833335 -64.9166665 -18.0833335 -17.9166665 2040 0 2670 --64.9166665 -64.7499995 -18.0833335 -17.9166665 1834 0 2670 --64.7500005 -64.5833335 -18.0833335 -17.9166665 1624 0 2670 --64.5833335 -64.4166665 -18.0833335 -17.9166665 2060 0 2670 --64.4166665 -64.2499995 -18.0833335 -17.9166665 1898 0 2670 --64.2500005 -64.0833335 -18.0833335 -17.9166665 1668 0 2670 --64.0833335 -63.9166665 -18.0833335 -17.9166665 1505 0 2670 --63.9166665 -63.7499995 -18.0833335 -17.9166665 1347 0 2670 --63.7500005 -63.5833335 -18.0833335 -17.9166665 1530 0 2670 --63.5833335 -63.4166665 -18.0833335 -17.9166665 714 0 2670 --63.4166665 -63.2499995 -18.0833335 -17.9166665 622 0 2670 --63.2500005 -63.0833335 -18.0833335 -17.9166665 447 0 2670 --63.0833335 -62.9166665 -18.0833335 -17.9166665 365 0 2670 --62.9166665 -62.7499995 -18.0833335 -17.9166665 322 0 2670 --62.7500005 -62.5833335 -18.0833335 -17.9166665 318 0 2670 --62.5833335 -62.4166665 -18.0833335 -17.9166665 308 0 2670 --62.4166665 -62.2499995 -18.0833335 -17.9166665 308 0 2670 --62.2500005 -62.0833335 -18.0833335 -17.9166665 300 0 2670 --62.0833335 -61.9166665 -18.0833335 -17.9166665 296 0 2670 --61.9166665 -61.7499995 -18.0833335 -17.9166665 288 0 2670 --61.7500005 -61.5833335 -18.0833335 -17.9166665 285 0 2670 --61.5833335 -61.4166665 -18.0833335 -17.9166665 278 0 2670 --61.4166665 -61.2499995 -18.0833335 -17.9166665 275 0 2670 --61.2500005 -61.0833335 -18.0833335 -17.9166665 274 0 2670 --61.0833335 -60.9166665 -18.0833335 -17.9166665 321 0 2670 --60.9166665 -60.7499995 -18.0833335 -17.9166665 364 0 2670 --60.7500005 -60.5833335 -18.0833335 -17.9166665 406 0 2670 --60.5833335 -60.4166665 -18.0833335 -17.9166665 422 0 2670 --60.4166665 -60.2499995 -18.0833335 -17.9166665 421 0 2670 --60.2500005 -60.0833335 -18.0833335 -17.9166665 403 0 2670 --60.0833335 -59.9166665 -18.0833335 -17.9166665 430 0 2670 --59.9166665 -59.7499995 -18.0833335 -17.9166665 318 0 2670 --59.7500005 -59.5833335 -18.0833335 -17.9166665 240 0 2670 --59.5833335 -59.4166665 -18.0833335 -17.9166665 371 0 2670 --59.4166665 -59.2499995 -18.0833335 -17.9166665 658 0 2670 --59.2500005 -59.0833335 -18.0833335 -17.9166665 670 0 2670 --59.0833335 -58.9166665 -18.0833335 -17.9166665 452 0 2670 --58.9166665 -58.7499995 -18.0833335 -17.9166665 244 0 2670 --58.7500005 -58.5833335 -18.0833335 -17.9166665 313 0 2670 --58.5833335 -58.4166665 -18.0833335 -17.9166665 181 0 2670 --58.4166665 -58.2499995 -18.0833335 -17.9166665 204 0 2670 --58.2500005 -58.0833335 -18.0833335 -17.9166665 174 0 2670 --58.0833335 -57.9166665 -18.0833335 -17.9166665 203 0 2670 --57.9166665 -57.7499995 -18.0833335 -17.9166665 264 0 2670 --57.7500005 -57.5833335 -18.0833335 -17.9166665 174 0 2670 --57.5833335 -57.4166665 -18.0833335 -17.9166665 200 0 2670 --57.4166665 -57.2499995 -18.0833335 -17.9166665 94 0 2670 --57.2500005 -57.0833335 -18.0833335 -17.9166665 98 0 2670 --57.0833335 -56.9166665 -18.0833335 -17.9166665 102 0 2670 --56.9166665 -56.7499995 -18.0833335 -17.9166665 108 0 2670 --56.7500005 -56.5833335 -18.0833335 -17.9166665 113 0 2670 --56.5833335 -56.4166665 -18.0833335 -17.9166665 119 0 2670 --56.4166665 -56.2499995 -18.0833335 -17.9166665 123 0 2670 --56.2500005 -56.0833335 -18.0833335 -17.9166665 132 0 2670 --56.0833335 -55.9166665 -18.0833335 -17.9166665 137 0 2670 --55.9166665 -55.7499995 -18.0833335 -17.9166665 143 0 2670 --55.7500005 -55.5833335 -18.0833335 -17.9166665 148 0 2670 --55.5833335 -55.4166665 -18.0833335 -17.9166665 158 0 2670 --55.4166665 -55.2499995 -18.0833335 -17.9166665 162 0 2670 --55.2500005 -55.0833335 -18.0833335 -17.9166665 168 0 2670 --55.0833335 -54.9166665 -18.0833335 -17.9166665 170 0 2670 --54.9166665 -54.7499995 -18.0833335 -17.9166665 183 0 2670 --54.7500005 -54.5833335 -18.0833335 -17.9166665 349 0 2670 --54.5833335 -54.4166665 -18.0833335 -17.9166665 280 0 2670 --54.4166665 -54.2499995 -18.0833335 -17.9166665 315 0 2670 --54.2500005 -54.0833335 -18.0833335 -17.9166665 370 0 2670 --54.0833335 -53.9166665 -18.0833335 -17.9166665 322 0 2670 --53.9166665 -53.7499995 -18.0833335 -17.9166665 371 0 2670 --53.7500005 -53.5833335 -18.0833335 -17.9166665 349 0 2670 --53.5833335 -53.4166665 -18.0833335 -17.9166665 431 0 2670 --53.4166665 -53.2499995 -18.0833335 -17.9166665 554 0 2670 --53.2500005 -53.0833335 -18.0833335 -17.9166665 856 0 2670 --53.0833335 -52.9166665 -18.0833335 -17.9166665 879 0 2670 --52.9166665 -52.7499995 -18.0833335 -17.9166665 760 0 2670 --52.7500005 -52.5833335 -18.0833335 -17.9166665 710 0 2670 --52.5833335 -52.4166665 -18.0833335 -17.9166665 685 0 2670 --52.4166665 -52.2499995 -18.0833335 -17.9166665 642 0 2670 --52.2500005 -52.0833335 -18.0833335 -17.9166665 857 0 2670 --52.0833335 -51.9166665 -18.0833335 -17.9166665 790 0 2670 --51.9166665 -51.7499995 -18.0833335 -17.9166665 691 0 2670 --51.7500005 -51.5833335 -18.0833335 -17.9166665 609 0 2670 --51.5833335 -51.4166665 -18.0833335 -17.9166665 743 0 2670 --51.4166665 -51.2499995 -18.0833335 -17.9166665 727 0 2670 --51.2500005 -51.0833335 -18.0833335 -17.9166665 755 0 2670 --51.0833335 -50.9166665 -18.0833335 -17.9166665 710 0 2670 --50.9166665 -50.7499995 -18.0833335 -17.9166665 702 0 2670 --50.7500005 -50.5833335 -18.0833335 -17.9166665 659 0 2670 --50.5833335 -50.4166665 -18.0833335 -17.9166665 580 0 2670 --50.4166665 -50.2499995 -18.0833335 -17.9166665 504 0 2670 --50.2500005 -50.0833335 -18.0833335 -17.9166665 480 0 2670 --50.0833335 -49.9166665 -18.0833335 -17.9166665 588 0 2670 --49.9166665 -49.7499995 -18.0833335 -17.9166665 616 0 2670 --49.7500005 -49.5833335 -18.0833335 -17.9166665 707 0 2670 --49.5833335 -49.4166665 -18.0833335 -17.9166665 531 0 2670 --49.4166665 -49.2499995 -18.0833335 -17.9166665 810 0 2670 --49.2500005 -49.0833335 -18.0833335 -17.9166665 726 0 2670 --49.0833335 -48.9166665 -18.0833335 -17.9166665 635 0 2670 --48.9166665 -48.7499995 -18.0833335 -17.9166665 589 0 2670 --48.7500005 -48.5833335 -18.0833335 -17.9166665 676 0 2670 --48.5833335 -48.4166665 -18.0833335 -17.9166665 737 0 2670 --48.4166665 -48.2499995 -18.0833335 -17.9166665 727 0 2670 --48.2500005 -48.0833335 -18.0833335 -17.9166665 681 0 2670 --48.0833335 -47.9166665 -18.0833335 -17.9166665 784 0 2670 --47.9166665 -47.7499995 -18.0833335 -17.9166665 825 0 2670 --47.7500005 -47.5833335 -18.0833335 -17.9166665 753 0 2670 --47.5833335 -47.4166665 -18.0833335 -17.9166665 849 0 2670 --47.4166665 -47.2499995 -18.0833335 -17.9166665 759 0 2670 --47.2500005 -47.0833335 -18.0833335 -17.9166665 986 0 2670 --47.0833335 -46.9166665 -18.0833335 -17.9166665 730 0 2670 --46.9166665 -46.7499995 -18.0833335 -17.9166665 646 0 2670 --46.7500005 -46.5833335 -18.0833335 -17.9166665 563 0 2670 --46.5833335 -46.4166665 -18.0833335 -17.9166665 806 0 2670 --46.4166665 -46.2499995 -18.0833335 -17.9166665 819 0 2670 --46.2500005 -46.0833335 -18.0833335 -17.9166665 831 0 2670 --46.0833335 -45.9166665 -18.0833335 -17.9166665 797 0 2670 --45.9166665 -45.7499995 -18.0833335 -17.9166665 770 0 2670 --45.7500005 -45.5833335 -18.0833335 -17.9166665 792 0 2670 --45.5833335 -45.4166665 -18.0833335 -17.9166665 762 0 2670 --45.4166665 -45.2499995 -18.0833335 -17.9166665 758 0 2670 --45.2500005 -45.0833335 -18.0833335 -17.9166665 579 0 2670 --45.0833335 -44.9166665 -18.0833335 -17.9166665 706 0 2670 --44.9166665 -44.7499995 -18.0833335 -17.9166665 850 0 2670 --44.7500005 -44.5833335 -18.0833335 -17.9166665 800 0 2670 --44.5833335 -44.4166665 -18.0833335 -17.9166665 657 0 2670 --44.4166665 -44.2499995 -18.0833335 -17.9166665 1047 0 2670 --44.2500005 -44.0833335 -18.0833335 -17.9166665 566 0 2670 --44.0833335 -43.9166665 -18.0833335 -17.9166665 1196 0 2670 --43.9166665 -43.7499995 -18.0833335 -17.9166665 1172 0 2670 --43.7500005 -43.5833335 -18.0833335 -17.9166665 957 0 2670 --43.5833335 -43.4166665 -18.0833335 -17.9166665 968 0 2670 --43.4166665 -43.2499995 -18.0833335 -17.9166665 930 0 2670 --43.2500005 -43.0833335 -18.0833335 -17.9166665 918 0 2670 --43.0833335 -42.9166665 -18.0833335 -17.9166665 1013 0 2670 --42.9166665 -42.7499995 -18.0833335 -17.9166665 917 0 2670 --42.7500005 -42.5833335 -18.0833335 -17.9166665 827 0 2670 --42.5833335 -42.4166665 -18.0833335 -17.9166665 621 0 2670 --42.4166665 -42.2499995 -18.0833335 -17.9166665 482 0 2670 --42.2500005 -42.0833335 -18.0833335 -17.9166665 361 0 2670 --42.0833335 -41.9166665 -18.0833335 -17.9166665 578 0 2670 --41.9166665 -41.7499995 -18.0833335 -17.9166665 619 0 2670 --41.7500005 -41.5833335 -18.0833335 -17.9166665 582 0 2670 --41.5833335 -41.4166665 -18.0833335 -17.9166665 430 0 2670 --41.4166665 -41.2499995 -18.0833335 -17.9166665 645 0 2670 --41.2500005 -41.0833335 -18.0833335 -17.9166665 353 0 2670 --41.0833335 -40.9166665 -18.0833335 -17.9166665 290 0 2670 --40.9166665 -40.7499995 -18.0833335 -17.9166665 295 0 2670 --40.7500005 -40.5833335 -18.0833335 -17.9166665 322 0 2670 --40.5833335 -40.4166665 -18.0833335 -17.9166665 224 0 2670 --40.4166665 -40.2499995 -18.0833335 -17.9166665 167 0 2670 --40.2500005 -40.0833335 -18.0833335 -17.9166665 137 0 2670 --40.0833335 -39.9166665 -18.0833335 -17.9166665 54 0 2670 --65.0833335 -64.9166665 -18.2500005 -18.0833335 2211 0 2670 --64.9166665 -64.7499995 -18.2500005 -18.0833335 1757 0 2670 --64.7500005 -64.5833335 -18.2500005 -18.0833335 1735 0 2670 --64.5833335 -64.4166665 -18.2500005 -18.0833335 1611 0 2670 --64.4166665 -64.2499995 -18.2500005 -18.0833335 2015 0 2670 --64.2500005 -64.0833335 -18.2500005 -18.0833335 1799 0 2670 --64.0833335 -63.9166665 -18.2500005 -18.0833335 1708 0 2670 --63.9166665 -63.7499995 -18.2500005 -18.0833335 1624 0 2670 --63.7500005 -63.5833335 -18.2500005 -18.0833335 1591 0 2670 --63.5833335 -63.4166665 -18.2500005 -18.0833335 641 0 2670 --63.4166665 -63.2499995 -18.2500005 -18.0833335 723 0 2670 --63.2500005 -63.0833335 -18.2500005 -18.0833335 481 0 2670 --63.0833335 -62.9166665 -18.2500005 -18.0833335 375 0 2670 --62.9166665 -62.7499995 -18.2500005 -18.0833335 343 0 2670 --62.7500005 -62.5833335 -18.2500005 -18.0833335 330 0 2670 --62.5833335 -62.4166665 -18.2500005 -18.0833335 324 0 2670 --62.4166665 -62.2499995 -18.2500005 -18.0833335 315 0 2670 --62.2500005 -62.0833335 -18.2500005 -18.0833335 307 0 2670 --62.0833335 -61.9166665 -18.2500005 -18.0833335 303 0 2670 --61.9166665 -61.7499995 -18.2500005 -18.0833335 297 0 2670 --61.7500005 -61.5833335 -18.2500005 -18.0833335 288 0 2670 --61.5833335 -61.4166665 -18.2500005 -18.0833335 281 0 2670 --61.4166665 -61.2499995 -18.2500005 -18.0833335 279 0 2670 --61.2500005 -61.0833335 -18.2500005 -18.0833335 278 0 2670 --61.0833335 -60.9166665 -18.2500005 -18.0833335 279 0 2670 --60.9166665 -60.7499995 -18.2500005 -18.0833335 330 0 2670 --60.7500005 -60.5833335 -18.2500005 -18.0833335 425 0 2670 --60.5833335 -60.4166665 -18.2500005 -18.0833335 418 0 2670 --60.4166665 -60.2499995 -18.2500005 -18.0833335 484 0 2670 --60.2500005 -60.0833335 -18.2500005 -18.0833335 622 0 2670 --60.0833335 -59.9166665 -18.2500005 -18.0833335 391 0 2670 --59.9166665 -59.7499995 -18.2500005 -18.0833335 429 0 2670 --59.7500005 -59.5833335 -18.2500005 -18.0833335 288 0 2670 --59.5833335 -59.4166665 -18.2500005 -18.0833335 220 0 2670 --59.4166665 -59.2499995 -18.2500005 -18.0833335 222 0 2670 --59.2500005 -59.0833335 -18.2500005 -18.0833335 249 0 2670 --59.0833335 -58.9166665 -18.2500005 -18.0833335 356 0 2670 --58.9166665 -58.7499995 -18.2500005 -18.0833335 499 0 2670 --58.7500005 -58.5833335 -18.2500005 -18.0833335 334 0 2670 --58.5833335 -58.4166665 -18.2500005 -18.0833335 519 0 2670 --58.4166665 -58.2499995 -18.2500005 -18.0833335 341 0 2670 --58.2500005 -58.0833335 -18.2500005 -18.0833335 188 0 2670 --58.0833335 -57.9166665 -18.2500005 -18.0833335 218 0 2670 --57.9166665 -57.7499995 -18.2500005 -18.0833335 280 0 2670 --57.7500005 -57.5833335 -18.2500005 -18.0833335 315 0 2670 --57.5833335 -57.4166665 -18.2500005 -18.0833335 92 0 2670 --57.4166665 -57.2499995 -18.2500005 -18.0833335 93 0 2670 --57.2500005 -57.0833335 -18.2500005 -18.0833335 97 0 2670 --57.0833335 -56.9166665 -18.2500005 -18.0833335 102 0 2670 --56.9166665 -56.7499995 -18.2500005 -18.0833335 108 0 2670 --56.7500005 -56.5833335 -18.2500005 -18.0833335 114 0 2670 --56.5833335 -56.4166665 -18.2500005 -18.0833335 118 0 2670 --56.4166665 -56.2499995 -18.2500005 -18.0833335 125 0 2670 --56.2500005 -56.0833335 -18.2500005 -18.0833335 132 0 2670 --56.0833335 -55.9166665 -18.2500005 -18.0833335 139 0 2670 --55.9166665 -55.7499995 -18.2500005 -18.0833335 146 0 2670 --55.7500005 -55.5833335 -18.2500005 -18.0833335 152 0 2670 --55.5833335 -55.4166665 -18.2500005 -18.0833335 158 0 2670 --55.4166665 -55.2499995 -18.2500005 -18.0833335 165 0 2670 --55.2500005 -55.0833335 -18.2500005 -18.0833335 174 0 2670 --55.0833335 -54.9166665 -18.2500005 -18.0833335 180 0 2670 --54.9166665 -54.7499995 -18.2500005 -18.0833335 414 0 2670 --54.7500005 -54.5833335 -18.2500005 -18.0833335 340 0 2670 --54.5833335 -54.4166665 -18.2500005 -18.0833335 258 0 2670 --54.4166665 -54.2499995 -18.2500005 -18.0833335 321 0 2670 --54.2500005 -54.0833335 -18.2500005 -18.0833335 322 0 2670 --54.0833335 -53.9166665 -18.2500005 -18.0833335 316 0 2670 --53.9166665 -53.7499995 -18.2500005 -18.0833335 346 0 2670 --53.7500005 -53.5833335 -18.2500005 -18.0833335 688 0 2670 --53.5833335 -53.4166665 -18.2500005 -18.0833335 424 0 2670 --53.4166665 -53.2499995 -18.2500005 -18.0833335 604 0 2670 --53.2500005 -53.0833335 -18.2500005 -18.0833335 863 0 2670 --53.0833335 -52.9166665 -18.2500005 -18.0833335 809 0 2670 --52.9166665 -52.7499995 -18.2500005 -18.0833335 846 0 2670 --52.7500005 -52.5833335 -18.2500005 -18.0833335 779 0 2670 --52.5833335 -52.4166665 -18.2500005 -18.0833335 654 0 2670 --52.4166665 -52.2499995 -18.2500005 -18.0833335 601 0 2670 --52.2500005 -52.0833335 -18.2500005 -18.0833335 611 0 2670 --52.0833335 -51.9166665 -18.2500005 -18.0833335 852 0 2670 --51.9166665 -51.7499995 -18.2500005 -18.0833335 757 0 2670 --51.7500005 -51.5833335 -18.2500005 -18.0833335 721 0 2670 --51.5833335 -51.4166665 -18.2500005 -18.0833335 648 0 2670 --51.4166665 -51.2499995 -18.2500005 -18.0833335 637 0 2670 --51.2500005 -51.0833335 -18.2500005 -18.0833335 658 0 2670 --51.0833335 -50.9166665 -18.2500005 -18.0833335 761 0 2670 --50.9166665 -50.7499995 -18.2500005 -18.0833335 847 0 2670 --50.7500005 -50.5833335 -18.2500005 -18.0833335 680 0 2670 --50.5833335 -50.4166665 -18.2500005 -18.0833335 641 0 2670 --50.4166665 -50.2499995 -18.2500005 -18.0833335 580 0 2670 --50.2500005 -50.0833335 -18.2500005 -18.0833335 439 0 2670 --50.0833335 -49.9166665 -18.2500005 -18.0833335 517 0 2670 --49.9166665 -49.7499995 -18.2500005 -18.0833335 598 0 2670 --49.7500005 -49.5833335 -18.2500005 -18.0833335 702 0 2670 --49.5833335 -49.4166665 -18.2500005 -18.0833335 498 0 2670 --49.4166665 -49.2499995 -18.2500005 -18.0833335 641 0 2670 --49.2500005 -49.0833335 -18.2500005 -18.0833335 718 0 2670 --49.0833335 -48.9166665 -18.2500005 -18.0833335 756 0 2670 --48.9166665 -48.7499995 -18.2500005 -18.0833335 582 0 2670 --48.7500005 -48.5833335 -18.2500005 -18.0833335 573 0 2670 --48.5833335 -48.4166665 -18.2500005 -18.0833335 685 0 2670 --48.4166665 -48.2499995 -18.2500005 -18.0833335 767 0 2670 --48.2500005 -48.0833335 -18.2500005 -18.0833335 640 0 2670 --48.0833335 -47.9166665 -18.2500005 -18.0833335 824 0 2670 --47.9166665 -47.7499995 -18.2500005 -18.0833335 861 0 2670 --47.7500005 -47.5833335 -18.2500005 -18.0833335 703 0 2670 --47.5833335 -47.4166665 -18.2500005 -18.0833335 738 0 2670 --47.4166665 -47.2499995 -18.2500005 -18.0833335 782 0 2670 --47.2500005 -47.0833335 -18.2500005 -18.0833335 776 0 2670 --47.0833335 -46.9166665 -18.2500005 -18.0833335 848 0 2670 --46.9166665 -46.7499995 -18.2500005 -18.0833335 843 0 2670 --46.7500005 -46.5833335 -18.2500005 -18.0833335 727 0 2670 --46.5833335 -46.4166665 -18.2500005 -18.0833335 1001 0 2670 --46.4166665 -46.2499995 -18.2500005 -18.0833335 774 0 2670 --46.2500005 -46.0833335 -18.2500005 -18.0833335 765 0 2670 --46.0833335 -45.9166665 -18.2500005 -18.0833335 840 0 2670 --45.9166665 -45.7499995 -18.2500005 -18.0833335 834 0 2670 --45.7500005 -45.5833335 -18.2500005 -18.0833335 733 0 2670 --45.5833335 -45.4166665 -18.2500005 -18.0833335 676 0 2670 --45.4166665 -45.2499995 -18.2500005 -18.0833335 709 0 2670 --45.2500005 -45.0833335 -18.2500005 -18.0833335 573 0 2670 --45.0833335 -44.9166665 -18.2500005 -18.0833335 768 0 2670 --44.9166665 -44.7499995 -18.2500005 -18.0833335 863 0 2670 --44.7500005 -44.5833335 -18.2500005 -18.0833335 642 0 2670 --44.5833335 -44.4166665 -18.2500005 -18.0833335 602 0 2670 --44.4166665 -44.2499995 -18.2500005 -18.0833335 573 0 2670 --44.2500005 -44.0833335 -18.2500005 -18.0833335 630 0 2670 --44.0833335 -43.9166665 -18.2500005 -18.0833335 1126 0 2670 --43.9166665 -43.7499995 -18.2500005 -18.0833335 1119 0 2670 --43.7500005 -43.5833335 -18.2500005 -18.0833335 1087 0 2670 --43.5833335 -43.4166665 -18.2500005 -18.0833335 884 0 2670 --43.4166665 -43.2499995 -18.2500005 -18.0833335 1189 0 2670 --43.2500005 -43.0833335 -18.2500005 -18.0833335 1014 0 2670 --43.0833335 -42.9166665 -18.2500005 -18.0833335 770 0 2670 --42.9166665 -42.7499995 -18.2500005 -18.0833335 736 0 2670 --42.7500005 -42.5833335 -18.2500005 -18.0833335 645 0 2670 --42.5833335 -42.4166665 -18.2500005 -18.0833335 520 0 2670 --42.4166665 -42.2499995 -18.2500005 -18.0833335 505 0 2670 --42.2500005 -42.0833335 -18.2500005 -18.0833335 319 0 2670 --42.0833335 -41.9166665 -18.2500005 -18.0833335 380 0 2670 --41.9166665 -41.7499995 -18.2500005 -18.0833335 554 0 2670 --41.7500005 -41.5833335 -18.2500005 -18.0833335 424 0 2670 --41.5833335 -41.4166665 -18.2500005 -18.0833335 400 0 2670 --41.4166665 -41.2499995 -18.2500005 -18.0833335 390 0 2670 --41.2500005 -41.0833335 -18.2500005 -18.0833335 365 0 2670 --41.0833335 -40.9166665 -18.2500005 -18.0833335 248 0 2670 --40.9166665 -40.7499995 -18.2500005 -18.0833335 254 0 2670 --40.7500005 -40.5833335 -18.2500005 -18.0833335 255 0 2670 --40.5833335 -40.4166665 -18.2500005 -18.0833335 255 0 2670 --40.4166665 -40.2499995 -18.2500005 -18.0833335 183 0 2670 --40.2500005 -40.0833335 -18.2500005 -18.0833335 117 0 2670 --40.0833335 -39.9166665 -18.2500005 -18.0833335 76 0 2670 --65.0833335 -64.9166665 -18.4166665 -18.2499995 2450 0 2670 --64.9166665 -64.7499995 -18.4166665 -18.2499995 2577 0 2670 --64.7500005 -64.5833335 -18.4166665 -18.2499995 2094 0 2670 --64.5833335 -64.4166665 -18.4166665 -18.2499995 1691 0 2670 --64.4166665 -64.2499995 -18.4166665 -18.2499995 2410 0 2670 --64.2500005 -64.0833335 -18.4166665 -18.2499995 1656 0 2670 --64.0833335 -63.9166665 -18.4166665 -18.2499995 2061 0 2670 --63.9166665 -63.7499995 -18.4166665 -18.2499995 1653 0 2670 --63.7500005 -63.5833335 -18.4166665 -18.2499995 1255 0 2670 --63.5833335 -63.4166665 -18.4166665 -18.2499995 1098 0 2670 --63.4166665 -63.2499995 -18.4166665 -18.2499995 698 0 2670 --63.2500005 -63.0833335 -18.4166665 -18.2499995 502 0 2670 --63.0833335 -62.9166665 -18.4166665 -18.2499995 396 0 2670 --62.9166665 -62.7499995 -18.4166665 -18.2499995 358 0 2670 --62.7500005 -62.5833335 -18.4166665 -18.2499995 341 0 2670 --62.5833335 -62.4166665 -18.4166665 -18.2499995 328 0 2670 --62.4166665 -62.2499995 -18.4166665 -18.2499995 320 0 2670 --62.2500005 -62.0833335 -18.4166665 -18.2499995 315 0 2670 --62.0833335 -61.9166665 -18.4166665 -18.2499995 305 0 2670 --61.9166665 -61.7499995 -18.4166665 -18.2499995 298 0 2670 --61.7500005 -61.5833335 -18.4166665 -18.2499995 290 0 2670 --61.5833335 -61.4166665 -18.4166665 -18.2499995 287 0 2670 --61.4166665 -61.2499995 -18.4166665 -18.2499995 284 0 2670 --61.2500005 -61.0833335 -18.4166665 -18.2499995 281 0 2670 --61.0833335 -60.9166665 -18.4166665 -18.2499995 280 0 2670 --60.9166665 -60.7499995 -18.4166665 -18.2499995 304 0 2670 --60.7500005 -60.5833335 -18.4166665 -18.2499995 382 0 2670 --60.5833335 -60.4166665 -18.4166665 -18.2499995 450 0 2670 --60.4166665 -60.2499995 -18.4166665 -18.2499995 421 0 2670 --60.2500005 -60.0833335 -18.4166665 -18.2499995 426 0 2670 --60.0833335 -59.9166665 -18.4166665 -18.2499995 414 0 2670 --59.9166665 -59.7499995 -18.4166665 -18.2499995 285 0 2670 --59.7500005 -59.5833335 -18.4166665 -18.2499995 558 0 2670 --59.5833335 -59.4166665 -18.4166665 -18.2499995 286 0 2670 --59.4166665 -59.2499995 -18.4166665 -18.2499995 202 0 2670 --59.2500005 -59.0833335 -18.4166665 -18.2499995 192 0 2670 --59.0833335 -58.9166665 -18.4166665 -18.2499995 217 0 2670 --58.9166665 -58.7499995 -18.4166665 -18.2499995 591 0 2670 --58.7500005 -58.5833335 -18.4166665 -18.2499995 534 0 2670 --58.5833335 -58.4166665 -18.4166665 -18.2499995 383 0 2670 --58.4166665 -58.2499995 -18.4166665 -18.2499995 396 0 2670 --58.2500005 -58.0833335 -18.4166665 -18.2499995 369 0 2670 --58.0833335 -57.9166665 -18.4166665 -18.2499995 333 0 2670 --57.9166665 -57.7499995 -18.4166665 -18.2499995 352 0 2670 --57.7500005 -57.5833335 -18.4166665 -18.2499995 273 0 2670 --57.5833335 -57.4166665 -18.4166665 -18.2499995 90 0 2670 --57.4166665 -57.2499995 -18.4166665 -18.2499995 93 0 2670 --57.2500005 -57.0833335 -18.4166665 -18.2499995 96 0 2670 --57.0833335 -56.9166665 -18.4166665 -18.2499995 103 0 2670 --56.9166665 -56.7499995 -18.4166665 -18.2499995 106 0 2670 --56.7500005 -56.5833335 -18.4166665 -18.2499995 112 0 2670 --56.5833335 -56.4166665 -18.4166665 -18.2499995 119 0 2670 --56.4166665 -56.2499995 -18.4166665 -18.2499995 125 0 2670 --56.2500005 -56.0833335 -18.4166665 -18.2499995 133 0 2670 --56.0833335 -55.9166665 -18.4166665 -18.2499995 137 0 2670 --55.9166665 -55.7499995 -18.4166665 -18.2499995 142 0 2670 --55.7500005 -55.5833335 -18.4166665 -18.2499995 150 0 2670 --55.5833335 -55.4166665 -18.4166665 -18.2499995 157 0 2670 --55.4166665 -55.2499995 -18.4166665 -18.2499995 169 0 2670 --55.2500005 -55.0833335 -18.4166665 -18.2499995 180 0 2670 --55.0833335 -54.9166665 -18.4166665 -18.2499995 187 0 2670 --54.9166665 -54.7499995 -18.4166665 -18.2499995 391 0 2670 --54.7500005 -54.5833335 -18.4166665 -18.2499995 266 0 2670 --54.5833335 -54.4166665 -18.4166665 -18.2499995 262 0 2670 --54.4166665 -54.2499995 -18.4166665 -18.2499995 410 0 2670 --54.2500005 -54.0833335 -18.4166665 -18.2499995 421 0 2670 --54.0833335 -53.9166665 -18.4166665 -18.2499995 434 0 2670 --53.9166665 -53.7499995 -18.4166665 -18.2499995 379 0 2670 --53.7500005 -53.5833335 -18.4166665 -18.2499995 410 0 2670 --53.5833335 -53.4166665 -18.4166665 -18.2499995 446 0 2670 --53.4166665 -53.2499995 -18.4166665 -18.2499995 720 0 2670 --53.2500005 -53.0833335 -18.4166665 -18.2499995 704 0 2670 --53.0833335 -52.9166665 -18.4166665 -18.2499995 832 0 2670 --52.9166665 -52.7499995 -18.4166665 -18.2499995 848 0 2670 --52.7500005 -52.5833335 -18.4166665 -18.2499995 786 0 2670 --52.5833335 -52.4166665 -18.4166665 -18.2499995 743 0 2670 --52.4166665 -52.2499995 -18.4166665 -18.2499995 617 0 2670 --52.2500005 -52.0833335 -18.4166665 -18.2499995 637 0 2670 --52.0833335 -51.9166665 -18.4166665 -18.2499995 652 0 2670 --51.9166665 -51.7499995 -18.4166665 -18.2499995 708 0 2670 --51.7500005 -51.5833335 -18.4166665 -18.2499995 611 0 2670 --51.5833335 -51.4166665 -18.4166665 -18.2499995 622 0 2670 --51.4166665 -51.2499995 -18.4166665 -18.2499995 586 0 2670 --51.2500005 -51.0833335 -18.4166665 -18.2499995 597 0 2670 --51.0833335 -50.9166665 -18.4166665 -18.2499995 678 0 2670 --50.9166665 -50.7499995 -18.4166665 -18.2499995 567 0 2670 --50.7500005 -50.5833335 -18.4166665 -18.2499995 588 0 2670 --50.5833335 -50.4166665 -18.4166665 -18.2499995 763 0 2670 --50.4166665 -50.2499995 -18.4166665 -18.2499995 599 0 2670 --50.2500005 -50.0833335 -18.4166665 -18.2499995 453 0 2670 --50.0833335 -49.9166665 -18.4166665 -18.2499995 461 0 2670 --49.9166665 -49.7499995 -18.4166665 -18.2499995 542 0 2670 --49.7500005 -49.5833335 -18.4166665 -18.2499995 537 0 2670 --49.5833335 -49.4166665 -18.4166665 -18.2499995 606 0 2670 --49.4166665 -49.2499995 -18.4166665 -18.2499995 622 0 2670 --49.2500005 -49.0833335 -18.4166665 -18.2499995 489 0 2670 --49.0833335 -48.9166665 -18.4166665 -18.2499995 522 0 2670 --48.9166665 -48.7499995 -18.4166665 -18.2499995 518 0 2670 --48.7500005 -48.5833335 -18.4166665 -18.2499995 517 0 2670 --48.5833335 -48.4166665 -18.4166665 -18.2499995 573 0 2670 --48.4166665 -48.2499995 -18.4166665 -18.2499995 551 0 2670 --48.2500005 -48.0833335 -18.4166665 -18.2499995 622 0 2670 --48.0833335 -47.9166665 -18.4166665 -18.2499995 738 0 2670 --47.9166665 -47.7499995 -18.4166665 -18.2499995 685 0 2670 --47.7500005 -47.5833335 -18.4166665 -18.2499995 655 0 2670 --47.5833335 -47.4166665 -18.4166665 -18.2499995 770 0 2670 --47.4166665 -47.2499995 -18.4166665 -18.2499995 829 0 2670 --47.2500005 -47.0833335 -18.4166665 -18.2499995 803 0 2670 --47.0833335 -46.9166665 -18.4166665 -18.2499995 769 0 2670 --46.9166665 -46.7499995 -18.4166665 -18.2499995 788 0 2670 --46.7500005 -46.5833335 -18.4166665 -18.2499995 855 0 2670 --46.5833335 -46.4166665 -18.4166665 -18.2499995 925 0 2670 --46.4166665 -46.2499995 -18.4166665 -18.2499995 775 0 2670 --46.2500005 -46.0833335 -18.4166665 -18.2499995 769 0 2670 --46.0833335 -45.9166665 -18.4166665 -18.2499995 909 0 2670 --45.9166665 -45.7499995 -18.4166665 -18.2499995 794 0 2670 --45.7500005 -45.5833335 -18.4166665 -18.2499995 753 0 2670 --45.5833335 -45.4166665 -18.4166665 -18.2499995 745 0 2670 --45.4166665 -45.2499995 -18.4166665 -18.2499995 570 0 2670 --45.2500005 -45.0833335 -18.4166665 -18.2499995 734 0 2670 --45.0833335 -44.9166665 -18.4166665 -18.2499995 764 0 2670 --44.9166665 -44.7499995 -18.4166665 -18.2499995 880 0 2670 --44.7500005 -44.5833335 -18.4166665 -18.2499995 614 0 2670 --44.5833335 -44.4166665 -18.4166665 -18.2499995 652 0 2670 --44.4166665 -44.2499995 -18.4166665 -18.2499995 568 0 2670 --44.2500005 -44.0833335 -18.4166665 -18.2499995 650 0 2670 --44.0833335 -43.9166665 -18.4166665 -18.2499995 972 0 2670 --43.9166665 -43.7499995 -18.4166665 -18.2499995 1160 0 2670 --43.7500005 -43.5833335 -18.4166665 -18.2499995 1294 0 2670 --43.5833335 -43.4166665 -18.4166665 -18.2499995 968 0 2670 --43.4166665 -43.2499995 -18.4166665 -18.2499995 1158 0 2670 --43.2500005 -43.0833335 -18.4166665 -18.2499995 751 0 2670 --43.0833335 -42.9166665 -18.4166665 -18.2499995 757 0 2670 --42.9166665 -42.7499995 -18.4166665 -18.2499995 686 0 2670 --42.7500005 -42.5833335 -18.4166665 -18.2499995 672 0 2670 --42.5833335 -42.4166665 -18.4166665 -18.2499995 594 0 2670 --42.4166665 -42.2499995 -18.4166665 -18.2499995 345 0 2670 --42.2500005 -42.0833335 -18.4166665 -18.2499995 486 0 2670 --42.0833335 -41.9166665 -18.4166665 -18.2499995 286 0 2670 --41.9166665 -41.7499995 -18.4166665 -18.2499995 304 0 2670 --41.7500005 -41.5833335 -18.4166665 -18.2499995 452 0 2670 --41.5833335 -41.4166665 -18.4166665 -18.2499995 342 0 2670 --41.4166665 -41.2499995 -18.4166665 -18.2499995 354 0 2670 --41.2500005 -41.0833335 -18.4166665 -18.2499995 321 0 2670 --41.0833335 -40.9166665 -18.4166665 -18.2499995 292 0 2670 --40.9166665 -40.7499995 -18.4166665 -18.2499995 333 0 2670 --40.7500005 -40.5833335 -18.4166665 -18.2499995 219 0 2670 --40.5833335 -40.4166665 -18.4166665 -18.2499995 188 0 2670 --40.4166665 -40.2499995 -18.4166665 -18.2499995 158 0 2670 --40.2500005 -40.0833335 -18.4166665 -18.2499995 106 0 2670 --40.0833335 -39.9166665 -18.4166665 -18.2499995 62 0 2670 --65.0833335 -64.9166665 -18.5833335 -18.4166665 2215 0 2670 --64.9166665 -64.7499995 -18.5833335 -18.4166665 1515 0 2670 --64.7500005 -64.5833335 -18.5833335 -18.4166665 1553 0 2670 --64.5833335 -64.4166665 -18.5833335 -18.4166665 2147 0 2670 --64.4166665 -64.2499995 -18.5833335 -18.4166665 1148 0 2670 --64.2500005 -64.0833335 -18.5833335 -18.4166665 2011 0 2670 --64.0833335 -63.9166665 -18.5833335 -18.4166665 2016 0 2670 --63.9166665 -63.7499995 -18.5833335 -18.4166665 1865 0 2670 --63.7500005 -63.5833335 -18.5833335 -18.4166665 1495 0 2670 --63.5833335 -63.4166665 -18.5833335 -18.4166665 856 0 2670 --63.4166665 -63.2499995 -18.5833335 -18.4166665 710 0 2670 --63.2500005 -63.0833335 -18.5833335 -18.4166665 467 0 2670 --63.0833335 -62.9166665 -18.5833335 -18.4166665 375 0 2670 --62.9166665 -62.7499995 -18.5833335 -18.4166665 360 0 2670 --62.7500005 -62.5833335 -18.5833335 -18.4166665 348 0 2670 --62.5833335 -62.4166665 -18.5833335 -18.4166665 335 0 2670 --62.4166665 -62.2499995 -18.5833335 -18.4166665 329 0 2670 --62.2500005 -62.0833335 -18.5833335 -18.4166665 321 0 2670 --62.0833335 -61.9166665 -18.5833335 -18.4166665 311 0 2670 --61.9166665 -61.7499995 -18.5833335 -18.4166665 301 0 2670 --61.7500005 -61.5833335 -18.5833335 -18.4166665 298 0 2670 --61.5833335 -61.4166665 -18.5833335 -18.4166665 290 0 2670 --61.4166665 -61.2499995 -18.5833335 -18.4166665 288 0 2670 --61.2500005 -61.0833335 -18.5833335 -18.4166665 287 0 2670 --61.0833335 -60.9166665 -18.5833335 -18.4166665 280 0 2670 --60.9166665 -60.7499995 -18.5833335 -18.4166665 305 0 2670 --60.7500005 -60.5833335 -18.5833335 -18.4166665 307 0 2670 --60.5833335 -60.4166665 -18.5833335 -18.4166665 369 0 2670 --60.4166665 -60.2499995 -18.5833335 -18.4166665 387 0 2670 --60.2500005 -60.0833335 -18.5833335 -18.4166665 346 0 2670 --60.0833335 -59.9166665 -18.5833335 -18.4166665 437 0 2670 --59.9166665 -59.7499995 -18.5833335 -18.4166665 265 0 2670 --59.7500005 -59.5833335 -18.5833335 -18.4166665 224 0 2670 --59.5833335 -59.4166665 -18.5833335 -18.4166665 207 0 2670 --59.4166665 -59.2499995 -18.5833335 -18.4166665 250 0 2670 --59.2500005 -59.0833335 -18.5833335 -18.4166665 454 0 2670 --59.0833335 -58.9166665 -18.5833335 -18.4166665 168 0 2670 --58.9166665 -58.7499995 -18.5833335 -18.4166665 199 0 2670 --58.7500005 -58.5833335 -18.5833335 -18.4166665 235 0 2670 --58.5833335 -58.4166665 -18.5833335 -18.4166665 215 0 2670 --58.4166665 -58.2499995 -18.5833335 -18.4166665 226 0 2670 --58.2500005 -58.0833335 -18.5833335 -18.4166665 331 0 2670 --58.0833335 -57.9166665 -18.5833335 -18.4166665 242 0 2670 --57.9166665 -57.7499995 -18.5833335 -18.4166665 265 0 2670 --57.7500005 -57.5833335 -18.5833335 -18.4166665 211 0 2670 --57.5833335 -57.4166665 -18.5833335 -18.4166665 91 0 2670 --57.4166665 -57.2499995 -18.5833335 -18.4166665 94 0 2670 --57.2500005 -57.0833335 -18.5833335 -18.4166665 98 0 2670 --57.0833335 -56.9166665 -18.5833335 -18.4166665 101 0 2670 --56.9166665 -56.7499995 -18.5833335 -18.4166665 108 0 2670 --56.7500005 -56.5833335 -18.5833335 -18.4166665 111 0 2670 --56.5833335 -56.4166665 -18.5833335 -18.4166665 116 0 2670 --56.4166665 -56.2499995 -18.5833335 -18.4166665 120 0 2670 --56.2500005 -56.0833335 -18.5833335 -18.4166665 125 0 2670 --56.0833335 -55.9166665 -18.5833335 -18.4166665 134 0 2670 --55.9166665 -55.7499995 -18.5833335 -18.4166665 144 0 2670 --55.7500005 -55.5833335 -18.5833335 -18.4166665 151 0 2670 --55.5833335 -55.4166665 -18.5833335 -18.4166665 161 0 2670 --55.4166665 -55.2499995 -18.5833335 -18.4166665 171 0 2670 --55.2500005 -55.0833335 -18.5833335 -18.4166665 180 0 2670 --55.0833335 -54.9166665 -18.5833335 -18.4166665 197 0 2670 --54.9166665 -54.7499995 -18.5833335 -18.4166665 385 0 2670 --54.7500005 -54.5833335 -18.5833335 -18.4166665 211 0 2670 --54.5833335 -54.4166665 -18.5833335 -18.4166665 306 0 2670 --54.4166665 -54.2499995 -18.5833335 -18.4166665 342 0 2670 --54.2500005 -54.0833335 -18.5833335 -18.4166665 348 0 2670 --54.0833335 -53.9166665 -18.5833335 -18.4166665 329 0 2670 --53.9166665 -53.7499995 -18.5833335 -18.4166665 363 0 2670 --53.7500005 -53.5833335 -18.5833335 -18.4166665 343 0 2670 --53.5833335 -53.4166665 -18.5833335 -18.4166665 532 0 2670 --53.4166665 -53.2499995 -18.5833335 -18.4166665 609 0 2670 --53.2500005 -53.0833335 -18.5833335 -18.4166665 712 0 2670 --53.0833335 -52.9166665 -18.5833335 -18.4166665 822 0 2670 --52.9166665 -52.7499995 -18.5833335 -18.4166665 806 0 2670 --52.7500005 -52.5833335 -18.5833335 -18.4166665 826 0 2670 --52.5833335 -52.4166665 -18.5833335 -18.4166665 818 0 2670 --52.4166665 -52.2499995 -18.5833335 -18.4166665 708 0 2670 --52.2500005 -52.0833335 -18.5833335 -18.4166665 680 0 2670 --52.0833335 -51.9166665 -18.5833335 -18.4166665 702 0 2670 --51.9166665 -51.7499995 -18.5833335 -18.4166665 575 0 2670 --51.7500005 -51.5833335 -18.5833335 -18.4166665 516 0 2670 --51.5833335 -51.4166665 -18.5833335 -18.4166665 564 0 2670 --51.4166665 -51.2499995 -18.5833335 -18.4166665 596 0 2670 --51.2500005 -51.0833335 -18.5833335 -18.4166665 481 0 2670 --51.0833335 -50.9166665 -18.5833335 -18.4166665 587 0 2670 --50.9166665 -50.7499995 -18.5833335 -18.4166665 566 0 2670 --50.7500005 -50.5833335 -18.5833335 -18.4166665 553 0 2670 --50.5833335 -50.4166665 -18.5833335 -18.4166665 477 0 2670 --50.4166665 -50.2499995 -18.5833335 -18.4166665 478 0 2670 --50.2500005 -50.0833335 -18.5833335 -18.4166665 462 0 2670 --50.0833335 -49.9166665 -18.5833335 -18.4166665 435 0 2670 --49.9166665 -49.7499995 -18.5833335 -18.4166665 595 0 2670 --49.7500005 -49.5833335 -18.5833335 -18.4166665 510 0 2670 --49.5833335 -49.4166665 -18.5833335 -18.4166665 425 0 2670 --49.4166665 -49.2499995 -18.5833335 -18.4166665 498 0 2670 --49.2500005 -49.0833335 -18.5833335 -18.4166665 498 0 2670 --49.0833335 -48.9166665 -18.5833335 -18.4166665 630 0 2670 --48.9166665 -48.7499995 -18.5833335 -18.4166665 768 0 2670 --48.7500005 -48.5833335 -18.5833335 -18.4166665 656 0 2670 --48.5833335 -48.4166665 -18.5833335 -18.4166665 849 0 2670 --48.4166665 -48.2499995 -18.5833335 -18.4166665 668 0 2670 --48.2500005 -48.0833335 -18.5833335 -18.4166665 813 0 2670 --48.0833335 -47.9166665 -18.5833335 -18.4166665 668 0 2670 --47.9166665 -47.7499995 -18.5833335 -18.4166665 640 0 2670 --47.7500005 -47.5833335 -18.5833335 -18.4166665 712 0 2670 --47.5833335 -47.4166665 -18.5833335 -18.4166665 777 0 2670 --47.4166665 -47.2499995 -18.5833335 -18.4166665 775 0 2670 --47.2500005 -47.0833335 -18.5833335 -18.4166665 947 0 2670 --47.0833335 -46.9166665 -18.5833335 -18.4166665 826 0 2670 --46.9166665 -46.7499995 -18.5833335 -18.4166665 960 0 2670 --46.7500005 -46.5833335 -18.5833335 -18.4166665 934 0 2670 --46.5833335 -46.4166665 -18.5833335 -18.4166665 853 0 2670 --46.4166665 -46.2499995 -18.5833335 -18.4166665 995 0 2670 --46.2500005 -46.0833335 -18.5833335 -18.4166665 917 0 2670 --46.0833335 -45.9166665 -18.5833335 -18.4166665 901 0 2670 --45.9166665 -45.7499995 -18.5833335 -18.4166665 774 0 2670 --45.7500005 -45.5833335 -18.5833335 -18.4166665 753 0 2670 --45.5833335 -45.4166665 -18.5833335 -18.4166665 591 0 2670 --45.4166665 -45.2499995 -18.5833335 -18.4166665 578 0 2670 --45.2500005 -45.0833335 -18.5833335 -18.4166665 715 0 2670 --45.0833335 -44.9166665 -18.5833335 -18.4166665 820 0 2670 --44.9166665 -44.7499995 -18.5833335 -18.4166665 866 0 2670 --44.7500005 -44.5833335 -18.5833335 -18.4166665 633 0 2670 --44.5833335 -44.4166665 -18.5833335 -18.4166665 642 0 2670 --44.4166665 -44.2499995 -18.5833335 -18.4166665 626 0 2670 --44.2500005 -44.0833335 -18.5833335 -18.4166665 570 0 2670 --44.0833335 -43.9166665 -18.5833335 -18.4166665 1015 0 2670 --43.9166665 -43.7499995 -18.5833335 -18.4166665 1111 0 2670 --43.7500005 -43.5833335 -18.5833335 -18.4166665 1166 0 2670 --43.5833335 -43.4166665 -18.5833335 -18.4166665 976 0 2670 --43.4166665 -43.2499995 -18.5833335 -18.4166665 805 0 2670 --43.2500005 -43.0833335 -18.5833335 -18.4166665 833 0 2670 --43.0833335 -42.9166665 -18.5833335 -18.4166665 774 0 2670 --42.9166665 -42.7499995 -18.5833335 -18.4166665 768 0 2670 --42.7500005 -42.5833335 -18.5833335 -18.4166665 669 0 2670 --42.5833335 -42.4166665 -18.5833335 -18.4166665 675 0 2670 --42.4166665 -42.2499995 -18.5833335 -18.4166665 671 0 2670 --42.2500005 -42.0833335 -18.5833335 -18.4166665 391 0 2670 --42.0833335 -41.9166665 -18.5833335 -18.4166665 251 0 2670 --41.9166665 -41.7499995 -18.5833335 -18.4166665 358 0 2670 --41.7500005 -41.5833335 -18.5833335 -18.4166665 306 0 2670 --41.5833335 -41.4166665 -18.5833335 -18.4166665 537 0 2670 --41.4166665 -41.2499995 -18.5833335 -18.4166665 485 0 2670 --41.2500005 -41.0833335 -18.5833335 -18.4166665 851 0 2670 --41.0833335 -40.9166665 -18.5833335 -18.4166665 341 0 2670 --40.9166665 -40.7499995 -18.5833335 -18.4166665 518 0 2670 --40.7500005 -40.5833335 -18.5833335 -18.4166665 195 0 2670 --40.5833335 -40.4166665 -18.5833335 -18.4166665 168 0 2670 --40.4166665 -40.2499995 -18.5833335 -18.4166665 134 0 2670 --40.2500005 -40.0833335 -18.5833335 -18.4166665 93 0 2670 --40.0833335 -39.9166665 -18.5833335 -18.4166665 83 0 2670 --65.0833335 -64.9166665 -18.7500005 -18.5833335 2264 0 2670 --64.9166665 -64.7499995 -18.7500005 -18.5833335 1928 0 2670 --64.7500005 -64.5833335 -18.7500005 -18.5833335 1696 0 2670 --64.5833335 -64.4166665 -18.7500005 -18.5833335 1106 0 2670 --64.4166665 -64.2499995 -18.7500005 -18.5833335 1025 0 2670 --64.2500005 -64.0833335 -18.7500005 -18.5833335 2231 0 2670 --64.0833335 -63.9166665 -18.7500005 -18.5833335 1740 0 2670 --63.9166665 -63.7499995 -18.7500005 -18.5833335 1628 0 2670 --63.7500005 -63.5833335 -18.7500005 -18.5833335 765 0 2670 --63.5833335 -63.4166665 -18.7500005 -18.5833335 697 0 2670 --63.4166665 -63.2499995 -18.7500005 -18.5833335 566 0 2670 --63.2500005 -63.0833335 -18.7500005 -18.5833335 451 0 2670 --63.0833335 -62.9166665 -18.7500005 -18.5833335 390 0 2670 --62.9166665 -62.7499995 -18.7500005 -18.5833335 367 0 2670 --62.7500005 -62.5833335 -18.7500005 -18.5833335 351 0 2670 --62.5833335 -62.4166665 -18.7500005 -18.5833335 346 0 2670 --62.4166665 -62.2499995 -18.7500005 -18.5833335 333 0 2670 --62.2500005 -62.0833335 -18.7500005 -18.5833335 327 0 2670 --62.0833335 -61.9166665 -18.7500005 -18.5833335 318 0 2670 --61.9166665 -61.7499995 -18.7500005 -18.5833335 310 0 2670 --61.7500005 -61.5833335 -18.7500005 -18.5833335 302 0 2670 --61.5833335 -61.4166665 -18.7500005 -18.5833335 297 0 2670 --61.4166665 -61.2499995 -18.7500005 -18.5833335 292 0 2670 --61.2500005 -61.0833335 -18.7500005 -18.5833335 287 0 2670 --61.0833335 -60.9166665 -18.7500005 -18.5833335 360 0 2670 --60.9166665 -60.7499995 -18.7500005 -18.5833335 312 0 2670 --60.7500005 -60.5833335 -18.7500005 -18.5833335 403 0 2670 --60.5833335 -60.4166665 -18.7500005 -18.5833335 373 0 2670 --60.4166665 -60.2499995 -18.7500005 -18.5833335 353 0 2670 --60.2500005 -60.0833335 -18.7500005 -18.5833335 314 0 2670 --60.0833335 -59.9166665 -18.7500005 -18.5833335 365 0 2670 --59.9166665 -59.7499995 -18.7500005 -18.5833335 331 0 2670 --59.7500005 -59.5833335 -18.7500005 -18.5833335 241 0 2670 --59.5833335 -59.4166665 -18.7500005 -18.5833335 201 0 2670 --59.4166665 -59.2499995 -18.7500005 -18.5833335 179 0 2670 --59.2500005 -59.0833335 -18.7500005 -18.5833335 167 0 2670 --59.0833335 -58.9166665 -18.7500005 -18.5833335 151 0 2670 --58.9166665 -58.7499995 -18.7500005 -18.5833335 201 0 2670 --58.7500005 -58.5833335 -18.7500005 -18.5833335 161 0 2670 --58.5833335 -58.4166665 -18.7500005 -18.5833335 165 0 2670 --58.4166665 -58.2499995 -18.7500005 -18.5833335 152 0 2670 --58.2500005 -58.0833335 -18.7500005 -18.5833335 139 0 2670 --58.0833335 -57.9166665 -18.7500005 -18.5833335 137 0 2670 --57.9166665 -57.7499995 -18.7500005 -18.5833335 139 0 2670 --57.7500005 -57.5833335 -18.7500005 -18.5833335 128 0 2670 --57.5833335 -57.4166665 -18.7500005 -18.5833335 89 0 2670 --57.4166665 -57.2499995 -18.7500005 -18.5833335 90 0 2670 --57.2500005 -57.0833335 -18.7500005 -18.5833335 98 0 2670 --57.0833335 -56.9166665 -18.7500005 -18.5833335 102 0 2670 --56.9166665 -56.7499995 -18.7500005 -18.5833335 104 0 2670 --56.7500005 -56.5833335 -18.7500005 -18.5833335 108 0 2670 --56.5833335 -56.4166665 -18.7500005 -18.5833335 111 0 2670 --56.4166665 -56.2499995 -18.7500005 -18.5833335 117 0 2670 --56.2500005 -56.0833335 -18.7500005 -18.5833335 126 0 2670 --56.0833335 -55.9166665 -18.7500005 -18.5833335 133 0 2670 --55.9166665 -55.7499995 -18.7500005 -18.5833335 140 0 2670 --55.7500005 -55.5833335 -18.7500005 -18.5833335 152 0 2670 --55.5833335 -55.4166665 -18.7500005 -18.5833335 159 0 2670 --55.4166665 -55.2499995 -18.7500005 -18.5833335 166 0 2670 --55.2500005 -55.0833335 -18.7500005 -18.5833335 170 0 2670 --55.0833335 -54.9166665 -18.7500005 -18.5833335 210 0 2670 --54.9166665 -54.7499995 -18.7500005 -18.5833335 465 0 2670 --54.7500005 -54.5833335 -18.7500005 -18.5833335 285 0 2670 --54.5833335 -54.4166665 -18.7500005 -18.5833335 279 0 2670 --54.4166665 -54.2499995 -18.7500005 -18.5833335 312 0 2670 --54.2500005 -54.0833335 -18.7500005 -18.5833335 391 0 2670 --54.0833335 -53.9166665 -18.7500005 -18.5833335 411 0 2670 --53.9166665 -53.7499995 -18.7500005 -18.5833335 346 0 2670 --53.7500005 -53.5833335 -18.7500005 -18.5833335 395 0 2670 --53.5833335 -53.4166665 -18.7500005 -18.5833335 562 0 2670 --53.4166665 -53.2499995 -18.7500005 -18.5833335 607 0 2670 --53.2500005 -53.0833335 -18.7500005 -18.5833335 708 0 2670 --53.0833335 -52.9166665 -18.7500005 -18.5833335 711 0 2670 --52.9166665 -52.7499995 -18.7500005 -18.5833335 826 0 2670 --52.7500005 -52.5833335 -18.7500005 -18.5833335 824 0 2670 --52.5833335 -52.4166665 -18.7500005 -18.5833335 698 0 2670 --52.4166665 -52.2499995 -18.7500005 -18.5833335 692 0 2670 --52.2500005 -52.0833335 -18.7500005 -18.5833335 681 0 2670 --52.0833335 -51.9166665 -18.7500005 -18.5833335 699 0 2670 --51.9166665 -51.7499995 -18.7500005 -18.5833335 582 0 2670 --51.7500005 -51.5833335 -18.7500005 -18.5833335 572 0 2670 --51.5833335 -51.4166665 -18.7500005 -18.5833335 579 0 2670 --51.4166665 -51.2499995 -18.7500005 -18.5833335 454 0 2670 --51.2500005 -51.0833335 -18.7500005 -18.5833335 571 0 2670 --51.0833335 -50.9166665 -18.7500005 -18.5833335 510 0 2670 --50.9166665 -50.7499995 -18.7500005 -18.5833335 522 0 2670 --50.7500005 -50.5833335 -18.7500005 -18.5833335 551 0 2670 --50.5833335 -50.4166665 -18.7500005 -18.5833335 530 0 2670 --50.4166665 -50.2499995 -18.7500005 -18.5833335 427 0 2670 --50.2500005 -50.0833335 -18.7500005 -18.5833335 399 0 2670 --50.0833335 -49.9166665 -18.7500005 -18.5833335 422 0 2670 --49.9166665 -49.7499995 -18.7500005 -18.5833335 435 0 2670 --49.7500005 -49.5833335 -18.7500005 -18.5833335 494 0 2670 --49.5833335 -49.4166665 -18.7500005 -18.5833335 567 0 2670 --49.4166665 -49.2499995 -18.7500005 -18.5833335 473 0 2670 --49.2500005 -49.0833335 -18.7500005 -18.5833335 706 0 2670 --49.0833335 -48.9166665 -18.7500005 -18.5833335 751 0 2670 --48.9166665 -48.7499995 -18.7500005 -18.5833335 767 0 2670 --48.7500005 -48.5833335 -18.7500005 -18.5833335 896 0 2670 --48.5833335 -48.4166665 -18.7500005 -18.5833335 657 0 2670 --48.4166665 -48.2499995 -18.7500005 -18.5833335 575 0 2670 --48.2500005 -48.0833335 -18.7500005 -18.5833335 944 0 2670 --48.0833335 -47.9166665 -18.7500005 -18.5833335 915 0 2670 --47.9166665 -47.7499995 -18.7500005 -18.5833335 933 0 2670 --47.7500005 -47.5833335 -18.7500005 -18.5833335 820 0 2670 --47.5833335 -47.4166665 -18.7500005 -18.5833335 845 0 2670 --47.4166665 -47.2499995 -18.7500005 -18.5833335 787 0 2670 --47.2500005 -47.0833335 -18.7500005 -18.5833335 921 0 2670 --47.0833335 -46.9166665 -18.7500005 -18.5833335 998 0 2670 --46.9166665 -46.7499995 -18.7500005 -18.5833335 1163 0 2670 --46.7500005 -46.5833335 -18.7500005 -18.5833335 903 0 2670 --46.5833335 -46.4166665 -18.7500005 -18.5833335 841 0 2670 --46.4166665 -46.2499995 -18.7500005 -18.5833335 957 0 2670 --46.2500005 -46.0833335 -18.7500005 -18.5833335 813 0 2670 --46.0833335 -45.9166665 -18.7500005 -18.5833335 804 0 2670 --45.9166665 -45.7499995 -18.7500005 -18.5833335 810 0 2670 --45.7500005 -45.5833335 -18.7500005 -18.5833335 835 0 2670 --45.5833335 -45.4166665 -18.7500005 -18.5833335 704 0 2670 --45.4166665 -45.2499995 -18.7500005 -18.5833335 583 0 2670 --45.2500005 -45.0833335 -18.7500005 -18.5833335 570 0 2670 --45.0833335 -44.9166665 -18.7500005 -18.5833335 599 0 2670 --44.9166665 -44.7499995 -18.7500005 -18.5833335 732 0 2670 --44.7500005 -44.5833335 -18.7500005 -18.5833335 716 0 2670 --44.5833335 -44.4166665 -18.7500005 -18.5833335 635 0 2670 --44.4166665 -44.2499995 -18.7500005 -18.5833335 603 0 2670 --44.2500005 -44.0833335 -18.7500005 -18.5833335 570 0 2670 --44.0833335 -43.9166665 -18.7500005 -18.5833335 586 0 2670 --43.9166665 -43.7499995 -18.7500005 -18.5833335 990 0 2670 --43.7500005 -43.5833335 -18.7500005 -18.5833335 1021 0 2670 --43.5833335 -43.4166665 -18.7500005 -18.5833335 1239 0 2670 --43.4166665 -43.2499995 -18.7500005 -18.5833335 761 0 2670 --43.2500005 -43.0833335 -18.7500005 -18.5833335 789 0 2670 --43.0833335 -42.9166665 -18.7500005 -18.5833335 888 0 2670 --42.9166665 -42.7499995 -18.7500005 -18.5833335 833 0 2670 --42.7500005 -42.5833335 -18.7500005 -18.5833335 898 0 2670 --42.5833335 -42.4166665 -18.7500005 -18.5833335 846 0 2670 --42.4166665 -42.2499995 -18.7500005 -18.5833335 871 0 2670 --42.2500005 -42.0833335 -18.7500005 -18.5833335 396 0 2670 --42.0833335 -41.9166665 -18.7500005 -18.5833335 377 0 2670 --41.9166665 -41.7499995 -18.7500005 -18.5833335 192 0 2670 --41.7500005 -41.5833335 -18.7500005 -18.5833335 279 0 2670 --41.5833335 -41.4166665 -18.7500005 -18.5833335 409 0 2670 --41.4166665 -41.2499995 -18.7500005 -18.5833335 315 0 2670 --41.2500005 -41.0833335 -18.7500005 -18.5833335 242 0 2670 --41.0833335 -40.9166665 -18.7500005 -18.5833335 202 0 2670 --40.9166665 -40.7499995 -18.7500005 -18.5833335 200 0 2670 --40.7500005 -40.5833335 -18.7500005 -18.5833335 201 0 2670 --40.5833335 -40.4166665 -18.7500005 -18.5833335 121 0 2670 --40.4166665 -40.2499995 -18.7500005 -18.5833335 175 0 2670 --40.2500005 -40.0833335 -18.7500005 -18.5833335 30 0 2670 --40.0833335 -39.9166665 -18.7500005 -18.5833335 21 0 2670 --65.0833335 -64.9166665 -18.9166665 -18.7499995 2211 0 2670 --64.9166665 -64.7499995 -18.9166665 -18.7499995 2342 0 2670 --64.7500005 -64.5833335 -18.9166665 -18.7499995 2599 0 2670 --64.5833335 -64.4166665 -18.9166665 -18.7499995 1519 0 2670 --64.4166665 -64.2499995 -18.9166665 -18.7499995 2040 0 2670 --64.2500005 -64.0833335 -18.9166665 -18.7499995 2257 0 2670 --64.0833335 -63.9166665 -18.9166665 -18.7499995 2008 0 2670 --63.9166665 -63.7499995 -18.9166665 -18.7499995 1125 0 2670 --63.7500005 -63.5833335 -18.9166665 -18.7499995 763 0 2670 --63.5833335 -63.4166665 -18.9166665 -18.7499995 723 0 2670 --63.4166665 -63.2499995 -18.9166665 -18.7499995 429 0 2670 --63.2500005 -63.0833335 -18.9166665 -18.7499995 421 0 2670 --63.0833335 -62.9166665 -18.9166665 -18.7499995 392 0 2670 --62.9166665 -62.7499995 -18.9166665 -18.7499995 376 0 2670 --62.7500005 -62.5833335 -18.9166665 -18.7499995 360 0 2670 --62.5833335 -62.4166665 -18.9166665 -18.7499995 345 0 2670 --62.4166665 -62.2499995 -18.9166665 -18.7499995 337 0 2670 --62.2500005 -62.0833335 -18.9166665 -18.7499995 334 0 2670 --62.0833335 -61.9166665 -18.9166665 -18.7499995 329 0 2670 --61.9166665 -61.7499995 -18.9166665 -18.7499995 312 0 2670 --61.7500005 -61.5833335 -18.9166665 -18.7499995 343 0 2670 --61.5833335 -61.4166665 -18.9166665 -18.7499995 335 0 2670 --61.4166665 -61.2499995 -18.9166665 -18.7499995 356 0 2670 --61.2500005 -61.0833335 -18.9166665 -18.7499995 338 0 2670 --61.0833335 -60.9166665 -18.9166665 -18.7499995 351 0 2670 --60.9166665 -60.7499995 -18.9166665 -18.7499995 416 0 2670 --60.7500005 -60.5833335 -18.9166665 -18.7499995 406 0 2670 --60.5833335 -60.4166665 -18.9166665 -18.7499995 425 0 2670 --60.4166665 -60.2499995 -18.9166665 -18.7499995 310 0 2670 --60.2500005 -60.0833335 -18.9166665 -18.7499995 310 0 2670 --60.0833335 -59.9166665 -18.9166665 -18.7499995 271 0 2670 --59.9166665 -59.7499995 -18.9166665 -18.7499995 336 0 2670 --59.7500005 -59.5833335 -18.9166665 -18.7499995 335 0 2670 --59.5833335 -59.4166665 -18.9166665 -18.7499995 240 0 2670 --59.4166665 -59.2499995 -18.9166665 -18.7499995 208 0 2670 --59.2500005 -59.0833335 -18.9166665 -18.7499995 167 0 2670 --59.0833335 -58.9166665 -18.9166665 -18.7499995 170 0 2670 --58.9166665 -58.7499995 -18.9166665 -18.7499995 136 0 2670 --58.7500005 -58.5833335 -18.9166665 -18.7499995 129 0 2670 --58.5833335 -58.4166665 -18.9166665 -18.7499995 121 0 2670 --58.4166665 -58.2499995 -18.9166665 -18.7499995 109 0 2670 --58.2500005 -58.0833335 -18.9166665 -18.7499995 104 0 2670 --58.0833335 -57.9166665 -18.9166665 -18.7499995 90 0 2670 --57.9166665 -57.7499995 -18.9166665 -18.7499995 87 0 2670 --57.7500005 -57.5833335 -18.9166665 -18.7499995 87 0 2670 --57.5833335 -57.4166665 -18.9166665 -18.7499995 90 0 2670 --57.4166665 -57.2499995 -18.9166665 -18.7499995 88 0 2670 --57.2500005 -57.0833335 -18.9166665 -18.7499995 92 0 2670 --57.0833335 -56.9166665 -18.9166665 -18.7499995 95 0 2670 --56.9166665 -56.7499995 -18.9166665 -18.7499995 101 0 2670 --56.7500005 -56.5833335 -18.9166665 -18.7499995 103 0 2670 --56.5833335 -56.4166665 -18.9166665 -18.7499995 109 0 2670 --56.4166665 -56.2499995 -18.9166665 -18.7499995 116 0 2670 --56.2500005 -56.0833335 -18.9166665 -18.7499995 125 0 2670 --56.0833335 -55.9166665 -18.9166665 -18.7499995 130 0 2670 --55.9166665 -55.7499995 -18.9166665 -18.7499995 140 0 2670 --55.7500005 -55.5833335 -18.9166665 -18.7499995 145 0 2670 --55.5833335 -55.4166665 -18.9166665 -18.7499995 154 0 2670 --55.4166665 -55.2499995 -18.9166665 -18.7499995 157 0 2670 --55.2500005 -55.0833335 -18.9166665 -18.7499995 159 0 2670 --55.0833335 -54.9166665 -18.9166665 -18.7499995 255 0 2670 --54.9166665 -54.7499995 -18.9166665 -18.7499995 324 0 2670 --54.7500005 -54.5833335 -18.9166665 -18.7499995 382 0 2670 --54.5833335 -54.4166665 -18.9166665 -18.7499995 342 0 2670 --54.4166665 -54.2499995 -18.9166665 -18.7499995 347 0 2670 --54.2500005 -54.0833335 -18.9166665 -18.7499995 406 0 2670 --54.0833335 -53.9166665 -18.9166665 -18.7499995 451 0 2670 --53.9166665 -53.7499995 -18.9166665 -18.7499995 537 0 2670 --53.7500005 -53.5833335 -18.9166665 -18.7499995 607 0 2670 --53.5833335 -53.4166665 -18.9166665 -18.7499995 709 0 2670 --53.4166665 -53.2499995 -18.9166665 -18.7499995 527 0 2670 --53.2500005 -53.0833335 -18.9166665 -18.7499995 710 0 2670 --53.0833335 -52.9166665 -18.9166665 -18.7499995 688 0 2670 --52.9166665 -52.7499995 -18.9166665 -18.7499995 736 0 2670 --52.7500005 -52.5833335 -18.9166665 -18.7499995 827 0 2670 --52.5833335 -52.4166665 -18.9166665 -18.7499995 822 0 2670 --52.4166665 -52.2499995 -18.9166665 -18.7499995 563 0 2670 --52.2500005 -52.0833335 -18.9166665 -18.7499995 571 0 2670 --52.0833335 -51.9166665 -18.9166665 -18.7499995 619 0 2670 --51.9166665 -51.7499995 -18.9166665 -18.7499995 578 0 2670 --51.7500005 -51.5833335 -18.9166665 -18.7499995 509 0 2670 --51.5833335 -51.4166665 -18.9166665 -18.7499995 485 0 2670 --51.4166665 -51.2499995 -18.9166665 -18.7499995 619 0 2670 --51.2500005 -51.0833335 -18.9166665 -18.7499995 466 0 2670 --51.0833335 -50.9166665 -18.9166665 -18.7499995 486 0 2670 --50.9166665 -50.7499995 -18.9166665 -18.7499995 524 0 2670 --50.7500005 -50.5833335 -18.9166665 -18.7499995 525 0 2670 --50.5833335 -50.4166665 -18.9166665 -18.7499995 481 0 2670 --50.4166665 -50.2499995 -18.9166665 -18.7499995 444 0 2670 --50.2500005 -50.0833335 -18.9166665 -18.7499995 507 0 2670 --50.0833335 -49.9166665 -18.9166665 -18.7499995 422 0 2670 --49.9166665 -49.7499995 -18.9166665 -18.7499995 454 0 2670 --49.7500005 -49.5833335 -18.9166665 -18.7499995 563 0 2670 --49.5833335 -49.4166665 -18.9166665 -18.7499995 610 0 2670 --49.4166665 -49.2499995 -18.9166665 -18.7499995 630 0 2670 --49.2500005 -49.0833335 -18.9166665 -18.7499995 668 0 2670 --49.0833335 -48.9166665 -18.9166665 -18.7499995 687 0 2670 --48.9166665 -48.7499995 -18.9166665 -18.7499995 821 0 2670 --48.7500005 -48.5833335 -18.9166665 -18.7499995 822 0 2670 --48.5833335 -48.4166665 -18.9166665 -18.7499995 809 0 2670 --48.4166665 -48.2499995 -18.9166665 -18.7499995 872 0 2670 --48.2500005 -48.0833335 -18.9166665 -18.7499995 733 0 2670 --48.0833335 -47.9166665 -18.9166665 -18.7499995 903 0 2670 --47.9166665 -47.7499995 -18.9166665 -18.7499995 992 0 2670 --47.7500005 -47.5833335 -18.9166665 -18.7499995 891 0 2670 --47.5833335 -47.4166665 -18.9166665 -18.7499995 1030 0 2670 --47.4166665 -47.2499995 -18.9166665 -18.7499995 999 0 2670 --47.2500005 -47.0833335 -18.9166665 -18.7499995 944 0 2670 --47.0833335 -46.9166665 -18.9166665 -18.7499995 1016 0 2670 --46.9166665 -46.7499995 -18.9166665 -18.7499995 903 0 2670 --46.7500005 -46.5833335 -18.9166665 -18.7499995 858 0 2670 --46.5833335 -46.4166665 -18.9166665 -18.7499995 850 0 2670 --46.4166665 -46.2499995 -18.9166665 -18.7499995 869 0 2670 --46.2500005 -46.0833335 -18.9166665 -18.7499995 853 0 2670 --46.0833335 -45.9166665 -18.9166665 -18.7499995 860 0 2670 --45.9166665 -45.7499995 -18.9166665 -18.7499995 1015 0 2670 --45.7500005 -45.5833335 -18.9166665 -18.7499995 696 0 2670 --45.5833335 -45.4166665 -18.9166665 -18.7499995 633 0 2670 --45.4166665 -45.2499995 -18.9166665 -18.7499995 579 0 2670 --45.2500005 -45.0833335 -18.9166665 -18.7499995 574 0 2670 --45.0833335 -44.9166665 -18.9166665 -18.7499995 581 0 2670 --44.9166665 -44.7499995 -18.9166665 -18.7499995 612 0 2670 --44.7500005 -44.5833335 -18.9166665 -18.7499995 694 0 2670 --44.5833335 -44.4166665 -18.9166665 -18.7499995 727 0 2670 --44.4166665 -44.2499995 -18.9166665 -18.7499995 687 0 2670 --44.2500005 -44.0833335 -18.9166665 -18.7499995 630 0 2670 --44.0833335 -43.9166665 -18.9166665 -18.7499995 701 0 2670 --43.9166665 -43.7499995 -18.9166665 -18.7499995 1322 0 2670 --43.7500005 -43.5833335 -18.9166665 -18.7499995 1090 0 2670 --43.5833335 -43.4166665 -18.9166665 -18.7499995 719 0 2670 --43.4166665 -43.2499995 -18.9166665 -18.7499995 669 0 2670 --43.2500005 -43.0833335 -18.9166665 -18.7499995 745 0 2670 --43.0833335 -42.9166665 -18.9166665 -18.7499995 822 0 2670 --42.9166665 -42.7499995 -18.9166665 -18.7499995 933 0 2670 --42.7500005 -42.5833335 -18.9166665 -18.7499995 866 0 2670 --42.5833335 -42.4166665 -18.9166665 -18.7499995 803 0 2670 --42.4166665 -42.2499995 -18.9166665 -18.7499995 764 0 2670 --42.2500005 -42.0833335 -18.9166665 -18.7499995 420 0 2670 --42.0833335 -41.9166665 -18.9166665 -18.7499995 231 0 2670 --41.9166665 -41.7499995 -18.9166665 -18.7499995 232 0 2670 --41.7500005 -41.5833335 -18.9166665 -18.7499995 257 0 2670 --41.5833335 -41.4166665 -18.9166665 -18.7499995 290 0 2670 --41.4166665 -41.2499995 -18.9166665 -18.7499995 514 0 2670 --41.2500005 -41.0833335 -18.9166665 -18.7499995 485 0 2670 --41.0833335 -40.9166665 -18.9166665 -18.7499995 467 0 2670 --40.9166665 -40.7499995 -18.9166665 -18.7499995 308 0 2670 --40.7500005 -40.5833335 -18.9166665 -18.7499995 407 0 2670 --40.5833335 -40.4166665 -18.9166665 -18.7499995 162 0 2670 --40.4166665 -40.2499995 -18.9166665 -18.7499995 150 0 2670 --40.2500005 -40.0833335 -18.9166665 -18.7499995 92 0 2670 --40.0833335 -39.9166665 -18.9166665 -18.7499995 65 0 2670 --65.0833335 -64.9166665 -19.0833335 -18.9166665 2682 0 2670 --64.9166665 -64.7499995 -19.0833335 -18.9166665 2802 0 2670 --64.7500005 -64.5833335 -19.0833335 -18.9166665 2641 0 2670 --64.5833335 -64.4166665 -19.0833335 -18.9166665 1791 0 2670 --64.4166665 -64.2499995 -19.0833335 -18.9166665 2621 0 2670 --64.2500005 -64.0833335 -19.0833335 -18.9166665 1560 0 2670 --64.0833335 -63.9166665 -19.0833335 -18.9166665 1408 0 2670 --63.9166665 -63.7499995 -19.0833335 -18.9166665 1086 0 2670 --63.7500005 -63.5833335 -19.0833335 -18.9166665 744 0 2670 --63.5833335 -63.4166665 -19.0833335 -18.9166665 1049 0 2670 --63.4166665 -63.2499995 -19.0833335 -18.9166665 517 0 2670 --63.2500005 -63.0833335 -19.0833335 -18.9166665 498 0 2670 --63.0833335 -62.9166665 -19.0833335 -18.9166665 408 0 2670 --62.9166665 -62.7499995 -19.0833335 -18.9166665 378 0 2670 --62.7500005 -62.5833335 -19.0833335 -18.9166665 363 0 2670 --62.5833335 -62.4166665 -19.0833335 -18.9166665 353 0 2670 --62.4166665 -62.2499995 -19.0833335 -18.9166665 343 0 2670 --62.2500005 -62.0833335 -19.0833335 -18.9166665 343 0 2670 --62.0833335 -61.9166665 -19.0833335 -18.9166665 357 0 2670 --61.9166665 -61.7499995 -19.0833335 -18.9166665 368 0 2670 --61.7500005 -61.5833335 -19.0833335 -18.9166665 388 0 2670 --61.5833335 -61.4166665 -19.0833335 -18.9166665 391 0 2670 --61.4166665 -61.2499995 -19.0833335 -18.9166665 369 0 2670 --61.2500005 -61.0833335 -19.0833335 -18.9166665 363 0 2670 --61.0833335 -60.9166665 -19.0833335 -18.9166665 414 0 2670 --60.9166665 -60.7499995 -19.0833335 -18.9166665 394 0 2670 --60.7500005 -60.5833335 -19.0833335 -18.9166665 377 0 2670 --60.5833335 -60.4166665 -19.0833335 -18.9166665 360 0 2670 --60.4166665 -60.2499995 -19.0833335 -18.9166665 291 0 2670 --60.2500005 -60.0833335 -19.0833335 -18.9166665 285 0 2670 --60.0833335 -59.9166665 -19.0833335 -18.9166665 241 0 2670 --59.9166665 -59.7499995 -19.0833335 -18.9166665 244 0 2670 --59.7500005 -59.5833335 -19.0833335 -18.9166665 292 0 2670 --59.5833335 -59.4166665 -19.0833335 -18.9166665 378 0 2670 --59.4166665 -59.2499995 -19.0833335 -18.9166665 334 0 2670 --59.2500005 -59.0833335 -19.0833335 -18.9166665 229 0 2670 --59.0833335 -58.9166665 -19.0833335 -18.9166665 172 0 2670 --58.9166665 -58.7499995 -19.0833335 -18.9166665 133 0 2670 --58.7500005 -58.5833335 -19.0833335 -18.9166665 122 0 2670 --58.5833335 -58.4166665 -19.0833335 -18.9166665 110 0 2670 --58.4166665 -58.2499995 -19.0833335 -18.9166665 102 0 2670 --58.2500005 -58.0833335 -19.0833335 -18.9166665 100 0 2670 --58.0833335 -57.9166665 -19.0833335 -18.9166665 110 0 2670 --57.9166665 -57.7499995 -19.0833335 -18.9166665 158 0 2670 --57.7500005 -57.5833335 -19.0833335 -18.9166665 107 0 2670 --57.5833335 -57.4166665 -19.0833335 -18.9166665 87 0 2670 --57.4166665 -57.2499995 -19.0833335 -18.9166665 89 0 2670 --57.2500005 -57.0833335 -19.0833335 -18.9166665 89 0 2670 --57.0833335 -56.9166665 -19.0833335 -18.9166665 93 0 2670 --56.9166665 -56.7499995 -19.0833335 -18.9166665 95 0 2670 --56.7500005 -56.5833335 -19.0833335 -18.9166665 102 0 2670 --56.5833335 -56.4166665 -19.0833335 -18.9166665 109 0 2670 --56.4166665 -56.2499995 -19.0833335 -18.9166665 117 0 2670 --56.2500005 -56.0833335 -19.0833335 -18.9166665 121 0 2670 --56.0833335 -55.9166665 -19.0833335 -18.9166665 130 0 2670 --55.9166665 -55.7499995 -19.0833335 -18.9166665 134 0 2670 --55.7500005 -55.5833335 -19.0833335 -18.9166665 138 0 2670 --55.5833335 -55.4166665 -19.0833335 -18.9166665 143 0 2670 --55.4166665 -55.2499995 -19.0833335 -18.9166665 149 0 2670 --55.2500005 -55.0833335 -19.0833335 -18.9166665 158 0 2670 --55.0833335 -54.9166665 -19.0833335 -18.9166665 616 0 2670 --54.9166665 -54.7499995 -19.0833335 -18.9166665 504 0 2670 --54.7500005 -54.5833335 -19.0833335 -18.9166665 544 0 2670 --54.5833335 -54.4166665 -19.0833335 -18.9166665 456 0 2670 --54.4166665 -54.2499995 -19.0833335 -18.9166665 316 0 2670 --54.2500005 -54.0833335 -19.0833335 -18.9166665 337 0 2670 --54.0833335 -53.9166665 -19.0833335 -18.9166665 446 0 2670 --53.9166665 -53.7499995 -19.0833335 -18.9166665 423 0 2670 --53.7500005 -53.5833335 -19.0833335 -18.9166665 539 0 2670 --53.5833335 -53.4166665 -19.0833335 -18.9166665 554 0 2670 --53.4166665 -53.2499995 -19.0833335 -18.9166665 658 0 2670 --53.2500005 -53.0833335 -19.0833335 -18.9166665 544 0 2670 --53.0833335 -52.9166665 -19.0833335 -18.9166665 604 0 2670 --52.9166665 -52.7499995 -19.0833335 -18.9166665 690 0 2670 --52.7500005 -52.5833335 -19.0833335 -18.9166665 670 0 2670 --52.5833335 -52.4166665 -19.0833335 -18.9166665 537 0 2670 --52.4166665 -52.2499995 -19.0833335 -18.9166665 578 0 2670 --52.2500005 -52.0833335 -19.0833335 -18.9166665 599 0 2670 --52.0833335 -51.9166665 -19.0833335 -18.9166665 555 0 2670 --51.9166665 -51.7499995 -19.0833335 -18.9166665 587 0 2670 --51.7500005 -51.5833335 -19.0833335 -18.9166665 646 0 2670 --51.5833335 -51.4166665 -19.0833335 -18.9166665 530 0 2670 --51.4166665 -51.2499995 -19.0833335 -18.9166665 457 0 2670 --51.2500005 -51.0833335 -19.0833335 -18.9166665 454 0 2670 --51.0833335 -50.9166665 -19.0833335 -18.9166665 477 0 2670 --50.9166665 -50.7499995 -19.0833335 -18.9166665 450 0 2670 --50.7500005 -50.5833335 -19.0833335 -18.9166665 418 0 2670 --50.5833335 -50.4166665 -19.0833335 -18.9166665 399 0 2670 --50.4166665 -50.2499995 -19.0833335 -18.9166665 405 0 2670 --50.2500005 -50.0833335 -19.0833335 -18.9166665 621 0 2670 --50.0833335 -49.9166665 -19.0833335 -18.9166665 536 0 2670 --49.9166665 -49.7499995 -19.0833335 -18.9166665 523 0 2670 --49.7500005 -49.5833335 -19.0833335 -18.9166665 548 0 2670 --49.5833335 -49.4166665 -19.0833335 -18.9166665 584 0 2670 --49.4166665 -49.2499995 -19.0833335 -18.9166665 638 0 2670 --49.2500005 -49.0833335 -19.0833335 -18.9166665 637 0 2670 --49.0833335 -48.9166665 -19.0833335 -18.9166665 687 0 2670 --48.9166665 -48.7499995 -19.0833335 -18.9166665 725 0 2670 --48.7500005 -48.5833335 -19.0833335 -18.9166665 768 0 2670 --48.5833335 -48.4166665 -19.0833335 -18.9166665 796 0 2670 --48.4166665 -48.2499995 -19.0833335 -18.9166665 875 0 2670 --48.2500005 -48.0833335 -19.0833335 -18.9166665 871 0 2670 --48.0833335 -47.9166665 -19.0833335 -18.9166665 727 0 2670 --47.9166665 -47.7499995 -19.0833335 -18.9166665 930 0 2670 --47.7500005 -47.5833335 -19.0833335 -18.9166665 1008 0 2670 --47.5833335 -47.4166665 -19.0833335 -18.9166665 1001 0 2670 --47.4166665 -47.2499995 -19.0833335 -18.9166665 944 0 2670 --47.2500005 -47.0833335 -19.0833335 -18.9166665 905 0 2670 --47.0833335 -46.9166665 -19.0833335 -18.9166665 980 0 2670 --46.9166665 -46.7499995 -19.0833335 -18.9166665 972 0 2670 --46.7500005 -46.5833335 -19.0833335 -18.9166665 903 0 2670 --46.5833335 -46.4166665 -19.0833335 -18.9166665 881 0 2670 --46.4166665 -46.2499995 -19.0833335 -18.9166665 1038 0 2670 --46.2500005 -46.0833335 -19.0833335 -18.9166665 1078 0 2670 --46.0833335 -45.9166665 -19.0833335 -18.9166665 923 0 2670 --45.9166665 -45.7499995 -19.0833335 -18.9166665 925 0 2670 --45.7500005 -45.5833335 -19.0833335 -18.9166665 838 0 2670 --45.5833335 -45.4166665 -19.0833335 -18.9166665 593 0 2670 --45.4166665 -45.2499995 -19.0833335 -18.9166665 600 0 2670 --45.2500005 -45.0833335 -19.0833335 -18.9166665 674 0 2670 --45.0833335 -44.9166665 -19.0833335 -18.9166665 678 0 2670 --44.9166665 -44.7499995 -19.0833335 -18.9166665 733 0 2670 --44.7500005 -44.5833335 -19.0833335 -18.9166665 766 0 2670 --44.5833335 -44.4166665 -19.0833335 -18.9166665 792 0 2670 --44.4166665 -44.2499995 -19.0833335 -18.9166665 725 0 2670 --44.2500005 -44.0833335 -19.0833335 -18.9166665 667 0 2670 --44.0833335 -43.9166665 -19.0833335 -18.9166665 654 0 2670 --43.9166665 -43.7499995 -19.0833335 -18.9166665 742 0 2670 --43.7500005 -43.5833335 -19.0833335 -18.9166665 1399 0 2670 --43.5833335 -43.4166665 -19.0833335 -18.9166665 754 0 2670 --43.4166665 -43.2499995 -19.0833335 -18.9166665 688 0 2670 --43.2500005 -43.0833335 -19.0833335 -18.9166665 825 0 2670 --43.0833335 -42.9166665 -19.0833335 -18.9166665 592 0 2670 --42.9166665 -42.7499995 -19.0833335 -18.9166665 728 0 2670 --42.7500005 -42.5833335 -19.0833335 -18.9166665 780 0 2670 --42.5833335 -42.4166665 -19.0833335 -18.9166665 626 0 2670 --42.4166665 -42.2499995 -19.0833335 -18.9166665 301 0 2670 --42.2500005 -42.0833335 -19.0833335 -18.9166665 207 0 2670 --42.0833335 -41.9166665 -19.0833335 -18.9166665 240 0 2670 --41.9166665 -41.7499995 -19.0833335 -18.9166665 254 0 2670 --41.7500005 -41.5833335 -19.0833335 -18.9166665 220 0 2670 --41.5833335 -41.4166665 -19.0833335 -18.9166665 280 0 2670 --41.4166665 -41.2499995 -19.0833335 -18.9166665 431 0 2670 --41.2500005 -41.0833335 -19.0833335 -18.9166665 264 0 2670 --41.0833335 -40.9166665 -19.0833335 -18.9166665 765 0 2670 --40.9166665 -40.7499995 -19.0833335 -18.9166665 231 0 2670 --40.7500005 -40.5833335 -19.0833335 -18.9166665 227 0 2670 --40.5833335 -40.4166665 -19.0833335 -18.9166665 155 0 2670 --40.4166665 -40.2499995 -19.0833335 -18.9166665 134 0 2670 --40.2500005 -40.0833335 -19.0833335 -18.9166665 91 0 2670 --40.0833335 -39.9166665 -19.0833335 -18.9166665 34 0 2670 --65.0833335 -64.9166665 -19.2500005 -19.0833335 3130 0 2670 --64.9166665 -64.7499995 -19.2500005 -19.0833335 3160 0 2670 --64.7500005 -64.5833335 -19.2500005 -19.0833335 2620 0 2670 --64.5833335 -64.4166665 -19.2500005 -19.0833335 2213 0 2670 --64.4166665 -64.2499995 -19.2500005 -19.0833335 2274 0 2670 --64.2500005 -64.0833335 -19.2500005 -19.0833335 2025 0 2670 --64.0833335 -63.9166665 -19.2500005 -19.0833335 1173 0 2670 --63.9166665 -63.7499995 -19.2500005 -19.0833335 1560 0 2670 --63.7500005 -63.5833335 -19.2500005 -19.0833335 586 0 2670 --63.5833335 -63.4166665 -19.2500005 -19.0833335 810 0 2670 --63.4166665 -63.2499995 -19.2500005 -19.0833335 749 0 2670 --63.2500005 -63.0833335 -19.2500005 -19.0833335 594 0 2670 --63.0833335 -62.9166665 -19.2500005 -19.0833335 514 0 2670 --62.9166665 -62.7499995 -19.2500005 -19.0833335 428 0 2670 --62.7500005 -62.5833335 -19.2500005 -19.0833335 375 0 2670 --62.5833335 -62.4166665 -19.2500005 -19.0833335 374 0 2670 --62.4166665 -62.2499995 -19.2500005 -19.0833335 367 0 2670 --62.2500005 -62.0833335 -19.2500005 -19.0833335 356 0 2670 --62.0833335 -61.9166665 -19.2500005 -19.0833335 346 0 2670 --61.9166665 -61.7499995 -19.2500005 -19.0833335 352 0 2670 --61.7500005 -61.5833335 -19.2500005 -19.0833335 326 0 2670 --61.5833335 -61.4166665 -19.2500005 -19.0833335 364 0 2670 --61.4166665 -61.2499995 -19.2500005 -19.0833335 314 0 2670 --61.2500005 -61.0833335 -19.2500005 -19.0833335 314 0 2670 --61.0833335 -60.9166665 -19.2500005 -19.0833335 272 0 2670 --60.9166665 -60.7499995 -19.2500005 -19.0833335 300 0 2670 --60.7500005 -60.5833335 -19.2500005 -19.0833335 323 0 2670 --60.5833335 -60.4166665 -19.2500005 -19.0833335 312 0 2670 --60.4166665 -60.2499995 -19.2500005 -19.0833335 284 0 2670 --60.2500005 -60.0833335 -19.2500005 -19.0833335 227 0 2670 --60.0833335 -59.9166665 -19.2500005 -19.0833335 200 0 2670 --59.9166665 -59.7499995 -19.2500005 -19.0833335 236 0 2670 --59.7500005 -59.5833335 -19.2500005 -19.0833335 258 0 2670 --59.5833335 -59.4166665 -19.2500005 -19.0833335 271 0 2670 --59.4166665 -59.2499995 -19.2500005 -19.0833335 290 0 2670 --59.2500005 -59.0833335 -19.2500005 -19.0833335 330 0 2670 --59.0833335 -58.9166665 -19.2500005 -19.0833335 218 0 2670 --58.9166665 -58.7499995 -19.2500005 -19.0833335 164 0 2670 --58.7500005 -58.5833335 -19.2500005 -19.0833335 123 0 2670 --58.5833335 -58.4166665 -19.2500005 -19.0833335 112 0 2670 --58.4166665 -58.2499995 -19.2500005 -19.0833335 102 0 2670 --58.2500005 -58.0833335 -19.2500005 -19.0833335 96 0 2670 --58.0833335 -57.9166665 -19.2500005 -19.0833335 103 0 2670 --57.9166665 -57.7499995 -19.2500005 -19.0833335 108 0 2670 --57.7500005 -57.5833335 -19.2500005 -19.0833335 149 0 2670 --57.5833335 -57.4166665 -19.2500005 -19.0833335 561 0 2670 --57.4166665 -57.2499995 -19.2500005 -19.0833335 87 0 2670 --57.2500005 -57.0833335 -19.2500005 -19.0833335 85 0 2670 --57.0833335 -56.9166665 -19.2500005 -19.0833335 90 0 2670 --56.9166665 -56.7499995 -19.2500005 -19.0833335 95 0 2670 --56.7500005 -56.5833335 -19.2500005 -19.0833335 101 0 2670 --56.5833335 -56.4166665 -19.2500005 -19.0833335 106 0 2670 --56.4166665 -56.2499995 -19.2500005 -19.0833335 113 0 2670 --56.2500005 -56.0833335 -19.2500005 -19.0833335 118 0 2670 --56.0833335 -55.9166665 -19.2500005 -19.0833335 126 0 2670 --55.9166665 -55.7499995 -19.2500005 -19.0833335 128 0 2670 --55.7500005 -55.5833335 -19.2500005 -19.0833335 135 0 2670 --55.5833335 -55.4166665 -19.2500005 -19.0833335 138 0 2670 --55.4166665 -55.2499995 -19.2500005 -19.0833335 139 0 2670 --55.2500005 -55.0833335 -19.2500005 -19.0833335 155 0 2670 --55.0833335 -54.9166665 -19.2500005 -19.0833335 429 0 2670 --54.9166665 -54.7499995 -19.2500005 -19.0833335 523 0 2670 --54.7500005 -54.5833335 -19.2500005 -19.0833335 699 0 2670 --54.5833335 -54.4166665 -19.2500005 -19.0833335 657 0 2670 --54.4166665 -54.2499995 -19.2500005 -19.0833335 418 0 2670 --54.2500005 -54.0833335 -19.2500005 -19.0833335 356 0 2670 --54.0833335 -53.9166665 -19.2500005 -19.0833335 401 0 2670 --53.9166665 -53.7499995 -19.2500005 -19.0833335 583 0 2670 --53.7500005 -53.5833335 -19.2500005 -19.0833335 578 0 2670 --53.5833335 -53.4166665 -19.2500005 -19.0833335 564 0 2670 --53.4166665 -53.2499995 -19.2500005 -19.0833335 641 0 2670 --53.2500005 -53.0833335 -19.2500005 -19.0833335 623 0 2670 --53.0833335 -52.9166665 -19.2500005 -19.0833335 575 0 2670 --52.9166665 -52.7499995 -19.2500005 -19.0833335 599 0 2670 --52.7500005 -52.5833335 -19.2500005 -19.0833335 584 0 2670 --52.5833335 -52.4166665 -19.2500005 -19.0833335 566 0 2670 --52.4166665 -52.2499995 -19.2500005 -19.0833335 504 0 2670 --52.2500005 -52.0833335 -19.2500005 -19.0833335 524 0 2670 --52.0833335 -51.9166665 -19.2500005 -19.0833335 581 0 2670 --51.9166665 -51.7499995 -19.2500005 -19.0833335 697 0 2670 --51.7500005 -51.5833335 -19.2500005 -19.0833335 445 0 2670 --51.5833335 -51.4166665 -19.2500005 -19.0833335 417 0 2670 --51.4166665 -51.2499995 -19.2500005 -19.0833335 428 0 2670 --51.2500005 -51.0833335 -19.2500005 -19.0833335 433 0 2670 --51.0833335 -50.9166665 -19.2500005 -19.0833335 358 0 2670 --50.9166665 -50.7499995 -19.2500005 -19.0833335 455 0 2670 --50.7500005 -50.5833335 -19.2500005 -19.0833335 345 0 2670 --50.5833335 -50.4166665 -19.2500005 -19.0833335 449 0 2670 --50.4166665 -50.2499995 -19.2500005 -19.0833335 446 0 2670 --50.2500005 -50.0833335 -19.2500005 -19.0833335 478 0 2670 --50.0833335 -49.9166665 -19.2500005 -19.0833335 477 0 2670 --49.9166665 -49.7499995 -19.2500005 -19.0833335 529 0 2670 --49.7500005 -49.5833335 -19.2500005 -19.0833335 552 0 2670 --49.5833335 -49.4166665 -19.2500005 -19.0833335 566 0 2670 --49.4166665 -49.2499995 -19.2500005 -19.0833335 624 0 2670 --49.2500005 -49.0833335 -19.2500005 -19.0833335 649 0 2670 --49.0833335 -48.9166665 -19.2500005 -19.0833335 696 0 2670 --48.9166665 -48.7499995 -19.2500005 -19.0833335 706 0 2670 --48.7500005 -48.5833335 -19.2500005 -19.0833335 710 0 2670 --48.5833335 -48.4166665 -19.2500005 -19.0833335 774 0 2670 --48.4166665 -48.2499995 -19.2500005 -19.0833335 826 0 2670 --48.2500005 -48.0833335 -19.2500005 -19.0833335 885 0 2670 --48.0833335 -47.9166665 -19.2500005 -19.0833335 929 0 2670 --47.9166665 -47.7499995 -19.2500005 -19.0833335 849 0 2670 --47.7500005 -47.5833335 -19.2500005 -19.0833335 891 0 2670 --47.5833335 -47.4166665 -19.2500005 -19.0833335 938 0 2670 --47.4166665 -47.2499995 -19.2500005 -19.0833335 832 0 2670 --47.2500005 -47.0833335 -19.2500005 -19.0833335 809 0 2670 --47.0833335 -46.9166665 -19.2500005 -19.0833335 962 0 2670 --46.9166665 -46.7499995 -19.2500005 -19.0833335 904 0 2670 --46.7500005 -46.5833335 -19.2500005 -19.0833335 1012 0 2670 --46.5833335 -46.4166665 -19.2500005 -19.0833335 1023 0 2670 --46.4166665 -46.2499995 -19.2500005 -19.0833335 890 0 2670 --46.2500005 -46.0833335 -19.2500005 -19.0833335 1014 0 2670 --46.0833335 -45.9166665 -19.2500005 -19.0833335 1054 0 2670 --45.9166665 -45.7499995 -19.2500005 -19.0833335 831 0 2670 --45.7500005 -45.5833335 -19.2500005 -19.0833335 709 0 2670 --45.5833335 -45.4166665 -19.2500005 -19.0833335 627 0 2670 --45.4166665 -45.2499995 -19.2500005 -19.0833335 668 0 2670 --45.2500005 -45.0833335 -19.2500005 -19.0833335 669 0 2670 --45.0833335 -44.9166665 -19.2500005 -19.0833335 669 0 2670 --44.9166665 -44.7499995 -19.2500005 -19.0833335 696 0 2670 --44.7500005 -44.5833335 -19.2500005 -19.0833335 675 0 2670 --44.5833335 -44.4166665 -19.2500005 -19.0833335 732 0 2670 --44.4166665 -44.2499995 -19.2500005 -19.0833335 807 0 2670 --44.2500005 -44.0833335 -19.2500005 -19.0833335 704 0 2670 --44.0833335 -43.9166665 -19.2500005 -19.0833335 720 0 2670 --43.9166665 -43.7499995 -19.2500005 -19.0833335 1022 0 2670 --43.7500005 -43.5833335 -19.2500005 -19.0833335 1119 0 2670 --43.5833335 -43.4166665 -19.2500005 -19.0833335 1240 0 2670 --43.4166665 -43.2499995 -19.2500005 -19.0833335 561 0 2670 --43.2500005 -43.0833335 -19.2500005 -19.0833335 749 0 2670 --43.0833335 -42.9166665 -19.2500005 -19.0833335 731 0 2670 --42.9166665 -42.7499995 -19.2500005 -19.0833335 464 0 2670 --42.7500005 -42.5833335 -19.2500005 -19.0833335 418 0 2670 --42.5833335 -42.4166665 -19.2500005 -19.0833335 286 0 2670 --42.4166665 -42.2499995 -19.2500005 -19.0833335 266 0 2670 --42.2500005 -42.0833335 -19.2500005 -19.0833335 239 0 2670 --42.0833335 -41.9166665 -19.2500005 -19.0833335 407 0 2670 --41.9166665 -41.7499995 -19.2500005 -19.0833335 386 0 2670 --41.7500005 -41.5833335 -19.2500005 -19.0833335 331 0 2670 --41.5833335 -41.4166665 -19.2500005 -19.0833335 185 0 2670 --41.4166665 -41.2499995 -19.2500005 -19.0833335 387 0 2670 --41.2500005 -41.0833335 -19.2500005 -19.0833335 214 0 2670 --41.0833335 -40.9166665 -19.2500005 -19.0833335 268 0 2670 --40.9166665 -40.7499995 -19.2500005 -19.0833335 402 0 2670 --40.7500005 -40.5833335 -19.2500005 -19.0833335 179 0 2670 --40.5833335 -40.4166665 -19.2500005 -19.0833335 149 0 2670 --40.4166665 -40.2499995 -19.2500005 -19.0833335 142 0 2670 --40.2500005 -40.0833335 -19.2500005 -19.0833335 80 0 2670 --40.0833335 -39.9166665 -19.2500005 -19.0833335 48 0 2670 --65.0833335 -64.9166665 -19.4166665 -19.2499995 2222 0 2670 --64.9166665 -64.7499995 -19.4166665 -19.2499995 2792 0 2670 --64.7500005 -64.5833335 -19.4166665 -19.2499995 3224 0 2670 --64.5833335 -64.4166665 -19.4166665 -19.2499995 2332 0 2670 --64.4166665 -64.2499995 -19.4166665 -19.2499995 2112 0 2670 --64.2500005 -64.0833335 -19.4166665 -19.2499995 1769 0 2670 --64.0833335 -63.9166665 -19.4166665 -19.2499995 920 0 2670 --63.9166665 -63.7499995 -19.4166665 -19.2499995 1550 0 2670 --63.7500005 -63.5833335 -19.4166665 -19.2499995 845 0 2670 --63.5833335 -63.4166665 -19.4166665 -19.2499995 1062 0 2670 --63.4166665 -63.2499995 -19.4166665 -19.2499995 1364 0 2670 --63.2500005 -63.0833335 -19.4166665 -19.2499995 673 0 2670 --63.0833335 -62.9166665 -19.4166665 -19.2499995 571 0 2670 --62.9166665 -62.7499995 -19.4166665 -19.2499995 491 0 2670 --62.7500005 -62.5833335 -19.4166665 -19.2499995 400 0 2670 --62.5833335 -62.4166665 -19.4166665 -19.2499995 394 0 2670 --62.4166665 -62.2499995 -19.4166665 -19.2499995 383 0 2670 --62.2500005 -62.0833335 -19.4166665 -19.2499995 372 0 2670 --62.0833335 -61.9166665 -19.4166665 -19.2499995 353 0 2670 --61.9166665 -61.7499995 -19.4166665 -19.2499995 339 0 2670 --61.7500005 -61.5833335 -19.4166665 -19.2499995 331 0 2670 --61.5833335 -61.4166665 -19.4166665 -19.2499995 338 0 2670 --61.4166665 -61.2499995 -19.4166665 -19.2499995 321 0 2670 --61.2500005 -61.0833335 -19.4166665 -19.2499995 296 0 2670 --61.0833335 -60.9166665 -19.4166665 -19.2499995 269 0 2670 --60.9166665 -60.7499995 -19.4166665 -19.2499995 269 0 2670 --60.7500005 -60.5833335 -19.4166665 -19.2499995 246 0 2670 --60.5833335 -60.4166665 -19.4166665 -19.2499995 283 0 2670 --60.4166665 -60.2499995 -19.4166665 -19.2499995 272 0 2670 --60.2500005 -60.0833335 -19.4166665 -19.2499995 207 0 2670 --60.0833335 -59.9166665 -19.4166665 -19.2499995 176 0 2670 --59.9166665 -59.7499995 -19.4166665 -19.2499995 180 0 2670 --59.7500005 -59.5833335 -19.4166665 -19.2499995 203 0 2670 --59.5833335 -59.4166665 -19.4166665 -19.2499995 186 0 2670 --59.4166665 -59.2499995 -19.4166665 -19.2499995 245 0 2670 --59.2500005 -59.0833335 -19.4166665 -19.2499995 271 0 2670 --59.0833335 -58.9166665 -19.4166665 -19.2499995 311 0 2670 --58.9166665 -58.7499995 -19.4166665 -19.2499995 205 0 2670 --58.7500005 -58.5833335 -19.4166665 -19.2499995 135 0 2670 --58.5833335 -58.4166665 -19.4166665 -19.2499995 107 0 2670 --58.4166665 -58.2499995 -19.4166665 -19.2499995 100 0 2670 --58.2500005 -58.0833335 -19.4166665 -19.2499995 100 0 2670 --58.0833335 -57.9166665 -19.4166665 -19.2499995 84 0 2670 --57.9166665 -57.7499995 -19.4166665 -19.2499995 83 0 2670 --57.7500005 -57.5833335 -19.4166665 -19.2499995 83 0 2670 --57.5833335 -57.4166665 -19.4166665 -19.2499995 288 0 2670 --57.4166665 -57.2499995 -19.4166665 -19.2499995 86 0 2670 --57.2500005 -57.0833335 -19.4166665 -19.2499995 84 0 2670 --57.0833335 -56.9166665 -19.4166665 -19.2499995 90 0 2670 --56.9166665 -56.7499995 -19.4166665 -19.2499995 95 0 2670 --56.7500005 -56.5833335 -19.4166665 -19.2499995 99 0 2670 --56.5833335 -56.4166665 -19.4166665 -19.2499995 104 0 2670 --56.4166665 -56.2499995 -19.4166665 -19.2499995 108 0 2670 --56.2500005 -56.0833335 -19.4166665 -19.2499995 115 0 2670 --56.0833335 -55.9166665 -19.4166665 -19.2499995 118 0 2670 --55.9166665 -55.7499995 -19.4166665 -19.2499995 124 0 2670 --55.7500005 -55.5833335 -19.4166665 -19.2499995 127 0 2670 --55.5833335 -55.4166665 -19.4166665 -19.2499995 133 0 2670 --55.4166665 -55.2499995 -19.4166665 -19.2499995 145 0 2670 --55.2500005 -55.0833335 -19.4166665 -19.2499995 166 0 2670 --55.0833335 -54.9166665 -19.4166665 -19.2499995 255 0 2670 --54.9166665 -54.7499995 -19.4166665 -19.2499995 393 0 2670 --54.7500005 -54.5833335 -19.4166665 -19.2499995 638 0 2670 --54.5833335 -54.4166665 -19.4166665 -19.2499995 707 0 2670 --54.4166665 -54.2499995 -19.4166665 -19.2499995 390 0 2670 --54.2500005 -54.0833335 -19.4166665 -19.2499995 344 0 2670 --54.0833335 -53.9166665 -19.4166665 -19.2499995 398 0 2670 --53.9166665 -53.7499995 -19.4166665 -19.2499995 585 0 2670 --53.7500005 -53.5833335 -19.4166665 -19.2499995 490 0 2670 --53.5833335 -53.4166665 -19.4166665 -19.2499995 561 0 2670 --53.4166665 -53.2499995 -19.4166665 -19.2499995 562 0 2670 --53.2500005 -53.0833335 -19.4166665 -19.2499995 669 0 2670 --53.0833335 -52.9166665 -19.4166665 -19.2499995 605 0 2670 --52.9166665 -52.7499995 -19.4166665 -19.2499995 576 0 2670 --52.7500005 -52.5833335 -19.4166665 -19.2499995 441 0 2670 --52.5833335 -52.4166665 -19.4166665 -19.2499995 518 0 2670 --52.4166665 -52.2499995 -19.4166665 -19.2499995 507 0 2670 --52.2500005 -52.0833335 -19.4166665 -19.2499995 531 0 2670 --52.0833335 -51.9166665 -19.4166665 -19.2499995 500 0 2670 --51.9166665 -51.7499995 -19.4166665 -19.2499995 676 0 2670 --51.7500005 -51.5833335 -19.4166665 -19.2499995 486 0 2670 --51.5833335 -51.4166665 -19.4166665 -19.2499995 587 0 2670 --51.4166665 -51.2499995 -19.4166665 -19.2499995 477 0 2670 --51.2500005 -51.0833335 -19.4166665 -19.2499995 390 0 2670 --51.0833335 -50.9166665 -19.4166665 -19.2499995 388 0 2670 --50.9166665 -50.7499995 -19.4166665 -19.2499995 325 0 2670 --50.7500005 -50.5833335 -19.4166665 -19.2499995 447 0 2670 --50.5833335 -50.4166665 -19.4166665 -19.2499995 418 0 2670 --50.4166665 -50.2499995 -19.4166665 -19.2499995 463 0 2670 --50.2500005 -50.0833335 -19.4166665 -19.2499995 450 0 2670 --50.0833335 -49.9166665 -19.4166665 -19.2499995 470 0 2670 --49.9166665 -49.7499995 -19.4166665 -19.2499995 513 0 2670 --49.7500005 -49.5833335 -19.4166665 -19.2499995 662 0 2670 --49.5833335 -49.4166665 -19.4166665 -19.2499995 562 0 2670 --49.4166665 -49.2499995 -19.4166665 -19.2499995 544 0 2670 --49.2500005 -49.0833335 -19.4166665 -19.2499995 583 0 2670 --49.0833335 -48.9166665 -19.4166665 -19.2499995 609 0 2670 --48.9166665 -48.7499995 -19.4166665 -19.2499995 652 0 2670 --48.7500005 -48.5833335 -19.4166665 -19.2499995 715 0 2670 --48.5833335 -48.4166665 -19.4166665 -19.2499995 747 0 2670 --48.4166665 -48.2499995 -19.4166665 -19.2499995 749 0 2670 --48.2500005 -48.0833335 -19.4166665 -19.2499995 791 0 2670 --48.0833335 -47.9166665 -19.4166665 -19.2499995 971 0 2670 --47.9166665 -47.7499995 -19.4166665 -19.2499995 978 0 2670 --47.7500005 -47.5833335 -19.4166665 -19.2499995 907 0 2670 --47.5833335 -47.4166665 -19.4166665 -19.2499995 999 0 2670 --47.4166665 -47.2499995 -19.4166665 -19.2499995 994 0 2670 --47.2500005 -47.0833335 -19.4166665 -19.2499995 875 0 2670 --47.0833335 -46.9166665 -19.4166665 -19.2499995 884 0 2670 --46.9166665 -46.7499995 -19.4166665 -19.2499995 868 0 2670 --46.7500005 -46.5833335 -19.4166665 -19.2499995 874 0 2670 --46.5833335 -46.4166665 -19.4166665 -19.2499995 924 0 2670 --46.4166665 -46.2499995 -19.4166665 -19.2499995 998 0 2670 --46.2500005 -46.0833335 -19.4166665 -19.2499995 1145 0 2670 --46.0833335 -45.9166665 -19.4166665 -19.2499995 1107 0 2670 --45.9166665 -45.7499995 -19.4166665 -19.2499995 816 0 2670 --45.7500005 -45.5833335 -19.4166665 -19.2499995 674 0 2670 --45.5833335 -45.4166665 -19.4166665 -19.2499995 648 0 2670 --45.4166665 -45.2499995 -19.4166665 -19.2499995 623 0 2670 --45.2500005 -45.0833335 -19.4166665 -19.2499995 658 0 2670 --45.0833335 -44.9166665 -19.4166665 -19.2499995 657 0 2670 --44.9166665 -44.7499995 -19.4166665 -19.2499995 689 0 2670 --44.7500005 -44.5833335 -19.4166665 -19.2499995 716 0 2670 --44.5833335 -44.4166665 -19.4166665 -19.2499995 689 0 2670 --44.4166665 -44.2499995 -19.4166665 -19.2499995 819 0 2670 --44.2500005 -44.0833335 -19.4166665 -19.2499995 679 0 2670 --44.0833335 -43.9166665 -19.4166665 -19.2499995 641 0 2670 --43.9166665 -43.7499995 -19.4166665 -19.2499995 777 0 2670 --43.7500005 -43.5833335 -19.4166665 -19.2499995 784 0 2670 --43.5833335 -43.4166665 -19.4166665 -19.2499995 1039 0 2670 --43.4166665 -43.2499995 -19.4166665 -19.2499995 727 0 2670 --43.2500005 -43.0833335 -19.4166665 -19.2499995 661 0 2670 --43.0833335 -42.9166665 -19.4166665 -19.2499995 571 0 2670 --42.9166665 -42.7499995 -19.4166665 -19.2499995 829 0 2670 --42.7500005 -42.5833335 -19.4166665 -19.2499995 848 0 2670 --42.5833335 -42.4166665 -19.4166665 -19.2499995 288 0 2670 --42.4166665 -42.2499995 -19.4166665 -19.2499995 255 0 2670 --42.2500005 -42.0833335 -19.4166665 -19.2499995 233 0 2670 --42.0833335 -41.9166665 -19.4166665 -19.2499995 282 0 2670 --41.9166665 -41.7499995 -19.4166665 -19.2499995 320 0 2670 --41.7500005 -41.5833335 -19.4166665 -19.2499995 661 0 2670 --41.5833335 -41.4166665 -19.4166665 -19.2499995 761 0 2670 --41.4166665 -41.2499995 -19.4166665 -19.2499995 500 0 2670 --41.2500005 -41.0833335 -19.4166665 -19.2499995 230 0 2670 --41.0833335 -40.9166665 -19.4166665 -19.2499995 252 0 2670 --40.9166665 -40.7499995 -19.4166665 -19.2499995 560 0 2670 --40.7500005 -40.5833335 -19.4166665 -19.2499995 146 0 2670 --40.5833335 -40.4166665 -19.4166665 -19.2499995 509 0 2670 --40.4166665 -40.2499995 -19.4166665 -19.2499995 152 0 2670 --40.2500005 -40.0833335 -19.4166665 -19.2499995 46 0 2670 --40.0833335 -39.9166665 -19.4166665 -19.2499995 21 0 2670 --65.0833335 -64.9166665 -19.5833335 -19.4166665 2720 0 2670 --64.9166665 -64.7499995 -19.5833335 -19.4166665 2525 0 2670 --64.7500005 -64.5833335 -19.5833335 -19.4166665 3614 0 2670 --64.5833335 -64.4166665 -19.5833335 -19.4166665 2307 0 2670 --64.4166665 -64.2499995 -19.5833335 -19.4166665 2252 0 2670 --64.2500005 -64.0833335 -19.5833335 -19.4166665 2187 0 2670 --64.0833335 -63.9166665 -19.5833335 -19.4166665 1181 0 2670 --63.9166665 -63.7499995 -19.5833335 -19.4166665 1194 0 2670 --63.7500005 -63.5833335 -19.5833335 -19.4166665 841 0 2670 --63.5833335 -63.4166665 -19.5833335 -19.4166665 901 0 2670 --63.4166665 -63.2499995 -19.5833335 -19.4166665 1056 0 2670 --63.2500005 -63.0833335 -19.5833335 -19.4166665 748 0 2670 --63.0833335 -62.9166665 -19.5833335 -19.4166665 597 0 2670 --62.9166665 -62.7499995 -19.5833335 -19.4166665 505 0 2670 --62.7500005 -62.5833335 -19.5833335 -19.4166665 444 0 2670 --62.5833335 -62.4166665 -19.5833335 -19.4166665 417 0 2670 --62.4166665 -62.2499995 -19.5833335 -19.4166665 403 0 2670 --62.2500005 -62.0833335 -19.5833335 -19.4166665 384 0 2670 --62.0833335 -61.9166665 -19.5833335 -19.4166665 366 0 2670 --61.9166665 -61.7499995 -19.5833335 -19.4166665 344 0 2670 --61.7500005 -61.5833335 -19.5833335 -19.4166665 327 0 2670 --61.5833335 -61.4166665 -19.5833335 -19.4166665 309 0 2670 --61.4166665 -61.2499995 -19.5833335 -19.4166665 302 0 2670 --61.2500005 -61.0833335 -19.5833335 -19.4166665 303 0 2670 --61.0833335 -60.9166665 -19.5833335 -19.4166665 296 0 2670 --60.9166665 -60.7499995 -19.5833335 -19.4166665 257 0 2670 --60.7500005 -60.5833335 -19.5833335 -19.4166665 218 0 2670 --60.5833335 -60.4166665 -19.5833335 -19.4166665 217 0 2670 --60.4166665 -60.2499995 -19.5833335 -19.4166665 240 0 2670 --60.2500005 -60.0833335 -19.5833335 -19.4166665 228 0 2670 --60.0833335 -59.9166665 -19.5833335 -19.4166665 157 0 2670 --59.9166665 -59.7499995 -19.5833335 -19.4166665 155 0 2670 --59.7500005 -59.5833335 -19.5833335 -19.4166665 142 0 2670 --59.5833335 -59.4166665 -19.5833335 -19.4166665 139 0 2670 --59.4166665 -59.2499995 -19.5833335 -19.4166665 186 0 2670 --59.2500005 -59.0833335 -19.5833335 -19.4166665 224 0 2670 --59.0833335 -58.9166665 -19.5833335 -19.4166665 304 0 2670 --58.9166665 -58.7499995 -19.5833335 -19.4166665 193 0 2670 --58.7500005 -58.5833335 -19.5833335 -19.4166665 122 0 2670 --58.5833335 -58.4166665 -19.5833335 -19.4166665 96 0 2670 --58.4166665 -58.2499995 -19.5833335 -19.4166665 94 0 2670 --58.2500005 -58.0833335 -19.5833335 -19.4166665 85 0 2670 --58.0833335 -57.9166665 -19.5833335 -19.4166665 83 0 2670 --57.9166665 -57.7499995 -19.5833335 -19.4166665 83 0 2670 --57.7500005 -57.5833335 -19.5833335 -19.4166665 81 0 2670 --57.5833335 -57.4166665 -19.5833335 -19.4166665 83 0 2670 --57.4166665 -57.2499995 -19.5833335 -19.4166665 85 0 2670 --57.2500005 -57.0833335 -19.5833335 -19.4166665 89 0 2670 --57.0833335 -56.9166665 -19.5833335 -19.4166665 90 0 2670 --56.9166665 -56.7499995 -19.5833335 -19.4166665 93 0 2670 --56.7500005 -56.5833335 -19.5833335 -19.4166665 98 0 2670 --56.5833335 -56.4166665 -19.5833335 -19.4166665 102 0 2670 --56.4166665 -56.2499995 -19.5833335 -19.4166665 106 0 2670 --56.2500005 -56.0833335 -19.5833335 -19.4166665 112 0 2670 --56.0833335 -55.9166665 -19.5833335 -19.4166665 115 0 2670 --55.9166665 -55.7499995 -19.5833335 -19.4166665 118 0 2670 --55.7500005 -55.5833335 -19.5833335 -19.4166665 121 0 2670 --55.5833335 -55.4166665 -19.5833335 -19.4166665 125 0 2670 --55.4166665 -55.2499995 -19.5833335 -19.4166665 142 0 2670 --55.2500005 -55.0833335 -19.5833335 -19.4166665 451 0 2670 --55.0833335 -54.9166665 -19.5833335 -19.4166665 291 0 2670 --54.9166665 -54.7499995 -19.5833335 -19.4166665 469 0 2670 --54.7500005 -54.5833335 -19.5833335 -19.4166665 459 0 2670 --54.5833335 -54.4166665 -19.5833335 -19.4166665 692 0 2670 --54.4166665 -54.2499995 -19.5833335 -19.4166665 584 0 2670 --54.2500005 -54.0833335 -19.5833335 -19.4166665 388 0 2670 --54.0833335 -53.9166665 -19.5833335 -19.4166665 508 0 2670 --53.9166665 -53.7499995 -19.5833335 -19.4166665 654 0 2670 --53.7500005 -53.5833335 -19.5833335 -19.4166665 558 0 2670 --53.5833335 -53.4166665 -19.5833335 -19.4166665 522 0 2670 --53.4166665 -53.2499995 -19.5833335 -19.4166665 573 0 2670 --53.2500005 -53.0833335 -19.5833335 -19.4166665 515 0 2670 --53.0833335 -52.9166665 -19.5833335 -19.4166665 554 0 2670 --52.9166665 -52.7499995 -19.5833335 -19.4166665 488 0 2670 --52.7500005 -52.5833335 -19.5833335 -19.4166665 454 0 2670 --52.5833335 -52.4166665 -19.5833335 -19.4166665 431 0 2670 --52.4166665 -52.2499995 -19.5833335 -19.4166665 445 0 2670 --52.2500005 -52.0833335 -19.5833335 -19.4166665 436 0 2670 --52.0833335 -51.9166665 -19.5833335 -19.4166665 479 0 2670 --51.9166665 -51.7499995 -19.5833335 -19.4166665 717 0 2670 --51.7500005 -51.5833335 -19.5833335 -19.4166665 513 0 2670 --51.5833335 -51.4166665 -19.5833335 -19.4166665 438 0 2670 --51.4166665 -51.2499995 -19.5833335 -19.4166665 409 0 2670 --51.2500005 -51.0833335 -19.5833335 -19.4166665 426 0 2670 --51.0833335 -50.9166665 -19.5833335 -19.4166665 378 0 2670 --50.9166665 -50.7499995 -19.5833335 -19.4166665 341 0 2670 --50.7500005 -50.5833335 -19.5833335 -19.4166665 385 0 2670 --50.5833335 -50.4166665 -19.5833335 -19.4166665 464 0 2670 --50.4166665 -50.2499995 -19.5833335 -19.4166665 463 0 2670 --50.2500005 -50.0833335 -19.5833335 -19.4166665 451 0 2670 --50.0833335 -49.9166665 -19.5833335 -19.4166665 492 0 2670 --49.9166665 -49.7499995 -19.5833335 -19.4166665 606 0 2670 --49.7500005 -49.5833335 -19.5833335 -19.4166665 507 0 2670 --49.5833335 -49.4166665 -19.5833335 -19.4166665 520 0 2670 --49.4166665 -49.2499995 -19.5833335 -19.4166665 549 0 2670 --49.2500005 -49.0833335 -19.5833335 -19.4166665 665 0 2670 --49.0833335 -48.9166665 -19.5833335 -19.4166665 620 0 2670 --48.9166665 -48.7499995 -19.5833335 -19.4166665 675 0 2670 --48.7500005 -48.5833335 -19.5833335 -19.4166665 676 0 2670 --48.5833335 -48.4166665 -19.5833335 -19.4166665 752 0 2670 --48.4166665 -48.2499995 -19.5833335 -19.4166665 834 0 2670 --48.2500005 -48.0833335 -19.5833335 -19.4166665 819 0 2670 --48.0833335 -47.9166665 -19.5833335 -19.4166665 876 0 2670 --47.9166665 -47.7499995 -19.5833335 -19.4166665 985 0 2670 --47.7500005 -47.5833335 -19.5833335 -19.4166665 1010 0 2670 --47.5833335 -47.4166665 -19.5833335 -19.4166665 921 0 2670 --47.4166665 -47.2499995 -19.5833335 -19.4166665 1088 0 2670 --47.2500005 -47.0833335 -19.5833335 -19.4166665 907 0 2670 --47.0833335 -46.9166665 -19.5833335 -19.4166665 877 0 2670 --46.9166665 -46.7499995 -19.5833335 -19.4166665 986 0 2670 --46.7500005 -46.5833335 -19.5833335 -19.4166665 958 0 2670 --46.5833335 -46.4166665 -19.5833335 -19.4166665 908 0 2670 --46.4166665 -46.2499995 -19.5833335 -19.4166665 1007 0 2670 --46.2500005 -46.0833335 -19.5833335 -19.4166665 1071 0 2670 --46.0833335 -45.9166665 -19.5833335 -19.4166665 905 0 2670 --45.9166665 -45.7499995 -19.5833335 -19.4166665 693 0 2670 --45.7500005 -45.5833335 -19.5833335 -19.4166665 652 0 2670 --45.5833335 -45.4166665 -19.5833335 -19.4166665 696 0 2670 --45.4166665 -45.2499995 -19.5833335 -19.4166665 712 0 2670 --45.2500005 -45.0833335 -19.5833335 -19.4166665 693 0 2670 --45.0833335 -44.9166665 -19.5833335 -19.4166665 639 0 2670 --44.9166665 -44.7499995 -19.5833335 -19.4166665 666 0 2670 --44.7500005 -44.5833335 -19.5833335 -19.4166665 772 0 2670 --44.5833335 -44.4166665 -19.5833335 -19.4166665 702 0 2670 --44.4166665 -44.2499995 -19.5833335 -19.4166665 762 0 2670 --44.2500005 -44.0833335 -19.5833335 -19.4166665 783 0 2670 --44.0833335 -43.9166665 -19.5833335 -19.4166665 681 0 2670 --43.9166665 -43.7499995 -19.5833335 -19.4166665 706 0 2670 --43.7500005 -43.5833335 -19.5833335 -19.4166665 855 0 2670 --43.5833335 -43.4166665 -19.5833335 -19.4166665 1471 0 2670 --43.4166665 -43.2499995 -19.5833335 -19.4166665 630 0 2670 --43.2500005 -43.0833335 -19.5833335 -19.4166665 701 0 2670 --43.0833335 -42.9166665 -19.5833335 -19.4166665 861 0 2670 --42.9166665 -42.7499995 -19.5833335 -19.4166665 929 0 2670 --42.7500005 -42.5833335 -19.5833335 -19.4166665 587 0 2670 --42.5833335 -42.4166665 -19.5833335 -19.4166665 247 0 2670 --42.4166665 -42.2499995 -19.5833335 -19.4166665 479 0 2670 --42.2500005 -42.0833335 -19.5833335 -19.4166665 467 0 2670 --42.0833335 -41.9166665 -19.5833335 -19.4166665 726 0 2670 --41.9166665 -41.7499995 -19.5833335 -19.4166665 522 0 2670 --41.7500005 -41.5833335 -19.5833335 -19.4166665 336 0 2670 --41.5833335 -41.4166665 -19.5833335 -19.4166665 277 0 2670 --41.4166665 -41.2499995 -19.5833335 -19.4166665 199 0 2670 --41.2500005 -41.0833335 -19.5833335 -19.4166665 156 0 2670 --41.0833335 -40.9166665 -19.5833335 -19.4166665 67 0 2670 --40.9166665 -40.7499995 -19.5833335 -19.4166665 451 0 2670 --40.7500005 -40.5833335 -19.5833335 -19.4166665 152 0 2670 --40.5833335 -40.4166665 -19.5833335 -19.4166665 126 0 2670 --40.4166665 -40.2499995 -19.5833335 -19.4166665 32 0 2670 --40.2500005 -40.0833335 -19.5833335 -19.4166665 30 0 2670 --40.0833335 -39.9166665 -19.5833335 -19.4166665 17 0 2670 --65.0833335 -64.9166665 -19.7500005 -19.5833335 3089 0 2670 --64.9166665 -64.7499995 -19.7500005 -19.5833335 2206 0 2670 --64.7500005 -64.5833335 -19.7500005 -19.5833335 3192 0 2670 --64.5833335 -64.4166665 -19.7500005 -19.5833335 2169 0 2670 --64.4166665 -64.2499995 -19.7500005 -19.5833335 1820 0 2670 --64.2500005 -64.0833335 -19.7500005 -19.5833335 2088 0 2670 --64.0833335 -63.9166665 -19.7500005 -19.5833335 1807 0 2670 --63.9166665 -63.7499995 -19.7500005 -19.5833335 1043 0 2670 --63.7500005 -63.5833335 -19.7500005 -19.5833335 927 0 2670 --63.5833335 -63.4166665 -19.7500005 -19.5833335 1012 0 2670 --63.4166665 -63.2499995 -19.7500005 -19.5833335 1411 0 2670 --63.2500005 -63.0833335 -19.7500005 -19.5833335 772 0 2670 --63.0833335 -62.9166665 -19.7500005 -19.5833335 616 0 2670 --62.9166665 -62.7499995 -19.7500005 -19.5833335 529 0 2670 --62.7500005 -62.5833335 -19.7500005 -19.5833335 467 0 2670 --62.5833335 -62.4166665 -19.7500005 -19.5833335 444 0 2670 --62.4166665 -62.2499995 -19.7500005 -19.5833335 420 0 2670 --62.2500005 -62.0833335 -19.7500005 -19.5833335 396 0 2670 --62.0833335 -61.9166665 -19.7500005 -19.5833335 371 0 2670 --61.9166665 -61.7499995 -19.7500005 -19.5833335 425 0 2670 --61.7500005 -61.5833335 -19.7500005 -19.5833335 393 0 2670 --61.5833335 -61.4166665 -19.7500005 -19.5833335 346 0 2670 --61.4166665 -61.2499995 -19.7500005 -19.5833335 290 0 2670 --61.2500005 -61.0833335 -19.7500005 -19.5833335 273 0 2670 --61.0833335 -60.9166665 -19.7500005 -19.5833335 269 0 2670 --60.9166665 -60.7499995 -19.7500005 -19.5833335 237 0 2670 --60.7500005 -60.5833335 -19.7500005 -19.5833335 221 0 2670 --60.5833335 -60.4166665 -19.7500005 -19.5833335 207 0 2670 --60.4166665 -60.2499995 -19.7500005 -19.5833335 189 0 2670 --60.2500005 -60.0833335 -19.7500005 -19.5833335 209 0 2670 --60.0833335 -59.9166665 -19.7500005 -19.5833335 164 0 2670 --59.9166665 -59.7499995 -19.7500005 -19.5833335 137 0 2670 --59.7500005 -59.5833335 -19.7500005 -19.5833335 129 0 2670 --59.5833335 -59.4166665 -19.7500005 -19.5833335 119 0 2670 --59.4166665 -59.2499995 -19.7500005 -19.5833335 136 0 2670 --59.2500005 -59.0833335 -19.7500005 -19.5833335 168 0 2670 --59.0833335 -58.9166665 -19.7500005 -19.5833335 203 0 2670 --58.9166665 -58.7499995 -19.7500005 -19.5833335 176 0 2670 --58.7500005 -58.5833335 -19.7500005 -19.5833335 111 0 2670 --58.5833335 -58.4166665 -19.7500005 -19.5833335 84 0 2670 --58.4166665 -58.2499995 -19.7500005 -19.5833335 82 0 2670 --58.2500005 -58.0833335 -19.7500005 -19.5833335 81 0 2670 --58.0833335 -57.9166665 -19.7500005 -19.5833335 82 0 2670 --57.9166665 -57.7499995 -19.7500005 -19.5833335 81 0 2670 --57.7500005 -57.5833335 -19.7500005 -19.5833335 83 0 2670 --57.5833335 -57.4166665 -19.7500005 -19.5833335 84 0 2670 --57.4166665 -57.2499995 -19.7500005 -19.5833335 87 0 2670 --57.2500005 -57.0833335 -19.7500005 -19.5833335 89 0 2670 --57.0833335 -56.9166665 -19.7500005 -19.5833335 99 0 2670 --56.9166665 -56.7499995 -19.7500005 -19.5833335 93 0 2670 --56.7500005 -56.5833335 -19.7500005 -19.5833335 96 0 2670 --56.5833335 -56.4166665 -19.7500005 -19.5833335 101 0 2670 --56.4166665 -56.2499995 -19.7500005 -19.5833335 106 0 2670 --56.2500005 -56.0833335 -19.7500005 -19.5833335 109 0 2670 --56.0833335 -55.9166665 -19.7500005 -19.5833335 111 0 2670 --55.9166665 -55.7499995 -19.7500005 -19.5833335 117 0 2670 --55.7500005 -55.5833335 -19.7500005 -19.5833335 117 0 2670 --55.5833335 -55.4166665 -19.7500005 -19.5833335 119 0 2670 --55.4166665 -55.2499995 -19.7500005 -19.5833335 230 0 2670 --55.2500005 -55.0833335 -19.7500005 -19.5833335 354 0 2670 --55.0833335 -54.9166665 -19.7500005 -19.5833335 388 0 2670 --54.9166665 -54.7499995 -19.7500005 -19.5833335 535 0 2670 --54.7500005 -54.5833335 -19.7500005 -19.5833335 367 0 2670 --54.5833335 -54.4166665 -19.7500005 -19.5833335 472 0 2670 --54.4166665 -54.2499995 -19.7500005 -19.5833335 679 0 2670 --54.2500005 -54.0833335 -19.7500005 -19.5833335 600 0 2670 --54.0833335 -53.9166665 -19.7500005 -19.5833335 536 0 2670 --53.9166665 -53.7499995 -19.7500005 -19.5833335 632 0 2670 --53.7500005 -53.5833335 -19.7500005 -19.5833335 554 0 2670 --53.5833335 -53.4166665 -19.7500005 -19.5833335 442 0 2670 --53.4166665 -53.2499995 -19.7500005 -19.5833335 556 0 2670 --53.2500005 -53.0833335 -19.7500005 -19.5833335 475 0 2670 --53.0833335 -52.9166665 -19.7500005 -19.5833335 521 0 2670 --52.9166665 -52.7499995 -19.7500005 -19.5833335 424 0 2670 --52.7500005 -52.5833335 -19.7500005 -19.5833335 406 0 2670 --52.5833335 -52.4166665 -19.7500005 -19.5833335 428 0 2670 --52.4166665 -52.2499995 -19.7500005 -19.5833335 358 0 2670 --52.2500005 -52.0833335 -19.7500005 -19.5833335 407 0 2670 --52.0833335 -51.9166665 -19.7500005 -19.5833335 532 0 2670 --51.9166665 -51.7499995 -19.7500005 -19.5833335 497 0 2670 --51.7500005 -51.5833335 -19.7500005 -19.5833335 493 0 2670 --51.5833335 -51.4166665 -19.7500005 -19.5833335 471 0 2670 --51.4166665 -51.2499995 -19.7500005 -19.5833335 402 0 2670 --51.2500005 -51.0833335 -19.7500005 -19.5833335 390 0 2670 --51.0833335 -50.9166665 -19.7500005 -19.5833335 379 0 2670 --50.9166665 -50.7499995 -19.7500005 -19.5833335 446 0 2670 --50.7500005 -50.5833335 -19.7500005 -19.5833335 467 0 2670 --50.5833335 -50.4166665 -19.7500005 -19.5833335 450 0 2670 --50.4166665 -50.2499995 -19.7500005 -19.5833335 437 0 2670 --50.2500005 -50.0833335 -19.7500005 -19.5833335 447 0 2670 --50.0833335 -49.9166665 -19.7500005 -19.5833335 465 0 2670 --49.9166665 -49.7499995 -19.7500005 -19.5833335 510 0 2670 --49.7500005 -49.5833335 -19.7500005 -19.5833335 492 0 2670 --49.5833335 -49.4166665 -19.7500005 -19.5833335 481 0 2670 --49.4166665 -49.2499995 -19.7500005 -19.5833335 539 0 2670 --49.2500005 -49.0833335 -19.7500005 -19.5833335 588 0 2670 --49.0833335 -48.9166665 -19.7500005 -19.5833335 698 0 2670 --48.9166665 -48.7499995 -19.7500005 -19.5833335 734 0 2670 --48.7500005 -48.5833335 -19.7500005 -19.5833335 629 0 2670 --48.5833335 -48.4166665 -19.7500005 -19.5833335 683 0 2670 --48.4166665 -48.2499995 -19.7500005 -19.5833335 704 0 2670 --48.2500005 -48.0833335 -19.7500005 -19.5833335 716 0 2670 --48.0833335 -47.9166665 -19.7500005 -19.5833335 768 0 2670 --47.9166665 -47.7499995 -19.7500005 -19.5833335 833 0 2670 --47.7500005 -47.5833335 -19.7500005 -19.5833335 1021 0 2670 --47.5833335 -47.4166665 -19.7500005 -19.5833335 1045 0 2670 --47.4166665 -47.2499995 -19.7500005 -19.5833335 1070 0 2670 --47.2500005 -47.0833335 -19.7500005 -19.5833335 1169 0 2670 --47.0833335 -46.9166665 -19.7500005 -19.5833335 982 0 2670 --46.9166665 -46.7499995 -19.7500005 -19.5833335 1042 0 2670 --46.7500005 -46.5833335 -19.7500005 -19.5833335 937 0 2670 --46.5833335 -46.4166665 -19.7500005 -19.5833335 993 0 2670 --46.4166665 -46.2499995 -19.7500005 -19.5833335 1013 0 2670 --46.2500005 -46.0833335 -19.7500005 -19.5833335 1101 0 2670 --46.0833335 -45.9166665 -19.7500005 -19.5833335 1049 0 2670 --45.9166665 -45.7499995 -19.7500005 -19.5833335 688 0 2670 --45.7500005 -45.5833335 -19.7500005 -19.5833335 648 0 2670 --45.5833335 -45.4166665 -19.7500005 -19.5833335 632 0 2670 --45.4166665 -45.2499995 -19.7500005 -19.5833335 667 0 2670 --45.2500005 -45.0833335 -19.7500005 -19.5833335 760 0 2670 --45.0833335 -44.9166665 -19.7500005 -19.5833335 766 0 2670 --44.9166665 -44.7499995 -19.7500005 -19.5833335 878 0 2670 --44.7500005 -44.5833335 -19.7500005 -19.5833335 989 0 2670 --44.5833335 -44.4166665 -19.7500005 -19.5833335 703 0 2670 --44.4166665 -44.2499995 -19.7500005 -19.5833335 793 0 2670 --44.2500005 -44.0833335 -19.7500005 -19.5833335 878 0 2670 --44.0833335 -43.9166665 -19.7500005 -19.5833335 727 0 2670 --43.9166665 -43.7499995 -19.7500005 -19.5833335 840 0 2670 --43.7500005 -43.5833335 -19.7500005 -19.5833335 766 0 2670 --43.5833335 -43.4166665 -19.7500005 -19.5833335 742 0 2670 --43.4166665 -43.2499995 -19.7500005 -19.5833335 946 0 2670 --43.2500005 -43.0833335 -19.7500005 -19.5833335 863 0 2670 --43.0833335 -42.9166665 -19.7500005 -19.5833335 689 0 2670 --42.9166665 -42.7499995 -19.7500005 -19.5833335 520 0 2670 --42.7500005 -42.5833335 -19.7500005 -19.5833335 437 0 2670 --42.5833335 -42.4166665 -19.7500005 -19.5833335 262 0 2670 --42.4166665 -42.2499995 -19.7500005 -19.5833335 511 0 2670 --42.2500005 -42.0833335 -19.7500005 -19.5833335 689 0 2670 --42.0833335 -41.9166665 -19.7500005 -19.5833335 704 0 2670 --41.9166665 -41.7499995 -19.7500005 -19.5833335 384 0 2670 --41.7500005 -41.5833335 -19.7500005 -19.5833335 596 0 2670 --41.5833335 -41.4166665 -19.7500005 -19.5833335 233 0 2670 --41.4166665 -41.2499995 -19.7500005 -19.5833335 304 0 2670 --41.2500005 -41.0833335 -19.7500005 -19.5833335 425 0 2670 --41.0833335 -40.9166665 -19.7500005 -19.5833335 354 0 2670 --40.9166665 -40.7499995 -19.7500005 -19.5833335 172 0 2670 --40.7500005 -40.5833335 -19.7500005 -19.5833335 144 0 2670 --40.5833335 -40.4166665 -19.7500005 -19.5833335 317 0 2670 --40.4166665 -40.2499995 -19.7500005 -19.5833335 144 0 2670 --40.2500005 -40.0833335 -19.7500005 -19.5833335 47 0 2670 --40.0833335 -39.9166665 -19.7500005 -19.5833335 1 0 2670 --65.0833335 -64.9166665 -19.9166665 -19.7499995 3042 0 2670 --64.9166665 -64.7499995 -19.9166665 -19.7499995 3440 0 2670 --64.7500005 -64.5833335 -19.9166665 -19.7499995 2244 0 2670 --64.5833335 -64.4166665 -19.9166665 -19.7499995 2388 0 2670 --64.4166665 -64.2499995 -19.9166665 -19.7499995 2023 0 2670 --64.2500005 -64.0833335 -19.9166665 -19.7499995 2005 0 2670 --64.0833335 -63.9166665 -19.9166665 -19.7499995 1204 0 2670 --63.9166665 -63.7499995 -19.9166665 -19.7499995 1341 0 2670 --63.7500005 -63.5833335 -19.9166665 -19.7499995 1169 0 2670 --63.5833335 -63.4166665 -19.9166665 -19.7499995 1308 0 2670 --63.4166665 -63.2499995 -19.9166665 -19.7499995 1239 0 2670 --63.2500005 -63.0833335 -19.9166665 -19.7499995 769 0 2670 --63.0833335 -62.9166665 -19.9166665 -19.7499995 620 0 2670 --62.9166665 -62.7499995 -19.9166665 -19.7499995 538 0 2670 --62.7500005 -62.5833335 -19.9166665 -19.7499995 490 0 2670 --62.5833335 -62.4166665 -19.9166665 -19.7499995 456 0 2670 --62.4166665 -62.2499995 -19.9166665 -19.7499995 427 0 2670 --62.2500005 -62.0833335 -19.9166665 -19.7499995 400 0 2670 --62.0833335 -61.9166665 -19.9166665 -19.7499995 375 0 2670 --61.9166665 -61.7499995 -19.9166665 -19.7499995 360 0 2670 --61.7500005 -61.5833335 -19.9166665 -19.7499995 388 0 2670 --61.5833335 -61.4166665 -19.9166665 -19.7499995 343 0 2670 --61.4166665 -61.2499995 -19.9166665 -19.7499995 308 0 2670 --61.2500005 -61.0833335 -19.9166665 -19.7499995 263 0 2670 --61.0833335 -60.9166665 -19.9166665 -19.7499995 231 0 2670 --60.9166665 -60.7499995 -19.9166665 -19.7499995 216 0 2670 --60.7500005 -60.5833335 -19.9166665 -19.7499995 212 0 2670 --60.5833335 -60.4166665 -19.9166665 -19.7499995 199 0 2670 --60.4166665 -60.2499995 -19.9166665 -19.7499995 187 0 2670 --60.2500005 -60.0833335 -19.9166665 -19.7499995 174 0 2670 --60.0833335 -59.9166665 -19.9166665 -19.7499995 163 0 2670 --59.9166665 -59.7499995 -19.9166665 -19.7499995 138 0 2670 --59.7500005 -59.5833335 -19.9166665 -19.7499995 127 0 2670 --59.5833335 -59.4166665 -19.9166665 -19.7499995 118 0 2670 --59.4166665 -59.2499995 -19.9166665 -19.7499995 111 0 2670 --59.2500005 -59.0833335 -19.9166665 -19.7499995 112 0 2670 --59.0833335 -58.9166665 -19.9166665 -19.7499995 122 0 2670 --58.9166665 -58.7499995 -19.9166665 -19.7499995 118 0 2670 --58.7500005 -58.5833335 -19.9166665 -19.7499995 95 0 2670 --58.5833335 -58.4166665 -19.9166665 -19.7499995 91 0 2670 --58.4166665 -58.2499995 -19.9166665 -19.7499995 81 0 2670 --58.2500005 -58.0833335 -19.9166665 -19.7499995 79 0 2670 --58.0833335 -57.9166665 -19.9166665 -19.7499995 80 0 2670 --57.9166665 -57.7499995 -19.9166665 -19.7499995 101 0 2670 --57.7500005 -57.5833335 -19.9166665 -19.7499995 84 0 2670 --57.5833335 -57.4166665 -19.9166665 -19.7499995 84 0 2670 --57.4166665 -57.2499995 -19.9166665 -19.7499995 88 0 2670 --57.2500005 -57.0833335 -19.9166665 -19.7499995 96 0 2670 --57.0833335 -56.9166665 -19.9166665 -19.7499995 108 0 2670 --56.9166665 -56.7499995 -19.9166665 -19.7499995 95 0 2670 --56.7500005 -56.5833335 -19.9166665 -19.7499995 99 0 2670 --56.5833335 -56.4166665 -19.9166665 -19.7499995 103 0 2670 --56.4166665 -56.2499995 -19.9166665 -19.7499995 111 0 2670 --56.2500005 -56.0833335 -19.9166665 -19.7499995 115 0 2670 --56.0833335 -55.9166665 -19.9166665 -19.7499995 118 0 2670 --55.9166665 -55.7499995 -19.9166665 -19.7499995 123 0 2670 --55.7500005 -55.5833335 -19.9166665 -19.7499995 129 0 2670 --55.5833335 -55.4166665 -19.9166665 -19.7499995 144 0 2670 --55.4166665 -55.2499995 -19.9166665 -19.7499995 338 0 2670 --55.2500005 -55.0833335 -19.9166665 -19.7499995 357 0 2670 --55.0833335 -54.9166665 -19.9166665 -19.7499995 362 0 2670 --54.9166665 -54.7499995 -19.9166665 -19.7499995 294 0 2670 --54.7500005 -54.5833335 -19.9166665 -19.7499995 326 0 2670 --54.5833335 -54.4166665 -19.9166665 -19.7499995 350 0 2670 --54.4166665 -54.2499995 -19.9166665 -19.7499995 652 0 2670 --54.2500005 -54.0833335 -19.9166665 -19.7499995 637 0 2670 --54.0833335 -53.9166665 -19.9166665 -19.7499995 526 0 2670 --53.9166665 -53.7499995 -19.9166665 -19.7499995 598 0 2670 --53.7500005 -53.5833335 -19.9166665 -19.7499995 573 0 2670 --53.5833335 -53.4166665 -19.9166665 -19.7499995 488 0 2670 --53.4166665 -53.2499995 -19.9166665 -19.7499995 487 0 2670 --53.2500005 -53.0833335 -19.9166665 -19.7499995 402 0 2670 --53.0833335 -52.9166665 -19.9166665 -19.7499995 457 0 2670 --52.9166665 -52.7499995 -19.9166665 -19.7499995 483 0 2670 --52.7500005 -52.5833335 -19.9166665 -19.7499995 439 0 2670 --52.5833335 -52.4166665 -19.9166665 -19.7499995 475 0 2670 --52.4166665 -52.2499995 -19.9166665 -19.7499995 417 0 2670 --52.2500005 -52.0833335 -19.9166665 -19.7499995 413 0 2670 --52.0833335 -51.9166665 -19.9166665 -19.7499995 442 0 2670 --51.9166665 -51.7499995 -19.9166665 -19.7499995 493 0 2670 --51.7500005 -51.5833335 -19.9166665 -19.7499995 520 0 2670 --51.5833335 -51.4166665 -19.9166665 -19.7499995 447 0 2670 --51.4166665 -51.2499995 -19.9166665 -19.7499995 446 0 2670 --51.2500005 -51.0833335 -19.9166665 -19.7499995 430 0 2670 --51.0833335 -50.9166665 -19.9166665 -19.7499995 344 0 2670 --50.9166665 -50.7499995 -19.9166665 -19.7499995 386 0 2670 --50.7500005 -50.5833335 -19.9166665 -19.7499995 387 0 2670 --50.5833335 -50.4166665 -19.9166665 -19.7499995 415 0 2670 --50.4166665 -50.2499995 -19.9166665 -19.7499995 420 0 2670 --50.2500005 -50.0833335 -19.9166665 -19.7499995 423 0 2670 --50.0833335 -49.9166665 -19.9166665 -19.7499995 426 0 2670 --49.9166665 -49.7499995 -19.9166665 -19.7499995 477 0 2670 --49.7500005 -49.5833335 -19.9166665 -19.7499995 419 0 2670 --49.5833335 -49.4166665 -19.9166665 -19.7499995 461 0 2670 --49.4166665 -49.2499995 -19.9166665 -19.7499995 523 0 2670 --49.2500005 -49.0833335 -19.9166665 -19.7499995 536 0 2670 --49.0833335 -48.9166665 -19.9166665 -19.7499995 576 0 2670 --48.9166665 -48.7499995 -19.9166665 -19.7499995 585 0 2670 --48.7500005 -48.5833335 -19.9166665 -19.7499995 569 0 2670 --48.5833335 -48.4166665 -19.9166665 -19.7499995 638 0 2670 --48.4166665 -48.2499995 -19.9166665 -19.7499995 559 0 2670 --48.2500005 -48.0833335 -19.9166665 -19.7499995 669 0 2670 --48.0833335 -47.9166665 -19.9166665 -19.7499995 756 0 2670 --47.9166665 -47.7499995 -19.9166665 -19.7499995 694 0 2670 --47.7500005 -47.5833335 -19.9166665 -19.7499995 735 0 2670 --47.5833335 -47.4166665 -19.9166665 -19.7499995 959 0 2670 --47.4166665 -47.2499995 -19.9166665 -19.7499995 1104 0 2670 --47.2500005 -47.0833335 -19.9166665 -19.7499995 1040 0 2670 --47.0833335 -46.9166665 -19.9166665 -19.7499995 1142 0 2670 --46.9166665 -46.7499995 -19.9166665 -19.7499995 1184 0 2670 --46.7500005 -46.5833335 -19.9166665 -19.7499995 1202 0 2670 --46.5833335 -46.4166665 -19.9166665 -19.7499995 1062 0 2670 --46.4166665 -46.2499995 -19.9166665 -19.7499995 1182 0 2670 --46.2500005 -46.0833335 -19.9166665 -19.7499995 986 0 2670 --46.0833335 -45.9166665 -19.9166665 -19.7499995 693 0 2670 --45.9166665 -45.7499995 -19.9166665 -19.7499995 675 0 2670 --45.7500005 -45.5833335 -19.9166665 -19.7499995 694 0 2670 --45.5833335 -45.4166665 -19.9166665 -19.7499995 624 0 2670 --45.4166665 -45.2499995 -19.9166665 -19.7499995 736 0 2670 --45.2500005 -45.0833335 -19.9166665 -19.7499995 777 0 2670 --45.0833335 -44.9166665 -19.9166665 -19.7499995 804 0 2670 --44.9166665 -44.7499995 -19.9166665 -19.7499995 699 0 2670 --44.7500005 -44.5833335 -19.9166665 -19.7499995 848 0 2670 --44.5833335 -44.4166665 -19.9166665 -19.7499995 832 0 2670 --44.4166665 -44.2499995 -19.9166665 -19.7499995 752 0 2670 --44.2500005 -44.0833335 -19.9166665 -19.7499995 917 0 2670 --44.0833335 -43.9166665 -19.9166665 -19.7499995 836 0 2670 --43.9166665 -43.7499995 -19.9166665 -19.7499995 795 0 2670 --43.7500005 -43.5833335 -19.9166665 -19.7499995 1185 0 2670 --43.5833335 -43.4166665 -19.9166665 -19.7499995 812 0 2670 --43.4166665 -43.2499995 -19.9166665 -19.7499995 710 0 2670 --43.2500005 -43.0833335 -19.9166665 -19.7499995 873 0 2670 --43.0833335 -42.9166665 -19.9166665 -19.7499995 654 0 2670 --42.9166665 -42.7499995 -19.9166665 -19.7499995 799 0 2670 --42.7500005 -42.5833335 -19.9166665 -19.7499995 333 0 2670 --42.5833335 -42.4166665 -19.9166665 -19.7499995 276 0 2670 --42.4166665 -42.2499995 -19.9166665 -19.7499995 576 0 2670 --42.2500005 -42.0833335 -19.9166665 -19.7499995 799 0 2670 --42.0833335 -41.9166665 -19.9166665 -19.7499995 931 0 2670 --41.9166665 -41.7499995 -19.9166665 -19.7499995 583 0 2670 --41.7500005 -41.5833335 -19.9166665 -19.7499995 481 0 2670 --41.5833335 -41.4166665 -19.9166665 -19.7499995 275 0 2670 --41.4166665 -41.2499995 -19.9166665 -19.7499995 649 0 2670 --41.2500005 -41.0833335 -19.9166665 -19.7499995 376 0 2670 --41.0833335 -40.9166665 -19.9166665 -19.7499995 361 0 2670 --40.9166665 -40.7499995 -19.9166665 -19.7499995 270 0 2670 --40.7500005 -40.5833335 -19.9166665 -19.7499995 177 0 2670 --40.5833335 -40.4166665 -19.9166665 -19.7499995 674 0 2670 --40.4166665 -40.2499995 -19.9166665 -19.7499995 65 0 2670 --40.2500005 -40.0833335 -19.9166665 -19.7499995 45 0 2670 --40.0833335 -39.9166665 -19.9166665 -19.7499995 0 -19 -1670 --65.0833335 -64.9166665 -20.0833335 -19.9166665 3229 0 2670 --64.9166665 -64.7499995 -20.0833335 -19.9166665 3833 0 2670 --64.7500005 -64.5833335 -20.0833335 -19.9166665 2391 0 2670 --64.5833335 -64.4166665 -20.0833335 -19.9166665 2972 0 2670 --64.4166665 -64.2499995 -20.0833335 -19.9166665 2600 0 2670 --64.2500005 -64.0833335 -20.0833335 -19.9166665 1973 0 2670 --64.0833335 -63.9166665 -20.0833335 -19.9166665 1261 0 2670 --63.9166665 -63.7499995 -20.0833335 -19.9166665 1532 0 2670 --63.7500005 -63.5833335 -20.0833335 -19.9166665 1013 0 2670 --63.5833335 -63.4166665 -20.0833335 -19.9166665 914 0 2670 --63.4166665 -63.2499995 -20.0833335 -19.9166665 844 0 2670 --63.2500005 -63.0833335 -20.0833335 -19.9166665 616 0 2670 --63.0833335 -62.9166665 -20.0833335 -19.9166665 572 0 2670 --62.9166665 -62.7499995 -20.0833335 -19.9166665 534 0 2670 --62.7500005 -62.5833335 -20.0833335 -19.9166665 493 0 2670 --62.5833335 -62.4166665 -20.0833335 -19.9166665 457 0 2670 --62.4166665 -62.2499995 -20.0833335 -19.9166665 427 0 2670 --62.2500005 -62.0833335 -20.0833335 -19.9166665 395 0 2670 --62.0833335 -61.9166665 -20.0833335 -19.9166665 370 0 2670 --61.9166665 -61.7499995 -20.0833335 -19.9166665 368 0 2670 --61.7500005 -61.5833335 -20.0833335 -19.9166665 356 0 2670 --61.5833335 -61.4166665 -20.0833335 -19.9166665 358 0 2670 --61.4166665 -61.2499995 -20.0833335 -19.9166665 326 0 2670 --61.2500005 -61.0833335 -20.0833335 -19.9166665 257 0 2670 --61.0833335 -60.9166665 -20.0833335 -19.9166665 250 0 2670 --60.9166665 -60.7499995 -20.0833335 -19.9166665 218 0 2670 --60.7500005 -60.5833335 -20.0833335 -19.9166665 198 0 2670 --60.5833335 -60.4166665 -20.0833335 -19.9166665 189 0 2670 --60.4166665 -60.2499995 -20.0833335 -19.9166665 181 0 2670 --60.2500005 -60.0833335 -20.0833335 -19.9166665 168 0 2670 --60.0833335 -59.9166665 -20.0833335 -19.9166665 155 0 2670 --59.9166665 -59.7499995 -20.0833335 -19.9166665 143 0 2670 --59.7500005 -59.5833335 -20.0833335 -19.9166665 132 0 2670 --59.5833335 -59.4166665 -20.0833335 -19.9166665 117 0 2670 --59.4166665 -59.2499995 -20.0833335 -19.9166665 114 0 2670 --59.2500005 -59.0833335 -20.0833335 -19.9166665 106 0 2670 --59.0833335 -58.9166665 -20.0833335 -19.9166665 101 0 2670 --58.9166665 -58.7499995 -20.0833335 -19.9166665 93 0 2670 --58.7500005 -58.5833335 -20.0833335 -19.9166665 92 0 2670 --58.5833335 -58.4166665 -20.0833335 -19.9166665 92 0 2670 --58.4166665 -58.2499995 -20.0833335 -19.9166665 85 0 2670 --58.2500005 -58.0833335 -20.0833335 -19.9166665 80 0 2670 --58.0833335 -57.9166665 -20.0833335 -19.9166665 83 0 2670 --57.9166665 -57.7499995 -20.0833335 -19.9166665 81 0 2670 --57.7500005 -57.5833335 -20.0833335 -19.9166665 81 0 2670 --57.5833335 -57.4166665 -20.0833335 -19.9166665 84 0 2670 --57.4166665 -57.2499995 -20.0833335 -19.9166665 87 0 2670 --57.2500005 -57.0833335 -20.0833335 -19.9166665 156 0 2670 --57.0833335 -56.9166665 -20.0833335 -19.9166665 273 0 2670 --56.9166665 -56.7499995 -20.0833335 -19.9166665 149 0 2670 --56.7500005 -56.5833335 -20.0833335 -19.9166665 105 0 2670 --56.5833335 -56.4166665 -20.0833335 -19.9166665 106 0 2670 --56.4166665 -56.2499995 -20.0833335 -19.9166665 160 0 2670 --56.2500005 -56.0833335 -20.0833335 -19.9166665 121 0 2670 --56.0833335 -55.9166665 -20.0833335 -19.9166665 125 0 2670 --55.9166665 -55.7499995 -20.0833335 -19.9166665 133 0 2670 --55.7500005 -55.5833335 -20.0833335 -19.9166665 141 0 2670 --55.5833335 -55.4166665 -20.0833335 -19.9166665 434 0 2670 --55.4166665 -55.2499995 -20.0833335 -19.9166665 211 0 2670 --55.2500005 -55.0833335 -20.0833335 -19.9166665 290 0 2670 --55.0833335 -54.9166665 -20.0833335 -19.9166665 310 0 2670 --54.9166665 -54.7499995 -20.0833335 -19.9166665 325 0 2670 --54.7500005 -54.5833335 -20.0833335 -19.9166665 290 0 2670 --54.5833335 -54.4166665 -20.0833335 -19.9166665 434 0 2670 --54.4166665 -54.2499995 -20.0833335 -19.9166665 631 0 2670 --54.2500005 -54.0833335 -20.0833335 -19.9166665 578 0 2670 --54.0833335 -53.9166665 -20.0833335 -19.9166665 504 0 2670 --53.9166665 -53.7499995 -20.0833335 -19.9166665 533 0 2670 --53.7500005 -53.5833335 -20.0833335 -19.9166665 556 0 2670 --53.5833335 -53.4166665 -20.0833335 -19.9166665 489 0 2670 --53.4166665 -53.2499995 -20.0833335 -19.9166665 457 0 2670 --53.2500005 -53.0833335 -20.0833335 -19.9166665 388 0 2670 --53.0833335 -52.9166665 -20.0833335 -19.9166665 421 0 2670 --52.9166665 -52.7499995 -20.0833335 -19.9166665 432 0 2670 --52.7500005 -52.5833335 -20.0833335 -19.9166665 417 0 2670 --52.5833335 -52.4166665 -20.0833335 -19.9166665 419 0 2670 --52.4166665 -52.2499995 -20.0833335 -19.9166665 407 0 2670 --52.2500005 -52.0833335 -20.0833335 -19.9166665 339 0 2670 --52.0833335 -51.9166665 -20.0833335 -19.9166665 408 0 2670 --51.9166665 -51.7499995 -20.0833335 -19.9166665 497 0 2670 --51.7500005 -51.5833335 -20.0833335 -19.9166665 415 0 2670 --51.5833335 -51.4166665 -20.0833335 -19.9166665 429 0 2670 --51.4166665 -51.2499995 -20.0833335 -19.9166665 400 0 2670 --51.2500005 -51.0833335 -20.0833335 -19.9166665 379 0 2670 --51.0833335 -50.9166665 -20.0833335 -19.9166665 323 0 2670 --50.9166665 -50.7499995 -20.0833335 -19.9166665 370 0 2670 --50.7500005 -50.5833335 -20.0833335 -19.9166665 386 0 2670 --50.5833335 -50.4166665 -20.0833335 -19.9166665 420 0 2670 --50.4166665 -50.2499995 -20.0833335 -19.9166665 473 0 2670 --50.2500005 -50.0833335 -20.0833335 -19.9166665 415 0 2670 --50.0833335 -49.9166665 -20.0833335 -19.9166665 389 0 2670 --49.9166665 -49.7499995 -20.0833335 -19.9166665 450 0 2670 --49.7500005 -49.5833335 -20.0833335 -19.9166665 445 0 2670 --49.5833335 -49.4166665 -20.0833335 -19.9166665 417 0 2670 --49.4166665 -49.2499995 -20.0833335 -19.9166665 444 0 2670 --49.2500005 -49.0833335 -20.0833335 -19.9166665 467 0 2670 --49.0833335 -48.9166665 -20.0833335 -19.9166665 524 0 2670 --48.9166665 -48.7499995 -20.0833335 -19.9166665 581 0 2670 --48.7500005 -48.5833335 -20.0833335 -19.9166665 487 0 2670 --48.5833335 -48.4166665 -20.0833335 -19.9166665 505 0 2670 --48.4166665 -48.2499995 -20.0833335 -19.9166665 553 0 2670 --48.2500005 -48.0833335 -20.0833335 -19.9166665 561 0 2670 --48.0833335 -47.9166665 -20.0833335 -19.9166665 534 0 2670 --47.9166665 -47.7499995 -20.0833335 -19.9166665 533 0 2670 --47.7500005 -47.5833335 -20.0833335 -19.9166665 549 0 2670 --47.5833335 -47.4166665 -20.0833335 -19.9166665 547 0 2670 --47.4166665 -47.2499995 -20.0833335 -19.9166665 946 0 2670 --47.2500005 -47.0833335 -20.0833335 -19.9166665 1150 0 2670 --47.0833335 -46.9166665 -20.0833335 -19.9166665 1065 0 2670 --46.9166665 -46.7499995 -20.0833335 -19.9166665 1173 0 2670 --46.7500005 -46.5833335 -20.0833335 -19.9166665 1139 0 2670 --46.5833335 -46.4166665 -20.0833335 -19.9166665 988 0 2670 --46.4166665 -46.2499995 -20.0833335 -19.9166665 981 0 2670 --46.2500005 -46.0833335 -20.0833335 -19.9166665 815 0 2670 --46.0833335 -45.9166665 -20.0833335 -19.9166665 677 0 2670 --45.9166665 -45.7499995 -20.0833335 -19.9166665 694 0 2670 --45.7500005 -45.5833335 -20.0833335 -19.9166665 667 0 2670 --45.5833335 -45.4166665 -20.0833335 -19.9166665 672 0 2670 --45.4166665 -45.2499995 -20.0833335 -19.9166665 844 0 2670 --45.2500005 -45.0833335 -20.0833335 -19.9166665 790 0 2670 --45.0833335 -44.9166665 -20.0833335 -19.9166665 768 0 2670 --44.9166665 -44.7499995 -20.0833335 -19.9166665 754 0 2670 --44.7500005 -44.5833335 -20.0833335 -19.9166665 772 0 2670 --44.5833335 -44.4166665 -20.0833335 -19.9166665 907 0 2670 --44.4166665 -44.2499995 -20.0833335 -19.9166665 800 0 2670 --44.2500005 -44.0833335 -20.0833335 -19.9166665 783 0 2670 --44.0833335 -43.9166665 -20.0833335 -19.9166665 1013 0 2670 --43.9166665 -43.7499995 -20.0833335 -19.9166665 799 0 2670 --43.7500005 -43.5833335 -20.0833335 -19.9166665 1334 0 2670 --43.5833335 -43.4166665 -20.0833335 -19.9166665 858 0 2670 --43.4166665 -43.2499995 -20.0833335 -19.9166665 730 0 2670 --43.2500005 -43.0833335 -20.0833335 -19.9166665 700 0 2670 --43.0833335 -42.9166665 -20.0833335 -19.9166665 855 0 2670 --42.9166665 -42.7499995 -20.0833335 -19.9166665 613 0 2670 --42.7500005 -42.5833335 -20.0833335 -19.9166665 276 0 2670 --42.5833335 -42.4166665 -20.0833335 -19.9166665 289 0 2670 --42.4166665 -42.2499995 -20.0833335 -19.9166665 520 0 2670 --42.2500005 -42.0833335 -20.0833335 -19.9166665 918 0 2670 --42.0833335 -41.9166665 -20.0833335 -19.9166665 793 0 2670 --41.9166665 -41.7499995 -20.0833335 -19.9166665 656 0 2670 --41.7500005 -41.5833335 -20.0833335 -19.9166665 494 0 2670 --41.5833335 -41.4166665 -20.0833335 -19.9166665 418 0 2670 --41.4166665 -41.2499995 -20.0833335 -19.9166665 665 0 2670 --41.2500005 -41.0833335 -20.0833335 -19.9166665 507 0 2670 --41.0833335 -40.9166665 -20.0833335 -19.9166665 396 0 2670 --40.9166665 -40.7499995 -20.0833335 -19.9166665 895 0 2670 --40.7500005 -40.5833335 -20.0833335 -19.9166665 750 0 2670 --40.5833335 -40.4166665 -20.0833335 -19.9166665 482 0 2670 --40.4166665 -40.2499995 -20.0833335 -19.9166665 17 0 2670 --40.2500005 -40.0833335 -20.0833335 -19.9166665 22 0 2670 --40.0833335 -39.9166665 -20.0833335 -19.9166665 0 -32 -1670 --65.0833335 -64.9166665 -20.2500005 -20.0833335 3270 0 2670 --64.9166665 -64.7499995 -20.2500005 -20.0833335 4052 0 2670 --64.7500005 -64.5833335 -20.2500005 -20.0833335 2538 0 2670 --64.5833335 -64.4166665 -20.2500005 -20.0833335 2521 0 2670 --64.4166665 -64.2499995 -20.2500005 -20.0833335 2269 0 2670 --64.2500005 -64.0833335 -20.2500005 -20.0833335 1632 0 2670 --64.0833335 -63.9166665 -20.2500005 -20.0833335 1188 0 2670 --63.9166665 -63.7499995 -20.2500005 -20.0833335 989 0 2670 --63.7500005 -63.5833335 -20.2500005 -20.0833335 970 0 2670 --63.5833335 -63.4166665 -20.2500005 -20.0833335 886 0 2670 --63.4166665 -63.2499995 -20.2500005 -20.0833335 942 0 2670 --63.2500005 -63.0833335 -20.2500005 -20.0833335 838 0 2670 --63.0833335 -62.9166665 -20.2500005 -20.0833335 601 0 2670 --62.9166665 -62.7499995 -20.2500005 -20.0833335 523 0 2670 --62.7500005 -62.5833335 -20.2500005 -20.0833335 485 0 2670 --62.5833335 -62.4166665 -20.2500005 -20.0833335 450 0 2670 --62.4166665 -62.2499995 -20.2500005 -20.0833335 420 0 2670 --62.2500005 -62.0833335 -20.2500005 -20.0833335 393 0 2670 --62.0833335 -61.9166665 -20.2500005 -20.0833335 367 0 2670 --61.9166665 -61.7499995 -20.2500005 -20.0833335 347 0 2670 --61.7500005 -61.5833335 -20.2500005 -20.0833335 316 0 2670 --61.5833335 -61.4166665 -20.2500005 -20.0833335 293 0 2670 --61.4166665 -61.2499995 -20.2500005 -20.0833335 283 0 2670 --61.2500005 -61.0833335 -20.2500005 -20.0833335 252 0 2670 --61.0833335 -60.9166665 -20.2500005 -20.0833335 232 0 2670 --60.9166665 -60.7499995 -20.2500005 -20.0833335 215 0 2670 --60.7500005 -60.5833335 -20.2500005 -20.0833335 198 0 2670 --60.5833335 -60.4166665 -20.2500005 -20.0833335 184 0 2670 --60.4166665 -60.2499995 -20.2500005 -20.0833335 172 0 2670 --60.2500005 -60.0833335 -20.2500005 -20.0833335 160 0 2670 --60.0833335 -59.9166665 -20.2500005 -20.0833335 150 0 2670 --59.9166665 -59.7499995 -20.2500005 -20.0833335 139 0 2670 --59.7500005 -59.5833335 -20.2500005 -20.0833335 128 0 2670 --59.5833335 -59.4166665 -20.2500005 -20.0833335 121 0 2670 --59.4166665 -59.2499995 -20.2500005 -20.0833335 111 0 2670 --59.2500005 -59.0833335 -20.2500005 -20.0833335 106 0 2670 --59.0833335 -58.9166665 -20.2500005 -20.0833335 102 0 2670 --58.9166665 -58.7499995 -20.2500005 -20.0833335 97 0 2670 --58.7500005 -58.5833335 -20.2500005 -20.0833335 90 0 2670 --58.5833335 -58.4166665 -20.2500005 -20.0833335 90 0 2670 --58.4166665 -58.2499995 -20.2500005 -20.0833335 87 0 2670 --58.2500005 -58.0833335 -20.2500005 -20.0833335 80 0 2670 --58.0833335 -57.9166665 -20.2500005 -20.0833335 81 0 2670 --57.9166665 -57.7499995 -20.2500005 -20.0833335 80 0 2670 --57.7500005 -57.5833335 -20.2500005 -20.0833335 82 0 2670 --57.5833335 -57.4166665 -20.2500005 -20.0833335 85 0 2670 --57.4166665 -57.2499995 -20.2500005 -20.0833335 84 0 2670 --57.2500005 -57.0833335 -20.2500005 -20.0833335 123 0 2670 --57.0833335 -56.9166665 -20.2500005 -20.0833335 542 0 2670 --56.9166665 -56.7499995 -20.2500005 -20.0833335 304 0 2670 --56.7500005 -56.5833335 -20.2500005 -20.0833335 115 0 2670 --56.5833335 -56.4166665 -20.2500005 -20.0833335 114 0 2670 --56.4166665 -56.2499995 -20.2500005 -20.0833335 156 0 2670 --56.2500005 -56.0833335 -20.2500005 -20.0833335 157 0 2670 --56.0833335 -55.9166665 -20.2500005 -20.0833335 131 0 2670 --55.9166665 -55.7499995 -20.2500005 -20.0833335 141 0 2670 --55.7500005 -55.5833335 -20.2500005 -20.0833335 213 0 2670 --55.5833335 -55.4166665 -20.2500005 -20.0833335 212 0 2670 --55.4166665 -55.2499995 -20.2500005 -20.0833335 457 0 2670 --55.2500005 -55.0833335 -20.2500005 -20.0833335 221 0 2670 --55.0833335 -54.9166665 -20.2500005 -20.0833335 237 0 2670 --54.9166665 -54.7499995 -20.2500005 -20.0833335 273 0 2670 --54.7500005 -54.5833335 -20.2500005 -20.0833335 435 0 2670 --54.5833335 -54.4166665 -20.2500005 -20.0833335 615 0 2670 --54.4166665 -54.2499995 -20.2500005 -20.0833335 616 0 2670 --54.2500005 -54.0833335 -20.2500005 -20.0833335 573 0 2670 --54.0833335 -53.9166665 -20.2500005 -20.0833335 546 0 2670 --53.9166665 -53.7499995 -20.2500005 -20.0833335 461 0 2670 --53.7500005 -53.5833335 -20.2500005 -20.0833335 439 0 2670 --53.5833335 -53.4166665 -20.2500005 -20.0833335 516 0 2670 --53.4166665 -53.2499995 -20.2500005 -20.0833335 493 0 2670 --53.2500005 -53.0833335 -20.2500005 -20.0833335 398 0 2670 --53.0833335 -52.9166665 -20.2500005 -20.0833335 360 0 2670 --52.9166665 -52.7499995 -20.2500005 -20.0833335 426 0 2670 --52.7500005 -52.5833335 -20.2500005 -20.0833335 439 0 2670 --52.5833335 -52.4166665 -20.2500005 -20.0833335 367 0 2670 --52.4166665 -52.2499995 -20.2500005 -20.0833335 401 0 2670 --52.2500005 -52.0833335 -20.2500005 -20.0833335 362 0 2670 --52.0833335 -51.9166665 -20.2500005 -20.0833335 399 0 2670 --51.9166665 -51.7499995 -20.2500005 -20.0833335 444 0 2670 --51.7500005 -51.5833335 -20.2500005 -20.0833335 368 0 2670 --51.5833335 -51.4166665 -20.2500005 -20.0833335 396 0 2670 --51.4166665 -51.2499995 -20.2500005 -20.0833335 427 0 2670 --51.2500005 -51.0833335 -20.2500005 -20.0833335 336 0 2670 --51.0833335 -50.9166665 -20.2500005 -20.0833335 343 0 2670 --50.9166665 -50.7499995 -20.2500005 -20.0833335 425 0 2670 --50.7500005 -50.5833335 -20.2500005 -20.0833335 429 0 2670 --50.5833335 -50.4166665 -20.2500005 -20.0833335 460 0 2670 --50.4166665 -50.2499995 -20.2500005 -20.0833335 475 0 2670 --50.2500005 -50.0833335 -20.2500005 -20.0833335 469 0 2670 --50.0833335 -49.9166665 -20.2500005 -20.0833335 460 0 2670 --49.9166665 -49.7499995 -20.2500005 -20.0833335 476 0 2670 --49.7500005 -49.5833335 -20.2500005 -20.0833335 420 0 2670 --49.5833335 -49.4166665 -20.2500005 -20.0833335 472 0 2670 --49.4166665 -49.2499995 -20.2500005 -20.0833335 446 0 2670 --49.2500005 -49.0833335 -20.2500005 -20.0833335 458 0 2670 --49.0833335 -48.9166665 -20.2500005 -20.0833335 455 0 2670 --48.9166665 -48.7499995 -20.2500005 -20.0833335 446 0 2670 --48.7500005 -48.5833335 -20.2500005 -20.0833335 442 0 2670 --48.5833335 -48.4166665 -20.2500005 -20.0833335 499 0 2670 --48.4166665 -48.2499995 -20.2500005 -20.0833335 492 0 2670 --48.2500005 -48.0833335 -20.2500005 -20.0833335 542 0 2670 --48.0833335 -47.9166665 -20.2500005 -20.0833335 542 0 2670 --47.9166665 -47.7499995 -20.2500005 -20.0833335 570 0 2670 --47.7500005 -47.5833335 -20.2500005 -20.0833335 726 0 2670 --47.5833335 -47.4166665 -20.2500005 -20.0833335 690 0 2670 --47.4166665 -47.2499995 -20.2500005 -20.0833335 670 0 2670 --47.2500005 -47.0833335 -20.2500005 -20.0833335 903 0 2670 --47.0833335 -46.9166665 -20.2500005 -20.0833335 1017 0 2670 --46.9166665 -46.7499995 -20.2500005 -20.0833335 1208 0 2670 --46.7500005 -46.5833335 -20.2500005 -20.0833335 1303 0 2670 --46.5833335 -46.4166665 -20.2500005 -20.0833335 1046 0 2670 --46.4166665 -46.2499995 -20.2500005 -20.0833335 780 0 2670 --46.2500005 -46.0833335 -20.2500005 -20.0833335 798 0 2670 --46.0833335 -45.9166665 -20.2500005 -20.0833335 774 0 2670 --45.9166665 -45.7499995 -20.2500005 -20.0833335 671 0 2670 --45.7500005 -45.5833335 -20.2500005 -20.0833335 665 0 2670 --45.5833335 -45.4166665 -20.2500005 -20.0833335 744 0 2670 --45.4166665 -45.2499995 -20.2500005 -20.0833335 1003 0 2670 --45.2500005 -45.0833335 -20.2500005 -20.0833335 844 0 2670 --45.0833335 -44.9166665 -20.2500005 -20.0833335 843 0 2670 --44.9166665 -44.7499995 -20.2500005 -20.0833335 779 0 2670 --44.7500005 -44.5833335 -20.2500005 -20.0833335 880 0 2670 --44.5833335 -44.4166665 -20.2500005 -20.0833335 995 0 2670 --44.4166665 -44.2499995 -20.2500005 -20.0833335 841 0 2670 --44.2500005 -44.0833335 -20.2500005 -20.0833335 783 0 2670 --44.0833335 -43.9166665 -20.2500005 -20.0833335 1030 0 2670 --43.9166665 -43.7499995 -20.2500005 -20.0833335 965 0 2670 --43.7500005 -43.5833335 -20.2500005 -20.0833335 1139 0 2670 --43.5833335 -43.4166665 -20.2500005 -20.0833335 1032 0 2670 --43.4166665 -43.2499995 -20.2500005 -20.0833335 832 0 2670 --43.2500005 -43.0833335 -20.2500005 -20.0833335 798 0 2670 --43.0833335 -42.9166665 -20.2500005 -20.0833335 571 0 2670 --42.9166665 -42.7499995 -20.2500005 -20.0833335 357 0 2670 --42.7500005 -42.5833335 -20.2500005 -20.0833335 419 0 2670 --42.5833335 -42.4166665 -20.2500005 -20.0833335 425 0 2670 --42.4166665 -42.2499995 -20.2500005 -20.0833335 612 0 2670 --42.2500005 -42.0833335 -20.2500005 -20.0833335 1071 0 2670 --42.0833335 -41.9166665 -20.2500005 -20.0833335 667 0 2670 --41.9166665 -41.7499995 -20.2500005 -20.0833335 716 0 2670 --41.7500005 -41.5833335 -20.2500005 -20.0833335 616 0 2670 --41.5833335 -41.4166665 -20.2500005 -20.0833335 825 0 2670 --41.4166665 -41.2499995 -20.2500005 -20.0833335 1046 0 2670 --41.2500005 -41.0833335 -20.2500005 -20.0833335 584 0 2670 --41.0833335 -40.9166665 -20.2500005 -20.0833335 1113 0 2670 --40.9166665 -40.7499995 -20.2500005 -20.0833335 955 0 2670 --40.7500005 -40.5833335 -20.2500005 -20.0833335 763 0 2670 --40.5833335 -40.4166665 -20.2500005 -20.0833335 106 0 2670 --40.4166665 -40.2499995 -20.2500005 -20.0833335 186 0 2670 --40.2500005 -40.0833335 -20.2500005 -20.0833335 0 -10 -1670 --40.0833335 -39.9166665 -20.2500005 -20.0833335 0 -38 -1670 --65.0833335 -64.9166665 -20.4166665 -20.2499995 3307 0 2670 --64.9166665 -64.7499995 -20.4166665 -20.2499995 2577 0 2670 --64.7500005 -64.5833335 -20.4166665 -20.2499995 2513 0 2670 --64.5833335 -64.4166665 -20.4166665 -20.2499995 1672 0 2670 --64.4166665 -64.2499995 -20.4166665 -20.2499995 2138 0 2670 --64.2500005 -64.0833335 -20.4166665 -20.2499995 1365 0 2670 --64.0833335 -63.9166665 -20.4166665 -20.2499995 1213 0 2670 --63.9166665 -63.7499995 -20.4166665 -20.2499995 1210 0 2670 --63.7500005 -63.5833335 -20.4166665 -20.2499995 1305 0 2670 --63.5833335 -63.4166665 -20.4166665 -20.2499995 1128 0 2670 --63.4166665 -63.2499995 -20.4166665 -20.2499995 914 0 2670 --63.2500005 -63.0833335 -20.4166665 -20.2499995 756 0 2670 --63.0833335 -62.9166665 -20.4166665 -20.2499995 610 0 2670 --62.9166665 -62.7499995 -20.4166665 -20.2499995 545 0 2670 --62.7500005 -62.5833335 -20.4166665 -20.2499995 488 0 2670 --62.5833335 -62.4166665 -20.4166665 -20.2499995 446 0 2670 --62.4166665 -62.2499995 -20.4166665 -20.2499995 414 0 2670 --62.2500005 -62.0833335 -20.4166665 -20.2499995 380 0 2670 --62.0833335 -61.9166665 -20.4166665 -20.2499995 364 0 2670 --61.9166665 -61.7499995 -20.4166665 -20.2499995 336 0 2670 --61.7500005 -61.5833335 -20.4166665 -20.2499995 313 0 2670 --61.5833335 -61.4166665 -20.4166665 -20.2499995 290 0 2670 --61.4166665 -61.2499995 -20.4166665 -20.2499995 272 0 2670 --61.2500005 -61.0833335 -20.4166665 -20.2499995 248 0 2670 --61.0833335 -60.9166665 -20.4166665 -20.2499995 228 0 2670 --60.9166665 -60.7499995 -20.4166665 -20.2499995 211 0 2670 --60.7500005 -60.5833335 -20.4166665 -20.2499995 196 0 2670 --60.5833335 -60.4166665 -20.4166665 -20.2499995 181 0 2670 --60.4166665 -60.2499995 -20.4166665 -20.2499995 550 0 2670 --60.2500005 -60.0833335 -20.4166665 -20.2499995 153 0 2670 --60.0833335 -59.9166665 -20.4166665 -20.2499995 145 0 2670 --59.9166665 -59.7499995 -20.4166665 -20.2499995 137 0 2670 --59.7500005 -59.5833335 -20.4166665 -20.2499995 126 0 2670 --59.5833335 -59.4166665 -20.4166665 -20.2499995 121 0 2670 --59.4166665 -59.2499995 -20.4166665 -20.2499995 111 0 2670 --59.2500005 -59.0833335 -20.4166665 -20.2499995 108 0 2670 --59.0833335 -58.9166665 -20.4166665 -20.2499995 101 0 2670 --58.9166665 -58.7499995 -20.4166665 -20.2499995 98 0 2670 --58.7500005 -58.5833335 -20.4166665 -20.2499995 96 0 2670 --58.5833335 -58.4166665 -20.4166665 -20.2499995 89 0 2670 --58.4166665 -58.2499995 -20.4166665 -20.2499995 91 0 2670 --58.2500005 -58.0833335 -20.4166665 -20.2499995 88 0 2670 --58.0833335 -57.9166665 -20.4166665 -20.2499995 80 0 2670 --57.9166665 -57.7499995 -20.4166665 -20.2499995 80 0 2670 --57.7500005 -57.5833335 -20.4166665 -20.2499995 82 0 2670 --57.5833335 -57.4166665 -20.4166665 -20.2499995 82 0 2670 --57.4166665 -57.2499995 -20.4166665 -20.2499995 84 0 2670 --57.2500005 -57.0833335 -20.4166665 -20.2499995 158 0 2670 --57.0833335 -56.9166665 -20.4166665 -20.2499995 263 0 2670 --56.9166665 -56.7499995 -20.4166665 -20.2499995 157 0 2670 --56.7500005 -56.5833335 -20.4166665 -20.2499995 125 0 2670 --56.5833335 -56.4166665 -20.4166665 -20.2499995 138 0 2670 --56.4166665 -56.2499995 -20.4166665 -20.2499995 141 0 2670 --56.2500005 -56.0833335 -20.4166665 -20.2499995 198 0 2670 --56.0833335 -55.9166665 -20.4166665 -20.2499995 146 0 2670 --55.9166665 -55.7499995 -20.4166665 -20.2499995 144 0 2670 --55.7500005 -55.5833335 -20.4166665 -20.2499995 398 0 2670 --55.5833335 -55.4166665 -20.4166665 -20.2499995 237 0 2670 --55.4166665 -55.2499995 -20.4166665 -20.2499995 213 0 2670 --55.2500005 -55.0833335 -20.4166665 -20.2499995 222 0 2670 --55.0833335 -54.9166665 -20.4166665 -20.2499995 269 0 2670 --54.9166665 -54.7499995 -20.4166665 -20.2499995 346 0 2670 --54.7500005 -54.5833335 -20.4166665 -20.2499995 524 0 2670 --54.5833335 -54.4166665 -20.4166665 -20.2499995 603 0 2670 --54.4166665 -54.2499995 -20.4166665 -20.2499995 618 0 2670 --54.2500005 -54.0833335 -20.4166665 -20.2499995 560 0 2670 --54.0833335 -53.9166665 -20.4166665 -20.2499995 497 0 2670 --53.9166665 -53.7499995 -20.4166665 -20.2499995 446 0 2670 --53.7500005 -53.5833335 -20.4166665 -20.2499995 481 0 2670 --53.5833335 -53.4166665 -20.4166665 -20.2499995 504 0 2670 --53.4166665 -53.2499995 -20.4166665 -20.2499995 437 0 2670 --53.2500005 -53.0833335 -20.4166665 -20.2499995 411 0 2670 --53.0833335 -52.9166665 -20.4166665 -20.2499995 356 0 2670 --52.9166665 -52.7499995 -20.4166665 -20.2499995 362 0 2670 --52.7500005 -52.5833335 -20.4166665 -20.2499995 442 0 2670 --52.5833335 -52.4166665 -20.4166665 -20.2499995 416 0 2670 --52.4166665 -52.2499995 -20.4166665 -20.2499995 404 0 2670 --52.2500005 -52.0833335 -20.4166665 -20.2499995 315 0 2670 --52.0833335 -51.9166665 -20.4166665 -20.2499995 402 0 2670 --51.9166665 -51.7499995 -20.4166665 -20.2499995 402 0 2670 --51.7500005 -51.5833335 -20.4166665 -20.2499995 379 0 2670 --51.5833335 -51.4166665 -20.4166665 -20.2499995 360 0 2670 --51.4166665 -51.2499995 -20.4166665 -20.2499995 325 0 2670 --51.2500005 -51.0833335 -20.4166665 -20.2499995 323 0 2670 --51.0833335 -50.9166665 -20.4166665 -20.2499995 359 0 2670 --50.9166665 -50.7499995 -20.4166665 -20.2499995 351 0 2670 --50.7500005 -50.5833335 -20.4166665 -20.2499995 433 0 2670 --50.5833335 -50.4166665 -20.4166665 -20.2499995 446 0 2670 --50.4166665 -50.2499995 -20.4166665 -20.2499995 442 0 2670 --50.2500005 -50.0833335 -20.4166665 -20.2499995 483 0 2670 --50.0833335 -49.9166665 -20.4166665 -20.2499995 496 0 2670 --49.9166665 -49.7499995 -20.4166665 -20.2499995 526 0 2670 --49.7500005 -49.5833335 -20.4166665 -20.2499995 481 0 2670 --49.5833335 -49.4166665 -20.4166665 -20.2499995 517 0 2670 --49.4166665 -49.2499995 -20.4166665 -20.2499995 484 0 2670 --49.2500005 -49.0833335 -20.4166665 -20.2499995 462 0 2670 --49.0833335 -48.9166665 -20.4166665 -20.2499995 494 0 2670 --48.9166665 -48.7499995 -20.4166665 -20.2499995 490 0 2670 --48.7500005 -48.5833335 -20.4166665 -20.2499995 517 0 2670 --48.5833335 -48.4166665 -20.4166665 -20.2499995 459 0 2670 --48.4166665 -48.2499995 -20.4166665 -20.2499995 512 0 2670 --48.2500005 -48.0833335 -20.4166665 -20.2499995 551 0 2670 --48.0833335 -47.9166665 -20.4166665 -20.2499995 535 0 2670 --47.9166665 -47.7499995 -20.4166665 -20.2499995 623 0 2670 --47.7500005 -47.5833335 -20.4166665 -20.2499995 769 0 2670 --47.5833335 -47.4166665 -20.4166665 -20.2499995 943 0 2670 --47.4166665 -47.2499995 -20.4166665 -20.2499995 753 0 2670 --47.2500005 -47.0833335 -20.4166665 -20.2499995 845 0 2670 --47.0833335 -46.9166665 -20.4166665 -20.2499995 669 0 2670 --46.9166665 -46.7499995 -20.4166665 -20.2499995 717 0 2670 --46.7500005 -46.5833335 -20.4166665 -20.2499995 915 0 2670 --46.5833335 -46.4166665 -20.4166665 -20.2499995 869 0 2670 --46.4166665 -46.2499995 -20.4166665 -20.2499995 851 0 2670 --46.2500005 -46.0833335 -20.4166665 -20.2499995 809 0 2670 --46.0833335 -45.9166665 -20.4166665 -20.2499995 715 0 2670 --45.9166665 -45.7499995 -20.4166665 -20.2499995 710 0 2670 --45.7500005 -45.5833335 -20.4166665 -20.2499995 689 0 2670 --45.5833335 -45.4166665 -20.4166665 -20.2499995 818 0 2670 --45.4166665 -45.2499995 -20.4166665 -20.2499995 1062 0 2670 --45.2500005 -45.0833335 -20.4166665 -20.2499995 905 0 2670 --45.0833335 -44.9166665 -20.4166665 -20.2499995 800 0 2670 --44.9166665 -44.7499995 -20.4166665 -20.2499995 795 0 2670 --44.7500005 -44.5833335 -20.4166665 -20.2499995 778 0 2670 --44.5833335 -44.4166665 -20.4166665 -20.2499995 1068 0 2670 --44.4166665 -44.2499995 -20.4166665 -20.2499995 845 0 2670 --44.2500005 -44.0833335 -20.4166665 -20.2499995 919 0 2670 --44.0833335 -43.9166665 -20.4166665 -20.2499995 1125 0 2670 --43.9166665 -43.7499995 -20.4166665 -20.2499995 1033 0 2670 --43.7500005 -43.5833335 -20.4166665 -20.2499995 1069 0 2670 --43.5833335 -43.4166665 -20.4166665 -20.2499995 1200 0 2670 --43.4166665 -43.2499995 -20.4166665 -20.2499995 790 0 2670 --43.2500005 -43.0833335 -20.4166665 -20.2499995 600 0 2670 --43.0833335 -42.9166665 -20.4166665 -20.2499995 574 0 2670 --42.9166665 -42.7499995 -20.4166665 -20.2499995 502 0 2670 --42.7500005 -42.5833335 -20.4166665 -20.2499995 414 0 2670 --42.5833335 -42.4166665 -20.4166665 -20.2499995 719 0 2670 --42.4166665 -42.2499995 -20.4166665 -20.2499995 695 0 2670 --42.2500005 -42.0833335 -20.4166665 -20.2499995 841 0 2670 --42.0833335 -41.9166665 -20.4166665 -20.2499995 949 0 2670 --41.9166665 -41.7499995 -20.4166665 -20.2499995 798 0 2670 --41.7500005 -41.5833335 -20.4166665 -20.2499995 926 0 2670 --41.5833335 -41.4166665 -20.4166665 -20.2499995 896 0 2670 --41.4166665 -41.2499995 -20.4166665 -20.2499995 1155 0 2670 --41.2500005 -41.0833335 -20.4166665 -20.2499995 863 0 2670 --41.0833335 -40.9166665 -20.4166665 -20.2499995 1038 0 2670 --40.9166665 -40.7499995 -20.4166665 -20.2499995 896 0 2670 --40.7500005 -40.5833335 -20.4166665 -20.2499995 659 0 2670 --40.5833335 -40.4166665 -20.4166665 -20.2499995 450 0 2670 --40.4166665 -40.2499995 -20.4166665 -20.2499995 15 0 2670 --40.2500005 -40.0833335 -20.4166665 -20.2499995 0 -27 -1670 --40.0833335 -39.9166665 -20.4166665 -20.2499995 0 -43 -1670 --65.0833335 -64.9166665 -20.5833335 -20.4166665 3395 0 2670 --64.9166665 -64.7499995 -20.5833335 -20.4166665 3448 0 2670 --64.7500005 -64.5833335 -20.5833335 -20.4166665 1533 0 2670 --64.5833335 -64.4166665 -20.5833335 -20.4166665 1812 0 2670 --64.4166665 -64.2499995 -20.5833335 -20.4166665 1735 0 2670 --64.2500005 -64.0833335 -20.5833335 -20.4166665 1089 0 2670 --64.0833335 -63.9166665 -20.5833335 -20.4166665 1263 0 2670 --63.9166665 -63.7499995 -20.5833335 -20.4166665 1221 0 2670 --63.7500005 -63.5833335 -20.5833335 -20.4166665 1513 0 2670 --63.5833335 -63.4166665 -20.5833335 -20.4166665 1058 0 2670 --63.4166665 -63.2499995 -20.5833335 -20.4166665 973 0 2670 --63.2500005 -63.0833335 -20.5833335 -20.4166665 778 0 2670 --63.0833335 -62.9166665 -20.5833335 -20.4166665 651 0 2670 --62.9166665 -62.7499995 -20.5833335 -20.4166665 524 0 2670 --62.7500005 -62.5833335 -20.5833335 -20.4166665 482 0 2670 --62.5833335 -62.4166665 -20.5833335 -20.4166665 437 0 2670 --62.4166665 -62.2499995 -20.5833335 -20.4166665 402 0 2670 --62.2500005 -62.0833335 -20.5833335 -20.4166665 369 0 2670 --62.0833335 -61.9166665 -20.5833335 -20.4166665 348 0 2670 --61.9166665 -61.7499995 -20.5833335 -20.4166665 324 0 2670 --61.7500005 -61.5833335 -20.5833335 -20.4166665 301 0 2670 --61.5833335 -61.4166665 -20.5833335 -20.4166665 276 0 2670 --61.4166665 -61.2499995 -20.5833335 -20.4166665 254 0 2670 --61.2500005 -61.0833335 -20.5833335 -20.4166665 229 0 2670 --61.0833335 -60.9166665 -20.5833335 -20.4166665 220 0 2670 --60.9166665 -60.7499995 -20.5833335 -20.4166665 201 0 2670 --60.7500005 -60.5833335 -20.5833335 -20.4166665 189 0 2670 --60.5833335 -60.4166665 -20.5833335 -20.4166665 174 0 2670 --60.4166665 -60.2499995 -20.5833335 -20.4166665 162 0 2670 --60.2500005 -60.0833335 -20.5833335 -20.4166665 151 0 2670 --60.0833335 -59.9166665 -20.5833335 -20.4166665 138 0 2670 --59.9166665 -59.7499995 -20.5833335 -20.4166665 132 0 2670 --59.7500005 -59.5833335 -20.5833335 -20.4166665 126 0 2670 --59.5833335 -59.4166665 -20.5833335 -20.4166665 119 0 2670 --59.4166665 -59.2499995 -20.5833335 -20.4166665 111 0 2670 --59.2500005 -59.0833335 -20.5833335 -20.4166665 107 0 2670 --59.0833335 -58.9166665 -20.5833335 -20.4166665 103 0 2670 --58.9166665 -58.7499995 -20.5833335 -20.4166665 98 0 2670 --58.7500005 -58.5833335 -20.5833335 -20.4166665 95 0 2670 --58.5833335 -58.4166665 -20.5833335 -20.4166665 93 0 2670 --58.4166665 -58.2499995 -20.5833335 -20.4166665 94 0 2670 --58.2500005 -58.0833335 -20.5833335 -20.4166665 89 0 2670 --58.0833335 -57.9166665 -20.5833335 -20.4166665 79 0 2670 --57.9166665 -57.7499995 -20.5833335 -20.4166665 80 0 2670 --57.7500005 -57.5833335 -20.5833335 -20.4166665 79 0 2670 --57.5833335 -57.4166665 -20.5833335 -20.4166665 83 0 2670 --57.4166665 -57.2499995 -20.5833335 -20.4166665 96 0 2670 --57.2500005 -57.0833335 -20.5833335 -20.4166665 210 0 2670 --57.0833335 -56.9166665 -20.5833335 -20.4166665 159 0 2670 --56.9166665 -56.7499995 -20.5833335 -20.4166665 323 0 2670 --56.7500005 -56.5833335 -20.5833335 -20.4166665 200 0 2670 --56.5833335 -56.4166665 -20.5833335 -20.4166665 183 0 2670 --56.4166665 -56.2499995 -20.5833335 -20.4166665 128 0 2670 --56.2500005 -56.0833335 -20.5833335 -20.4166665 215 0 2670 --56.0833335 -55.9166665 -20.5833335 -20.4166665 212 0 2670 --55.9166665 -55.7499995 -20.5833335 -20.4166665 158 0 2670 --55.7500005 -55.5833335 -20.5833335 -20.4166665 185 0 2670 --55.5833335 -55.4166665 -20.5833335 -20.4166665 281 0 2670 --55.4166665 -55.2499995 -20.5833335 -20.4166665 302 0 2670 --55.2500005 -55.0833335 -20.5833335 -20.4166665 248 0 2670 --55.0833335 -54.9166665 -20.5833335 -20.4166665 283 0 2670 --54.9166665 -54.7499995 -20.5833335 -20.4166665 493 0 2670 --54.7500005 -54.5833335 -20.5833335 -20.4166665 527 0 2670 --54.5833335 -54.4166665 -20.5833335 -20.4166665 632 0 2670 --54.4166665 -54.2499995 -20.5833335 -20.4166665 499 0 2670 --54.2500005 -54.0833335 -20.5833335 -20.4166665 490 0 2670 --54.0833335 -53.9166665 -20.5833335 -20.4166665 551 0 2670 --53.9166665 -53.7499995 -20.5833335 -20.4166665 453 0 2670 --53.7500005 -53.5833335 -20.5833335 -20.4166665 414 0 2670 --53.5833335 -53.4166665 -20.5833335 -20.4166665 426 0 2670 --53.4166665 -53.2499995 -20.5833335 -20.4166665 459 0 2670 --53.2500005 -53.0833335 -20.5833335 -20.4166665 370 0 2670 --53.0833335 -52.9166665 -20.5833335 -20.4166665 370 0 2670 --52.9166665 -52.7499995 -20.5833335 -20.4166665 315 0 2670 --52.7500005 -52.5833335 -20.5833335 -20.4166665 399 0 2670 --52.5833335 -52.4166665 -20.5833335 -20.4166665 400 0 2670 --52.4166665 -52.2499995 -20.5833335 -20.4166665 402 0 2670 --52.2500005 -52.0833335 -20.5833335 -20.4166665 387 0 2670 --52.0833335 -51.9166665 -20.5833335 -20.4166665 369 0 2670 --51.9166665 -51.7499995 -20.5833335 -20.4166665 382 0 2670 --51.7500005 -51.5833335 -20.5833335 -20.4166665 321 0 2670 --51.5833335 -51.4166665 -20.5833335 -20.4166665 311 0 2670 --51.4166665 -51.2499995 -20.5833335 -20.4166665 361 0 2670 --51.2500005 -51.0833335 -20.5833335 -20.4166665 326 0 2670 --51.0833335 -50.9166665 -20.5833335 -20.4166665 365 0 2670 --50.9166665 -50.7499995 -20.5833335 -20.4166665 375 0 2670 --50.7500005 -50.5833335 -20.5833335 -20.4166665 359 0 2670 --50.5833335 -50.4166665 -20.5833335 -20.4166665 352 0 2670 --50.4166665 -50.2499995 -20.5833335 -20.4166665 408 0 2670 --50.2500005 -50.0833335 -20.5833335 -20.4166665 396 0 2670 --50.0833335 -49.9166665 -20.5833335 -20.4166665 458 0 2670 --49.9166665 -49.7499995 -20.5833335 -20.4166665 499 0 2670 --49.7500005 -49.5833335 -20.5833335 -20.4166665 489 0 2670 --49.5833335 -49.4166665 -20.5833335 -20.4166665 452 0 2670 --49.4166665 -49.2499995 -20.5833335 -20.4166665 538 0 2670 --49.2500005 -49.0833335 -20.5833335 -20.4166665 482 0 2670 --49.0833335 -48.9166665 -20.5833335 -20.4166665 508 0 2670 --48.9166665 -48.7499995 -20.5833335 -20.4166665 493 0 2670 --48.7500005 -48.5833335 -20.5833335 -20.4166665 568 0 2670 --48.5833335 -48.4166665 -20.5833335 -20.4166665 513 0 2670 --48.4166665 -48.2499995 -20.5833335 -20.4166665 493 0 2670 --48.2500005 -48.0833335 -20.5833335 -20.4166665 566 0 2670 --48.0833335 -47.9166665 -20.5833335 -20.4166665 602 0 2670 --47.9166665 -47.7499995 -20.5833335 -20.4166665 573 0 2670 --47.7500005 -47.5833335 -20.5833335 -20.4166665 794 0 2670 --47.5833335 -47.4166665 -20.5833335 -20.4166665 924 0 2670 --47.4166665 -47.2499995 -20.5833335 -20.4166665 826 0 2670 --47.2500005 -47.0833335 -20.5833335 -20.4166665 1100 0 2670 --47.0833335 -46.9166665 -20.5833335 -20.4166665 1066 0 2670 --46.9166665 -46.7499995 -20.5833335 -20.4166665 740 0 2670 --46.7500005 -46.5833335 -20.5833335 -20.4166665 709 0 2670 --46.5833335 -46.4166665 -20.5833335 -20.4166665 1044 0 2670 --46.4166665 -46.2499995 -20.5833335 -20.4166665 945 0 2670 --46.2500005 -46.0833335 -20.5833335 -20.4166665 822 0 2670 --46.0833335 -45.9166665 -20.5833335 -20.4166665 814 0 2670 --45.9166665 -45.7499995 -20.5833335 -20.4166665 795 0 2670 --45.7500005 -45.5833335 -20.5833335 -20.4166665 853 0 2670 --45.5833335 -45.4166665 -20.5833335 -20.4166665 811 0 2670 --45.4166665 -45.2499995 -20.5833335 -20.4166665 936 0 2670 --45.2500005 -45.0833335 -20.5833335 -20.4166665 870 0 2670 --45.0833335 -44.9166665 -20.5833335 -20.4166665 806 0 2670 --44.9166665 -44.7499995 -20.5833335 -20.4166665 841 0 2670 --44.7500005 -44.5833335 -20.5833335 -20.4166665 898 0 2670 --44.5833335 -44.4166665 -20.5833335 -20.4166665 803 0 2670 --44.4166665 -44.2499995 -20.5833335 -20.4166665 1094 0 2670 --44.2500005 -44.0833335 -20.5833335 -20.4166665 1045 0 2670 --44.0833335 -43.9166665 -20.5833335 -20.4166665 858 0 2670 --43.9166665 -43.7499995 -20.5833335 -20.4166665 944 0 2670 --43.7500005 -43.5833335 -20.5833335 -20.4166665 1300 0 2670 --43.5833335 -43.4166665 -20.5833335 -20.4166665 1015 0 2670 --43.4166665 -43.2499995 -20.5833335 -20.4166665 750 0 2670 --43.2500005 -43.0833335 -20.5833335 -20.4166665 734 0 2670 --43.0833335 -42.9166665 -20.5833335 -20.4166665 540 0 2670 --42.9166665 -42.7499995 -20.5833335 -20.4166665 668 0 2670 --42.7500005 -42.5833335 -20.5833335 -20.4166665 480 0 2670 --42.5833335 -42.4166665 -20.5833335 -20.4166665 839 0 2670 --42.4166665 -42.2499995 -20.5833335 -20.4166665 1033 0 2670 --42.2500005 -42.0833335 -20.5833335 -20.4166665 1105 0 2670 --42.0833335 -41.9166665 -20.5833335 -20.4166665 1056 0 2670 --41.9166665 -41.7499995 -20.5833335 -20.4166665 1750 0 2670 --41.7500005 -41.5833335 -20.5833335 -20.4166665 854 0 2670 --41.5833335 -41.4166665 -20.5833335 -20.4166665 423 0 2670 --41.4166665 -41.2499995 -20.5833335 -20.4166665 473 0 2670 --41.2500005 -41.0833335 -20.5833335 -20.4166665 555 0 2670 --41.0833335 -40.9166665 -20.5833335 -20.4166665 1089 0 2670 --40.9166665 -40.7499995 -20.5833335 -20.4166665 662 0 2670 --40.7500005 -40.5833335 -20.5833335 -20.4166665 673 0 2670 --40.5833335 -40.4166665 -20.5833335 -20.4166665 21 0 2670 --40.4166665 -40.2499995 -20.5833335 -20.4166665 0 -8 -1670 --40.2500005 -40.0833335 -20.5833335 -20.4166665 0 -32 -1670 --40.0833335 -39.9166665 -20.5833335 -20.4166665 0 -60 -1670 --65.0833335 -64.9166665 -20.7500005 -20.5833335 3663 0 2670 --64.9166665 -64.7499995 -20.7500005 -20.5833335 3133 0 2670 --64.7500005 -64.5833335 -20.7500005 -20.5833335 3147 0 2670 --64.5833335 -64.4166665 -20.7500005 -20.5833335 2796 0 2670 --64.4166665 -64.2499995 -20.7500005 -20.5833335 1655 0 2670 --64.2500005 -64.0833335 -20.7500005 -20.5833335 1054 0 2670 --64.0833335 -63.9166665 -20.7500005 -20.5833335 1024 0 2670 --63.9166665 -63.7499995 -20.7500005 -20.5833335 1425 0 2670 --63.7500005 -63.5833335 -20.7500005 -20.5833335 1098 0 2670 --63.5833335 -63.4166665 -20.7500005 -20.5833335 1017 0 2670 --63.4166665 -63.2499995 -20.7500005 -20.5833335 840 0 2670 --63.2500005 -63.0833335 -20.7500005 -20.5833335 732 0 2670 --63.0833335 -62.9166665 -20.7500005 -20.5833335 587 0 2670 --62.9166665 -62.7499995 -20.7500005 -20.5833335 510 0 2670 --62.7500005 -62.5833335 -20.7500005 -20.5833335 454 0 2670 --62.5833335 -62.4166665 -20.7500005 -20.5833335 421 0 2670 --62.4166665 -62.2499995 -20.7500005 -20.5833335 389 0 2670 --62.2500005 -62.0833335 -20.7500005 -20.5833335 353 0 2670 --62.0833335 -61.9166665 -20.7500005 -20.5833335 334 0 2670 --61.9166665 -61.7499995 -20.7500005 -20.5833335 315 0 2670 --61.7500005 -61.5833335 -20.7500005 -20.5833335 285 0 2670 --61.5833335 -61.4166665 -20.7500005 -20.5833335 265 0 2670 --61.4166665 -61.2499995 -20.7500005 -20.5833335 246 0 2670 --61.2500005 -61.0833335 -20.7500005 -20.5833335 227 0 2670 --61.0833335 -60.9166665 -20.7500005 -20.5833335 211 0 2670 --60.9166665 -60.7499995 -20.7500005 -20.5833335 195 0 2670 --60.7500005 -60.5833335 -20.7500005 -20.5833335 178 0 2670 --60.5833335 -60.4166665 -20.7500005 -20.5833335 170 0 2670 --60.4166665 -60.2499995 -20.7500005 -20.5833335 156 0 2670 --60.2500005 -60.0833335 -20.7500005 -20.5833335 146 0 2670 --60.0833335 -59.9166665 -20.7500005 -20.5833335 136 0 2670 --59.9166665 -59.7499995 -20.7500005 -20.5833335 128 0 2670 --59.7500005 -59.5833335 -20.7500005 -20.5833335 123 0 2670 --59.5833335 -59.4166665 -20.7500005 -20.5833335 116 0 2670 --59.4166665 -59.2499995 -20.7500005 -20.5833335 113 0 2670 --59.2500005 -59.0833335 -20.7500005 -20.5833335 106 0 2670 --59.0833335 -58.9166665 -20.7500005 -20.5833335 104 0 2670 --58.9166665 -58.7499995 -20.7500005 -20.5833335 101 0 2670 --58.7500005 -58.5833335 -20.7500005 -20.5833335 99 0 2670 --58.5833335 -58.4166665 -20.7500005 -20.5833335 95 0 2670 --58.4166665 -58.2499995 -20.7500005 -20.5833335 90 0 2670 --58.2500005 -58.0833335 -20.7500005 -20.5833335 91 0 2670 --58.0833335 -57.9166665 -20.7500005 -20.5833335 81 0 2670 --57.9166665 -57.7499995 -20.7500005 -20.5833335 80 0 2670 --57.7500005 -57.5833335 -20.7500005 -20.5833335 81 0 2670 --57.5833335 -57.4166665 -20.7500005 -20.5833335 195 0 2670 --57.4166665 -57.2499995 -20.7500005 -20.5833335 131 0 2670 --57.2500005 -57.0833335 -20.7500005 -20.5833335 158 0 2670 --57.0833335 -56.9166665 -20.7500005 -20.5833335 351 0 2670 --56.9166665 -56.7499995 -20.7500005 -20.5833335 536 0 2670 --56.7500005 -56.5833335 -20.7500005 -20.5833335 347 0 2670 --56.5833335 -56.4166665 -20.7500005 -20.5833335 166 0 2670 --56.4166665 -56.2499995 -20.7500005 -20.5833335 200 0 2670 --56.2500005 -56.0833335 -20.7500005 -20.5833335 153 0 2670 --56.0833335 -55.9166665 -20.7500005 -20.5833335 205 0 2670 --55.9166665 -55.7499995 -20.7500005 -20.5833335 187 0 2670 --55.7500005 -55.5833335 -20.7500005 -20.5833335 286 0 2670 --55.5833335 -55.4166665 -20.7500005 -20.5833335 286 0 2670 --55.4166665 -55.2499995 -20.7500005 -20.5833335 247 0 2670 --55.2500005 -55.0833335 -20.7500005 -20.5833335 291 0 2670 --55.0833335 -54.9166665 -20.7500005 -20.5833335 305 0 2670 --54.9166665 -54.7499995 -20.7500005 -20.5833335 506 0 2670 --54.7500005 -54.5833335 -20.7500005 -20.5833335 482 0 2670 --54.5833335 -54.4166665 -20.7500005 -20.5833335 560 0 2670 --54.4166665 -54.2499995 -20.7500005 -20.5833335 595 0 2670 --54.2500005 -54.0833335 -20.7500005 -20.5833335 567 0 2670 --54.0833335 -53.9166665 -20.7500005 -20.5833335 471 0 2670 --53.9166665 -53.7499995 -20.7500005 -20.5833335 445 0 2670 --53.7500005 -53.5833335 -20.7500005 -20.5833335 370 0 2670 --53.5833335 -53.4166665 -20.7500005 -20.5833335 388 0 2670 --53.4166665 -53.2499995 -20.7500005 -20.5833335 433 0 2670 --53.2500005 -53.0833335 -20.7500005 -20.5833335 442 0 2670 --53.0833335 -52.9166665 -20.7500005 -20.5833335 404 0 2670 --52.9166665 -52.7499995 -20.7500005 -20.5833335 431 0 2670 --52.7500005 -52.5833335 -20.7500005 -20.5833335 296 0 2670 --52.5833335 -52.4166665 -20.7500005 -20.5833335 392 0 2670 --52.4166665 -52.2499995 -20.7500005 -20.5833335 351 0 2670 --52.2500005 -52.0833335 -20.7500005 -20.5833335 386 0 2670 --52.0833335 -51.9166665 -20.7500005 -20.5833335 308 0 2670 --51.9166665 -51.7499995 -20.7500005 -20.5833335 299 0 2670 --51.7500005 -51.5833335 -20.7500005 -20.5833335 315 0 2670 --51.5833335 -51.4166665 -20.7500005 -20.5833335 278 0 2670 --51.4166665 -51.2499995 -20.7500005 -20.5833335 310 0 2670 --51.2500005 -51.0833335 -20.7500005 -20.5833335 324 0 2670 --51.0833335 -50.9166665 -20.7500005 -20.5833335 344 0 2670 --50.9166665 -50.7499995 -20.7500005 -20.5833335 375 0 2670 --50.7500005 -50.5833335 -20.7500005 -20.5833335 435 0 2670 --50.5833335 -50.4166665 -20.7500005 -20.5833335 422 0 2670 --50.4166665 -50.2499995 -20.7500005 -20.5833335 435 0 2670 --50.2500005 -50.0833335 -20.7500005 -20.5833335 498 0 2670 --50.0833335 -49.9166665 -20.7500005 -20.5833335 454 0 2670 --49.9166665 -49.7499995 -20.7500005 -20.5833335 458 0 2670 --49.7500005 -49.5833335 -20.7500005 -20.5833335 528 0 2670 --49.5833335 -49.4166665 -20.7500005 -20.5833335 521 0 2670 --49.4166665 -49.2499995 -20.7500005 -20.5833335 511 0 2670 --49.2500005 -49.0833335 -20.7500005 -20.5833335 513 0 2670 --49.0833335 -48.9166665 -20.7500005 -20.5833335 518 0 2670 --48.9166665 -48.7499995 -20.7500005 -20.5833335 558 0 2670 --48.7500005 -48.5833335 -20.7500005 -20.5833335 566 0 2670 --48.5833335 -48.4166665 -20.7500005 -20.5833335 541 0 2670 --48.4166665 -48.2499995 -20.7500005 -20.5833335 470 0 2670 --48.2500005 -48.0833335 -20.7500005 -20.5833335 532 0 2670 --48.0833335 -47.9166665 -20.7500005 -20.5833335 649 0 2670 --47.9166665 -47.7499995 -20.7500005 -20.5833335 757 0 2670 --47.7500005 -47.5833335 -20.7500005 -20.5833335 666 0 2670 --47.5833335 -47.4166665 -20.7500005 -20.5833335 752 0 2670 --47.4166665 -47.2499995 -20.7500005 -20.5833335 719 0 2670 --47.2500005 -47.0833335 -20.7500005 -20.5833335 881 0 2670 --47.0833335 -46.9166665 -20.7500005 -20.5833335 796 0 2670 --46.9166665 -46.7499995 -20.7500005 -20.5833335 707 0 2670 --46.7500005 -46.5833335 -20.7500005 -20.5833335 787 0 2670 --46.5833335 -46.4166665 -20.7500005 -20.5833335 673 0 2670 --46.4166665 -46.2499995 -20.7500005 -20.5833335 689 0 2670 --46.2500005 -46.0833335 -20.7500005 -20.5833335 912 0 2670 --46.0833335 -45.9166665 -20.7500005 -20.5833335 781 0 2670 --45.9166665 -45.7499995 -20.7500005 -20.5833335 770 0 2670 --45.7500005 -45.5833335 -20.7500005 -20.5833335 809 0 2670 --45.5833335 -45.4166665 -20.7500005 -20.5833335 809 0 2670 --45.4166665 -45.2499995 -20.7500005 -20.5833335 829 0 2670 --45.2500005 -45.0833335 -20.7500005 -20.5833335 1024 0 2670 --45.0833335 -44.9166665 -20.7500005 -20.5833335 983 0 2670 --44.9166665 -44.7499995 -20.7500005 -20.5833335 959 0 2670 --44.7500005 -44.5833335 -20.7500005 -20.5833335 953 0 2670 --44.5833335 -44.4166665 -20.7500005 -20.5833335 1005 0 2670 --44.4166665 -44.2499995 -20.7500005 -20.5833335 1057 0 2670 --44.2500005 -44.0833335 -20.7500005 -20.5833335 1014 0 2670 --44.0833335 -43.9166665 -20.7500005 -20.5833335 972 0 2670 --43.9166665 -43.7499995 -20.7500005 -20.5833335 996 0 2670 --43.7500005 -43.5833335 -20.7500005 -20.5833335 860 0 2670 --43.5833335 -43.4166665 -20.7500005 -20.5833335 804 0 2670 --43.4166665 -43.2499995 -20.7500005 -20.5833335 745 0 2670 --43.2500005 -43.0833335 -20.7500005 -20.5833335 728 0 2670 --43.0833335 -42.9166665 -20.7500005 -20.5833335 642 0 2670 --42.9166665 -42.7499995 -20.7500005 -20.5833335 714 0 2670 --42.7500005 -42.5833335 -20.7500005 -20.5833335 654 0 2670 --42.5833335 -42.4166665 -20.7500005 -20.5833335 1189 0 2670 --42.4166665 -42.2499995 -20.7500005 -20.5833335 863 0 2670 --42.2500005 -42.0833335 -20.7500005 -20.5833335 758 0 2670 --42.0833335 -41.9166665 -20.7500005 -20.5833335 834 0 2670 --41.9166665 -41.7499995 -20.7500005 -20.5833335 819 0 2670 --41.7500005 -41.5833335 -20.7500005 -20.5833335 761 0 2670 --41.5833335 -41.4166665 -20.7500005 -20.5833335 264 0 2670 --41.4166665 -41.2499995 -20.7500005 -20.5833335 421 0 2670 --41.2500005 -41.0833335 -20.7500005 -20.5833335 125 0 2670 --41.0833335 -40.9166665 -20.7500005 -20.5833335 664 0 2670 --40.9166665 -40.7499995 -20.7500005 -20.5833335 648 0 2670 --40.7500005 -40.5833335 -20.7500005 -20.5833335 43 0 2670 --40.5833335 -40.4166665 -20.7500005 -20.5833335 2 0 2670 --40.4166665 -40.2499995 -20.7500005 -20.5833335 0 -16 -1670 --40.2500005 -40.0833335 -20.7500005 -20.5833335 0 -39 -1670 --40.0833335 -39.9166665 -20.7500005 -20.5833335 0 -61 -1670 --65.0833335 -64.9166665 -20.9166665 -20.7499995 2933 0 2670 --64.9166665 -64.7499995 -20.9166665 -20.7499995 2787 0 2670 --64.7500005 -64.5833335 -20.9166665 -20.7499995 2036 0 2670 --64.5833335 -64.4166665 -20.9166665 -20.7499995 2620 0 2670 --64.4166665 -64.2499995 -20.9166665 -20.7499995 1310 0 2670 --64.2500005 -64.0833335 -20.9166665 -20.7499995 927 0 2670 --64.0833335 -63.9166665 -20.9166665 -20.7499995 1071 0 2670 --63.9166665 -63.7499995 -20.9166665 -20.7499995 1135 0 2670 --63.7500005 -63.5833335 -20.9166665 -20.7499995 840 0 2670 --63.5833335 -63.4166665 -20.9166665 -20.7499995 1145 0 2670 --63.4166665 -63.2499995 -20.9166665 -20.7499995 634 0 2670 --63.2500005 -63.0833335 -20.9166665 -20.7499995 647 0 2670 --63.0833335 -62.9166665 -20.9166665 -20.7499995 558 0 2670 --62.9166665 -62.7499995 -20.9166665 -20.7499995 475 0 2670 --62.7500005 -62.5833335 -20.9166665 -20.7499995 430 0 2670 --62.5833335 -62.4166665 -20.9166665 -20.7499995 390 0 2670 --62.4166665 -62.2499995 -20.9166665 -20.7499995 373 0 2670 --62.2500005 -62.0833335 -20.9166665 -20.7499995 354 0 2670 --62.0833335 -61.9166665 -20.9166665 -20.7499995 323 0 2670 --61.9166665 -61.7499995 -20.9166665 -20.7499995 302 0 2670 --61.7500005 -61.5833335 -20.9166665 -20.7499995 280 0 2670 --61.5833335 -61.4166665 -20.9166665 -20.7499995 257 0 2670 --61.4166665 -61.2499995 -20.9166665 -20.7499995 240 0 2670 --61.2500005 -61.0833335 -20.9166665 -20.7499995 220 0 2670 --61.0833335 -60.9166665 -20.9166665 -20.7499995 202 0 2670 --60.9166665 -60.7499995 -20.9166665 -20.7499995 190 0 2670 --60.7500005 -60.5833335 -20.9166665 -20.7499995 173 0 2670 --60.5833335 -60.4166665 -20.9166665 -20.7499995 161 0 2670 --60.4166665 -60.2499995 -20.9166665 -20.7499995 149 0 2670 --60.2500005 -60.0833335 -20.9166665 -20.7499995 142 0 2670 --60.0833335 -59.9166665 -20.9166665 -20.7499995 135 0 2670 --59.9166665 -59.7499995 -20.9166665 -20.7499995 128 0 2670 --59.7500005 -59.5833335 -20.9166665 -20.7499995 122 0 2670 --59.5833335 -59.4166665 -20.9166665 -20.7499995 117 0 2670 --59.4166665 -59.2499995 -20.9166665 -20.7499995 112 0 2670 --59.2500005 -59.0833335 -20.9166665 -20.7499995 106 0 2670 --59.0833335 -58.9166665 -20.9166665 -20.7499995 101 0 2670 --58.9166665 -58.7499995 -20.9166665 -20.7499995 98 0 2670 --58.7500005 -58.5833335 -20.9166665 -20.7499995 96 0 2670 --58.5833335 -58.4166665 -20.9166665 -20.7499995 91 0 2670 --58.4166665 -58.2499995 -20.9166665 -20.7499995 89 0 2670 --58.2500005 -58.0833335 -20.9166665 -20.7499995 87 0 2670 --58.0833335 -57.9166665 -20.9166665 -20.7499995 84 0 2670 --57.9166665 -57.7499995 -20.9166665 -20.7499995 80 0 2670 --57.7500005 -57.5833335 -20.9166665 -20.7499995 86 0 2670 --57.5833335 -57.4166665 -20.9166665 -20.7499995 104 0 2670 --57.4166665 -57.2499995 -20.9166665 -20.7499995 114 0 2670 --57.2500005 -57.0833335 -20.9166665 -20.7499995 137 0 2670 --57.0833335 -56.9166665 -20.9166665 -20.7499995 214 0 2670 --56.9166665 -56.7499995 -20.9166665 -20.7499995 607 0 2670 --56.7500005 -56.5833335 -20.9166665 -20.7499995 529 0 2670 --56.5833335 -56.4166665 -20.9166665 -20.7499995 257 0 2670 --56.4166665 -56.2499995 -20.9166665 -20.7499995 331 0 2670 --56.2500005 -56.0833335 -20.9166665 -20.7499995 187 0 2670 --56.0833335 -55.9166665 -20.9166665 -20.7499995 157 0 2670 --55.9166665 -55.7499995 -20.9166665 -20.7499995 236 0 2670 --55.7500005 -55.5833335 -20.9166665 -20.7499995 211 0 2670 --55.5833335 -55.4166665 -20.9166665 -20.7499995 307 0 2670 --55.4166665 -55.2499995 -20.9166665 -20.7499995 308 0 2670 --55.2500005 -55.0833335 -20.9166665 -20.7499995 257 0 2670 --55.0833335 -54.9166665 -20.9166665 -20.7499995 319 0 2670 --54.9166665 -54.7499995 -20.9166665 -20.7499995 510 0 2670 --54.7500005 -54.5833335 -20.9166665 -20.7499995 463 0 2670 --54.5833335 -54.4166665 -20.9166665 -20.7499995 504 0 2670 --54.4166665 -54.2499995 -20.9166665 -20.7499995 514 0 2670 --54.2500005 -54.0833335 -20.9166665 -20.7499995 526 0 2670 --54.0833335 -53.9166665 -20.9166665 -20.7499995 460 0 2670 --53.9166665 -53.7499995 -20.9166665 -20.7499995 439 0 2670 --53.7500005 -53.5833335 -20.9166665 -20.7499995 450 0 2670 --53.5833335 -53.4166665 -20.9166665 -20.7499995 372 0 2670 --53.4166665 -53.2499995 -20.9166665 -20.7499995 412 0 2670 --53.2500005 -53.0833335 -20.9166665 -20.7499995 393 0 2670 --53.0833335 -52.9166665 -20.9166665 -20.7499995 421 0 2670 --52.9166665 -52.7499995 -20.9166665 -20.7499995 408 0 2670 --52.7500005 -52.5833335 -20.9166665 -20.7499995 378 0 2670 --52.5833335 -52.4166665 -20.9166665 -20.7499995 328 0 2670 --52.4166665 -52.2499995 -20.9166665 -20.7499995 339 0 2670 --52.2500005 -52.0833335 -20.9166665 -20.7499995 335 0 2670 --52.0833335 -51.9166665 -20.9166665 -20.7499995 395 0 2670 --51.9166665 -51.7499995 -20.9166665 -20.7499995 323 0 2670 --51.7500005 -51.5833335 -20.9166665 -20.7499995 273 0 2670 --51.5833335 -51.4166665 -20.9166665 -20.7499995 363 0 2670 --51.4166665 -51.2499995 -20.9166665 -20.7499995 356 0 2670 --51.2500005 -51.0833335 -20.9166665 -20.7499995 396 0 2670 --51.0833335 -50.9166665 -20.9166665 -20.7499995 341 0 2670 --50.9166665 -50.7499995 -20.9166665 -20.7499995 321 0 2670 --50.7500005 -50.5833335 -20.9166665 -20.7499995 339 0 2670 --50.5833335 -50.4166665 -20.9166665 -20.7499995 390 0 2670 --50.4166665 -50.2499995 -20.9166665 -20.7499995 378 0 2670 --50.2500005 -50.0833335 -20.9166665 -20.7499995 420 0 2670 --50.0833335 -49.9166665 -20.9166665 -20.7499995 443 0 2670 --49.9166665 -49.7499995 -20.9166665 -20.7499995 474 0 2670 --49.7500005 -49.5833335 -20.9166665 -20.7499995 504 0 2670 --49.5833335 -49.4166665 -20.9166665 -20.7499995 542 0 2670 --49.4166665 -49.2499995 -20.9166665 -20.7499995 501 0 2670 --49.2500005 -49.0833335 -20.9166665 -20.7499995 507 0 2670 --49.0833335 -48.9166665 -20.9166665 -20.7499995 506 0 2670 --48.9166665 -48.7499995 -20.9166665 -20.7499995 525 0 2670 --48.7500005 -48.5833335 -20.9166665 -20.7499995 543 0 2670 --48.5833335 -48.4166665 -20.9166665 -20.7499995 573 0 2670 --48.4166665 -48.2499995 -20.9166665 -20.7499995 539 0 2670 --48.2500005 -48.0833335 -20.9166665 -20.7499995 522 0 2670 --48.0833335 -47.9166665 -20.9166665 -20.7499995 569 0 2670 --47.9166665 -47.7499995 -20.9166665 -20.7499995 642 0 2670 --47.7500005 -47.5833335 -20.9166665 -20.7499995 830 0 2670 --47.5833335 -47.4166665 -20.9166665 -20.7499995 794 0 2670 --47.4166665 -47.2499995 -20.9166665 -20.7499995 762 0 2670 --47.2500005 -47.0833335 -20.9166665 -20.7499995 814 0 2670 --47.0833335 -46.9166665 -20.9166665 -20.7499995 848 0 2670 --46.9166665 -46.7499995 -20.9166665 -20.7499995 816 0 2670 --46.7500005 -46.5833335 -20.9166665 -20.7499995 907 0 2670 --46.5833335 -46.4166665 -20.9166665 -20.7499995 853 0 2670 --46.4166665 -46.2499995 -20.9166665 -20.7499995 832 0 2670 --46.2500005 -46.0833335 -20.9166665 -20.7499995 766 0 2670 --46.0833335 -45.9166665 -20.9166665 -20.7499995 958 0 2670 --45.9166665 -45.7499995 -20.9166665 -20.7499995 840 0 2670 --45.7500005 -45.5833335 -20.9166665 -20.7499995 789 0 2670 --45.5833335 -45.4166665 -20.9166665 -20.7499995 834 0 2670 --45.4166665 -45.2499995 -20.9166665 -20.7499995 890 0 2670 --45.2500005 -45.0833335 -20.9166665 -20.7499995 888 0 2670 --45.0833335 -44.9166665 -20.9166665 -20.7499995 966 0 2670 --44.9166665 -44.7499995 -20.9166665 -20.7499995 1072 0 2670 --44.7500005 -44.5833335 -20.9166665 -20.7499995 1056 0 2670 --44.5833335 -44.4166665 -20.9166665 -20.7499995 1103 0 2670 --44.4166665 -44.2499995 -20.9166665 -20.7499995 1116 0 2670 --44.2500005 -44.0833335 -20.9166665 -20.7499995 1052 0 2670 --44.0833335 -43.9166665 -20.9166665 -20.7499995 951 0 2670 --43.9166665 -43.7499995 -20.9166665 -20.7499995 1026 0 2670 --43.7500005 -43.5833335 -20.9166665 -20.7499995 760 0 2670 --43.5833335 -43.4166665 -20.9166665 -20.7499995 805 0 2670 --43.4166665 -43.2499995 -20.9166665 -20.7499995 750 0 2670 --43.2500005 -43.0833335 -20.9166665 -20.7499995 656 0 2670 --43.0833335 -42.9166665 -20.9166665 -20.7499995 759 0 2670 --42.9166665 -42.7499995 -20.9166665 -20.7499995 759 0 2670 --42.7500005 -42.5833335 -20.9166665 -20.7499995 788 0 2670 --42.5833335 -42.4166665 -20.9166665 -20.7499995 1201 0 2670 --42.4166665 -42.2499995 -20.9166665 -20.7499995 615 0 2670 --42.2500005 -42.0833335 -20.9166665 -20.7499995 725 0 2670 --42.0833335 -41.9166665 -20.9166665 -20.7499995 366 0 2670 --41.9166665 -41.7499995 -20.9166665 -20.7499995 699 0 2670 --41.7500005 -41.5833335 -20.9166665 -20.7499995 672 0 2670 --41.5833335 -41.4166665 -20.9166665 -20.7499995 619 0 2670 --41.4166665 -41.2499995 -20.9166665 -20.7499995 207 0 2670 --41.2500005 -41.0833335 -20.9166665 -20.7499995 79 0 2670 --41.0833335 -40.9166665 -20.9166665 -20.7499995 94 0 2670 --40.9166665 -40.7499995 -20.9166665 -20.7499995 49 0 2670 --40.7500005 -40.5833335 -20.9166665 -20.7499995 0 -1 -1670 --40.5833335 -40.4166665 -20.9166665 -20.7499995 0 -19 -1670 --40.4166665 -40.2499995 -20.9166665 -20.7499995 0 -30 -1670 --40.2500005 -40.0833335 -20.9166665 -20.7499995 0 -47 -1670 --40.0833335 -39.9166665 -20.9166665 -20.7499995 0 -969 -1670 --65.0833335 -64.9166665 -21.0833335 -20.9166665 2325 0 2670 --64.9166665 -64.7499995 -21.0833335 -20.9166665 3578 0 2670 --64.7500005 -64.5833335 -21.0833335 -20.9166665 2465 0 2670 --64.5833335 -64.4166665 -21.0833335 -20.9166665 2479 0 2670 --64.4166665 -64.2499995 -21.0833335 -20.9166665 1388 0 2670 --64.2500005 -64.0833335 -21.0833335 -20.9166665 1020 0 2670 --64.0833335 -63.9166665 -21.0833335 -20.9166665 623 0 2670 --63.9166665 -63.7499995 -21.0833335 -20.9166665 763 0 2670 --63.7500005 -63.5833335 -21.0833335 -20.9166665 700 0 2670 --63.5833335 -63.4166665 -21.0833335 -20.9166665 941 0 2670 --63.4166665 -63.2499995 -21.0833335 -20.9166665 550 0 2670 --63.2500005 -63.0833335 -21.0833335 -20.9166665 565 0 2670 --63.0833335 -62.9166665 -21.0833335 -20.9166665 552 0 2670 --62.9166665 -62.7499995 -21.0833335 -20.9166665 438 0 2670 --62.7500005 -62.5833335 -21.0833335 -20.9166665 393 0 2670 --62.5833335 -62.4166665 -21.0833335 -20.9166665 365 0 2670 --62.4166665 -62.2499995 -21.0833335 -20.9166665 348 0 2670 --62.2500005 -62.0833335 -21.0833335 -20.9166665 330 0 2670 --62.0833335 -61.9166665 -21.0833335 -20.9166665 313 0 2670 --61.9166665 -61.7499995 -21.0833335 -20.9166665 291 0 2670 --61.7500005 -61.5833335 -21.0833335 -20.9166665 266 0 2670 --61.5833335 -61.4166665 -21.0833335 -20.9166665 249 0 2670 --61.4166665 -61.2499995 -21.0833335 -20.9166665 228 0 2670 --61.2500005 -61.0833335 -21.0833335 -20.9166665 211 0 2670 --61.0833335 -60.9166665 -21.0833335 -20.9166665 194 0 2670 --60.9166665 -60.7499995 -21.0833335 -20.9166665 179 0 2670 --60.7500005 -60.5833335 -21.0833335 -20.9166665 168 0 2670 --60.5833335 -60.4166665 -21.0833335 -20.9166665 157 0 2670 --60.4166665 -60.2499995 -21.0833335 -20.9166665 148 0 2670 --60.2500005 -60.0833335 -21.0833335 -20.9166665 142 0 2670 --60.0833335 -59.9166665 -21.0833335 -20.9166665 134 0 2670 --59.9166665 -59.7499995 -21.0833335 -20.9166665 128 0 2670 --59.7500005 -59.5833335 -21.0833335 -20.9166665 124 0 2670 --59.5833335 -59.4166665 -21.0833335 -20.9166665 120 0 2670 --59.4166665 -59.2499995 -21.0833335 -20.9166665 112 0 2670 --59.2500005 -59.0833335 -21.0833335 -20.9166665 106 0 2670 --59.0833335 -58.9166665 -21.0833335 -20.9166665 104 0 2670 --58.9166665 -58.7499995 -21.0833335 -20.9166665 98 0 2670 --58.7500005 -58.5833335 -21.0833335 -20.9166665 97 0 2670 --58.5833335 -58.4166665 -21.0833335 -20.9166665 95 0 2670 --58.4166665 -58.2499995 -21.0833335 -20.9166665 90 0 2670 --58.2500005 -58.0833335 -21.0833335 -20.9166665 85 0 2670 --58.0833335 -57.9166665 -21.0833335 -20.9166665 84 0 2670 --57.9166665 -57.7499995 -21.0833335 -20.9166665 78 0 2670 --57.7500005 -57.5833335 -21.0833335 -20.9166665 91 0 2670 --57.5833335 -57.4166665 -21.0833335 -20.9166665 101 0 2670 --57.4166665 -57.2499995 -21.0833335 -20.9166665 340 0 2670 --57.2500005 -57.0833335 -21.0833335 -20.9166665 154 0 2670 --57.0833335 -56.9166665 -21.0833335 -20.9166665 211 0 2670 --56.9166665 -56.7499995 -21.0833335 -20.9166665 602 0 2670 --56.7500005 -56.5833335 -21.0833335 -20.9166665 647 0 2670 --56.5833335 -56.4166665 -21.0833335 -20.9166665 368 0 2670 --56.4166665 -56.2499995 -21.0833335 -20.9166665 273 0 2670 --56.2500005 -56.0833335 -21.0833335 -20.9166665 218 0 2670 --56.0833335 -55.9166665 -21.0833335 -20.9166665 191 0 2670 --55.9166665 -55.7499995 -21.0833335 -20.9166665 280 0 2670 --55.7500005 -55.5833335 -21.0833335 -20.9166665 290 0 2670 --55.5833335 -55.4166665 -21.0833335 -20.9166665 250 0 2670 --55.4166665 -55.2499995 -21.0833335 -20.9166665 442 0 2670 --55.2500005 -55.0833335 -21.0833335 -20.9166665 534 0 2670 --55.0833335 -54.9166665 -21.0833335 -20.9166665 452 0 2670 --54.9166665 -54.7499995 -21.0833335 -20.9166665 489 0 2670 --54.7500005 -54.5833335 -21.0833335 -20.9166665 493 0 2670 --54.5833335 -54.4166665 -21.0833335 -20.9166665 402 0 2670 --54.4166665 -54.2499995 -21.0833335 -20.9166665 472 0 2670 --54.2500005 -54.0833335 -21.0833335 -20.9166665 446 0 2670 --54.0833335 -53.9166665 -21.0833335 -20.9166665 443 0 2670 --53.9166665 -53.7499995 -21.0833335 -20.9166665 416 0 2670 --53.7500005 -53.5833335 -21.0833335 -20.9166665 429 0 2670 --53.5833335 -53.4166665 -21.0833335 -20.9166665 434 0 2670 --53.4166665 -53.2499995 -21.0833335 -20.9166665 373 0 2670 --53.2500005 -53.0833335 -21.0833335 -20.9166665 359 0 2670 --53.0833335 -52.9166665 -21.0833335 -20.9166665 435 0 2670 --52.9166665 -52.7499995 -21.0833335 -20.9166665 428 0 2670 --52.7500005 -52.5833335 -21.0833335 -20.9166665 405 0 2670 --52.5833335 -52.4166665 -21.0833335 -20.9166665 357 0 2670 --52.4166665 -52.2499995 -21.0833335 -20.9166665 363 0 2670 --52.2500005 -52.0833335 -21.0833335 -20.9166665 295 0 2670 --52.0833335 -51.9166665 -21.0833335 -20.9166665 310 0 2670 --51.9166665 -51.7499995 -21.0833335 -20.9166665 381 0 2670 --51.7500005 -51.5833335 -21.0833335 -20.9166665 273 0 2670 --51.5833335 -51.4166665 -21.0833335 -20.9166665 348 0 2670 --51.4166665 -51.2499995 -21.0833335 -20.9166665 380 0 2670 --51.2500005 -51.0833335 -21.0833335 -20.9166665 441 0 2670 --51.0833335 -50.9166665 -21.0833335 -20.9166665 349 0 2670 --50.9166665 -50.7499995 -21.0833335 -20.9166665 346 0 2670 --50.7500005 -50.5833335 -21.0833335 -20.9166665 387 0 2670 --50.5833335 -50.4166665 -21.0833335 -20.9166665 360 0 2670 --50.4166665 -50.2499995 -21.0833335 -20.9166665 367 0 2670 --50.2500005 -50.0833335 -21.0833335 -20.9166665 428 0 2670 --50.0833335 -49.9166665 -21.0833335 -20.9166665 451 0 2670 --49.9166665 -49.7499995 -21.0833335 -20.9166665 428 0 2670 --49.7500005 -49.5833335 -21.0833335 -20.9166665 468 0 2670 --49.5833335 -49.4166665 -21.0833335 -20.9166665 478 0 2670 --49.4166665 -49.2499995 -21.0833335 -20.9166665 471 0 2670 --49.2500005 -49.0833335 -21.0833335 -20.9166665 522 0 2670 --49.0833335 -48.9166665 -21.0833335 -20.9166665 557 0 2670 --48.9166665 -48.7499995 -21.0833335 -20.9166665 526 0 2670 --48.7500005 -48.5833335 -21.0833335 -20.9166665 539 0 2670 --48.5833335 -48.4166665 -21.0833335 -20.9166665 581 0 2670 --48.4166665 -48.2499995 -21.0833335 -20.9166665 619 0 2670 --48.2500005 -48.0833335 -21.0833335 -20.9166665 506 0 2670 --48.0833335 -47.9166665 -21.0833335 -20.9166665 510 0 2670 --47.9166665 -47.7499995 -21.0833335 -20.9166665 534 0 2670 --47.7500005 -47.5833335 -21.0833335 -20.9166665 828 0 2670 --47.5833335 -47.4166665 -21.0833335 -20.9166665 786 0 2670 --47.4166665 -47.2499995 -21.0833335 -20.9166665 770 0 2670 --47.2500005 -47.0833335 -21.0833335 -20.9166665 827 0 2670 --47.0833335 -46.9166665 -21.0833335 -20.9166665 1105 0 2670 --46.9166665 -46.7499995 -21.0833335 -20.9166665 1045 0 2670 --46.7500005 -46.5833335 -21.0833335 -20.9166665 958 0 2670 --46.5833335 -46.4166665 -21.0833335 -20.9166665 1031 0 2670 --46.4166665 -46.2499995 -21.0833335 -20.9166665 1110 0 2670 --46.2500005 -46.0833335 -21.0833335 -20.9166665 838 0 2670 --46.0833335 -45.9166665 -21.0833335 -20.9166665 768 0 2670 --45.9166665 -45.7499995 -21.0833335 -20.9166665 946 0 2670 --45.7500005 -45.5833335 -21.0833335 -20.9166665 1138 0 2670 --45.5833335 -45.4166665 -21.0833335 -20.9166665 775 0 2670 --45.4166665 -45.2499995 -21.0833335 -20.9166665 893 0 2670 --45.2500005 -45.0833335 -21.0833335 -20.9166665 850 0 2670 --45.0833335 -44.9166665 -21.0833335 -20.9166665 923 0 2670 --44.9166665 -44.7499995 -21.0833335 -20.9166665 943 0 2670 --44.7500005 -44.5833335 -21.0833335 -20.9166665 911 0 2670 --44.5833335 -44.4166665 -21.0833335 -20.9166665 963 0 2670 --44.4166665 -44.2499995 -21.0833335 -20.9166665 1094 0 2670 --44.2500005 -44.0833335 -21.0833335 -20.9166665 1055 0 2670 --44.0833335 -43.9166665 -21.0833335 -20.9166665 1038 0 2670 --43.9166665 -43.7499995 -21.0833335 -20.9166665 1126 0 2670 --43.7500005 -43.5833335 -21.0833335 -20.9166665 885 0 2670 --43.5833335 -43.4166665 -21.0833335 -20.9166665 736 0 2670 --43.4166665 -43.2499995 -21.0833335 -20.9166665 845 0 2670 --43.2500005 -43.0833335 -21.0833335 -20.9166665 760 0 2670 --43.0833335 -42.9166665 -21.0833335 -20.9166665 816 0 2670 --42.9166665 -42.7499995 -21.0833335 -20.9166665 382 0 2670 --42.7500005 -42.5833335 -21.0833335 -20.9166665 407 0 2670 --42.5833335 -42.4166665 -21.0833335 -20.9166665 706 0 2670 --42.4166665 -42.2499995 -21.0833335 -20.9166665 410 0 2670 --42.2500005 -42.0833335 -21.0833335 -20.9166665 445 0 2670 --42.0833335 -41.9166665 -21.0833335 -20.9166665 237 0 2670 --41.9166665 -41.7499995 -21.0833335 -20.9166665 266 0 2670 --41.7500005 -41.5833335 -21.0833335 -20.9166665 422 0 2670 --41.5833335 -41.4166665 -21.0833335 -20.9166665 555 0 2670 --41.4166665 -41.2499995 -21.0833335 -20.9166665 599 0 2670 --41.2500005 -41.0833335 -21.0833335 -20.9166665 176 0 2670 --41.0833335 -40.9166665 -21.0833335 -20.9166665 7 0 2670 --40.9166665 -40.7499995 -21.0833335 -20.9166665 5 0 2670 --40.7500005 -40.5833335 -21.0833335 -20.9166665 0 -9 -1670 --40.5833335 -40.4166665 -21.0833335 -20.9166665 0 -20 -1670 --40.4166665 -40.2499995 -21.0833335 -20.9166665 0 -34 -1670 --40.2500005 -40.0833335 -21.0833335 -20.9166665 0 -498 -1670 --40.0833335 -39.9166665 -21.0833335 -20.9166665 0 -1446 -1670 --65.0833335 -64.9166665 -21.2500005 -21.0833335 2972 0 2670 --64.9166665 -64.7499995 -21.2500005 -21.0833335 2756 0 2670 --64.7500005 -64.5833335 -21.2500005 -21.0833335 3049 0 2670 --64.5833335 -64.4166665 -21.2500005 -21.0833335 1738 0 2670 --64.4166665 -64.2499995 -21.2500005 -21.0833335 1164 0 2670 --64.2500005 -64.0833335 -21.2500005 -21.0833335 1512 0 2670 --64.0833335 -63.9166665 -21.2500005 -21.0833335 728 0 2670 --63.9166665 -63.7499995 -21.2500005 -21.0833335 821 0 2670 --63.7500005 -63.5833335 -21.2500005 -21.0833335 569 0 2670 --63.5833335 -63.4166665 -21.2500005 -21.0833335 898 0 2670 --63.4166665 -63.2499995 -21.2500005 -21.0833335 435 0 2670 --63.2500005 -63.0833335 -21.2500005 -21.0833335 472 0 2670 --63.0833335 -62.9166665 -21.2500005 -21.0833335 572 0 2670 --62.9166665 -62.7499995 -21.2500005 -21.0833335 403 0 2670 --62.7500005 -62.5833335 -21.2500005 -21.0833335 361 0 2670 --62.5833335 -62.4166665 -21.2500005 -21.0833335 333 0 2670 --62.4166665 -62.2499995 -21.2500005 -21.0833335 320 0 2670 --62.2500005 -62.0833335 -21.2500005 -21.0833335 306 0 2670 --62.0833335 -61.9166665 -21.2500005 -21.0833335 294 0 2670 --61.9166665 -61.7499995 -21.2500005 -21.0833335 277 0 2670 --61.7500005 -61.5833335 -21.2500005 -21.0833335 259 0 2670 --61.5833335 -61.4166665 -21.2500005 -21.0833335 238 0 2670 --61.4166665 -61.2499995 -21.2500005 -21.0833335 219 0 2670 --61.2500005 -61.0833335 -21.2500005 -21.0833335 202 0 2670 --61.0833335 -60.9166665 -21.2500005 -21.0833335 188 0 2670 --60.9166665 -60.7499995 -21.2500005 -21.0833335 175 0 2670 --60.7500005 -60.5833335 -21.2500005 -21.0833335 164 0 2670 --60.5833335 -60.4166665 -21.2500005 -21.0833335 154 0 2670 --60.4166665 -60.2499995 -21.2500005 -21.0833335 147 0 2670 --60.2500005 -60.0833335 -21.2500005 -21.0833335 141 0 2670 --60.0833335 -59.9166665 -21.2500005 -21.0833335 139 0 2670 --59.9166665 -59.7499995 -21.2500005 -21.0833335 134 0 2670 --59.7500005 -59.5833335 -21.2500005 -21.0833335 126 0 2670 --59.5833335 -59.4166665 -21.2500005 -21.0833335 118 0 2670 --59.4166665 -59.2499995 -21.2500005 -21.0833335 113 0 2670 --59.2500005 -59.0833335 -21.2500005 -21.0833335 111 0 2670 --59.0833335 -58.9166665 -21.2500005 -21.0833335 106 0 2670 --58.9166665 -58.7499995 -21.2500005 -21.0833335 100 0 2670 --58.7500005 -58.5833335 -21.2500005 -21.0833335 99 0 2670 --58.5833335 -58.4166665 -21.2500005 -21.0833335 95 0 2670 --58.4166665 -58.2499995 -21.2500005 -21.0833335 89 0 2670 --58.2500005 -58.0833335 -21.2500005 -21.0833335 86 0 2670 --58.0833335 -57.9166665 -21.2500005 -21.0833335 84 0 2670 --57.9166665 -57.7499995 -21.2500005 -21.0833335 84 0 2670 --57.7500005 -57.5833335 -21.2500005 -21.0833335 97 0 2670 --57.5833335 -57.4166665 -21.2500005 -21.0833335 118 0 2670 --57.4166665 -57.2499995 -21.2500005 -21.0833335 160 0 2670 --57.2500005 -57.0833335 -21.2500005 -21.0833335 176 0 2670 --57.0833335 -56.9166665 -21.2500005 -21.0833335 252 0 2670 --56.9166665 -56.7499995 -21.2500005 -21.0833335 628 0 2670 --56.7500005 -56.5833335 -21.2500005 -21.0833335 589 0 2670 --56.5833335 -56.4166665 -21.2500005 -21.0833335 332 0 2670 --56.4166665 -56.2499995 -21.2500005 -21.0833335 274 0 2670 --56.2500005 -56.0833335 -21.2500005 -21.0833335 234 0 2670 --56.0833335 -55.9166665 -21.2500005 -21.0833335 301 0 2670 --55.9166665 -55.7499995 -21.2500005 -21.0833335 195 0 2670 --55.7500005 -55.5833335 -21.2500005 -21.0833335 262 0 2670 --55.5833335 -55.4166665 -21.2500005 -21.0833335 470 0 2670 --55.4166665 -55.2499995 -21.2500005 -21.0833335 487 0 2670 --55.2500005 -55.0833335 -21.2500005 -21.0833335 548 0 2670 --55.0833335 -54.9166665 -21.2500005 -21.0833335 442 0 2670 --54.9166665 -54.7499995 -21.2500005 -21.0833335 422 0 2670 --54.7500005 -54.5833335 -21.2500005 -21.0833335 468 0 2670 --54.5833335 -54.4166665 -21.2500005 -21.0833335 522 0 2670 --54.4166665 -54.2499995 -21.2500005 -21.0833335 445 0 2670 --54.2500005 -54.0833335 -21.2500005 -21.0833335 447 0 2670 --54.0833335 -53.9166665 -21.2500005 -21.0833335 367 0 2670 --53.9166665 -53.7499995 -21.2500005 -21.0833335 441 0 2670 --53.7500005 -53.5833335 -21.2500005 -21.0833335 388 0 2670 --53.5833335 -53.4166665 -21.2500005 -21.0833335 383 0 2670 --53.4166665 -53.2499995 -21.2500005 -21.0833335 422 0 2670 --53.2500005 -53.0833335 -21.2500005 -21.0833335 331 0 2670 --53.0833335 -52.9166665 -21.2500005 -21.0833335 401 0 2670 --52.9166665 -52.7499995 -21.2500005 -21.0833335 437 0 2670 --52.7500005 -52.5833335 -21.2500005 -21.0833335 398 0 2670 --52.5833335 -52.4166665 -21.2500005 -21.0833335 398 0 2670 --52.4166665 -52.2499995 -21.2500005 -21.0833335 355 0 2670 --52.2500005 -52.0833335 -21.2500005 -21.0833335 364 0 2670 --52.0833335 -51.9166665 -21.2500005 -21.0833335 316 0 2670 --51.9166665 -51.7499995 -21.2500005 -21.0833335 273 0 2670 --51.7500005 -51.5833335 -21.2500005 -21.0833335 271 0 2670 --51.5833335 -51.4166665 -21.2500005 -21.0833335 322 0 2670 --51.4166665 -51.2499995 -21.2500005 -21.0833335 365 0 2670 --51.2500005 -51.0833335 -21.2500005 -21.0833335 400 0 2670 --51.0833335 -50.9166665 -21.2500005 -21.0833335 425 0 2670 --50.9166665 -50.7499995 -21.2500005 -21.0833335 406 0 2670 --50.7500005 -50.5833335 -21.2500005 -21.0833335 387 0 2670 --50.5833335 -50.4166665 -21.2500005 -21.0833335 382 0 2670 --50.4166665 -50.2499995 -21.2500005 -21.0833335 380 0 2670 --50.2500005 -50.0833335 -21.2500005 -21.0833335 376 0 2670 --50.0833335 -49.9166665 -21.2500005 -21.0833335 408 0 2670 --49.9166665 -49.7499995 -21.2500005 -21.0833335 397 0 2670 --49.7500005 -49.5833335 -21.2500005 -21.0833335 391 0 2670 --49.5833335 -49.4166665 -21.2500005 -21.0833335 416 0 2670 --49.4166665 -49.2499995 -21.2500005 -21.0833335 417 0 2670 --49.2500005 -49.0833335 -21.2500005 -21.0833335 459 0 2670 --49.0833335 -48.9166665 -21.2500005 -21.0833335 548 0 2670 --48.9166665 -48.7499995 -21.2500005 -21.0833335 562 0 2670 --48.7500005 -48.5833335 -21.2500005 -21.0833335 587 0 2670 --48.5833335 -48.4166665 -21.2500005 -21.0833335 595 0 2670 --48.4166665 -48.2499995 -21.2500005 -21.0833335 566 0 2670 --48.2500005 -48.0833335 -21.2500005 -21.0833335 499 0 2670 --48.0833335 -47.9166665 -21.2500005 -21.0833335 582 0 2670 --47.9166665 -47.7499995 -21.2500005 -21.0833335 561 0 2670 --47.7500005 -47.5833335 -21.2500005 -21.0833335 529 0 2670 --47.5833335 -47.4166665 -21.2500005 -21.0833335 600 0 2670 --47.4166665 -47.2499995 -21.2500005 -21.0833335 714 0 2670 --47.2500005 -47.0833335 -21.2500005 -21.0833335 926 0 2670 --47.0833335 -46.9166665 -21.2500005 -21.0833335 935 0 2670 --46.9166665 -46.7499995 -21.2500005 -21.0833335 987 0 2670 --46.7500005 -46.5833335 -21.2500005 -21.0833335 1107 0 2670 --46.5833335 -46.4166665 -21.2500005 -21.0833335 1100 0 2670 --46.4166665 -46.2499995 -21.2500005 -21.0833335 994 0 2670 --46.2500005 -46.0833335 -21.2500005 -21.0833335 918 0 2670 --46.0833335 -45.9166665 -21.2500005 -21.0833335 780 0 2670 --45.9166665 -45.7499995 -21.2500005 -21.0833335 843 0 2670 --45.7500005 -45.5833335 -21.2500005 -21.0833335 849 0 2670 --45.5833335 -45.4166665 -21.2500005 -21.0833335 851 0 2670 --45.4166665 -45.2499995 -21.2500005 -21.0833335 897 0 2670 --45.2500005 -45.0833335 -21.2500005 -21.0833335 828 0 2670 --45.0833335 -44.9166665 -21.2500005 -21.0833335 886 0 2670 --44.9166665 -44.7499995 -21.2500005 -21.0833335 901 0 2670 --44.7500005 -44.5833335 -21.2500005 -21.0833335 933 0 2670 --44.5833335 -44.4166665 -21.2500005 -21.0833335 919 0 2670 --44.4166665 -44.2499995 -21.2500005 -21.0833335 997 0 2670 --44.2500005 -44.0833335 -21.2500005 -21.0833335 956 0 2670 --44.0833335 -43.9166665 -21.2500005 -21.0833335 943 0 2670 --43.9166665 -43.7499995 -21.2500005 -21.0833335 1110 0 2670 --43.7500005 -43.5833335 -21.2500005 -21.0833335 1186 0 2670 --43.5833335 -43.4166665 -21.2500005 -21.0833335 836 0 2670 --43.4166665 -43.2499995 -21.2500005 -21.0833335 747 0 2670 --43.2500005 -43.0833335 -21.2500005 -21.0833335 605 0 2670 --43.0833335 -42.9166665 -21.2500005 -21.0833335 388 0 2670 --42.9166665 -42.7499995 -21.2500005 -21.0833335 327 0 2670 --42.7500005 -42.5833335 -21.2500005 -21.0833335 684 0 2670 --42.5833335 -42.4166665 -21.2500005 -21.0833335 265 0 2670 --42.4166665 -42.2499995 -21.2500005 -21.0833335 272 0 2670 --42.2500005 -42.0833335 -21.2500005 -21.0833335 196 0 2670 --42.0833335 -41.9166665 -21.2500005 -21.0833335 260 0 2670 --41.9166665 -41.7499995 -21.2500005 -21.0833335 158 0 2670 --41.7500005 -41.5833335 -21.2500005 -21.0833335 104 0 2670 --41.5833335 -41.4166665 -21.2500005 -21.0833335 149 0 2670 --41.4166665 -41.2499995 -21.2500005 -21.0833335 46 0 2670 --41.2500005 -41.0833335 -21.2500005 -21.0833335 58 0 2670 --41.0833335 -40.9166665 -21.2500005 -21.0833335 21 0 2670 --40.9166665 -40.7499995 -21.2500005 -21.0833335 0 -4 -1670 --40.7500005 -40.5833335 -21.2500005 -21.0833335 0 -14 -1670 --40.5833335 -40.4166665 -21.2500005 -21.0833335 0 -18 -1670 --40.4166665 -40.2499995 -21.2500005 -21.0833335 0 -41 -1670 --40.2500005 -40.0833335 -21.2500005 -21.0833335 0 -883 -1670 --40.0833335 -39.9166665 -21.2500005 -21.0833335 0 -1379 -1670 --65.0833335 -64.9166665 -21.4166665 -21.2499995 3301 0 2670 --64.9166665 -64.7499995 -21.4166665 -21.2499995 2623 0 2670 --64.7500005 -64.5833335 -21.4166665 -21.2499995 2455 0 2670 --64.5833335 -64.4166665 -21.4166665 -21.2499995 2577 0 2670 --64.4166665 -64.2499995 -21.4166665 -21.2499995 2549 0 2670 --64.2500005 -64.0833335 -21.4166665 -21.2499995 1074 0 2670 --64.0833335 -63.9166665 -21.4166665 -21.2499995 842 0 2670 --63.9166665 -63.7499995 -21.4166665 -21.2499995 767 0 2670 --63.7500005 -63.5833335 -21.4166665 -21.2499995 1088 0 2670 --63.5833335 -63.4166665 -21.4166665 -21.2499995 591 0 2670 --63.4166665 -63.2499995 -21.4166665 -21.2499995 355 0 2670 --63.2500005 -63.0833335 -21.4166665 -21.2499995 377 0 2670 --63.0833335 -62.9166665 -21.4166665 -21.2499995 532 0 2670 --62.9166665 -62.7499995 -21.4166665 -21.2499995 370 0 2670 --62.7500005 -62.5833335 -21.4166665 -21.2499995 322 0 2670 --62.5833335 -62.4166665 -21.4166665 -21.2499995 308 0 2670 --62.4166665 -62.2499995 -21.4166665 -21.2499995 293 0 2670 --62.2500005 -62.0833335 -21.4166665 -21.2499995 285 0 2670 --62.0833335 -61.9166665 -21.4166665 -21.2499995 273 0 2670 --61.9166665 -61.7499995 -21.4166665 -21.2499995 260 0 2670 --61.7500005 -61.5833335 -21.4166665 -21.2499995 244 0 2670 --61.5833335 -61.4166665 -21.4166665 -21.2499995 229 0 2670 --61.4166665 -61.2499995 -21.4166665 -21.2499995 213 0 2670 --61.2500005 -61.0833335 -21.4166665 -21.2499995 193 0 2670 --61.0833335 -60.9166665 -21.4166665 -21.2499995 185 0 2670 --60.9166665 -60.7499995 -21.4166665 -21.2499995 176 0 2670 --60.7500005 -60.5833335 -21.4166665 -21.2499995 163 0 2670 --60.5833335 -60.4166665 -21.4166665 -21.2499995 157 0 2670 --60.4166665 -60.2499995 -21.4166665 -21.2499995 152 0 2670 --60.2500005 -60.0833335 -21.4166665 -21.2499995 145 0 2670 --60.0833335 -59.9166665 -21.4166665 -21.2499995 139 0 2670 --59.9166665 -59.7499995 -21.4166665 -21.2499995 131 0 2670 --59.7500005 -59.5833335 -21.4166665 -21.2499995 127 0 2670 --59.5833335 -59.4166665 -21.4166665 -21.2499995 121 0 2670 --59.4166665 -59.2499995 -21.4166665 -21.2499995 111 0 2670 --59.2500005 -59.0833335 -21.4166665 -21.2499995 110 0 2670 --59.0833335 -58.9166665 -21.4166665 -21.2499995 107 0 2670 --58.9166665 -58.7499995 -21.4166665 -21.2499995 100 0 2670 --58.7500005 -58.5833335 -21.4166665 -21.2499995 99 0 2670 --58.5833335 -58.4166665 -21.4166665 -21.2499995 93 0 2670 --58.4166665 -58.2499995 -21.4166665 -21.2499995 94 0 2670 --58.2500005 -58.0833335 -21.4166665 -21.2499995 86 0 2670 --58.0833335 -57.9166665 -21.4166665 -21.2499995 82 0 2670 --57.9166665 -57.7499995 -21.4166665 -21.2499995 82 0 2670 --57.7500005 -57.5833335 -21.4166665 -21.2499995 95 0 2670 --57.5833335 -57.4166665 -21.4166665 -21.2499995 115 0 2670 --57.4166665 -57.2499995 -21.4166665 -21.2499995 167 0 2670 --57.2500005 -57.0833335 -21.4166665 -21.2499995 226 0 2670 --57.0833335 -56.9166665 -21.4166665 -21.2499995 258 0 2670 --56.9166665 -56.7499995 -21.4166665 -21.2499995 414 0 2670 --56.7500005 -56.5833335 -21.4166665 -21.2499995 417 0 2670 --56.5833335 -56.4166665 -21.4166665 -21.2499995 314 0 2670 --56.4166665 -56.2499995 -21.4166665 -21.2499995 266 0 2670 --56.2500005 -56.0833335 -21.4166665 -21.2499995 235 0 2670 --56.0833335 -55.9166665 -21.4166665 -21.2499995 326 0 2670 --55.9166665 -55.7499995 -21.4166665 -21.2499995 277 0 2670 --55.7500005 -55.5833335 -21.4166665 -21.2499995 423 0 2670 --55.5833335 -55.4166665 -21.4166665 -21.2499995 538 0 2670 --55.4166665 -55.2499995 -21.4166665 -21.2499995 479 0 2670 --55.2500005 -55.0833335 -21.4166665 -21.2499995 445 0 2670 --55.0833335 -54.9166665 -21.4166665 -21.2499995 420 0 2670 --54.9166665 -54.7499995 -21.4166665 -21.2499995 369 0 2670 --54.7500005 -54.5833335 -21.4166665 -21.2499995 368 0 2670 --54.5833335 -54.4166665 -21.4166665 -21.2499995 485 0 2670 --54.4166665 -54.2499995 -21.4166665 -21.2499995 472 0 2670 --54.2500005 -54.0833335 -21.4166665 -21.2499995 373 0 2670 --54.0833335 -53.9166665 -21.4166665 -21.2499995 390 0 2670 --53.9166665 -53.7499995 -21.4166665 -21.2499995 386 0 2670 --53.7500005 -53.5833335 -21.4166665 -21.2499995 383 0 2670 --53.5833335 -53.4166665 -21.4166665 -21.2499995 393 0 2670 --53.4166665 -53.2499995 -21.4166665 -21.2499995 353 0 2670 --53.2500005 -53.0833335 -21.4166665 -21.2499995 367 0 2670 --53.0833335 -52.9166665 -21.4166665 -21.2499995 390 0 2670 --52.9166665 -52.7499995 -21.4166665 -21.2499995 393 0 2670 --52.7500005 -52.5833335 -21.4166665 -21.2499995 411 0 2670 --52.5833335 -52.4166665 -21.4166665 -21.2499995 309 0 2670 --52.4166665 -52.2499995 -21.4166665 -21.2499995 326 0 2670 --52.2500005 -52.0833335 -21.4166665 -21.2499995 333 0 2670 --52.0833335 -51.9166665 -21.4166665 -21.2499995 317 0 2670 --51.9166665 -51.7499995 -21.4166665 -21.2499995 333 0 2670 --51.7500005 -51.5833335 -21.4166665 -21.2499995 375 0 2670 --51.5833335 -51.4166665 -21.4166665 -21.2499995 311 0 2670 --51.4166665 -51.2499995 -21.4166665 -21.2499995 346 0 2670 --51.2500005 -51.0833335 -21.4166665 -21.2499995 353 0 2670 --51.0833335 -50.9166665 -21.4166665 -21.2499995 363 0 2670 --50.9166665 -50.7499995 -21.4166665 -21.2499995 377 0 2670 --50.7500005 -50.5833335 -21.4166665 -21.2499995 428 0 2670 --50.5833335 -50.4166665 -21.4166665 -21.2499995 425 0 2670 --50.4166665 -50.2499995 -21.4166665 -21.2499995 404 0 2670 --50.2500005 -50.0833335 -21.4166665 -21.2499995 369 0 2670 --50.0833335 -49.9166665 -21.4166665 -21.2499995 403 0 2670 --49.9166665 -49.7499995 -21.4166665 -21.2499995 383 0 2670 --49.7500005 -49.5833335 -21.4166665 -21.2499995 381 0 2670 --49.5833335 -49.4166665 -21.4166665 -21.2499995 429 0 2670 --49.4166665 -49.2499995 -21.4166665 -21.2499995 437 0 2670 --49.2500005 -49.0833335 -21.4166665 -21.2499995 493 0 2670 --49.0833335 -48.9166665 -21.4166665 -21.2499995 510 0 2670 --48.9166665 -48.7499995 -21.4166665 -21.2499995 492 0 2670 --48.7500005 -48.5833335 -21.4166665 -21.2499995 568 0 2670 --48.5833335 -48.4166665 -21.4166665 -21.2499995 633 0 2670 --48.4166665 -48.2499995 -21.4166665 -21.2499995 591 0 2670 --48.2500005 -48.0833335 -21.4166665 -21.2499995 603 0 2670 --48.0833335 -47.9166665 -21.4166665 -21.2499995 572 0 2670 --47.9166665 -47.7499995 -21.4166665 -21.2499995 633 0 2670 --47.7500005 -47.5833335 -21.4166665 -21.2499995 625 0 2670 --47.5833335 -47.4166665 -21.4166665 -21.2499995 650 0 2670 --47.4166665 -47.2499995 -21.4166665 -21.2499995 778 0 2670 --47.2500005 -47.0833335 -21.4166665 -21.2499995 678 0 2670 --47.0833335 -46.9166665 -21.4166665 -21.2499995 635 0 2670 --46.9166665 -46.7499995 -21.4166665 -21.2499995 760 0 2670 --46.7500005 -46.5833335 -21.4166665 -21.2499995 980 0 2670 --46.5833335 -46.4166665 -21.4166665 -21.2499995 941 0 2670 --46.4166665 -46.2499995 -21.4166665 -21.2499995 842 0 2670 --46.2500005 -46.0833335 -21.4166665 -21.2499995 837 0 2670 --46.0833335 -45.9166665 -21.4166665 -21.2499995 772 0 2670 --45.9166665 -45.7499995 -21.4166665 -21.2499995 774 0 2670 --45.7500005 -45.5833335 -21.4166665 -21.2499995 865 0 2670 --45.5833335 -45.4166665 -21.4166665 -21.2499995 968 0 2670 --45.4166665 -45.2499995 -21.4166665 -21.2499995 952 0 2670 --45.2500005 -45.0833335 -21.4166665 -21.2499995 846 0 2670 --45.0833335 -44.9166665 -21.4166665 -21.2499995 1153 0 2670 --44.9166665 -44.7499995 -21.4166665 -21.2499995 915 0 2670 --44.7500005 -44.5833335 -21.4166665 -21.2499995 958 0 2670 --44.5833335 -44.4166665 -21.4166665 -21.2499995 951 0 2670 --44.4166665 -44.2499995 -21.4166665 -21.2499995 1015 0 2670 --44.2500005 -44.0833335 -21.4166665 -21.2499995 1052 0 2670 --44.0833335 -43.9166665 -21.4166665 -21.2499995 1054 0 2670 --43.9166665 -43.7499995 -21.4166665 -21.2499995 1113 0 2670 --43.7500005 -43.5833335 -21.4166665 -21.2499995 1164 0 2670 --43.5833335 -43.4166665 -21.4166665 -21.2499995 886 0 2670 --43.4166665 -43.2499995 -21.4166665 -21.2499995 646 0 2670 --43.2500005 -43.0833335 -21.4166665 -21.2499995 487 0 2670 --43.0833335 -42.9166665 -21.4166665 -21.2499995 380 0 2670 --42.9166665 -42.7499995 -21.4166665 -21.2499995 299 0 2670 --42.7500005 -42.5833335 -21.4166665 -21.2499995 234 0 2670 --42.5833335 -42.4166665 -21.4166665 -21.2499995 261 0 2670 --42.4166665 -42.2499995 -21.4166665 -21.2499995 362 0 2670 --42.2500005 -42.0833335 -21.4166665 -21.2499995 482 0 2670 --42.0833335 -41.9166665 -21.4166665 -21.2499995 179 0 2670 --41.9166665 -41.7499995 -21.4166665 -21.2499995 330 0 2670 --41.7500005 -41.5833335 -21.4166665 -21.2499995 126 0 2670 --41.5833335 -41.4166665 -21.4166665 -21.2499995 126 0 2670 --41.4166665 -41.2499995 -21.4166665 -21.2499995 71 0 2670 --41.2500005 -41.0833335 -21.4166665 -21.2499995 59 0 2670 --41.0833335 -40.9166665 -21.4166665 -21.2499995 16 0 2670 --40.9166665 -40.7499995 -21.4166665 -21.2499995 0 -12 -1670 --40.7500005 -40.5833335 -21.4166665 -21.2499995 0 -21 -1670 --40.5833335 -40.4166665 -21.4166665 -21.2499995 0 -20 -1670 --40.4166665 -40.2499995 -21.4166665 -21.2499995 0 -42 -1670 --40.2500005 -40.0833335 -21.4166665 -21.2499995 0 -758 -1670 --40.0833335 -39.9166665 -21.4166665 -21.2499995 0 -1286 -1670 --65.0833335 -64.9166665 -21.5833335 -21.4166665 3822 0 2670 --64.9166665 -64.7499995 -21.5833335 -21.4166665 2663 0 2670 --64.7500005 -64.5833335 -21.5833335 -21.4166665 2197 0 2670 --64.5833335 -64.4166665 -21.5833335 -21.4166665 2204 0 2670 --64.4166665 -64.2499995 -21.5833335 -21.4166665 2177 0 2670 --64.2500005 -64.0833335 -21.5833335 -21.4166665 1296 0 2670 --64.0833335 -63.9166665 -21.5833335 -21.4166665 1159 0 2670 --63.9166665 -63.7499995 -21.5833335 -21.4166665 936 0 2670 --63.7500005 -63.5833335 -21.5833335 -21.4166665 868 0 2670 --63.5833335 -63.4166665 -21.5833335 -21.4166665 552 0 2670 --63.4166665 -63.2499995 -21.5833335 -21.4166665 393 0 2670 --63.2500005 -63.0833335 -21.5833335 -21.4166665 455 0 2670 --63.0833335 -62.9166665 -21.5833335 -21.4166665 425 0 2670 --62.9166665 -62.7499995 -21.5833335 -21.4166665 310 0 2670 --62.7500005 -62.5833335 -21.5833335 -21.4166665 300 0 2670 --62.5833335 -62.4166665 -21.5833335 -21.4166665 288 0 2670 --62.4166665 -62.2499995 -21.5833335 -21.4166665 274 0 2670 --62.2500005 -62.0833335 -21.5833335 -21.4166665 267 0 2670 --62.0833335 -61.9166665 -21.5833335 -21.4166665 252 0 2670 --61.9166665 -61.7499995 -21.5833335 -21.4166665 242 0 2670 --61.7500005 -61.5833335 -21.5833335 -21.4166665 231 0 2670 --61.5833335 -61.4166665 -21.5833335 -21.4166665 222 0 2670 --61.4166665 -61.2499995 -21.5833335 -21.4166665 211 0 2670 --61.2500005 -61.0833335 -21.5833335 -21.4166665 197 0 2670 --61.0833335 -60.9166665 -21.5833335 -21.4166665 183 0 2670 --60.9166665 -60.7499995 -21.5833335 -21.4166665 175 0 2670 --60.7500005 -60.5833335 -21.5833335 -21.4166665 167 0 2670 --60.5833335 -60.4166665 -21.5833335 -21.4166665 162 0 2670 --60.4166665 -60.2499995 -21.5833335 -21.4166665 155 0 2670 --60.2500005 -60.0833335 -21.5833335 -21.4166665 147 0 2670 --60.0833335 -59.9166665 -21.5833335 -21.4166665 139 0 2670 --59.9166665 -59.7499995 -21.5833335 -21.4166665 130 0 2670 --59.7500005 -59.5833335 -21.5833335 -21.4166665 126 0 2670 --59.5833335 -59.4166665 -21.5833335 -21.4166665 123 0 2670 --59.4166665 -59.2499995 -21.5833335 -21.4166665 117 0 2670 --59.2500005 -59.0833335 -21.5833335 -21.4166665 108 0 2670 --59.0833335 -58.9166665 -21.5833335 -21.4166665 107 0 2670 --58.9166665 -58.7499995 -21.5833335 -21.4166665 101 0 2670 --58.7500005 -58.5833335 -21.5833335 -21.4166665 101 0 2670 --58.5833335 -58.4166665 -21.5833335 -21.4166665 99 0 2670 --58.4166665 -58.2499995 -21.5833335 -21.4166665 92 0 2670 --58.2500005 -58.0833335 -21.5833335 -21.4166665 90 0 2670 --58.0833335 -57.9166665 -21.5833335 -21.4166665 83 0 2670 --57.9166665 -57.7499995 -21.5833335 -21.4166665 81 0 2670 --57.7500005 -57.5833335 -21.5833335 -21.4166665 99 0 2670 --57.5833335 -57.4166665 -21.5833335 -21.4166665 145 0 2670 --57.4166665 -57.2499995 -21.5833335 -21.4166665 218 0 2670 --57.2500005 -57.0833335 -21.5833335 -21.4166665 321 0 2670 --57.0833335 -56.9166665 -21.5833335 -21.4166665 507 0 2670 --56.9166665 -56.7499995 -21.5833335 -21.4166665 384 0 2670 --56.7500005 -56.5833335 -21.5833335 -21.4166665 408 0 2670 --56.5833335 -56.4166665 -21.5833335 -21.4166665 340 0 2670 --56.4166665 -56.2499995 -21.5833335 -21.4166665 251 0 2670 --56.2500005 -56.0833335 -21.5833335 -21.4166665 284 0 2670 --56.0833335 -55.9166665 -21.5833335 -21.4166665 249 0 2670 --55.9166665 -55.7499995 -21.5833335 -21.4166665 381 0 2670 --55.7500005 -55.5833335 -21.5833335 -21.4166665 457 0 2670 --55.5833335 -55.4166665 -21.5833335 -21.4166665 546 0 2670 --55.4166665 -55.2499995 -21.5833335 -21.4166665 476 0 2670 --55.2500005 -55.0833335 -21.5833335 -21.4166665 363 0 2670 --55.0833335 -54.9166665 -21.5833335 -21.4166665 376 0 2670 --54.9166665 -54.7499995 -21.5833335 -21.4166665 351 0 2670 --54.7500005 -54.5833335 -21.5833335 -21.4166665 338 0 2670 --54.5833335 -54.4166665 -21.5833335 -21.4166665 342 0 2670 --54.4166665 -54.2499995 -21.5833335 -21.4166665 350 0 2670 --54.2500005 -54.0833335 -21.5833335 -21.4166665 395 0 2670 --54.0833335 -53.9166665 -21.5833335 -21.4166665 342 0 2670 --53.9166665 -53.7499995 -21.5833335 -21.4166665 342 0 2670 --53.7500005 -53.5833335 -21.5833335 -21.4166665 393 0 2670 --53.5833335 -53.4166665 -21.5833335 -21.4166665 378 0 2670 --53.4166665 -53.2499995 -21.5833335 -21.4166665 312 0 2670 --53.2500005 -53.0833335 -21.5833335 -21.4166665 406 0 2670 --53.0833335 -52.9166665 -21.5833335 -21.4166665 342 0 2670 --52.9166665 -52.7499995 -21.5833335 -21.4166665 371 0 2670 --52.7500005 -52.5833335 -21.5833335 -21.4166665 395 0 2670 --52.5833335 -52.4166665 -21.5833335 -21.4166665 367 0 2670 --52.4166665 -52.2499995 -21.5833335 -21.4166665 333 0 2670 --52.2500005 -52.0833335 -21.5833335 -21.4166665 377 0 2670 --52.0833335 -51.9166665 -21.5833335 -21.4166665 255 0 2670 --51.9166665 -51.7499995 -21.5833335 -21.4166665 365 0 2670 --51.7500005 -51.5833335 -21.5833335 -21.4166665 384 0 2670 --51.5833335 -51.4166665 -21.5833335 -21.4166665 405 0 2670 --51.4166665 -51.2499995 -21.5833335 -21.4166665 367 0 2670 --51.2500005 -51.0833335 -21.5833335 -21.4166665 397 0 2670 --51.0833335 -50.9166665 -21.5833335 -21.4166665 353 0 2670 --50.9166665 -50.7499995 -21.5833335 -21.4166665 407 0 2670 --50.7500005 -50.5833335 -21.5833335 -21.4166665 364 0 2670 --50.5833335 -50.4166665 -21.5833335 -21.4166665 423 0 2670 --50.4166665 -50.2499995 -21.5833335 -21.4166665 478 0 2670 --50.2500005 -50.0833335 -21.5833335 -21.4166665 423 0 2670 --50.0833335 -49.9166665 -21.5833335 -21.4166665 480 0 2670 --49.9166665 -49.7499995 -21.5833335 -21.4166665 422 0 2670 --49.7500005 -49.5833335 -21.5833335 -21.4166665 419 0 2670 --49.5833335 -49.4166665 -21.5833335 -21.4166665 411 0 2670 --49.4166665 -49.2499995 -21.5833335 -21.4166665 442 0 2670 --49.2500005 -49.0833335 -21.5833335 -21.4166665 434 0 2670 --49.0833335 -48.9166665 -21.5833335 -21.4166665 486 0 2670 --48.9166665 -48.7499995 -21.5833335 -21.4166665 533 0 2670 --48.7500005 -48.5833335 -21.5833335 -21.4166665 534 0 2670 --48.5833335 -48.4166665 -21.5833335 -21.4166665 575 0 2670 --48.4166665 -48.2499995 -21.5833335 -21.4166665 629 0 2670 --48.2500005 -48.0833335 -21.5833335 -21.4166665 601 0 2670 --48.0833335 -47.9166665 -21.5833335 -21.4166665 535 0 2670 --47.9166665 -47.7499995 -21.5833335 -21.4166665 650 0 2670 --47.7500005 -47.5833335 -21.5833335 -21.4166665 853 0 2670 --47.5833335 -47.4166665 -21.5833335 -21.4166665 730 0 2670 --47.4166665 -47.2499995 -21.5833335 -21.4166665 661 0 2670 --47.2500005 -47.0833335 -21.5833335 -21.4166665 585 0 2670 --47.0833335 -46.9166665 -21.5833335 -21.4166665 649 0 2670 --46.9166665 -46.7499995 -21.5833335 -21.4166665 928 0 2670 --46.7500005 -46.5833335 -21.5833335 -21.4166665 886 0 2670 --46.5833335 -46.4166665 -21.5833335 -21.4166665 940 0 2670 --46.4166665 -46.2499995 -21.5833335 -21.4166665 815 0 2670 --46.2500005 -46.0833335 -21.5833335 -21.4166665 849 0 2670 --46.0833335 -45.9166665 -21.5833335 -21.4166665 806 0 2670 --45.9166665 -45.7499995 -21.5833335 -21.4166665 832 0 2670 --45.7500005 -45.5833335 -21.5833335 -21.4166665 796 0 2670 --45.5833335 -45.4166665 -21.5833335 -21.4166665 836 0 2670 --45.4166665 -45.2499995 -21.5833335 -21.4166665 969 0 2670 --45.2500005 -45.0833335 -21.5833335 -21.4166665 967 0 2670 --45.0833335 -44.9166665 -21.5833335 -21.4166665 983 0 2670 --44.9166665 -44.7499995 -21.5833335 -21.4166665 1035 0 2670 --44.7500005 -44.5833335 -21.5833335 -21.4166665 1006 0 2670 --44.5833335 -44.4166665 -21.5833335 -21.4166665 1003 0 2670 --44.4166665 -44.2499995 -21.5833335 -21.4166665 951 0 2670 --44.2500005 -44.0833335 -21.5833335 -21.4166665 983 0 2670 --44.0833335 -43.9166665 -21.5833335 -21.4166665 1107 0 2670 --43.9166665 -43.7499995 -21.5833335 -21.4166665 1179 0 2670 --43.7500005 -43.5833335 -21.5833335 -21.4166665 809 0 2670 --43.5833335 -43.4166665 -21.5833335 -21.4166665 848 0 2670 --43.4166665 -43.2499995 -21.5833335 -21.4166665 542 0 2670 --43.2500005 -43.0833335 -21.5833335 -21.4166665 410 0 2670 --43.0833335 -42.9166665 -21.5833335 -21.4166665 388 0 2670 --42.9166665 -42.7499995 -21.5833335 -21.4166665 291 0 2670 --42.7500005 -42.5833335 -21.5833335 -21.4166665 238 0 2670 --42.5833335 -42.4166665 -21.5833335 -21.4166665 304 0 2670 --42.4166665 -42.2499995 -21.5833335 -21.4166665 188 0 2670 --42.2500005 -42.0833335 -21.5833335 -21.4166665 139 0 2670 --42.0833335 -41.9166665 -21.5833335 -21.4166665 354 0 2670 --41.9166665 -41.7499995 -21.5833335 -21.4166665 150 0 2670 --41.7500005 -41.5833335 -21.5833335 -21.4166665 100 0 2670 --41.5833335 -41.4166665 -21.5833335 -21.4166665 83 0 2670 --41.4166665 -41.2499995 -21.5833335 -21.4166665 54 0 2670 --41.2500005 -41.0833335 -21.5833335 -21.4166665 18 0 2670 --41.0833335 -40.9166665 -21.5833335 -21.4166665 0 -3 -1670 --40.9166665 -40.7499995 -21.5833335 -21.4166665 0 -15 -1670 --40.7500005 -40.5833335 -21.5833335 -21.4166665 0 -22 -1670 --40.5833335 -40.4166665 -21.5833335 -21.4166665 0 -31 -1670 --40.4166665 -40.2499995 -21.5833335 -21.4166665 0 -34 -1670 --40.2500005 -40.0833335 -21.5833335 -21.4166665 0 -531 -1670 --40.0833335 -39.9166665 -21.5833335 -21.4166665 0 -1048 -1670 --65.0833335 -64.9166665 -21.7500005 -21.5833335 4023 0 2670 --64.9166665 -64.7499995 -21.7500005 -21.5833335 2083 0 2670 --64.7500005 -64.5833335 -21.7500005 -21.5833335 1750 0 2670 --64.5833335 -64.4166665 -21.7500005 -21.5833335 2185 0 2670 --64.4166665 -64.2499995 -21.7500005 -21.5833335 1433 0 2670 --64.2500005 -64.0833335 -21.7500005 -21.5833335 1207 0 2670 --64.0833335 -63.9166665 -21.7500005 -21.5833335 1480 0 2670 --63.9166665 -63.7499995 -21.7500005 -21.5833335 1177 0 2670 --63.7500005 -63.5833335 -21.7500005 -21.5833335 1138 0 2670 --63.5833335 -63.4166665 -21.7500005 -21.5833335 591 0 2670 --63.4166665 -63.2499995 -21.7500005 -21.5833335 438 0 2670 --63.2500005 -63.0833335 -21.7500005 -21.5833335 489 0 2670 --63.0833335 -62.9166665 -21.7500005 -21.5833335 317 0 2670 --62.9166665 -62.7499995 -21.7500005 -21.5833335 308 0 2670 --62.7500005 -62.5833335 -21.7500005 -21.5833335 294 0 2670 --62.5833335 -62.4166665 -21.7500005 -21.5833335 284 0 2670 --62.4166665 -62.2499995 -21.7500005 -21.5833335 274 0 2670 --62.2500005 -62.0833335 -21.7500005 -21.5833335 257 0 2670 --62.0833335 -61.9166665 -21.7500005 -21.5833335 248 0 2670 --61.9166665 -61.7499995 -21.7500005 -21.5833335 240 0 2670 --61.7500005 -61.5833335 -21.7500005 -21.5833335 226 0 2670 --61.5833335 -61.4166665 -21.7500005 -21.5833335 218 0 2670 --61.4166665 -61.2499995 -21.7500005 -21.5833335 206 0 2670 --61.2500005 -61.0833335 -21.7500005 -21.5833335 198 0 2670 --61.0833335 -60.9166665 -21.7500005 -21.5833335 191 0 2670 --60.9166665 -60.7499995 -21.7500005 -21.5833335 179 0 2670 --60.7500005 -60.5833335 -21.7500005 -21.5833335 171 0 2670 --60.5833335 -60.4166665 -21.7500005 -21.5833335 163 0 2670 --60.4166665 -60.2499995 -21.7500005 -21.5833335 155 0 2670 --60.2500005 -60.0833335 -21.7500005 -21.5833335 148 0 2670 --60.0833335 -59.9166665 -21.7500005 -21.5833335 143 0 2670 --59.9166665 -59.7499995 -21.7500005 -21.5833335 136 0 2670 --59.7500005 -59.5833335 -21.7500005 -21.5833335 129 0 2670 --59.5833335 -59.4166665 -21.7500005 -21.5833335 123 0 2670 --59.4166665 -59.2499995 -21.7500005 -21.5833335 118 0 2670 --59.2500005 -59.0833335 -21.7500005 -21.5833335 114 0 2670 --59.0833335 -58.9166665 -21.7500005 -21.5833335 109 0 2670 --58.9166665 -58.7499995 -21.7500005 -21.5833335 107 0 2670 --58.7500005 -58.5833335 -21.7500005 -21.5833335 105 0 2670 --58.5833335 -58.4166665 -21.7500005 -21.5833335 99 0 2670 --58.4166665 -58.2499995 -21.7500005 -21.5833335 95 0 2670 --58.2500005 -58.0833335 -21.7500005 -21.5833335 92 0 2670 --58.0833335 -57.9166665 -21.7500005 -21.5833335 85 0 2670 --57.9166665 -57.7499995 -21.7500005 -21.5833335 84 0 2670 --57.7500005 -57.5833335 -21.7500005 -21.5833335 105 0 2670 --57.5833335 -57.4166665 -21.7500005 -21.5833335 128 0 2670 --57.4166665 -57.2499995 -21.7500005 -21.5833335 205 0 2670 --57.2500005 -57.0833335 -21.7500005 -21.5833335 246 0 2670 --57.0833335 -56.9166665 -21.7500005 -21.5833335 332 0 2670 --56.9166665 -56.7499995 -21.7500005 -21.5833335 439 0 2670 --56.7500005 -56.5833335 -21.7500005 -21.5833335 408 0 2670 --56.5833335 -56.4166665 -21.7500005 -21.5833335 314 0 2670 --56.4166665 -56.2499995 -21.7500005 -21.5833335 316 0 2670 --56.2500005 -56.0833335 -21.7500005 -21.5833335 295 0 2670 --56.0833335 -55.9166665 -21.7500005 -21.5833335 320 0 2670 --55.9166665 -55.7499995 -21.7500005 -21.5833335 432 0 2670 --55.7500005 -55.5833335 -21.7500005 -21.5833335 571 0 2670 --55.5833335 -55.4166665 -21.7500005 -21.5833335 495 0 2670 --55.4166665 -55.2499995 -21.7500005 -21.5833335 461 0 2670 --55.2500005 -55.0833335 -21.7500005 -21.5833335 380 0 2670 --55.0833335 -54.9166665 -21.7500005 -21.5833335 338 0 2670 --54.9166665 -54.7499995 -21.7500005 -21.5833335 391 0 2670 --54.7500005 -54.5833335 -21.7500005 -21.5833335 354 0 2670 --54.5833335 -54.4166665 -21.7500005 -21.5833335 321 0 2670 --54.4166665 -54.2499995 -21.7500005 -21.5833335 306 0 2670 --54.2500005 -54.0833335 -21.7500005 -21.5833335 336 0 2670 --54.0833335 -53.9166665 -21.7500005 -21.5833335 366 0 2670 --53.9166665 -53.7499995 -21.7500005 -21.5833335 338 0 2670 --53.7500005 -53.5833335 -21.7500005 -21.5833335 363 0 2670 --53.5833335 -53.4166665 -21.7500005 -21.5833335 375 0 2670 --53.4166665 -53.2499995 -21.7500005 -21.5833335 332 0 2670 --53.2500005 -53.0833335 -21.7500005 -21.5833335 362 0 2670 --53.0833335 -52.9166665 -21.7500005 -21.5833335 348 0 2670 --52.9166665 -52.7499995 -21.7500005 -21.5833335 275 0 2670 --52.7500005 -52.5833335 -21.7500005 -21.5833335 341 0 2670 --52.5833335 -52.4166665 -21.7500005 -21.5833335 334 0 2670 --52.4166665 -52.2499995 -21.7500005 -21.5833335 279 0 2670 --52.2500005 -52.0833335 -21.7500005 -21.5833335 257 0 2670 --52.0833335 -51.9166665 -21.7500005 -21.5833335 267 0 2670 --51.9166665 -51.7499995 -21.7500005 -21.5833335 338 0 2670 --51.7500005 -51.5833335 -21.7500005 -21.5833335 306 0 2670 --51.5833335 -51.4166665 -21.7500005 -21.5833335 337 0 2670 --51.4166665 -51.2499995 -21.7500005 -21.5833335 391 0 2670 --51.2500005 -51.0833335 -21.7500005 -21.5833335 363 0 2670 --51.0833335 -50.9166665 -21.7500005 -21.5833335 401 0 2670 --50.9166665 -50.7499995 -21.7500005 -21.5833335 402 0 2670 --50.7500005 -50.5833335 -21.7500005 -21.5833335 411 0 2670 --50.5833335 -50.4166665 -21.7500005 -21.5833335 402 0 2670 --50.4166665 -50.2499995 -21.7500005 -21.5833335 397 0 2670 --50.2500005 -50.0833335 -21.7500005 -21.5833335 422 0 2670 --50.0833335 -49.9166665 -21.7500005 -21.5833335 435 0 2670 --49.9166665 -49.7499995 -21.7500005 -21.5833335 464 0 2670 --49.7500005 -49.5833335 -21.7500005 -21.5833335 459 0 2670 --49.5833335 -49.4166665 -21.7500005 -21.5833335 445 0 2670 --49.4166665 -49.2499995 -21.7500005 -21.5833335 456 0 2670 --49.2500005 -49.0833335 -21.7500005 -21.5833335 401 0 2670 --49.0833335 -48.9166665 -21.7500005 -21.5833335 447 0 2670 --48.9166665 -48.7499995 -21.7500005 -21.5833335 496 0 2670 --48.7500005 -48.5833335 -21.7500005 -21.5833335 539 0 2670 --48.5833335 -48.4166665 -21.7500005 -21.5833335 546 0 2670 --48.4166665 -48.2499995 -21.7500005 -21.5833335 603 0 2670 --48.2500005 -48.0833335 -21.7500005 -21.5833335 640 0 2670 --48.0833335 -47.9166665 -21.7500005 -21.5833335 570 0 2670 --47.9166665 -47.7499995 -21.7500005 -21.5833335 542 0 2670 --47.7500005 -47.5833335 -21.7500005 -21.5833335 664 0 2670 --47.5833335 -47.4166665 -21.7500005 -21.5833335 648 0 2670 --47.4166665 -47.2499995 -21.7500005 -21.5833335 798 0 2670 --47.2500005 -47.0833335 -21.7500005 -21.5833335 593 0 2670 --47.0833335 -46.9166665 -21.7500005 -21.5833335 594 0 2670 --46.9166665 -46.7499995 -21.7500005 -21.5833335 983 0 2670 --46.7500005 -46.5833335 -21.7500005 -21.5833335 1229 0 2670 --46.5833335 -46.4166665 -21.7500005 -21.5833335 906 0 2670 --46.4166665 -46.2499995 -21.7500005 -21.5833335 1092 0 2670 --46.2500005 -46.0833335 -21.7500005 -21.5833335 1029 0 2670 --46.0833335 -45.9166665 -21.7500005 -21.5833335 960 0 2670 --45.9166665 -45.7499995 -21.7500005 -21.5833335 876 0 2670 --45.7500005 -45.5833335 -21.7500005 -21.5833335 864 0 2670 --45.5833335 -45.4166665 -21.7500005 -21.5833335 963 0 2670 --45.4166665 -45.2499995 -21.7500005 -21.5833335 852 0 2670 --45.2500005 -45.0833335 -21.7500005 -21.5833335 900 0 2670 --45.0833335 -44.9166665 -21.7500005 -21.5833335 934 0 2670 --44.9166665 -44.7499995 -21.7500005 -21.5833335 1064 0 2670 --44.7500005 -44.5833335 -21.7500005 -21.5833335 1050 0 2670 --44.5833335 -44.4166665 -21.7500005 -21.5833335 982 0 2670 --44.4166665 -44.2499995 -21.7500005 -21.5833335 995 0 2670 --44.2500005 -44.0833335 -21.7500005 -21.5833335 1107 0 2670 --44.0833335 -43.9166665 -21.7500005 -21.5833335 1093 0 2670 --43.9166665 -43.7499995 -21.7500005 -21.5833335 936 0 2670 --43.7500005 -43.5833335 -21.7500005 -21.5833335 770 0 2670 --43.5833335 -43.4166665 -21.7500005 -21.5833335 752 0 2670 --43.4166665 -43.2499995 -21.7500005 -21.5833335 853 0 2670 --43.2500005 -43.0833335 -21.7500005 -21.5833335 775 0 2670 --43.0833335 -42.9166665 -21.7500005 -21.5833335 583 0 2670 --42.9166665 -42.7499995 -21.7500005 -21.5833335 578 0 2670 --42.7500005 -42.5833335 -21.7500005 -21.5833335 422 0 2670 --42.5833335 -42.4166665 -21.7500005 -21.5833335 260 0 2670 --42.4166665 -42.2499995 -21.7500005 -21.5833335 174 0 2670 --42.2500005 -42.0833335 -21.7500005 -21.5833335 101 0 2670 --42.0833335 -41.9166665 -21.7500005 -21.5833335 120 0 2670 --41.9166665 -41.7499995 -21.7500005 -21.5833335 164 0 2670 --41.7500005 -41.5833335 -21.7500005 -21.5833335 197 0 2670 --41.5833335 -41.4166665 -21.7500005 -21.5833335 30 0 2670 --41.4166665 -41.2499995 -21.7500005 -21.5833335 15 0 2670 --41.2500005 -41.0833335 -21.7500005 -21.5833335 3 0 2670 --41.0833335 -40.9166665 -21.7500005 -21.5833335 0 -2 -1670 --40.9166665 -40.7499995 -21.7500005 -21.5833335 0 -14 -1670 --40.7500005 -40.5833335 -21.7500005 -21.5833335 0 -19 -1670 --40.5833335 -40.4166665 -21.7500005 -21.5833335 0 -31 -1670 --40.4166665 -40.2499995 -21.7500005 -21.5833335 0 -38 -1670 --40.2500005 -40.0833335 -21.7500005 -21.5833335 0 -139 -1670 --40.0833335 -39.9166665 -21.7500005 -21.5833335 0 -709 -1670 --65.0833335 -64.9166665 -21.9166665 -21.7499995 4029 0 2670 --64.9166665 -64.7499995 -21.9166665 -21.7499995 2192 0 2670 --64.7500005 -64.5833335 -21.9166665 -21.7499995 2099 0 2670 --64.5833335 -64.4166665 -21.9166665 -21.7499995 1503 0 2670 --64.4166665 -64.2499995 -21.9166665 -21.7499995 1092 0 2670 --64.2500005 -64.0833335 -21.9166665 -21.7499995 1257 0 2670 --64.0833335 -63.9166665 -21.9166665 -21.7499995 1790 0 2670 --63.9166665 -63.7499995 -21.9166665 -21.7499995 1293 0 2670 --63.7500005 -63.5833335 -21.9166665 -21.7499995 903 0 2670 --63.5833335 -63.4166665 -21.9166665 -21.7499995 562 0 2670 --63.4166665 -63.2499995 -21.9166665 -21.7499995 446 0 2670 --63.2500005 -63.0833335 -21.9166665 -21.7499995 365 0 2670 --63.0833335 -62.9166665 -21.9166665 -21.7499995 308 0 2670 --62.9166665 -62.7499995 -21.9166665 -21.7499995 302 0 2670 --62.7500005 -62.5833335 -21.9166665 -21.7499995 290 0 2670 --62.5833335 -62.4166665 -21.9166665 -21.7499995 279 0 2670 --62.4166665 -62.2499995 -21.9166665 -21.7499995 264 0 2670 --62.2500005 -62.0833335 -21.9166665 -21.7499995 255 0 2670 --62.0833335 -61.9166665 -21.9166665 -21.7499995 249 0 2670 --61.9166665 -61.7499995 -21.9166665 -21.7499995 235 0 2670 --61.7500005 -61.5833335 -21.9166665 -21.7499995 225 0 2670 --61.5833335 -61.4166665 -21.9166665 -21.7499995 213 0 2670 --61.4166665 -61.2499995 -21.9166665 -21.7499995 204 0 2670 --61.2500005 -61.0833335 -21.9166665 -21.7499995 198 0 2670 --61.0833335 -60.9166665 -21.9166665 -21.7499995 189 0 2670 --60.9166665 -60.7499995 -21.9166665 -21.7499995 180 0 2670 --60.7500005 -60.5833335 -21.9166665 -21.7499995 174 0 2670 --60.5833335 -60.4166665 -21.9166665 -21.7499995 163 0 2670 --60.4166665 -60.2499995 -21.9166665 -21.7499995 153 0 2670 --60.2500005 -60.0833335 -21.9166665 -21.7499995 151 0 2670 --60.0833335 -59.9166665 -21.9166665 -21.7499995 144 0 2670 --59.9166665 -59.7499995 -21.9166665 -21.7499995 134 0 2670 --59.7500005 -59.5833335 -21.9166665 -21.7499995 130 0 2670 --59.5833335 -59.4166665 -21.9166665 -21.7499995 124 0 2670 --59.4166665 -59.2499995 -21.9166665 -21.7499995 117 0 2670 --59.2500005 -59.0833335 -21.9166665 -21.7499995 112 0 2670 --59.0833335 -58.9166665 -21.9166665 -21.7499995 110 0 2670 --58.9166665 -58.7499995 -21.9166665 -21.7499995 109 0 2670 --58.7500005 -58.5833335 -21.9166665 -21.7499995 99 0 2670 --58.5833335 -58.4166665 -21.9166665 -21.7499995 98 0 2670 --58.4166665 -58.2499995 -21.9166665 -21.7499995 94 0 2670 --58.2500005 -58.0833335 -21.9166665 -21.7499995 89 0 2670 --58.0833335 -57.9166665 -21.9166665 -21.7499995 83 0 2670 --57.9166665 -57.7499995 -21.9166665 -21.7499995 78 0 2670 --57.7500005 -57.5833335 -21.9166665 -21.7499995 96 0 2670 --57.5833335 -57.4166665 -21.9166665 -21.7499995 153 0 2670 --57.4166665 -57.2499995 -21.9166665 -21.7499995 261 0 2670 --57.2500005 -57.0833335 -21.9166665 -21.7499995 182 0 2670 --57.0833335 -56.9166665 -21.9166665 -21.7499995 384 0 2670 --56.9166665 -56.7499995 -21.9166665 -21.7499995 387 0 2670 --56.7500005 -56.5833335 -21.9166665 -21.7499995 272 0 2670 --56.5833335 -56.4166665 -21.9166665 -21.7499995 283 0 2670 --56.4166665 -56.2499995 -21.9166665 -21.7499995 288 0 2670 --56.2500005 -56.0833335 -21.9166665 -21.7499995 374 0 2670 --56.0833335 -55.9166665 -21.9166665 -21.7499995 457 0 2670 --55.9166665 -55.7499995 -21.9166665 -21.7499995 579 0 2670 --55.7500005 -55.5833335 -21.9166665 -21.7499995 612 0 2670 --55.5833335 -55.4166665 -21.9166665 -21.7499995 465 0 2670 --55.4166665 -55.2499995 -21.9166665 -21.7499995 435 0 2670 --55.2500005 -55.0833335 -21.9166665 -21.7499995 408 0 2670 --55.0833335 -54.9166665 -21.9166665 -21.7499995 324 0 2670 --54.9166665 -54.7499995 -21.9166665 -21.7499995 302 0 2670 --54.7500005 -54.5833335 -21.9166665 -21.7499995 316 0 2670 --54.5833335 -54.4166665 -21.9166665 -21.7499995 293 0 2670 --54.4166665 -54.2499995 -21.9166665 -21.7499995 380 0 2670 --54.2500005 -54.0833335 -21.9166665 -21.7499995 381 0 2670 --54.0833335 -53.9166665 -21.9166665 -21.7499995 301 0 2670 --53.9166665 -53.7499995 -21.9166665 -21.7499995 301 0 2670 --53.7500005 -53.5833335 -21.9166665 -21.7499995 334 0 2670 --53.5833335 -53.4166665 -21.9166665 -21.7499995 297 0 2670 --53.4166665 -53.2499995 -21.9166665 -21.7499995 368 0 2670 --53.2500005 -53.0833335 -21.9166665 -21.7499995 401 0 2670 --53.0833335 -52.9166665 -21.9166665 -21.7499995 435 0 2670 --52.9166665 -52.7499995 -21.9166665 -21.7499995 424 0 2670 --52.7500005 -52.5833335 -21.9166665 -21.7499995 377 0 2670 --52.5833335 -52.4166665 -21.9166665 -21.7499995 380 0 2670 --52.4166665 -52.2499995 -21.9166665 -21.7499995 254 0 2670 --52.2500005 -52.0833335 -21.9166665 -21.7499995 276 0 2670 --52.0833335 -51.9166665 -21.9166665 -21.7499995 350 0 2670 --51.9166665 -51.7499995 -21.9166665 -21.7499995 353 0 2670 --51.7500005 -51.5833335 -21.9166665 -21.7499995 334 0 2670 --51.5833335 -51.4166665 -21.9166665 -21.7499995 323 0 2670 --51.4166665 -51.2499995 -21.9166665 -21.7499995 332 0 2670 --51.2500005 -51.0833335 -21.9166665 -21.7499995 341 0 2670 --51.0833335 -50.9166665 -21.9166665 -21.7499995 411 0 2670 --50.9166665 -50.7499995 -21.9166665 -21.7499995 443 0 2670 --50.7500005 -50.5833335 -21.9166665 -21.7499995 440 0 2670 --50.5833335 -50.4166665 -21.9166665 -21.7499995 463 0 2670 --50.4166665 -50.2499995 -21.9166665 -21.7499995 438 0 2670 --50.2500005 -50.0833335 -21.9166665 -21.7499995 437 0 2670 --50.0833335 -49.9166665 -21.9166665 -21.7499995 454 0 2670 --49.9166665 -49.7499995 -21.9166665 -21.7499995 494 0 2670 --49.7500005 -49.5833335 -21.9166665 -21.7499995 497 0 2670 --49.5833335 -49.4166665 -21.9166665 -21.7499995 456 0 2670 --49.4166665 -49.2499995 -21.9166665 -21.7499995 448 0 2670 --49.2500005 -49.0833335 -21.9166665 -21.7499995 461 0 2670 --49.0833335 -48.9166665 -21.9166665 -21.7499995 427 0 2670 --48.9166665 -48.7499995 -21.9166665 -21.7499995 422 0 2670 --48.7500005 -48.5833335 -21.9166665 -21.7499995 420 0 2670 --48.5833335 -48.4166665 -21.9166665 -21.7499995 533 0 2670 --48.4166665 -48.2499995 -21.9166665 -21.7499995 573 0 2670 --48.2500005 -48.0833335 -21.9166665 -21.7499995 666 0 2670 --48.0833335 -47.9166665 -21.9166665 -21.7499995 713 0 2670 --47.9166665 -47.7499995 -21.9166665 -21.7499995 688 0 2670 --47.7500005 -47.5833335 -21.9166665 -21.7499995 670 0 2670 --47.5833335 -47.4166665 -21.9166665 -21.7499995 544 0 2670 --47.4166665 -47.2499995 -21.9166665 -21.7499995 621 0 2670 --47.2500005 -47.0833335 -21.9166665 -21.7499995 625 0 2670 --47.0833335 -46.9166665 -21.9166665 -21.7499995 744 0 2670 --46.9166665 -46.7499995 -21.9166665 -21.7499995 857 0 2670 --46.7500005 -46.5833335 -21.9166665 -21.7499995 1294 0 2670 --46.5833335 -46.4166665 -21.9166665 -21.7499995 1355 0 2670 --46.4166665 -46.2499995 -21.9166665 -21.7499995 1115 0 2670 --46.2500005 -46.0833335 -21.9166665 -21.7499995 1221 0 2670 --46.0833335 -45.9166665 -21.9166665 -21.7499995 1038 0 2670 --45.9166665 -45.7499995 -21.9166665 -21.7499995 891 0 2670 --45.7500005 -45.5833335 -21.9166665 -21.7499995 859 0 2670 --45.5833335 -45.4166665 -21.9166665 -21.7499995 889 0 2670 --45.4166665 -45.2499995 -21.9166665 -21.7499995 930 0 2670 --45.2500005 -45.0833335 -21.9166665 -21.7499995 908 0 2670 --45.0833335 -44.9166665 -21.9166665 -21.7499995 978 0 2670 --44.9166665 -44.7499995 -21.9166665 -21.7499995 1089 0 2670 --44.7500005 -44.5833335 -21.9166665 -21.7499995 1124 0 2670 --44.5833335 -44.4166665 -21.9166665 -21.7499995 998 0 2670 --44.4166665 -44.2499995 -21.9166665 -21.7499995 1108 0 2670 --44.2500005 -44.0833335 -21.9166665 -21.7499995 1217 0 2670 --44.0833335 -43.9166665 -21.9166665 -21.7499995 982 0 2670 --43.9166665 -43.7499995 -21.9166665 -21.7499995 828 0 2670 --43.7500005 -43.5833335 -21.9166665 -21.7499995 892 0 2670 --43.5833335 -43.4166665 -21.9166665 -21.7499995 707 0 2670 --43.4166665 -43.2499995 -21.9166665 -21.7499995 592 0 2670 --43.2500005 -43.0833335 -21.9166665 -21.7499995 653 0 2670 --43.0833335 -42.9166665 -21.9166665 -21.7499995 526 0 2670 --42.9166665 -42.7499995 -21.9166665 -21.7499995 569 0 2670 --42.7500005 -42.5833335 -21.9166665 -21.7499995 282 0 2670 --42.5833335 -42.4166665 -21.9166665 -21.7499995 282 0 2670 --42.4166665 -42.2499995 -21.9166665 -21.7499995 342 0 2670 --42.2500005 -42.0833335 -21.9166665 -21.7499995 155 0 2670 --42.0833335 -41.9166665 -21.9166665 -21.7499995 110 0 2670 --41.9166665 -41.7499995 -21.9166665 -21.7499995 1066 0 2670 --41.7500005 -41.5833335 -21.9166665 -21.7499995 67 0 2670 --41.5833335 -41.4166665 -21.9166665 -21.7499995 38 0 2670 --41.4166665 -41.2499995 -21.9166665 -21.7499995 6 0 2670 --41.2500005 -41.0833335 -21.9166665 -21.7499995 2 0 2670 --41.0833335 -40.9166665 -21.9166665 -21.7499995 0 0 2670 --40.9166665 -40.7499995 -21.9166665 -21.7499995 0 -21 -1670 --40.7500005 -40.5833335 -21.9166665 -21.7499995 0 -20 -1670 --40.5833335 -40.4166665 -21.9166665 -21.7499995 0 -31 -1670 --40.4166665 -40.2499995 -21.9166665 -21.7499995 0 -51 -1670 --40.2500005 -40.0833335 -21.9166665 -21.7499995 0 -83 -1670 --40.0833335 -39.9166665 -21.9166665 -21.7499995 0 -473 -1670 --65.0833335 -64.9166665 -22.0833335 -21.9166665 3194 0 2670 --64.9166665 -64.7499995 -22.0833335 -21.9166665 2374 0 2670 --64.7500005 -64.5833335 -22.0833335 -21.9166665 1968 0 2670 --64.5833335 -64.4166665 -22.0833335 -21.9166665 1344 0 2670 --64.4166665 -64.2499995 -22.0833335 -21.9166665 1166 0 2670 --64.2500005 -64.0833335 -22.0833335 -21.9166665 862 0 2670 --64.0833335 -63.9166665 -22.0833335 -21.9166665 835 0 2670 --63.9166665 -63.7499995 -22.0833335 -21.9166665 750 0 2670 --63.7500005 -63.5833335 -22.0833335 -21.9166665 636 0 2670 --63.5833335 -63.4166665 -22.0833335 -21.9166665 521 0 2670 --63.4166665 -63.2499995 -22.0833335 -21.9166665 405 0 2670 --63.2500005 -63.0833335 -22.0833335 -21.9166665 349 0 2670 --63.0833335 -62.9166665 -22.0833335 -21.9166665 303 0 2670 --62.9166665 -62.7499995 -22.0833335 -21.9166665 288 0 2670 --62.7500005 -62.5833335 -22.0833335 -21.9166665 281 0 2670 --62.5833335 -62.4166665 -22.0833335 -21.9166665 274 0 2670 --62.4166665 -62.2499995 -22.0833335 -21.9166665 261 0 2670 --62.2500005 -62.0833335 -22.0833335 -21.9166665 254 0 2670 --62.0833335 -61.9166665 -22.0833335 -21.9166665 244 0 2670 --61.9166665 -61.7499995 -22.0833335 -21.9166665 234 0 2670 --61.7500005 -61.5833335 -22.0833335 -21.9166665 224 0 2670 --61.5833335 -61.4166665 -22.0833335 -21.9166665 212 0 2670 --61.4166665 -61.2499995 -22.0833335 -21.9166665 204 0 2670 --61.2500005 -61.0833335 -22.0833335 -21.9166665 195 0 2670 --61.0833335 -60.9166665 -22.0833335 -21.9166665 187 0 2670 --60.9166665 -60.7499995 -22.0833335 -21.9166665 177 0 2670 --60.7500005 -60.5833335 -22.0833335 -21.9166665 168 0 2670 --60.5833335 -60.4166665 -22.0833335 -21.9166665 163 0 2670 --60.4166665 -60.2499995 -22.0833335 -21.9166665 157 0 2670 --60.2500005 -60.0833335 -22.0833335 -21.9166665 147 0 2670 --60.0833335 -59.9166665 -22.0833335 -21.9166665 140 0 2670 --59.9166665 -59.7499995 -22.0833335 -21.9166665 134 0 2670 --59.7500005 -59.5833335 -22.0833335 -21.9166665 130 0 2670 --59.5833335 -59.4166665 -22.0833335 -21.9166665 123 0 2670 --59.4166665 -59.2499995 -22.0833335 -21.9166665 115 0 2670 --59.2500005 -59.0833335 -22.0833335 -21.9166665 112 0 2670 --59.0833335 -58.9166665 -22.0833335 -21.9166665 109 0 2670 --58.9166665 -58.7499995 -22.0833335 -21.9166665 102 0 2670 --58.7500005 -58.5833335 -22.0833335 -21.9166665 100 0 2670 --58.5833335 -58.4166665 -22.0833335 -21.9166665 97 0 2670 --58.4166665 -58.2499995 -22.0833335 -21.9166665 92 0 2670 --58.2500005 -58.0833335 -22.0833335 -21.9166665 87 0 2670 --58.0833335 -57.9166665 -22.0833335 -21.9166665 74 0 2670 --57.9166665 -57.7499995 -22.0833335 -21.9166665 84 0 2670 --57.7500005 -57.5833335 -22.0833335 -21.9166665 93 0 2670 --57.5833335 -57.4166665 -22.0833335 -21.9166665 150 0 2670 --57.4166665 -57.2499995 -22.0833335 -21.9166665 143 0 2670 --57.2500005 -57.0833335 -22.0833335 -21.9166665 193 0 2670 --57.0833335 -56.9166665 -22.0833335 -21.9166665 263 0 2670 --56.9166665 -56.7499995 -22.0833335 -21.9166665 332 0 2670 --56.7500005 -56.5833335 -22.0833335 -21.9166665 213 0 2670 --56.5833335 -56.4166665 -22.0833335 -21.9166665 207 0 2670 --56.4166665 -56.2499995 -22.0833335 -21.9166665 225 0 2670 --56.2500005 -56.0833335 -22.0833335 -21.9166665 286 0 2670 --56.0833335 -55.9166665 -22.0833335 -21.9166665 487 0 2670 --55.9166665 -55.7499995 -22.0833335 -21.9166665 648 0 2670 --55.7500005 -55.5833335 -22.0833335 -21.9166665 615 0 2670 --55.5833335 -55.4166665 -22.0833335 -21.9166665 572 0 2670 --55.4166665 -55.2499995 -22.0833335 -21.9166665 425 0 2670 --55.2500005 -55.0833335 -22.0833335 -21.9166665 386 0 2670 --55.0833335 -54.9166665 -22.0833335 -21.9166665 406 0 2670 --54.9166665 -54.7499995 -22.0833335 -21.9166665 313 0 2670 --54.7500005 -54.5833335 -22.0833335 -21.9166665 305 0 2670 --54.5833335 -54.4166665 -22.0833335 -21.9166665 291 0 2670 --54.4166665 -54.2499995 -22.0833335 -21.9166665 290 0 2670 --54.2500005 -54.0833335 -22.0833335 -21.9166665 291 0 2670 --54.0833335 -53.9166665 -22.0833335 -21.9166665 338 0 2670 --53.9166665 -53.7499995 -22.0833335 -21.9166665 337 0 2670 --53.7500005 -53.5833335 -22.0833335 -21.9166665 313 0 2670 --53.5833335 -53.4166665 -22.0833335 -21.9166665 309 0 2670 --53.4166665 -53.2499995 -22.0833335 -21.9166665 395 0 2670 --53.2500005 -53.0833335 -22.0833335 -21.9166665 375 0 2670 --53.0833335 -52.9166665 -22.0833335 -21.9166665 346 0 2670 --52.9166665 -52.7499995 -22.0833335 -21.9166665 425 0 2670 --52.7500005 -52.5833335 -22.0833335 -21.9166665 399 0 2670 --52.5833335 -52.4166665 -22.0833335 -21.9166665 293 0 2670 --52.4166665 -52.2499995 -22.0833335 -21.9166665 252 0 2670 --52.2500005 -52.0833335 -22.0833335 -21.9166665 345 0 2670 --52.0833335 -51.9166665 -22.0833335 -21.9166665 349 0 2670 --51.9166665 -51.7499995 -22.0833335 -21.9166665 388 0 2670 --51.7500005 -51.5833335 -22.0833335 -21.9166665 394 0 2670 --51.5833335 -51.4166665 -22.0833335 -21.9166665 384 0 2670 --51.4166665 -51.2499995 -22.0833335 -21.9166665 389 0 2670 --51.2500005 -51.0833335 -22.0833335 -21.9166665 410 0 2670 --51.0833335 -50.9166665 -22.0833335 -21.9166665 407 0 2670 --50.9166665 -50.7499995 -22.0833335 -21.9166665 386 0 2670 --50.7500005 -50.5833335 -22.0833335 -21.9166665 447 0 2670 --50.5833335 -50.4166665 -22.0833335 -21.9166665 430 0 2670 --50.4166665 -50.2499995 -22.0833335 -21.9166665 488 0 2670 --50.2500005 -50.0833335 -22.0833335 -21.9166665 471 0 2670 --50.0833335 -49.9166665 -22.0833335 -21.9166665 460 0 2670 --49.9166665 -49.7499995 -22.0833335 -21.9166665 467 0 2670 --49.7500005 -49.5833335 -22.0833335 -21.9166665 467 0 2670 --49.5833335 -49.4166665 -22.0833335 -21.9166665 550 0 2670 --49.4166665 -49.2499995 -22.0833335 -21.9166665 530 0 2670 --49.2500005 -49.0833335 -22.0833335 -21.9166665 476 0 2670 --49.0833335 -48.9166665 -22.0833335 -21.9166665 505 0 2670 --48.9166665 -48.7499995 -22.0833335 -21.9166665 480 0 2670 --48.7500005 -48.5833335 -22.0833335 -21.9166665 478 0 2670 --48.5833335 -48.4166665 -22.0833335 -21.9166665 525 0 2670 --48.4166665 -48.2499995 -22.0833335 -21.9166665 511 0 2670 --48.2500005 -48.0833335 -22.0833335 -21.9166665 583 0 2670 --48.0833335 -47.9166665 -22.0833335 -21.9166665 790 0 2670 --47.9166665 -47.7499995 -22.0833335 -21.9166665 879 0 2670 --47.7500005 -47.5833335 -22.0833335 -21.9166665 745 0 2670 --47.5833335 -47.4166665 -22.0833335 -21.9166665 746 0 2670 --47.4166665 -47.2499995 -22.0833335 -21.9166665 600 0 2670 --47.2500005 -47.0833335 -22.0833335 -21.9166665 594 0 2670 --47.0833335 -46.9166665 -22.0833335 -21.9166665 612 0 2670 --46.9166665 -46.7499995 -22.0833335 -21.9166665 726 0 2670 --46.7500005 -46.5833335 -22.0833335 -21.9166665 1250 0 2670 --46.5833335 -46.4166665 -22.0833335 -21.9166665 1323 0 2670 --46.4166665 -46.2499995 -22.0833335 -21.9166665 1174 0 2670 --46.2500005 -46.0833335 -22.0833335 -21.9166665 1278 0 2670 --46.0833335 -45.9166665 -22.0833335 -21.9166665 1343 0 2670 --45.9166665 -45.7499995 -22.0833335 -21.9166665 853 0 2670 --45.7500005 -45.5833335 -22.0833335 -21.9166665 867 0 2670 --45.5833335 -45.4166665 -22.0833335 -21.9166665 1157 0 2670 --45.4166665 -45.2499995 -22.0833335 -21.9166665 914 0 2670 --45.2500005 -45.0833335 -22.0833335 -21.9166665 921 0 2670 --45.0833335 -44.9166665 -22.0833335 -21.9166665 908 0 2670 --44.9166665 -44.7499995 -22.0833335 -21.9166665 956 0 2670 --44.7500005 -44.5833335 -22.0833335 -21.9166665 1537 0 2670 --44.5833335 -44.4166665 -22.0833335 -21.9166665 1135 0 2670 --44.4166665 -44.2499995 -22.0833335 -21.9166665 1158 0 2670 --44.2500005 -44.0833335 -22.0833335 -21.9166665 1239 0 2670 --44.0833335 -43.9166665 -22.0833335 -21.9166665 1172 0 2670 --43.9166665 -43.7499995 -22.0833335 -21.9166665 821 0 2670 --43.7500005 -43.5833335 -22.0833335 -21.9166665 847 0 2670 --43.5833335 -43.4166665 -22.0833335 -21.9166665 533 0 2670 --43.4166665 -43.2499995 -22.0833335 -21.9166665 392 0 2670 --43.2500005 -43.0833335 -22.0833335 -21.9166665 381 0 2670 --43.0833335 -42.9166665 -22.0833335 -21.9166665 362 0 2670 --42.9166665 -42.7499995 -22.0833335 -21.9166665 560 0 2670 --42.7500005 -42.5833335 -22.0833335 -21.9166665 329 0 2670 --42.5833335 -42.4166665 -22.0833335 -21.9166665 663 0 2670 --42.4166665 -42.2499995 -22.0833335 -21.9166665 510 0 2670 --42.2500005 -42.0833335 -22.0833335 -21.9166665 347 0 2670 --42.0833335 -41.9166665 -22.0833335 -21.9166665 601 0 2670 --41.9166665 -41.7499995 -22.0833335 -21.9166665 101 0 2670 --41.7500005 -41.5833335 -22.0833335 -21.9166665 77 0 2670 --41.5833335 -41.4166665 -22.0833335 -21.9166665 2 0 2670 --41.4166665 -41.2499995 -22.0833335 -21.9166665 1 0 2670 --41.2500005 -41.0833335 -22.0833335 -21.9166665 3 0 2670 --41.0833335 -40.9166665 -22.0833335 -21.9166665 4 0 2670 --40.9166665 -40.7499995 -22.0833335 -21.9166665 0 -16 -1670 --40.7500005 -40.5833335 -22.0833335 -21.9166665 0 -29 -1670 --40.5833335 -40.4166665 -22.0833335 -21.9166665 0 -47 -1670 --40.4166665 -40.2499995 -22.0833335 -21.9166665 0 -53 -1670 --40.2500005 -40.0833335 -22.0833335 -21.9166665 0 -62 -1670 --40.0833335 -39.9166665 -22.0833335 -21.9166665 0 -443 -1670 --65.0833335 -64.9166665 -22.2500005 -22.0833335 2897 0 2670 --64.9166665 -64.7499995 -22.2500005 -22.0833335 2755 0 2670 --64.7500005 -64.5833335 -22.2500005 -22.0833335 1310 0 2670 --64.5833335 -64.4166665 -22.2500005 -22.0833335 1199 0 2670 --64.4166665 -64.2499995 -22.2500005 -22.0833335 873 0 2670 --64.2500005 -64.0833335 -22.2500005 -22.0833335 691 0 2670 --64.0833335 -63.9166665 -22.2500005 -22.0833335 615 0 2670 --63.9166665 -63.7499995 -22.2500005 -22.0833335 740 0 2670 --63.7500005 -63.5833335 -22.2500005 -22.0833335 587 0 2670 --63.5833335 -63.4166665 -22.2500005 -22.0833335 429 0 2670 --63.4166665 -63.2499995 -22.2500005 -22.0833335 379 0 2670 --63.2500005 -63.0833335 -22.2500005 -22.0833335 336 0 2670 --63.0833335 -62.9166665 -22.2500005 -22.0833335 296 0 2670 --62.9166665 -62.7499995 -22.2500005 -22.0833335 275 0 2670 --62.7500005 -62.5833335 -22.2500005 -22.0833335 269 0 2670 --62.5833335 -62.4166665 -22.2500005 -22.0833335 264 0 2670 --62.4166665 -62.2499995 -22.2500005 -22.0833335 258 0 2670 --62.2500005 -62.0833335 -22.2500005 -22.0833335 248 0 2670 --62.0833335 -61.9166665 -22.2500005 -22.0833335 237 0 2670 --61.9166665 -61.7499995 -22.2500005 -22.0833335 229 0 2670 --61.7500005 -61.5833335 -22.2500005 -22.0833335 217 0 2670 --61.5833335 -61.4166665 -22.2500005 -22.0833335 210 0 2670 --61.4166665 -61.2499995 -22.2500005 -22.0833335 202 0 2670 --61.2500005 -61.0833335 -22.2500005 -22.0833335 192 0 2670 --61.0833335 -60.9166665 -22.2500005 -22.0833335 185 0 2670 --60.9166665 -60.7499995 -22.2500005 -22.0833335 173 0 2670 --60.7500005 -60.5833335 -22.2500005 -22.0833335 168 0 2670 --60.5833335 -60.4166665 -22.2500005 -22.0833335 160 0 2670 --60.4166665 -60.2499995 -22.2500005 -22.0833335 153 0 2670 --60.2500005 -60.0833335 -22.2500005 -22.0833335 145 0 2670 --60.0833335 -59.9166665 -22.2500005 -22.0833335 137 0 2670 --59.9166665 -59.7499995 -22.2500005 -22.0833335 131 0 2670 --59.7500005 -59.5833335 -22.2500005 -22.0833335 124 0 2670 --59.5833335 -59.4166665 -22.2500005 -22.0833335 122 0 2670 --59.4166665 -59.2499995 -22.2500005 -22.0833335 117 0 2670 --59.2500005 -59.0833335 -22.2500005 -22.0833335 113 0 2670 --59.0833335 -58.9166665 -22.2500005 -22.0833335 108 0 2670 --58.9166665 -58.7499995 -22.2500005 -22.0833335 104 0 2670 --58.7500005 -58.5833335 -22.2500005 -22.0833335 104 0 2670 --58.5833335 -58.4166665 -22.2500005 -22.0833335 96 0 2670 --58.4166665 -58.2499995 -22.2500005 -22.0833335 94 0 2670 --58.2500005 -58.0833335 -22.2500005 -22.0833335 86 0 2670 --58.0833335 -57.9166665 -22.2500005 -22.0833335 80 0 2670 --57.9166665 -57.7499995 -22.2500005 -22.0833335 86 0 2670 --57.7500005 -57.5833335 -22.2500005 -22.0833335 95 0 2670 --57.5833335 -57.4166665 -22.2500005 -22.0833335 108 0 2670 --57.4166665 -57.2499995 -22.2500005 -22.0833335 126 0 2670 --57.2500005 -57.0833335 -22.2500005 -22.0833335 157 0 2670 --57.0833335 -56.9166665 -22.2500005 -22.0833335 221 0 2670 --56.9166665 -56.7499995 -22.2500005 -22.0833335 260 0 2670 --56.7500005 -56.5833335 -22.2500005 -22.0833335 195 0 2670 --56.5833335 -56.4166665 -22.2500005 -22.0833335 198 0 2670 --56.4166665 -56.2499995 -22.2500005 -22.0833335 249 0 2670 --56.2500005 -56.0833335 -22.2500005 -22.0833335 325 0 2670 --56.0833335 -55.9166665 -22.2500005 -22.0833335 537 0 2670 --55.9166665 -55.7499995 -22.2500005 -22.0833335 635 0 2670 --55.7500005 -55.5833335 -22.2500005 -22.0833335 494 0 2670 --55.5833335 -55.4166665 -22.2500005 -22.0833335 480 0 2670 --55.4166665 -55.2499995 -22.2500005 -22.0833335 435 0 2670 --55.2500005 -55.0833335 -22.2500005 -22.0833335 412 0 2670 --55.0833335 -54.9166665 -22.2500005 -22.0833335 455 0 2670 --54.9166665 -54.7499995 -22.2500005 -22.0833335 424 0 2670 --54.7500005 -54.5833335 -22.2500005 -22.0833335 354 0 2670 --54.5833335 -54.4166665 -22.2500005 -22.0833335 354 0 2670 --54.4166665 -54.2499995 -22.2500005 -22.0833335 315 0 2670 --54.2500005 -54.0833335 -22.2500005 -22.0833335 325 0 2670 --54.0833335 -53.9166665 -22.2500005 -22.0833335 372 0 2670 --53.9166665 -53.7499995 -22.2500005 -22.0833335 360 0 2670 --53.7500005 -53.5833335 -22.2500005 -22.0833335 285 0 2670 --53.5833335 -53.4166665 -22.2500005 -22.0833335 388 0 2670 --53.4166665 -53.2499995 -22.2500005 -22.0833335 397 0 2670 --53.2500005 -53.0833335 -22.2500005 -22.0833335 344 0 2670 --53.0833335 -52.9166665 -22.2500005 -22.0833335 337 0 2670 --52.9166665 -52.7499995 -22.2500005 -22.0833335 371 0 2670 --52.7500005 -52.5833335 -22.2500005 -22.0833335 284 0 2670 --52.5833335 -52.4166665 -22.2500005 -22.0833335 258 0 2670 --52.4166665 -52.2499995 -22.2500005 -22.0833335 392 0 2670 --52.2500005 -52.0833335 -22.2500005 -22.0833335 335 0 2670 --52.0833335 -51.9166665 -22.2500005 -22.0833335 412 0 2670 --51.9166665 -51.7499995 -22.2500005 -22.0833335 369 0 2670 --51.7500005 -51.5833335 -22.2500005 -22.0833335 398 0 2670 --51.5833335 -51.4166665 -22.2500005 -22.0833335 356 0 2670 --51.4166665 -51.2499995 -22.2500005 -22.0833335 418 0 2670 --51.2500005 -51.0833335 -22.2500005 -22.0833335 479 0 2670 --51.0833335 -50.9166665 -22.2500005 -22.0833335 445 0 2670 --50.9166665 -50.7499995 -22.2500005 -22.0833335 474 0 2670 --50.7500005 -50.5833335 -22.2500005 -22.0833335 477 0 2670 --50.5833335 -50.4166665 -22.2500005 -22.0833335 408 0 2670 --50.4166665 -50.2499995 -22.2500005 -22.0833335 409 0 2670 --50.2500005 -50.0833335 -22.2500005 -22.0833335 486 0 2670 --50.0833335 -49.9166665 -22.2500005 -22.0833335 612 0 2670 --49.9166665 -49.7499995 -22.2500005 -22.0833335 536 0 2670 --49.7500005 -49.5833335 -22.2500005 -22.0833335 622 0 2670 --49.5833335 -49.4166665 -22.2500005 -22.0833335 568 0 2670 --49.4166665 -49.2499995 -22.2500005 -22.0833335 477 0 2670 --49.2500005 -49.0833335 -22.2500005 -22.0833335 499 0 2670 --49.0833335 -48.9166665 -22.2500005 -22.0833335 553 0 2670 --48.9166665 -48.7499995 -22.2500005 -22.0833335 497 0 2670 --48.7500005 -48.5833335 -22.2500005 -22.0833335 531 0 2670 --48.5833335 -48.4166665 -22.2500005 -22.0833335 640 0 2670 --48.4166665 -48.2499995 -22.2500005 -22.0833335 507 0 2670 --48.2500005 -48.0833335 -22.2500005 -22.0833335 676 0 2670 --48.0833335 -47.9166665 -22.2500005 -22.0833335 789 0 2670 --47.9166665 -47.7499995 -22.2500005 -22.0833335 775 0 2670 --47.7500005 -47.5833335 -22.2500005 -22.0833335 676 0 2670 --47.5833335 -47.4166665 -22.2500005 -22.0833335 662 0 2670 --47.4166665 -47.2499995 -22.2500005 -22.0833335 617 0 2670 --47.2500005 -47.0833335 -22.2500005 -22.0833335 639 0 2670 --47.0833335 -46.9166665 -22.2500005 -22.0833335 667 0 2670 --46.9166665 -46.7499995 -22.2500005 -22.0833335 720 0 2670 --46.7500005 -46.5833335 -22.2500005 -22.0833335 1032 0 2670 --46.5833335 -46.4166665 -22.2500005 -22.0833335 1131 0 2670 --46.4166665 -46.2499995 -22.2500005 -22.0833335 1363 0 2670 --46.2500005 -46.0833335 -22.2500005 -22.0833335 874 0 2670 --46.0833335 -45.9166665 -22.2500005 -22.0833335 874 0 2670 --45.9166665 -45.7499995 -22.2500005 -22.0833335 828 0 2670 --45.7500005 -45.5833335 -22.2500005 -22.0833335 920 0 2670 --45.5833335 -45.4166665 -22.2500005 -22.0833335 1072 0 2670 --45.4166665 -45.2499995 -22.2500005 -22.0833335 974 0 2670 --45.2500005 -45.0833335 -22.2500005 -22.0833335 1035 0 2670 --45.0833335 -44.9166665 -22.2500005 -22.0833335 992 0 2670 --44.9166665 -44.7499995 -22.2500005 -22.0833335 1497 0 2670 --44.7500005 -44.5833335 -22.2500005 -22.0833335 1236 0 2670 --44.5833335 -44.4166665 -22.2500005 -22.0833335 1228 0 2670 --44.4166665 -44.2499995 -22.2500005 -22.0833335 1407 0 2670 --44.2500005 -44.0833335 -22.2500005 -22.0833335 703 0 2670 --44.0833335 -43.9166665 -22.2500005 -22.0833335 515 0 2670 --43.9166665 -43.7499995 -22.2500005 -22.0833335 739 0 2670 --43.7500005 -43.5833335 -22.2500005 -22.0833335 491 0 2670 --43.5833335 -43.4166665 -22.2500005 -22.0833335 676 0 2670 --43.4166665 -43.2499995 -22.2500005 -22.0833335 361 0 2670 --43.2500005 -43.0833335 -22.2500005 -22.0833335 301 0 2670 --43.0833335 -42.9166665 -22.2500005 -22.0833335 743 0 2670 --42.9166665 -42.7499995 -22.2500005 -22.0833335 888 0 2670 --42.7500005 -42.5833335 -22.2500005 -22.0833335 960 0 2670 --42.5833335 -42.4166665 -22.2500005 -22.0833335 859 0 2670 --42.4166665 -42.2499995 -22.2500005 -22.0833335 735 0 2670 --42.2500005 -42.0833335 -22.2500005 -22.0833335 1055 0 2670 --42.0833335 -41.9166665 -22.2500005 -22.0833335 150 0 2670 --41.9166665 -41.7499995 -22.2500005 -22.0833335 133 0 2670 --41.7500005 -41.5833335 -22.2500005 -22.0833335 43 0 2670 --41.5833335 -41.4166665 -22.2500005 -22.0833335 8 0 2670 --41.4166665 -41.2499995 -22.2500005 -22.0833335 5 0 2670 --41.2500005 -41.0833335 -22.2500005 -22.0833335 0 -8 -1670 --41.0833335 -40.9166665 -22.2500005 -22.0833335 0 -25 -1670 --40.9166665 -40.7499995 -22.2500005 -22.0833335 0 -48 -1670 --40.7500005 -40.5833335 -22.2500005 -22.0833335 0 -57 -1670 --40.5833335 -40.4166665 -22.2500005 -22.0833335 0 -83 -1670 --40.4166665 -40.2499995 -22.2500005 -22.0833335 0 -44 -1670 --40.2500005 -40.0833335 -22.2500005 -22.0833335 0 -129 -1670 --40.0833335 -39.9166665 -22.2500005 -22.0833335 0 -284 -1670 --65.0833335 -64.9166665 -22.4166665 -22.2499995 3308 0 2670 --64.9166665 -64.7499995 -22.4166665 -22.2499995 2855 0 2670 --64.7500005 -64.5833335 -22.4166665 -22.2499995 1509 0 2670 --64.5833335 -64.4166665 -22.4166665 -22.2499995 840 0 2670 --64.4166665 -64.2499995 -22.4166665 -22.2499995 1268 0 2670 --64.2500005 -64.0833335 -22.4166665 -22.2499995 827 0 2670 --64.0833335 -63.9166665 -22.4166665 -22.2499995 836 0 2670 --63.9166665 -63.7499995 -22.4166665 -22.2499995 898 0 2670 --63.7500005 -63.5833335 -22.4166665 -22.2499995 463 0 2670 --63.5833335 -63.4166665 -22.4166665 -22.2499995 410 0 2670 --63.4166665 -63.2499995 -22.4166665 -22.2499995 362 0 2670 --63.2500005 -63.0833335 -22.4166665 -22.2499995 320 0 2670 --63.0833335 -62.9166665 -22.4166665 -22.2499995 290 0 2670 --62.9166665 -62.7499995 -22.4166665 -22.2499995 266 0 2670 --62.7500005 -62.5833335 -22.4166665 -22.2499995 262 0 2670 --62.5833335 -62.4166665 -22.4166665 -22.2499995 255 0 2670 --62.4166665 -62.2499995 -22.4166665 -22.2499995 247 0 2670 --62.2500005 -62.0833335 -22.4166665 -22.2499995 240 0 2670 --62.0833335 -61.9166665 -22.4166665 -22.2499995 233 0 2670 --61.9166665 -61.7499995 -22.4166665 -22.2499995 227 0 2670 --61.7500005 -61.5833335 -22.4166665 -22.2499995 214 0 2670 --61.5833335 -61.4166665 -22.4166665 -22.2499995 206 0 2670 --61.4166665 -61.2499995 -22.4166665 -22.2499995 199 0 2670 --61.2500005 -61.0833335 -22.4166665 -22.2499995 190 0 2670 --61.0833335 -60.9166665 -22.4166665 -22.2499995 184 0 2670 --60.9166665 -60.7499995 -22.4166665 -22.2499995 174 0 2670 --60.7500005 -60.5833335 -22.4166665 -22.2499995 166 0 2670 --60.5833335 -60.4166665 -22.4166665 -22.2499995 157 0 2670 --60.4166665 -60.2499995 -22.4166665 -22.2499995 150 0 2670 --60.2500005 -60.0833335 -22.4166665 -22.2499995 142 0 2670 --60.0833335 -59.9166665 -22.4166665 -22.2499995 135 0 2670 --59.9166665 -59.7499995 -22.4166665 -22.2499995 130 0 2670 --59.7500005 -59.5833335 -22.4166665 -22.2499995 124 0 2670 --59.5833335 -59.4166665 -22.4166665 -22.2499995 122 0 2670 --59.4166665 -59.2499995 -22.4166665 -22.2499995 115 0 2670 --59.2500005 -59.0833335 -22.4166665 -22.2499995 108 0 2670 --59.0833335 -58.9166665 -22.4166665 -22.2499995 103 0 2670 --58.9166665 -58.7499995 -22.4166665 -22.2499995 104 0 2670 --58.7500005 -58.5833335 -22.4166665 -22.2499995 102 0 2670 --58.5833335 -58.4166665 -22.4166665 -22.2499995 97 0 2670 --58.4166665 -58.2499995 -22.4166665 -22.2499995 94 0 2670 --58.2500005 -58.0833335 -22.4166665 -22.2499995 86 0 2670 --58.0833335 -57.9166665 -22.4166665 -22.2499995 81 0 2670 --57.9166665 -57.7499995 -22.4166665 -22.2499995 88 0 2670 --57.7500005 -57.5833335 -22.4166665 -22.2499995 99 0 2670 --57.5833335 -57.4166665 -22.4166665 -22.2499995 265 0 2670 --57.4166665 -57.2499995 -22.4166665 -22.2499995 140 0 2670 --57.2500005 -57.0833335 -22.4166665 -22.2499995 168 0 2670 --57.0833335 -56.9166665 -22.4166665 -22.2499995 182 0 2670 --56.9166665 -56.7499995 -22.4166665 -22.2499995 170 0 2670 --56.7500005 -56.5833335 -22.4166665 -22.2499995 209 0 2670 --56.5833335 -56.4166665 -22.4166665 -22.2499995 226 0 2670 --56.4166665 -56.2499995 -22.4166665 -22.2499995 300 0 2670 --56.2500005 -56.0833335 -22.4166665 -22.2499995 358 0 2670 --56.0833335 -55.9166665 -22.4166665 -22.2499995 357 0 2670 --55.9166665 -55.7499995 -22.4166665 -22.2499995 686 0 2670 --55.7500005 -55.5833335 -22.4166665 -22.2499995 635 0 2670 --55.5833335 -55.4166665 -22.4166665 -22.2499995 518 0 2670 --55.4166665 -55.2499995 -22.4166665 -22.2499995 479 0 2670 --55.2500005 -55.0833335 -22.4166665 -22.2499995 413 0 2670 --55.0833335 -54.9166665 -22.4166665 -22.2499995 353 0 2670 --54.9166665 -54.7499995 -22.4166665 -22.2499995 388 0 2670 --54.7500005 -54.5833335 -22.4166665 -22.2499995 351 0 2670 --54.5833335 -54.4166665 -22.4166665 -22.2499995 324 0 2670 --54.4166665 -54.2499995 -22.4166665 -22.2499995 327 0 2670 --54.2500005 -54.0833335 -22.4166665 -22.2499995 411 0 2670 --54.0833335 -53.9166665 -22.4166665 -22.2499995 410 0 2670 --53.9166665 -53.7499995 -22.4166665 -22.2499995 380 0 2670 --53.7500005 -53.5833335 -22.4166665 -22.2499995 376 0 2670 --53.5833335 -53.4166665 -22.4166665 -22.2499995 262 0 2670 --53.4166665 -53.2499995 -22.4166665 -22.2499995 309 0 2670 --53.2500005 -53.0833335 -22.4166665 -22.2499995 276 0 2670 --53.0833335 -52.9166665 -22.4166665 -22.2499995 273 0 2670 --52.9166665 -52.7499995 -22.4166665 -22.2499995 252 0 2670 --52.7500005 -52.5833335 -22.4166665 -22.2499995 332 0 2670 --52.5833335 -52.4166665 -22.4166665 -22.2499995 369 0 2670 --52.4166665 -52.2499995 -22.4166665 -22.2499995 428 0 2670 --52.2500005 -52.0833335 -22.4166665 -22.2499995 390 0 2670 --52.0833335 -51.9166665 -22.4166665 -22.2499995 388 0 2670 --51.9166665 -51.7499995 -22.4166665 -22.2499995 337 0 2670 --51.7500005 -51.5833335 -22.4166665 -22.2499995 391 0 2670 --51.5833335 -51.4166665 -22.4166665 -22.2499995 453 0 2670 --51.4166665 -51.2499995 -22.4166665 -22.2499995 457 0 2670 --51.2500005 -51.0833335 -22.4166665 -22.2499995 441 0 2670 --51.0833335 -50.9166665 -22.4166665 -22.2499995 411 0 2670 --50.9166665 -50.7499995 -22.4166665 -22.2499995 481 0 2670 --50.7500005 -50.5833335 -22.4166665 -22.2499995 519 0 2670 --50.5833335 -50.4166665 -22.4166665 -22.2499995 530 0 2670 --50.4166665 -50.2499995 -22.4166665 -22.2499995 498 0 2670 --50.2500005 -50.0833335 -22.4166665 -22.2499995 458 0 2670 --50.0833335 -49.9166665 -22.4166665 -22.2499995 468 0 2670 --49.9166665 -49.7499995 -22.4166665 -22.2499995 612 0 2670 --49.7500005 -49.5833335 -22.4166665 -22.2499995 667 0 2670 --49.5833335 -49.4166665 -22.4166665 -22.2499995 554 0 2670 --49.4166665 -49.2499995 -22.4166665 -22.2499995 516 0 2670 --49.2500005 -49.0833335 -22.4166665 -22.2499995 517 0 2670 --49.0833335 -48.9166665 -22.4166665 -22.2499995 579 0 2670 --48.9166665 -48.7499995 -22.4166665 -22.2499995 558 0 2670 --48.7500005 -48.5833335 -22.4166665 -22.2499995 471 0 2670 --48.5833335 -48.4166665 -22.4166665 -22.2499995 559 0 2670 --48.4166665 -48.2499995 -22.4166665 -22.2499995 728 0 2670 --48.2500005 -48.0833335 -22.4166665 -22.2499995 567 0 2670 --48.0833335 -47.9166665 -22.4166665 -22.2499995 685 0 2670 --47.9166665 -47.7499995 -22.4166665 -22.2499995 721 0 2670 --47.7500005 -47.5833335 -22.4166665 -22.2499995 604 0 2670 --47.5833335 -47.4166665 -22.4166665 -22.2499995 622 0 2670 --47.4166665 -47.2499995 -22.4166665 -22.2499995 627 0 2670 --47.2500005 -47.0833335 -22.4166665 -22.2499995 602 0 2670 --47.0833335 -46.9166665 -22.4166665 -22.2499995 596 0 2670 --46.9166665 -46.7499995 -22.4166665 -22.2499995 635 0 2670 --46.7500005 -46.5833335 -22.4166665 -22.2499995 798 0 2670 --46.5833335 -46.4166665 -22.4166665 -22.2499995 1003 0 2670 --46.4166665 -46.2499995 -22.4166665 -22.2499995 941 0 2670 --46.2500005 -46.0833335 -22.4166665 -22.2499995 1030 0 2670 --46.0833335 -45.9166665 -22.4166665 -22.2499995 871 0 2670 --45.9166665 -45.7499995 -22.4166665 -22.2499995 854 0 2670 --45.7500005 -45.5833335 -22.4166665 -22.2499995 862 0 2670 --45.5833335 -45.4166665 -22.4166665 -22.2499995 881 0 2670 --45.4166665 -45.2499995 -22.4166665 -22.2499995 1180 0 2670 --45.2500005 -45.0833335 -22.4166665 -22.2499995 1574 0 2670 --45.0833335 -44.9166665 -22.4166665 -22.2499995 1063 0 2670 --44.9166665 -44.7499995 -22.4166665 -22.2499995 1078 0 2670 --44.7500005 -44.5833335 -22.4166665 -22.2499995 2252 0 2670 --44.5833335 -44.4166665 -22.4166665 -22.2499995 1095 0 2670 --44.4166665 -44.2499995 -22.4166665 -22.2499995 673 0 2670 --44.2500005 -44.0833335 -22.4166665 -22.2499995 652 0 2670 --44.0833335 -43.9166665 -22.4166665 -22.2499995 598 0 2670 --43.9166665 -43.7499995 -22.4166665 -22.2499995 686 0 2670 --43.7500005 -43.5833335 -22.4166665 -22.2499995 369 0 2670 --43.5833335 -43.4166665 -22.4166665 -22.2499995 582 0 2670 --43.4166665 -43.2499995 -22.4166665 -22.2499995 715 0 2670 --43.2500005 -43.0833335 -22.4166665 -22.2499995 680 0 2670 --43.0833335 -42.9166665 -22.4166665 -22.2499995 1039 0 2670 --42.9166665 -42.7499995 -22.4166665 -22.2499995 1046 0 2670 --42.7500005 -42.5833335 -22.4166665 -22.2499995 1101 0 2670 --42.5833335 -42.4166665 -22.4166665 -22.2499995 1135 0 2670 --42.4166665 -42.2499995 -22.4166665 -22.2499995 818 0 2670 --42.2500005 -42.0833335 -22.4166665 -22.2499995 642 0 2670 --42.0833335 -41.9166665 -22.4166665 -22.2499995 36 0 2670 --41.9166665 -41.7499995 -22.4166665 -22.2499995 26 0 2670 --41.7500005 -41.5833335 -22.4166665 -22.2499995 0 -4 -1670 --41.5833335 -41.4166665 -22.4166665 -22.2499995 0 -19 -1670 --41.4166665 -41.2499995 -22.4166665 -22.2499995 0 -23 -1670 --41.2500005 -41.0833335 -22.4166665 -22.2499995 0 -34 -1670 --41.0833335 -40.9166665 -22.4166665 -22.2499995 0 -48 -1670 --40.9166665 -40.7499995 -22.4166665 -22.2499995 0 -59 -1670 --40.7500005 -40.5833335 -22.4166665 -22.2499995 0 -64 -1670 --40.5833335 -40.4166665 -22.4166665 -22.2499995 0 -109 -1670 --40.4166665 -40.2499995 -22.4166665 -22.2499995 0 -126 -1670 --40.2500005 -40.0833335 -22.4166665 -22.2499995 0 -443 -1670 --40.0833335 -39.9166665 -22.4166665 -22.2499995 0 -877 -1670 --65.0833335 -64.9166665 -22.5833335 -22.4166665 2806 0 2670 --64.9166665 -64.7499995 -22.5833335 -22.4166665 1843 0 2670 --64.7500005 -64.5833335 -22.5833335 -22.4166665 1036 0 2670 --64.5833335 -64.4166665 -22.5833335 -22.4166665 946 0 2670 --64.4166665 -64.2499995 -22.5833335 -22.4166665 778 0 2670 --64.2500005 -64.0833335 -22.5833335 -22.4166665 489 0 2670 --64.0833335 -63.9166665 -22.5833335 -22.4166665 577 0 2670 --63.9166665 -63.7499995 -22.5833335 -22.4166665 659 0 2670 --63.7500005 -63.5833335 -22.5833335 -22.4166665 400 0 2670 --63.5833335 -63.4166665 -22.5833335 -22.4166665 359 0 2670 --63.4166665 -63.2499995 -22.5833335 -22.4166665 330 0 2670 --63.2500005 -63.0833335 -22.5833335 -22.4166665 304 0 2670 --63.0833335 -62.9166665 -22.5833335 -22.4166665 275 0 2670 --62.9166665 -62.7499995 -22.5833335 -22.4166665 257 0 2670 --62.7500005 -62.5833335 -22.5833335 -22.4166665 253 0 2670 --62.5833335 -62.4166665 -22.5833335 -22.4166665 247 0 2670 --62.4166665 -62.2499995 -22.5833335 -22.4166665 243 0 2670 --62.2500005 -62.0833335 -22.5833335 -22.4166665 234 0 2670 --62.0833335 -61.9166665 -22.5833335 -22.4166665 226 0 2670 --61.9166665 -61.7499995 -22.5833335 -22.4166665 220 0 2670 --61.7500005 -61.5833335 -22.5833335 -22.4166665 211 0 2670 --61.5833335 -61.4166665 -22.5833335 -22.4166665 204 0 2670 --61.4166665 -61.2499995 -22.5833335 -22.4166665 195 0 2670 --61.2500005 -61.0833335 -22.5833335 -22.4166665 188 0 2670 --61.0833335 -60.9166665 -22.5833335 -22.4166665 180 0 2670 --60.9166665 -60.7499995 -22.5833335 -22.4166665 170 0 2670 --60.7500005 -60.5833335 -22.5833335 -22.4166665 163 0 2670 --60.5833335 -60.4166665 -22.5833335 -22.4166665 155 0 2670 --60.4166665 -60.2499995 -22.5833335 -22.4166665 148 0 2670 --60.2500005 -60.0833335 -22.5833335 -22.4166665 141 0 2670 --60.0833335 -59.9166665 -22.5833335 -22.4166665 133 0 2670 --59.9166665 -59.7499995 -22.5833335 -22.4166665 125 0 2670 --59.7500005 -59.5833335 -22.5833335 -22.4166665 122 0 2670 --59.5833335 -59.4166665 -22.5833335 -22.4166665 116 0 2670 --59.4166665 -59.2499995 -22.5833335 -22.4166665 116 0 2670 --59.2500005 -59.0833335 -22.5833335 -22.4166665 109 0 2670 --59.0833335 -58.9166665 -22.5833335 -22.4166665 107 0 2670 --58.9166665 -58.7499995 -22.5833335 -22.4166665 103 0 2670 --58.7500005 -58.5833335 -22.5833335 -22.4166665 97 0 2670 --58.5833335 -58.4166665 -22.5833335 -22.4166665 94 0 2670 --58.4166665 -58.2499995 -22.5833335 -22.4166665 92 0 2670 --58.2500005 -58.0833335 -22.5833335 -22.4166665 87 0 2670 --58.0833335 -57.9166665 -22.5833335 -22.4166665 84 0 2670 --57.9166665 -57.7499995 -22.5833335 -22.4166665 79 0 2670 --57.7500005 -57.5833335 -22.5833335 -22.4166665 103 0 2670 --57.5833335 -57.4166665 -22.5833335 -22.4166665 183 0 2670 --57.4166665 -57.2499995 -22.5833335 -22.4166665 196 0 2670 --57.2500005 -57.0833335 -22.5833335 -22.4166665 234 0 2670 --57.0833335 -56.9166665 -22.5833335 -22.4166665 239 0 2670 --56.9166665 -56.7499995 -22.5833335 -22.4166665 191 0 2670 --56.7500005 -56.5833335 -22.5833335 -22.4166665 180 0 2670 --56.5833335 -56.4166665 -22.5833335 -22.4166665 207 0 2670 --56.4166665 -56.2499995 -22.5833335 -22.4166665 387 0 2670 --56.2500005 -56.0833335 -22.5833335 -22.4166665 314 0 2670 --56.0833335 -55.9166665 -22.5833335 -22.4166665 385 0 2670 --55.9166665 -55.7499995 -22.5833335 -22.4166665 422 0 2670 --55.7500005 -55.5833335 -22.5833335 -22.4166665 607 0 2670 --55.5833335 -55.4166665 -22.5833335 -22.4166665 557 0 2670 --55.4166665 -55.2499995 -22.5833335 -22.4166665 486 0 2670 --55.2500005 -55.0833335 -22.5833335 -22.4166665 451 0 2670 --55.0833335 -54.9166665 -22.5833335 -22.4166665 397 0 2670 --54.9166665 -54.7499995 -22.5833335 -22.4166665 395 0 2670 --54.7500005 -54.5833335 -22.5833335 -22.4166665 353 0 2670 --54.5833335 -54.4166665 -22.5833335 -22.4166665 412 0 2670 --54.4166665 -54.2499995 -22.5833335 -22.4166665 430 0 2670 --54.2500005 -54.0833335 -22.5833335 -22.4166665 382 0 2670 --54.0833335 -53.9166665 -22.5833335 -22.4166665 355 0 2670 --53.9166665 -53.7499995 -22.5833335 -22.4166665 344 0 2670 --53.7500005 -53.5833335 -22.5833335 -22.4166665 312 0 2670 --53.5833335 -53.4166665 -22.5833335 -22.4166665 248 0 2670 --53.4166665 -53.2499995 -22.5833335 -22.4166665 267 0 2670 --53.2500005 -53.0833335 -22.5833335 -22.4166665 250 0 2670 --53.0833335 -52.9166665 -22.5833335 -22.4166665 240 0 2670 --52.9166665 -52.7499995 -22.5833335 -22.4166665 325 0 2670 --52.7500005 -52.5833335 -22.5833335 -22.4166665 390 0 2670 --52.5833335 -52.4166665 -22.5833335 -22.4166665 396 0 2670 --52.4166665 -52.2499995 -22.5833335 -22.4166665 354 0 2670 --52.2500005 -52.0833335 -22.5833335 -22.4166665 285 0 2670 --52.0833335 -51.9166665 -22.5833335 -22.4166665 289 0 2670 --51.9166665 -51.7499995 -22.5833335 -22.4166665 382 0 2670 --51.7500005 -51.5833335 -22.5833335 -22.4166665 367 0 2670 --51.5833335 -51.4166665 -22.5833335 -22.4166665 394 0 2670 --51.4166665 -51.2499995 -22.5833335 -22.4166665 457 0 2670 --51.2500005 -51.0833335 -22.5833335 -22.4166665 425 0 2670 --51.0833335 -50.9166665 -22.5833335 -22.4166665 443 0 2670 --50.9166665 -50.7499995 -22.5833335 -22.4166665 465 0 2670 --50.7500005 -50.5833335 -22.5833335 -22.4166665 506 0 2670 --50.5833335 -50.4166665 -22.5833335 -22.4166665 450 0 2670 --50.4166665 -50.2499995 -22.5833335 -22.4166665 499 0 2670 --50.2500005 -50.0833335 -22.5833335 -22.4166665 535 0 2670 --50.0833335 -49.9166665 -22.5833335 -22.4166665 515 0 2670 --49.9166665 -49.7499995 -22.5833335 -22.4166665 516 0 2670 --49.7500005 -49.5833335 -22.5833335 -22.4166665 501 0 2670 --49.5833335 -49.4166665 -22.5833335 -22.4166665 528 0 2670 --49.4166665 -49.2499995 -22.5833335 -22.4166665 559 0 2670 --49.2500005 -49.0833335 -22.5833335 -22.4166665 595 0 2670 --49.0833335 -48.9166665 -22.5833335 -22.4166665 613 0 2670 --48.9166665 -48.7499995 -22.5833335 -22.4166665 562 0 2670 --48.7500005 -48.5833335 -22.5833335 -22.4166665 544 0 2670 --48.5833335 -48.4166665 -22.5833335 -22.4166665 508 0 2670 --48.4166665 -48.2499995 -22.5833335 -22.4166665 544 0 2670 --48.2500005 -48.0833335 -22.5833335 -22.4166665 614 0 2670 --48.0833335 -47.9166665 -22.5833335 -22.4166665 882 0 2670 --47.9166665 -47.7499995 -22.5833335 -22.4166665 514 0 2670 --47.7500005 -47.5833335 -22.5833335 -22.4166665 534 0 2670 --47.5833335 -47.4166665 -22.5833335 -22.4166665 691 0 2670 --47.4166665 -47.2499995 -22.5833335 -22.4166665 657 0 2670 --47.2500005 -47.0833335 -22.5833335 -22.4166665 668 0 2670 --47.0833335 -46.9166665 -22.5833335 -22.4166665 648 0 2670 --46.9166665 -46.7499995 -22.5833335 -22.4166665 681 0 2670 --46.7500005 -46.5833335 -22.5833335 -22.4166665 740 0 2670 --46.5833335 -46.4166665 -22.5833335 -22.4166665 798 0 2670 --46.4166665 -46.2499995 -22.5833335 -22.4166665 1327 0 2670 --46.2500005 -46.0833335 -22.5833335 -22.4166665 1407 0 2670 --46.0833335 -45.9166665 -22.5833335 -22.4166665 884 0 2670 --45.9166665 -45.7499995 -22.5833335 -22.4166665 926 0 2670 --45.7500005 -45.5833335 -22.5833335 -22.4166665 1097 0 2670 --45.5833335 -45.4166665 -22.5833335 -22.4166665 897 0 2670 --45.4166665 -45.2499995 -22.5833335 -22.4166665 1251 0 2670 --45.2500005 -45.0833335 -22.5833335 -22.4166665 1733 0 2670 --45.0833335 -44.9166665 -22.5833335 -22.4166665 963 0 2670 --44.9166665 -44.7499995 -22.5833335 -22.4166665 814 0 2670 --44.7500005 -44.5833335 -22.5833335 -22.4166665 487 0 2670 --44.5833335 -44.4166665 -22.5833335 -22.4166665 445 0 2670 --44.4166665 -44.2499995 -22.5833335 -22.4166665 629 0 2670 --44.2500005 -44.0833335 -22.5833335 -22.4166665 500 0 2670 --44.0833335 -43.9166665 -22.5833335 -22.4166665 386 0 2670 --43.9166665 -43.7499995 -22.5833335 -22.4166665 466 0 2670 --43.7500005 -43.5833335 -22.5833335 -22.4166665 519 0 2670 --43.5833335 -43.4166665 -22.5833335 -22.4166665 378 0 2670 --43.4166665 -43.2499995 -22.5833335 -22.4166665 1034 0 2670 --43.2500005 -43.0833335 -22.5833335 -22.4166665 907 0 2670 --43.0833335 -42.9166665 -22.5833335 -22.4166665 401 0 2670 --42.9166665 -42.7499995 -22.5833335 -22.4166665 33 0 2670 --42.7500005 -42.5833335 -22.5833335 -22.4166665 65 0 2670 --42.5833335 -42.4166665 -22.5833335 -22.4166665 147 0 2670 --42.4166665 -42.2499995 -22.5833335 -22.4166665 154 0 2670 --42.2500005 -42.0833335 -22.5833335 -22.4166665 26 0 2670 --42.0833335 -41.9166665 -22.5833335 -22.4166665 18 0 2670 --41.9166665 -41.7499995 -22.5833335 -22.4166665 0 -17 -1670 --41.7500005 -41.5833335 -22.5833335 -22.4166665 0 -32 -1670 --41.5833335 -41.4166665 -22.5833335 -22.4166665 0 -37 -1670 --41.4166665 -41.2499995 -22.5833335 -22.4166665 0 -43 -1670 --41.2500005 -41.0833335 -22.5833335 -22.4166665 0 -55 -1670 --41.0833335 -40.9166665 -22.5833335 -22.4166665 0 -50 -1670 --40.9166665 -40.7499995 -22.5833335 -22.4166665 0 -65 -1670 --40.7500005 -40.5833335 -22.5833335 -22.4166665 0 -96 -1670 --40.5833335 -40.4166665 -22.5833335 -22.4166665 0 -277 -1670 --40.4166665 -40.2499995 -22.5833335 -22.4166665 0 -712 -1670 --40.2500005 -40.0833335 -22.5833335 -22.4166665 0 -896 -1670 --40.0833335 -39.9166665 -22.5833335 -22.4166665 0 -1179 -1670 --65.0833335 -64.9166665 -22.7500005 -22.5833335 2700 0 2670 --64.9166665 -64.7499995 -22.7500005 -22.5833335 1502 0 2670 --64.7500005 -64.5833335 -22.7500005 -22.5833335 832 0 2670 --64.5833335 -64.4166665 -22.7500005 -22.5833335 717 0 2670 --64.4166665 -64.2499995 -22.7500005 -22.5833335 596 0 2670 --64.2500005 -64.0833335 -22.7500005 -22.5833335 554 0 2670 --64.0833335 -63.9166665 -22.7500005 -22.5833335 499 0 2670 --63.9166665 -63.7499995 -22.7500005 -22.5833335 455 0 2670 --63.7500005 -63.5833335 -22.7500005 -22.5833335 356 0 2670 --63.5833335 -63.4166665 -22.7500005 -22.5833335 309 0 2670 --63.4166665 -63.2499995 -22.7500005 -22.5833335 297 0 2670 --63.2500005 -63.0833335 -22.7500005 -22.5833335 277 0 2670 --63.0833335 -62.9166665 -22.7500005 -22.5833335 259 0 2670 --62.9166665 -62.7499995 -22.7500005 -22.5833335 245 0 2670 --62.7500005 -62.5833335 -22.7500005 -22.5833335 239 0 2670 --62.5833335 -62.4166665 -22.7500005 -22.5833335 238 0 2670 --62.4166665 -62.2499995 -22.7500005 -22.5833335 233 0 2670 --62.2500005 -62.0833335 -22.7500005 -22.5833335 229 0 2670 --62.0833335 -61.9166665 -22.7500005 -22.5833335 221 0 2670 --61.9166665 -61.7499995 -22.7500005 -22.5833335 214 0 2670 --61.7500005 -61.5833335 -22.7500005 -22.5833335 206 0 2670 --61.5833335 -61.4166665 -22.7500005 -22.5833335 201 0 2670 --61.4166665 -61.2499995 -22.7500005 -22.5833335 193 0 2670 --61.2500005 -61.0833335 -22.7500005 -22.5833335 185 0 2670 --61.0833335 -60.9166665 -22.7500005 -22.5833335 176 0 2670 --60.9166665 -60.7499995 -22.7500005 -22.5833335 168 0 2670 --60.7500005 -60.5833335 -22.7500005 -22.5833335 160 0 2670 --60.5833335 -60.4166665 -22.7500005 -22.5833335 156 0 2670 --60.4166665 -60.2499995 -22.7500005 -22.5833335 148 0 2670 --60.2500005 -60.0833335 -22.7500005 -22.5833335 139 0 2670 --60.0833335 -59.9166665 -22.7500005 -22.5833335 132 0 2670 --59.9166665 -59.7499995 -22.7500005 -22.5833335 127 0 2670 --59.7500005 -59.5833335 -22.7500005 -22.5833335 121 0 2670 --59.5833335 -59.4166665 -22.7500005 -22.5833335 117 0 2670 --59.4166665 -59.2499995 -22.7500005 -22.5833335 114 0 2670 --59.2500005 -59.0833335 -22.7500005 -22.5833335 110 0 2670 --59.0833335 -58.9166665 -22.7500005 -22.5833335 106 0 2670 --58.9166665 -58.7499995 -22.7500005 -22.5833335 102 0 2670 --58.7500005 -58.5833335 -22.7500005 -22.5833335 100 0 2670 --58.5833335 -58.4166665 -22.7500005 -22.5833335 96 0 2670 --58.4166665 -58.2499995 -22.7500005 -22.5833335 91 0 2670 --58.2500005 -58.0833335 -22.7500005 -22.5833335 89 0 2670 --58.0833335 -57.9166665 -22.7500005 -22.5833335 78 0 2670 --57.9166665 -57.7499995 -22.7500005 -22.5833335 72 0 2670 --57.7500005 -57.5833335 -22.7500005 -22.5833335 127 0 2670 --57.5833335 -57.4166665 -22.7500005 -22.5833335 180 0 2670 --57.4166665 -57.2499995 -22.7500005 -22.5833335 215 0 2670 --57.2500005 -57.0833335 -22.7500005 -22.5833335 238 0 2670 --57.0833335 -56.9166665 -22.7500005 -22.5833335 175 0 2670 --56.9166665 -56.7499995 -22.7500005 -22.5833335 148 0 2670 --56.7500005 -56.5833335 -22.7500005 -22.5833335 167 0 2670 --56.5833335 -56.4166665 -22.7500005 -22.5833335 217 0 2670 --56.4166665 -56.2499995 -22.7500005 -22.5833335 218 0 2670 --56.2500005 -56.0833335 -22.7500005 -22.5833335 235 0 2670 --56.0833335 -55.9166665 -22.7500005 -22.5833335 293 0 2670 --55.9166665 -55.7499995 -22.7500005 -22.5833335 549 0 2670 --55.7500005 -55.5833335 -22.7500005 -22.5833335 524 0 2670 --55.5833335 -55.4166665 -22.7500005 -22.5833335 572 0 2670 --55.4166665 -55.2499995 -22.7500005 -22.5833335 495 0 2670 --55.2500005 -55.0833335 -22.7500005 -22.5833335 522 0 2670 --55.0833335 -54.9166665 -22.7500005 -22.5833335 422 0 2670 --54.9166665 -54.7499995 -22.7500005 -22.5833335 422 0 2670 --54.7500005 -54.5833335 -22.7500005 -22.5833335 425 0 2670 --54.5833335 -54.4166665 -22.7500005 -22.5833335 434 0 2670 --54.4166665 -54.2499995 -22.7500005 -22.5833335 434 0 2670 --54.2500005 -54.0833335 -22.7500005 -22.5833335 393 0 2670 --54.0833335 -53.9166665 -22.7500005 -22.5833335 358 0 2670 --53.9166665 -53.7499995 -22.7500005 -22.5833335 347 0 2670 --53.7500005 -53.5833335 -22.7500005 -22.5833335 261 0 2670 --53.5833335 -53.4166665 -22.7500005 -22.5833335 248 0 2670 --53.4166665 -53.2499995 -22.7500005 -22.5833335 243 0 2670 --53.2500005 -53.0833335 -22.7500005 -22.5833335 238 0 2670 --53.0833335 -52.9166665 -22.7500005 -22.5833335 331 0 2670 --52.9166665 -52.7499995 -22.7500005 -22.5833335 375 0 2670 --52.7500005 -52.5833335 -22.7500005 -22.5833335 325 0 2670 --52.5833335 -52.4166665 -22.7500005 -22.5833335 360 0 2670 --52.4166665 -52.2499995 -22.7500005 -22.5833335 301 0 2670 --52.2500005 -52.0833335 -22.7500005 -22.5833335 277 0 2670 --52.0833335 -51.9166665 -22.7500005 -22.5833335 325 0 2670 --51.9166665 -51.7499995 -22.7500005 -22.5833335 334 0 2670 --51.7500005 -51.5833335 -22.7500005 -22.5833335 298 0 2670 --51.5833335 -51.4166665 -22.7500005 -22.5833335 324 0 2670 --51.4166665 -51.2499995 -22.7500005 -22.5833335 325 0 2670 --51.2500005 -51.0833335 -22.7500005 -22.5833335 334 0 2670 --51.0833335 -50.9166665 -22.7500005 -22.5833335 386 0 2670 --50.9166665 -50.7499995 -22.7500005 -22.5833335 372 0 2670 --50.7500005 -50.5833335 -22.7500005 -22.5833335 495 0 2670 --50.5833335 -50.4166665 -22.7500005 -22.5833335 506 0 2670 --50.4166665 -50.2499995 -22.7500005 -22.5833335 498 0 2670 --50.2500005 -50.0833335 -22.7500005 -22.5833335 528 0 2670 --50.0833335 -49.9166665 -22.7500005 -22.5833335 494 0 2670 --49.9166665 -49.7499995 -22.7500005 -22.5833335 555 0 2670 --49.7500005 -49.5833335 -22.7500005 -22.5833335 552 0 2670 --49.5833335 -49.4166665 -22.7500005 -22.5833335 566 0 2670 --49.4166665 -49.2499995 -22.7500005 -22.5833335 527 0 2670 --49.2500005 -49.0833335 -22.7500005 -22.5833335 648 0 2670 --49.0833335 -48.9166665 -22.7500005 -22.5833335 646 0 2670 --48.9166665 -48.7499995 -22.7500005 -22.5833335 624 0 2670 --48.7500005 -48.5833335 -22.7500005 -22.5833335 640 0 2670 --48.5833335 -48.4166665 -22.7500005 -22.5833335 569 0 2670 --48.4166665 -48.2499995 -22.7500005 -22.5833335 458 0 2670 --48.2500005 -48.0833335 -22.7500005 -22.5833335 542 0 2670 --48.0833335 -47.9166665 -22.7500005 -22.5833335 454 0 2670 --47.9166665 -47.7499995 -22.7500005 -22.5833335 472 0 2670 --47.7500005 -47.5833335 -22.7500005 -22.5833335 492 0 2670 --47.5833335 -47.4166665 -22.7500005 -22.5833335 539 0 2670 --47.4166665 -47.2499995 -22.7500005 -22.5833335 583 0 2670 --47.2500005 -47.0833335 -22.7500005 -22.5833335 580 0 2670 --47.0833335 -46.9166665 -22.7500005 -22.5833335 582 0 2670 --46.9166665 -46.7499995 -22.7500005 -22.5833335 688 0 2670 --46.7500005 -46.5833335 -22.7500005 -22.5833335 907 0 2670 --46.5833335 -46.4166665 -22.7500005 -22.5833335 1061 0 2670 --46.4166665 -46.2499995 -22.7500005 -22.5833335 1396 0 2670 --46.2500005 -46.0833335 -22.7500005 -22.5833335 1132 0 2670 --46.0833335 -45.9166665 -22.7500005 -22.5833335 1252 0 2670 --45.9166665 -45.7499995 -22.7500005 -22.5833335 1342 0 2670 --45.7500005 -45.5833335 -22.7500005 -22.5833335 1195 0 2670 --45.5833335 -45.4166665 -22.7500005 -22.5833335 1493 0 2670 --45.4166665 -45.2499995 -22.7500005 -22.5833335 1128 0 2670 --45.2500005 -45.0833335 -22.7500005 -22.5833335 592 0 2670 --45.0833335 -44.9166665 -22.7500005 -22.5833335 552 0 2670 --44.9166665 -44.7499995 -22.7500005 -22.5833335 668 0 2670 --44.7500005 -44.5833335 -22.7500005 -22.5833335 607 0 2670 --44.5833335 -44.4166665 -22.7500005 -22.5833335 856 0 2670 --44.4166665 -44.2499995 -22.7500005 -22.5833335 532 0 2670 --44.2500005 -44.0833335 -22.7500005 -22.5833335 547 0 2670 --44.0833335 -43.9166665 -22.7500005 -22.5833335 475 0 2670 --43.9166665 -43.7499995 -22.7500005 -22.5833335 316 0 2670 --43.7500005 -43.5833335 -22.7500005 -22.5833335 66 0 2670 --43.5833335 -43.4166665 -22.7500005 -22.5833335 71 0 2670 --43.4166665 -43.2499995 -22.7500005 -22.5833335 15 0 2670 --43.2500005 -43.0833335 -22.7500005 -22.5833335 32 0 2670 --43.0833335 -42.9166665 -22.7500005 -22.5833335 5 0 2670 --42.9166665 -42.7499995 -22.7500005 -22.5833335 17 0 2670 --42.7500005 -42.5833335 -22.7500005 -22.5833335 181 0 2670 --42.5833335 -42.4166665 -22.7500005 -22.5833335 60 0 2670 --42.4166665 -42.2499995 -22.7500005 -22.5833335 28 0 2670 --42.2500005 -42.0833335 -22.7500005 -22.5833335 23 0 2670 --42.0833335 -41.9166665 -22.7500005 -22.5833335 5 0 2670 --41.9166665 -41.7499995 -22.7500005 -22.5833335 0 -24 -1670 --41.7500005 -41.5833335 -22.7500005 -22.5833335 0 -47 -1670 --41.5833335 -41.4166665 -22.7500005 -22.5833335 0 -51 -1670 --41.4166665 -41.2499995 -22.7500005 -22.5833335 0 -54 -1670 --41.2500005 -41.0833335 -22.7500005 -22.5833335 0 -60 -1670 --41.0833335 -40.9166665 -22.7500005 -22.5833335 0 -64 -1670 --40.9166665 -40.7499995 -22.7500005 -22.5833335 0 -77 -1670 --40.7500005 -40.5833335 -22.7500005 -22.5833335 0 -131 -1670 --40.5833335 -40.4166665 -22.7500005 -22.5833335 0 -778 -1670 --40.4166665 -40.2499995 -22.7500005 -22.5833335 0 -945 -1670 --40.2500005 -40.0833335 -22.7500005 -22.5833335 0 -1210 -1670 --40.0833335 -39.9166665 -22.7500005 -22.5833335 0 -1910 -1670 --65.0833335 -64.9166665 -22.9166665 -22.7499995 1771 0 2670 --64.9166665 -64.7499995 -22.9166665 -22.7499995 1471 0 2670 --64.7500005 -64.5833335 -22.9166665 -22.7499995 928 0 2670 --64.5833335 -64.4166665 -22.9166665 -22.7499995 669 0 2670 --64.4166665 -64.2499995 -22.9166665 -22.7499995 363 0 2670 --64.2500005 -64.0833335 -22.9166665 -22.7499995 788 0 2670 --64.0833335 -63.9166665 -22.9166665 -22.7499995 426 0 2670 --63.9166665 -63.7499995 -22.9166665 -22.7499995 369 0 2670 --63.7500005 -63.5833335 -22.9166665 -22.7499995 303 0 2670 --63.5833335 -63.4166665 -22.9166665 -22.7499995 270 0 2670 --63.4166665 -63.2499995 -22.9166665 -22.7499995 262 0 2670 --63.2500005 -63.0833335 -22.9166665 -22.7499995 252 0 2670 --63.0833335 -62.9166665 -22.9166665 -22.7499995 237 0 2670 --62.9166665 -62.7499995 -22.9166665 -22.7499995 237 0 2670 --62.7500005 -62.5833335 -22.9166665 -22.7499995 232 0 2670 --62.5833335 -62.4166665 -22.9166665 -22.7499995 227 0 2670 --62.4166665 -62.2499995 -22.9166665 -22.7499995 229 0 2670 --62.2500005 -62.0833335 -22.9166665 -22.7499995 222 0 2670 --62.0833335 -61.9166665 -22.9166665 -22.7499995 218 0 2670 --61.9166665 -61.7499995 -22.9166665 -22.7499995 207 0 2670 --61.7500005 -61.5833335 -22.9166665 -22.7499995 201 0 2670 --61.5833335 -61.4166665 -22.9166665 -22.7499995 196 0 2670 --61.4166665 -61.2499995 -22.9166665 -22.7499995 186 0 2670 --61.2500005 -61.0833335 -22.9166665 -22.7499995 182 0 2670 --61.0833335 -60.9166665 -22.9166665 -22.7499995 175 0 2670 --60.9166665 -60.7499995 -22.9166665 -22.7499995 166 0 2670 --60.7500005 -60.5833335 -22.9166665 -22.7499995 160 0 2670 --60.5833335 -60.4166665 -22.9166665 -22.7499995 155 0 2670 --60.4166665 -60.2499995 -22.9166665 -22.7499995 147 0 2670 --60.2500005 -60.0833335 -22.9166665 -22.7499995 142 0 2670 --60.0833335 -59.9166665 -22.9166665 -22.7499995 132 0 2670 --59.9166665 -59.7499995 -22.9166665 -22.7499995 126 0 2670 --59.7500005 -59.5833335 -22.9166665 -22.7499995 122 0 2670 --59.5833335 -59.4166665 -22.9166665 -22.7499995 118 0 2670 --59.4166665 -59.2499995 -22.9166665 -22.7499995 112 0 2670 --59.2500005 -59.0833335 -22.9166665 -22.7499995 107 0 2670 --59.0833335 -58.9166665 -22.9166665 -22.7499995 104 0 2670 --58.9166665 -58.7499995 -22.9166665 -22.7499995 102 0 2670 --58.7500005 -58.5833335 -22.9166665 -22.7499995 102 0 2670 --58.5833335 -58.4166665 -22.9166665 -22.7499995 99 0 2670 --58.4166665 -58.2499995 -22.9166665 -22.7499995 90 0 2670 --58.2500005 -58.0833335 -22.9166665 -22.7499995 87 0 2670 --58.0833335 -57.9166665 -22.9166665 -22.7499995 82 0 2670 --57.9166665 -57.7499995 -22.9166665 -22.7499995 70 0 2670 --57.7500005 -57.5833335 -22.9166665 -22.7499995 91 0 2670 --57.5833335 -57.4166665 -22.9166665 -22.7499995 113 0 2670 --57.4166665 -57.2499995 -22.9166665 -22.7499995 124 0 2670 --57.2500005 -57.0833335 -22.9166665 -22.7499995 137 0 2670 --57.0833335 -56.9166665 -22.9166665 -22.7499995 129 0 2670 --56.9166665 -56.7499995 -22.9166665 -22.7499995 132 0 2670 --56.7500005 -56.5833335 -22.9166665 -22.7499995 135 0 2670 --56.5833335 -56.4166665 -22.9166665 -22.7499995 164 0 2670 --56.4166665 -56.2499995 -22.9166665 -22.7499995 234 0 2670 --56.2500005 -56.0833335 -22.9166665 -22.7499995 468 0 2670 --56.0833335 -55.9166665 -22.9166665 -22.7499995 313 0 2670 --55.9166665 -55.7499995 -22.9166665 -22.7499995 396 0 2670 --55.7500005 -55.5833335 -22.9166665 -22.7499995 596 0 2670 --55.5833335 -55.4166665 -22.9166665 -22.7499995 496 0 2670 --55.4166665 -55.2499995 -22.9166665 -22.7499995 470 0 2670 --55.2500005 -55.0833335 -22.9166665 -22.7499995 415 0 2670 --55.0833335 -54.9166665 -22.9166665 -22.7499995 402 0 2670 --54.9166665 -54.7499995 -22.9166665 -22.7499995 321 0 2670 --54.7500005 -54.5833335 -22.9166665 -22.7499995 369 0 2670 --54.5833335 -54.4166665 -22.9166665 -22.7499995 361 0 2670 --54.4166665 -54.2499995 -22.9166665 -22.7499995 363 0 2670 --54.2500005 -54.0833335 -22.9166665 -22.7499995 381 0 2670 --54.0833335 -53.9166665 -22.9166665 -22.7499995 308 0 2670 --53.9166665 -53.7499995 -22.9166665 -22.7499995 354 0 2670 --53.7500005 -53.5833335 -22.9166665 -22.7499995 241 0 2670 --53.5833335 -53.4166665 -22.9166665 -22.7499995 238 0 2670 --53.4166665 -53.2499995 -22.9166665 -22.7499995 288 0 2670 --53.2500005 -53.0833335 -22.9166665 -22.7499995 384 0 2670 --53.0833335 -52.9166665 -22.9166665 -22.7499995 346 0 2670 --52.9166665 -52.7499995 -22.9166665 -22.7499995 407 0 2670 --52.7500005 -52.5833335 -22.9166665 -22.7499995 471 0 2670 --52.5833335 -52.4166665 -22.9166665 -22.7499995 437 0 2670 --52.4166665 -52.2499995 -22.9166665 -22.7499995 394 0 2670 --52.2500005 -52.0833335 -22.9166665 -22.7499995 427 0 2670 --52.0833335 -51.9166665 -22.9166665 -22.7499995 394 0 2670 --51.9166665 -51.7499995 -22.9166665 -22.7499995 385 0 2670 --51.7500005 -51.5833335 -22.9166665 -22.7499995 454 0 2670 --51.5833335 -51.4166665 -22.9166665 -22.7499995 435 0 2670 --51.4166665 -51.2499995 -22.9166665 -22.7499995 330 0 2670 --51.2500005 -51.0833335 -22.9166665 -22.7499995 333 0 2670 --51.0833335 -50.9166665 -22.9166665 -22.7499995 333 0 2670 --50.9166665 -50.7499995 -22.9166665 -22.7499995 334 0 2670 --50.7500005 -50.5833335 -22.9166665 -22.7499995 411 0 2670 --50.5833335 -50.4166665 -22.9166665 -22.7499995 429 0 2670 --50.4166665 -50.2499995 -22.9166665 -22.7499995 444 0 2670 --50.2500005 -50.0833335 -22.9166665 -22.7499995 467 0 2670 --50.0833335 -49.9166665 -22.9166665 -22.7499995 428 0 2670 --49.9166665 -49.7499995 -22.9166665 -22.7499995 466 0 2670 --49.7500005 -49.5833335 -22.9166665 -22.7499995 587 0 2670 --49.5833335 -49.4166665 -22.9166665 -22.7499995 611 0 2670 --49.4166665 -49.2499995 -22.9166665 -22.7499995 643 0 2670 --49.2500005 -49.0833335 -22.9166665 -22.7499995 627 0 2670 --49.0833335 -48.9166665 -22.9166665 -22.7499995 680 0 2670 --48.9166665 -48.7499995 -22.9166665 -22.7499995 737 0 2670 --48.7500005 -48.5833335 -22.9166665 -22.7499995 718 0 2670 --48.5833335 -48.4166665 -22.9166665 -22.7499995 779 0 2670 --48.4166665 -48.2499995 -22.9166665 -22.7499995 588 0 2670 --48.2500005 -48.0833335 -22.9166665 -22.7499995 504 0 2670 --48.0833335 -47.9166665 -22.9166665 -22.7499995 486 0 2670 --47.9166665 -47.7499995 -22.9166665 -22.7499995 531 0 2670 --47.7500005 -47.5833335 -22.9166665 -22.7499995 588 0 2670 --47.5833335 -47.4166665 -22.9166665 -22.7499995 621 0 2670 --47.4166665 -47.2499995 -22.9166665 -22.7499995 598 0 2670 --47.2500005 -47.0833335 -22.9166665 -22.7499995 611 0 2670 --47.0833335 -46.9166665 -22.9166665 -22.7499995 684 0 2670 --46.9166665 -46.7499995 -22.9166665 -22.7499995 831 0 2670 --46.7500005 -46.5833335 -22.9166665 -22.7499995 852 0 2670 --46.5833335 -46.4166665 -22.9166665 -22.7499995 990 0 2670 --46.4166665 -46.2499995 -22.9166665 -22.7499995 937 0 2670 --46.2500005 -46.0833335 -22.9166665 -22.7499995 1207 0 2670 --46.0833335 -45.9166665 -22.9166665 -22.7499995 1501 0 2670 --45.9166665 -45.7499995 -22.9166665 -22.7499995 1538 0 2670 --45.7500005 -45.5833335 -22.9166665 -22.7499995 1160 0 2670 --45.5833335 -45.4166665 -22.9166665 -22.7499995 733 0 2670 --45.4166665 -45.2499995 -22.9166665 -22.7499995 553 0 2670 --45.2500005 -45.0833335 -22.9166665 -22.7499995 599 0 2670 --45.0833335 -44.9166665 -22.9166665 -22.7499995 1082 0 2670 --44.9166665 -44.7499995 -22.9166665 -22.7499995 1094 0 2670 --44.7500005 -44.5833335 -22.9166665 -22.7499995 1594 0 2670 --44.5833335 -44.4166665 -22.9166665 -22.7499995 1449 0 2670 --44.4166665 -44.2499995 -22.9166665 -22.7499995 1093 0 2670 --44.2500005 -44.0833335 -22.9166665 -22.7499995 720 0 2670 --44.0833335 -43.9166665 -22.9166665 -22.7499995 482 0 2670 --43.9166665 -43.7499995 -22.9166665 -22.7499995 23 0 2670 --43.7500005 -43.5833335 -22.9166665 -22.7499995 9 0 2670 --43.5833335 -43.4166665 -22.9166665 -22.7499995 180 0 2670 --43.4166665 -43.2499995 -22.9166665 -22.7499995 17 0 2670 --43.2500005 -43.0833335 -22.9166665 -22.7499995 0 0 2670 --43.0833335 -42.9166665 -22.9166665 -22.7499995 30 0 2670 --42.9166665 -42.7499995 -22.9166665 -22.7499995 63 0 2670 --42.7500005 -42.5833335 -22.9166665 -22.7499995 253 0 2670 --42.5833335 -42.4166665 -22.9166665 -22.7499995 194 0 2670 --42.4166665 -42.2499995 -22.9166665 -22.7499995 24 0 2670 --42.2500005 -42.0833335 -22.9166665 -22.7499995 53 0 2670 --42.0833335 -41.9166665 -22.9166665 -22.7499995 17 0 2670 --41.9166665 -41.7499995 -22.9166665 -22.7499995 0 -39 -1670 --41.7500005 -41.5833335 -22.9166665 -22.7499995 0 -54 -1670 --41.5833335 -41.4166665 -22.9166665 -22.7499995 0 -67 -1670 --41.4166665 -41.2499995 -22.9166665 -22.7499995 0 -67 -1670 --41.2500005 -41.0833335 -22.9166665 -22.7499995 0 -75 -1670 --41.0833335 -40.9166665 -22.9166665 -22.7499995 0 -100 -1670 --40.9166665 -40.7499995 -22.9166665 -22.7499995 0 -100 -1670 --40.7500005 -40.5833335 -22.9166665 -22.7499995 0 -736 -1670 --40.5833335 -40.4166665 -22.9166665 -22.7499995 0 -1232 -1670 --40.4166665 -40.2499995 -22.9166665 -22.7499995 0 -1394 -1670 --40.2500005 -40.0833335 -22.9166665 -22.7499995 0 -2080 -1670 --40.0833335 -39.9166665 -22.9166665 -22.7499995 0 -2607 -1670 --65.0833335 -64.9166665 -23.0833335 -22.9166665 4207 0 2670 --64.9166665 -64.7499995 -23.0833335 -22.9166665 1785 0 2670 --64.7500005 -64.5833335 -23.0833335 -22.9166665 1216 0 2670 --64.5833335 -64.4166665 -23.0833335 -22.9166665 703 0 2670 --64.4166665 -64.2499995 -23.0833335 -22.9166665 336 0 2670 --64.2500005 -64.0833335 -23.0833335 -22.9166665 519 0 2670 --64.0833335 -63.9166665 -23.0833335 -22.9166665 385 0 2670 --63.9166665 -63.7499995 -23.0833335 -22.9166665 322 0 2670 --63.7500005 -63.5833335 -23.0833335 -22.9166665 273 0 2670 --63.5833335 -63.4166665 -23.0833335 -22.9166665 253 0 2670 --63.4166665 -63.2499995 -23.0833335 -22.9166665 243 0 2670 --63.2500005 -63.0833335 -23.0833335 -22.9166665 237 0 2670 --63.0833335 -62.9166665 -23.0833335 -22.9166665 229 0 2670 --62.9166665 -62.7499995 -23.0833335 -22.9166665 228 0 2670 --62.7500005 -62.5833335 -23.0833335 -22.9166665 225 0 2670 --62.5833335 -62.4166665 -23.0833335 -22.9166665 221 0 2670 --62.4166665 -62.2499995 -23.0833335 -22.9166665 220 0 2670 --62.2500005 -62.0833335 -23.0833335 -22.9166665 214 0 2670 --62.0833335 -61.9166665 -23.0833335 -22.9166665 211 0 2670 --61.9166665 -61.7499995 -23.0833335 -22.9166665 207 0 2670 --61.7500005 -61.5833335 -23.0833335 -22.9166665 196 0 2670 --61.5833335 -61.4166665 -23.0833335 -22.9166665 193 0 2670 --61.4166665 -61.2499995 -23.0833335 -22.9166665 183 0 2670 --61.2500005 -61.0833335 -23.0833335 -22.9166665 181 0 2670 --61.0833335 -60.9166665 -23.0833335 -22.9166665 171 0 2670 --60.9166665 -60.7499995 -23.0833335 -22.9166665 164 0 2670 --60.7500005 -60.5833335 -23.0833335 -22.9166665 158 0 2670 --60.5833335 -60.4166665 -23.0833335 -22.9166665 153 0 2670 --60.4166665 -60.2499995 -23.0833335 -22.9166665 147 0 2670 --60.2500005 -60.0833335 -23.0833335 -22.9166665 139 0 2670 --60.0833335 -59.9166665 -23.0833335 -22.9166665 133 0 2670 --59.9166665 -59.7499995 -23.0833335 -22.9166665 127 0 2670 --59.7500005 -59.5833335 -23.0833335 -22.9166665 120 0 2670 --59.5833335 -59.4166665 -23.0833335 -22.9166665 117 0 2670 --59.4166665 -59.2499995 -23.0833335 -22.9166665 113 0 2670 --59.2500005 -59.0833335 -23.0833335 -22.9166665 108 0 2670 --59.0833335 -58.9166665 -23.0833335 -22.9166665 106 0 2670 --58.9166665 -58.7499995 -23.0833335 -22.9166665 103 0 2670 --58.7500005 -58.5833335 -23.0833335 -22.9166665 99 0 2670 --58.5833335 -58.4166665 -23.0833335 -22.9166665 96 0 2670 --58.4166665 -58.2499995 -23.0833335 -22.9166665 92 0 2670 --58.2500005 -58.0833335 -23.0833335 -22.9166665 91 0 2670 --58.0833335 -57.9166665 -23.0833335 -22.9166665 86 0 2670 --57.9166665 -57.7499995 -23.0833335 -22.9166665 77 0 2670 --57.7500005 -57.5833335 -23.0833335 -22.9166665 79 0 2670 --57.5833335 -57.4166665 -23.0833335 -22.9166665 101 0 2670 --57.4166665 -57.2499995 -23.0833335 -22.9166665 91 0 2670 --57.2500005 -57.0833335 -23.0833335 -22.9166665 141 0 2670 --57.0833335 -56.9166665 -23.0833335 -22.9166665 119 0 2670 --56.9166665 -56.7499995 -23.0833335 -22.9166665 129 0 2670 --56.7500005 -56.5833335 -23.0833335 -22.9166665 134 0 2670 --56.5833335 -56.4166665 -23.0833335 -22.9166665 237 0 2670 --56.4166665 -56.2499995 -23.0833335 -22.9166665 351 0 2670 --56.2500005 -56.0833335 -23.0833335 -22.9166665 278 0 2670 --56.0833335 -55.9166665 -23.0833335 -22.9166665 241 0 2670 --55.9166665 -55.7499995 -23.0833335 -22.9166665 339 0 2670 --55.7500005 -55.5833335 -23.0833335 -22.9166665 306 0 2670 --55.5833335 -55.4166665 -23.0833335 -22.9166665 482 0 2670 --55.4166665 -55.2499995 -23.0833335 -22.9166665 410 0 2670 --55.2500005 -55.0833335 -23.0833335 -22.9166665 402 0 2670 --55.0833335 -54.9166665 -23.0833335 -22.9166665 385 0 2670 --54.9166665 -54.7499995 -23.0833335 -22.9166665 429 0 2670 --54.7500005 -54.5833335 -23.0833335 -22.9166665 296 0 2670 --54.5833335 -54.4166665 -23.0833335 -22.9166665 285 0 2670 --54.4166665 -54.2499995 -23.0833335 -22.9166665 328 0 2670 --54.2500005 -54.0833335 -23.0833335 -22.9166665 339 0 2670 --54.0833335 -53.9166665 -23.0833335 -22.9166665 295 0 2670 --53.9166665 -53.7499995 -23.0833335 -22.9166665 309 0 2670 --53.7500005 -53.5833335 -23.0833335 -22.9166665 235 0 2670 --53.5833335 -53.4166665 -23.0833335 -22.9166665 332 0 2670 --53.4166665 -53.2499995 -23.0833335 -22.9166665 344 0 2670 --53.2500005 -53.0833335 -23.0833335 -22.9166665 419 0 2670 --53.0833335 -52.9166665 -23.0833335 -22.9166665 383 0 2670 --52.9166665 -52.7499995 -23.0833335 -22.9166665 429 0 2670 --52.7500005 -52.5833335 -23.0833335 -22.9166665 453 0 2670 --52.5833335 -52.4166665 -23.0833335 -22.9166665 466 0 2670 --52.4166665 -52.2499995 -23.0833335 -22.9166665 425 0 2670 --52.2500005 -52.0833335 -23.0833335 -22.9166665 462 0 2670 --52.0833335 -51.9166665 -23.0833335 -22.9166665 383 0 2670 --51.9166665 -51.7499995 -23.0833335 -22.9166665 422 0 2670 --51.7500005 -51.5833335 -23.0833335 -22.9166665 499 0 2670 --51.5833335 -51.4166665 -23.0833335 -22.9166665 586 0 2670 --51.4166665 -51.2499995 -23.0833335 -22.9166665 404 0 2670 --51.2500005 -51.0833335 -23.0833335 -22.9166665 573 0 2670 --51.0833335 -50.9166665 -23.0833335 -22.9166665 366 0 2670 --50.9166665 -50.7499995 -23.0833335 -22.9166665 428 0 2670 --50.7500005 -50.5833335 -23.0833335 -22.9166665 378 0 2670 --50.5833335 -50.4166665 -23.0833335 -22.9166665 390 0 2670 --50.4166665 -50.2499995 -23.0833335 -22.9166665 428 0 2670 --50.2500005 -50.0833335 -23.0833335 -22.9166665 438 0 2670 --50.0833335 -49.9166665 -23.0833335 -22.9166665 471 0 2670 --49.9166665 -49.7499995 -23.0833335 -22.9166665 500 0 2670 --49.7500005 -49.5833335 -23.0833335 -22.9166665 507 0 2670 --49.5833335 -49.4166665 -23.0833335 -22.9166665 670 0 2670 --49.4166665 -49.2499995 -23.0833335 -22.9166665 717 0 2670 --49.2500005 -49.0833335 -23.0833335 -22.9166665 691 0 2670 --49.0833335 -48.9166665 -23.0833335 -22.9166665 709 0 2670 --48.9166665 -48.7499995 -23.0833335 -22.9166665 723 0 2670 --48.7500005 -48.5833335 -23.0833335 -22.9166665 758 0 2670 --48.5833335 -48.4166665 -23.0833335 -22.9166665 859 0 2670 --48.4166665 -48.2499995 -23.0833335 -22.9166665 800 0 2670 --48.2500005 -48.0833335 -23.0833335 -22.9166665 571 0 2670 --48.0833335 -47.9166665 -23.0833335 -22.9166665 501 0 2670 --47.9166665 -47.7499995 -23.0833335 -22.9166665 528 0 2670 --47.7500005 -47.5833335 -23.0833335 -22.9166665 515 0 2670 --47.5833335 -47.4166665 -23.0833335 -22.9166665 519 0 2670 --47.4166665 -47.2499995 -23.0833335 -22.9166665 604 0 2670 --47.2500005 -47.0833335 -23.0833335 -22.9166665 622 0 2670 --47.0833335 -46.9166665 -23.0833335 -22.9166665 719 0 2670 --46.9166665 -46.7499995 -23.0833335 -22.9166665 772 0 2670 --46.7500005 -46.5833335 -23.0833335 -22.9166665 778 0 2670 --46.5833335 -46.4166665 -23.0833335 -22.9166665 888 0 2670 --46.4166665 -46.2499995 -23.0833335 -22.9166665 878 0 2670 --46.2500005 -46.0833335 -23.0833335 -22.9166665 1193 0 2670 --46.0833335 -45.9166665 -23.0833335 -22.9166665 727 0 2670 --45.9166665 -45.7499995 -23.0833335 -22.9166665 671 0 2670 --45.7500005 -45.5833335 -23.0833335 -22.9166665 550 0 2670 --45.5833335 -45.4166665 -23.0833335 -22.9166665 562 0 2670 --45.4166665 -45.2499995 -23.0833335 -22.9166665 827 0 2670 --45.2500005 -45.0833335 -23.0833335 -22.9166665 975 0 2670 --45.0833335 -44.9166665 -23.0833335 -22.9166665 937 0 2670 --44.9166665 -44.7499995 -23.0833335 -22.9166665 1173 0 2670 --44.7500005 -44.5833335 -23.0833335 -22.9166665 893 0 2670 --44.5833335 -44.4166665 -23.0833335 -22.9166665 352 0 2670 --44.4166665 -44.2499995 -23.0833335 -22.9166665 165 0 2670 --44.2500005 -44.0833335 -23.0833335 -22.9166665 496 0 2670 --44.0833335 -43.9166665 -23.0833335 -22.9166665 0 -1 -1670 --43.9166665 -43.7499995 -23.0833335 -22.9166665 0 -5 -1670 --43.7500005 -43.5833335 -23.0833335 -22.9166665 0 -1 -1670 --43.5833335 -43.4166665 -23.0833335 -22.9166665 5 0 2670 --43.4166665 -43.2499995 -23.0833335 -22.9166665 8 0 2670 --43.2500005 -43.0833335 -23.0833335 -22.9166665 0 -23 -1670 --43.0833335 -42.9166665 -23.0833335 -22.9166665 0 -21 -1670 --42.9166665 -42.7499995 -23.0833335 -22.9166665 0 -24 -1670 --42.7500005 -42.5833335 -23.0833335 -22.9166665 0 -40 -1670 --42.5833335 -42.4166665 -23.0833335 -22.9166665 0 -58 -1670 --42.4166665 -42.2499995 -23.0833335 -22.9166665 0 -61 -1670 --42.2500005 -42.0833335 -23.0833335 -22.9166665 0 -65 -1670 --42.0833335 -41.9166665 -23.0833335 -22.9166665 88 0 2670 --41.9166665 -41.7499995 -23.0833335 -22.9166665 0 -67 -1670 --41.7500005 -41.5833335 -23.0833335 -22.9166665 0 -89 -1670 --41.5833335 -41.4166665 -23.0833335 -22.9166665 0 -74 -1670 --41.4166665 -41.2499995 -23.0833335 -22.9166665 0 -78 -1670 --41.2500005 -41.0833335 -23.0833335 -22.9166665 0 -91 -1670 --41.0833335 -40.9166665 -23.0833335 -22.9166665 0 -85 -1670 --40.9166665 -40.7499995 -23.0833335 -22.9166665 0 -603 -1670 --40.7500005 -40.5833335 -23.0833335 -22.9166665 0 -1279 -1670 --40.5833335 -40.4166665 -23.0833335 -22.9166665 0 -1783 -1670 --40.4166665 -40.2499995 -23.0833335 -22.9166665 0 -2338 -1670 --40.2500005 -40.0833335 -23.0833335 -22.9166665 0 -2476 -1670 --40.0833335 -39.9166665 -23.0833335 -22.9166665 0 -2713 -1670 --65.0833335 -64.9166665 -23.2500005 -23.0833335 3467 0 2670 --64.9166665 -64.7499995 -23.2500005 -23.0833335 2763 0 2670 --64.7500005 -64.5833335 -23.2500005 -23.0833335 718 0 2670 --64.5833335 -64.4166665 -23.2500005 -23.0833335 613 0 2670 --64.4166665 -64.2499995 -23.2500005 -23.0833335 364 0 2670 --64.2500005 -64.0833335 -23.2500005 -23.0833335 412 0 2670 --64.0833335 -63.9166665 -23.2500005 -23.0833335 280 0 2670 --63.9166665 -63.7499995 -23.2500005 -23.0833335 276 0 2670 --63.7500005 -63.5833335 -23.2500005 -23.0833335 265 0 2670 --63.5833335 -63.4166665 -23.2500005 -23.0833335 254 0 2670 --63.4166665 -63.2499995 -23.2500005 -23.0833335 245 0 2670 --63.2500005 -63.0833335 -23.2500005 -23.0833335 241 0 2670 --63.0833335 -62.9166665 -23.2500005 -23.0833335 230 0 2670 --62.9166665 -62.7499995 -23.2500005 -23.0833335 223 0 2670 --62.7500005 -62.5833335 -23.2500005 -23.0833335 220 0 2670 --62.5833335 -62.4166665 -23.2500005 -23.0833335 216 0 2670 --62.4166665 -62.2499995 -23.2500005 -23.0833335 213 0 2670 --62.2500005 -62.0833335 -23.2500005 -23.0833335 209 0 2670 --62.0833335 -61.9166665 -23.2500005 -23.0833335 206 0 2670 --61.9166665 -61.7499995 -23.2500005 -23.0833335 199 0 2670 --61.7500005 -61.5833335 -23.2500005 -23.0833335 192 0 2670 --61.5833335 -61.4166665 -23.2500005 -23.0833335 187 0 2670 --61.4166665 -61.2499995 -23.2500005 -23.0833335 185 0 2670 --61.2500005 -61.0833335 -23.2500005 -23.0833335 177 0 2670 --61.0833335 -60.9166665 -23.2500005 -23.0833335 166 0 2670 --60.9166665 -60.7499995 -23.2500005 -23.0833335 161 0 2670 --60.7500005 -60.5833335 -23.2500005 -23.0833335 158 0 2670 --60.5833335 -60.4166665 -23.2500005 -23.0833335 150 0 2670 --60.4166665 -60.2499995 -23.2500005 -23.0833335 148 0 2670 --60.2500005 -60.0833335 -23.2500005 -23.0833335 141 0 2670 --60.0833335 -59.9166665 -23.2500005 -23.0833335 133 0 2670 --59.9166665 -59.7499995 -23.2500005 -23.0833335 128 0 2670 --59.7500005 -59.5833335 -23.2500005 -23.0833335 121 0 2670 --59.5833335 -59.4166665 -23.2500005 -23.0833335 117 0 2670 --59.4166665 -59.2499995 -23.2500005 -23.0833335 115 0 2670 --59.2500005 -59.0833335 -23.2500005 -23.0833335 111 0 2670 --59.0833335 -58.9166665 -23.2500005 -23.0833335 110 0 2670 --58.9166665 -58.7499995 -23.2500005 -23.0833335 104 0 2670 --58.7500005 -58.5833335 -23.2500005 -23.0833335 101 0 2670 --58.5833335 -58.4166665 -23.2500005 -23.0833335 96 0 2670 --58.4166665 -58.2499995 -23.2500005 -23.0833335 94 0 2670 --58.2500005 -58.0833335 -23.2500005 -23.0833335 90 0 2670 --58.0833335 -57.9166665 -23.2500005 -23.0833335 85 0 2670 --57.9166665 -57.7499995 -23.2500005 -23.0833335 81 0 2670 --57.7500005 -57.5833335 -23.2500005 -23.0833335 76 0 2670 --57.5833335 -57.4166665 -23.2500005 -23.0833335 121 0 2670 --57.4166665 -57.2499995 -23.2500005 -23.0833335 137 0 2670 --57.2500005 -57.0833335 -23.2500005 -23.0833335 101 0 2670 --57.0833335 -56.9166665 -23.2500005 -23.0833335 107 0 2670 --56.9166665 -56.7499995 -23.2500005 -23.0833335 157 0 2670 --56.7500005 -56.5833335 -23.2500005 -23.0833335 268 0 2670 --56.5833335 -56.4166665 -23.2500005 -23.0833335 305 0 2670 --56.4166665 -56.2499995 -23.2500005 -23.0833335 211 0 2670 --56.2500005 -56.0833335 -23.2500005 -23.0833335 229 0 2670 --56.0833335 -55.9166665 -23.2500005 -23.0833335 369 0 2670 --55.9166665 -55.7499995 -23.2500005 -23.0833335 230 0 2670 --55.7500005 -55.5833335 -23.2500005 -23.0833335 402 0 2670 --55.5833335 -55.4166665 -23.2500005 -23.0833335 466 0 2670 --55.4166665 -55.2499995 -23.2500005 -23.0833335 470 0 2670 --55.2500005 -55.0833335 -23.2500005 -23.0833335 451 0 2670 --55.0833335 -54.9166665 -23.2500005 -23.0833335 442 0 2670 --54.9166665 -54.7499995 -23.2500005 -23.0833335 377 0 2670 --54.7500005 -54.5833335 -23.2500005 -23.0833335 376 0 2670 --54.5833335 -54.4166665 -23.2500005 -23.0833335 344 0 2670 --54.4166665 -54.2499995 -23.2500005 -23.0833335 351 0 2670 --54.2500005 -54.0833335 -23.2500005 -23.0833335 252 0 2670 --54.0833335 -53.9166665 -23.2500005 -23.0833335 240 0 2670 --53.9166665 -53.7499995 -23.2500005 -23.0833335 272 0 2670 --53.7500005 -53.5833335 -23.2500005 -23.0833335 235 0 2670 --53.5833335 -53.4166665 -23.2500005 -23.0833335 240 0 2670 --53.4166665 -53.2499995 -23.2500005 -23.0833335 267 0 2670 --53.2500005 -53.0833335 -23.2500005 -23.0833335 323 0 2670 --53.0833335 -52.9166665 -23.2500005 -23.0833335 331 0 2670 --52.9166665 -52.7499995 -23.2500005 -23.0833335 377 0 2670 --52.7500005 -52.5833335 -23.2500005 -23.0833335 314 0 2670 --52.5833335 -52.4166665 -23.2500005 -23.0833335 399 0 2670 --52.4166665 -52.2499995 -23.2500005 -23.0833335 442 0 2670 --52.2500005 -52.0833335 -23.2500005 -23.0833335 492 0 2670 --52.0833335 -51.9166665 -23.2500005 -23.0833335 420 0 2670 --51.9166665 -51.7499995 -23.2500005 -23.0833335 565 0 2670 --51.7500005 -51.5833335 -23.2500005 -23.0833335 575 0 2670 --51.5833335 -51.4166665 -23.2500005 -23.0833335 580 0 2670 --51.4166665 -51.2499995 -23.2500005 -23.0833335 521 0 2670 --51.2500005 -51.0833335 -23.2500005 -23.0833335 568 0 2670 --51.0833335 -50.9166665 -23.2500005 -23.0833335 377 0 2670 --50.9166665 -50.7499995 -23.2500005 -23.0833335 427 0 2670 --50.7500005 -50.5833335 -23.2500005 -23.0833335 589 0 2670 --50.5833335 -50.4166665 -23.2500005 -23.0833335 428 0 2670 --50.4166665 -50.2499995 -23.2500005 -23.0833335 507 0 2670 --50.2500005 -50.0833335 -23.2500005 -23.0833335 442 0 2670 --50.0833335 -49.9166665 -23.2500005 -23.0833335 532 0 2670 --49.9166665 -49.7499995 -23.2500005 -23.0833335 518 0 2670 --49.7500005 -49.5833335 -23.2500005 -23.0833335 607 0 2670 --49.5833335 -49.4166665 -23.2500005 -23.0833335 581 0 2670 --49.4166665 -49.2499995 -23.2500005 -23.0833335 539 0 2670 --49.2500005 -49.0833335 -23.2500005 -23.0833335 624 0 2670 --49.0833335 -48.9166665 -23.2500005 -23.0833335 613 0 2670 --48.9166665 -48.7499995 -23.2500005 -23.0833335 744 0 2670 --48.7500005 -48.5833335 -23.2500005 -23.0833335 673 0 2670 --48.5833335 -48.4166665 -23.2500005 -23.0833335 676 0 2670 --48.4166665 -48.2499995 -23.2500005 -23.0833335 651 0 2670 --48.2500005 -48.0833335 -23.2500005 -23.0833335 546 0 2670 --48.0833335 -47.9166665 -23.2500005 -23.0833335 533 0 2670 --47.9166665 -47.7499995 -23.2500005 -23.0833335 532 0 2670 --47.7500005 -47.5833335 -23.2500005 -23.0833335 543 0 2670 --47.5833335 -47.4166665 -23.2500005 -23.0833335 520 0 2670 --47.4166665 -47.2499995 -23.2500005 -23.0833335 541 0 2670 --47.2500005 -47.0833335 -23.2500005 -23.0833335 684 0 2670 --47.0833335 -46.9166665 -23.2500005 -23.0833335 733 0 2670 --46.9166665 -46.7499995 -23.2500005 -23.0833335 779 0 2670 --46.7500005 -46.5833335 -23.2500005 -23.0833335 867 0 2670 --46.5833335 -46.4166665 -23.2500005 -23.0833335 1087 0 2670 --46.4166665 -46.2499995 -23.2500005 -23.0833335 889 0 2670 --46.2500005 -46.0833335 -23.2500005 -23.0833335 770 0 2670 --46.0833335 -45.9166665 -23.2500005 -23.0833335 642 0 2670 --45.9166665 -45.7499995 -23.2500005 -23.0833335 573 0 2670 --45.7500005 -45.5833335 -23.2500005 -23.0833335 628 0 2670 --45.5833335 -45.4166665 -23.2500005 -23.0833335 680 0 2670 --45.4166665 -45.2499995 -23.2500005 -23.0833335 866 0 2670 --45.2500005 -45.0833335 -23.2500005 -23.0833335 893 0 2670 --45.0833335 -44.9166665 -23.2500005 -23.0833335 1211 0 2670 --44.9166665 -44.7499995 -23.2500005 -23.0833335 1465 0 2670 --44.7500005 -44.5833335 -23.2500005 -23.0833335 0 0 2670 --44.5833335 -44.4166665 -23.2500005 -23.0833335 0 -24 -1670 --44.4166665 -44.2499995 -23.2500005 -23.0833335 217 0 2670 --44.2500005 -44.0833335 -23.2500005 -23.0833335 323 0 2670 --44.0833335 -43.9166665 -23.2500005 -23.0833335 0 -28 -1670 --43.9166665 -43.7499995 -23.2500005 -23.0833335 0 -36 -1670 --43.7500005 -43.5833335 -23.2500005 -23.0833335 0 -42 -1670 --43.5833335 -43.4166665 -23.2500005 -23.0833335 0 -46 -1670 --43.4166665 -43.2499995 -23.2500005 -23.0833335 0 -57 -1670 --43.2500005 -43.0833335 -23.2500005 -23.0833335 0 -63 -1670 --43.0833335 -42.9166665 -23.2500005 -23.0833335 0 -74 -1670 --42.9166665 -42.7499995 -23.2500005 -23.0833335 0 -78 -1670 --42.7500005 -42.5833335 -23.2500005 -23.0833335 0 -92 -1670 --42.5833335 -42.4166665 -23.2500005 -23.0833335 0 -103 -1670 --42.4166665 -42.2499995 -23.2500005 -23.0833335 0 -109 -1670 --42.2500005 -42.0833335 -23.2500005 -23.0833335 0 -115 -1670 --42.0833335 -41.9166665 -23.2500005 -23.0833335 0 -123 -1670 --41.9166665 -41.7499995 -23.2500005 -23.0833335 0 -111 -1670 --41.7500005 -41.5833335 -23.2500005 -23.0833335 0 -106 -1670 --41.5833335 -41.4166665 -23.2500005 -23.0833335 0 -92 -1670 --41.4166665 -41.2499995 -23.2500005 -23.0833335 0 -92 -1670 --41.2500005 -41.0833335 -23.2500005 -23.0833335 0 -110 -1670 --41.0833335 -40.9166665 -23.2500005 -23.0833335 0 -198 -1670 --40.9166665 -40.7499995 -23.2500005 -23.0833335 0 -1362 -1670 --40.7500005 -40.5833335 -23.2500005 -23.0833335 0 -1951 -1670 --40.5833335 -40.4166665 -23.2500005 -23.0833335 0 -2195 -1670 --40.4166665 -40.2499995 -23.2500005 -23.0833335 0 -2486 -1670 --40.2500005 -40.0833335 -23.2500005 -23.0833335 0 -2661 -1670 --40.0833335 -39.9166665 -23.2500005 -23.0833335 0 -2769 -1670 --65.0833335 -64.9166665 -23.4166665 -23.2499995 3771 0 2670 --64.9166665 -64.7499995 -23.4166665 -23.2499995 2319 0 2670 --64.7500005 -64.5833335 -23.4166665 -23.2499995 726 0 2670 --64.5833335 -64.4166665 -23.4166665 -23.2499995 472 0 2670 --64.4166665 -64.2499995 -23.4166665 -23.2499995 330 0 2670 --64.2500005 -64.0833335 -23.4166665 -23.2499995 300 0 2670 --64.0833335 -63.9166665 -23.4166665 -23.2499995 284 0 2670 --63.9166665 -63.7499995 -23.4166665 -23.2499995 275 0 2670 --63.7500005 -63.5833335 -23.4166665 -23.2499995 266 0 2670 --63.5833335 -63.4166665 -23.4166665 -23.2499995 254 0 2670 --63.4166665 -63.2499995 -23.4166665 -23.2499995 246 0 2670 --63.2500005 -63.0833335 -23.4166665 -23.2499995 236 0 2670 --63.0833335 -62.9166665 -23.4166665 -23.2499995 228 0 2670 --62.9166665 -62.7499995 -23.4166665 -23.2499995 222 0 2670 --62.7500005 -62.5833335 -23.4166665 -23.2499995 216 0 2670 --62.5833335 -62.4166665 -23.4166665 -23.2499995 211 0 2670 --62.4166665 -62.2499995 -23.4166665 -23.2499995 210 0 2670 --62.2500005 -62.0833335 -23.4166665 -23.2499995 205 0 2670 --62.0833335 -61.9166665 -23.4166665 -23.2499995 198 0 2670 --61.9166665 -61.7499995 -23.4166665 -23.2499995 197 0 2670 --61.7500005 -61.5833335 -23.4166665 -23.2499995 190 0 2670 --61.5833335 -61.4166665 -23.4166665 -23.2499995 187 0 2670 --61.4166665 -61.2499995 -23.4166665 -23.2499995 177 0 2670 --61.2500005 -61.0833335 -23.4166665 -23.2499995 170 0 2670 --61.0833335 -60.9166665 -23.4166665 -23.2499995 165 0 2670 --60.9166665 -60.7499995 -23.4166665 -23.2499995 160 0 2670 --60.7500005 -60.5833335 -23.4166665 -23.2499995 154 0 2670 --60.5833335 -60.4166665 -23.4166665 -23.2499995 150 0 2670 --60.4166665 -60.2499995 -23.4166665 -23.2499995 144 0 2670 --60.2500005 -60.0833335 -23.4166665 -23.2499995 139 0 2670 --60.0833335 -59.9166665 -23.4166665 -23.2499995 134 0 2670 --59.9166665 -59.7499995 -23.4166665 -23.2499995 129 0 2670 --59.7500005 -59.5833335 -23.4166665 -23.2499995 121 0 2670 --59.5833335 -59.4166665 -23.4166665 -23.2499995 121 0 2670 --59.4166665 -59.2499995 -23.4166665 -23.2499995 115 0 2670 --59.2500005 -59.0833335 -23.4166665 -23.2499995 110 0 2670 --59.0833335 -58.9166665 -23.4166665 -23.2499995 107 0 2670 --58.9166665 -58.7499995 -23.4166665 -23.2499995 104 0 2670 --58.7500005 -58.5833335 -23.4166665 -23.2499995 99 0 2670 --58.5833335 -58.4166665 -23.4166665 -23.2499995 99 0 2670 --58.4166665 -58.2499995 -23.4166665 -23.2499995 95 0 2670 --58.2500005 -58.0833335 -23.4166665 -23.2499995 92 0 2670 --58.0833335 -57.9166665 -23.4166665 -23.2499995 85 0 2670 --57.9166665 -57.7499995 -23.4166665 -23.2499995 80 0 2670 --57.7500005 -57.5833335 -23.4166665 -23.2499995 76 0 2670 --57.5833335 -57.4166665 -23.4166665 -23.2499995 71 0 2670 --57.4166665 -57.2499995 -23.4166665 -23.2499995 126 0 2670 --57.2500005 -57.0833335 -23.4166665 -23.2499995 173 0 2670 --57.0833335 -56.9166665 -23.4166665 -23.2499995 168 0 2670 --56.9166665 -56.7499995 -23.4166665 -23.2499995 208 0 2670 --56.7500005 -56.5833335 -23.4166665 -23.2499995 206 0 2670 --56.5833335 -56.4166665 -23.4166665 -23.2499995 242 0 2670 --56.4166665 -56.2499995 -23.4166665 -23.2499995 184 0 2670 --56.2500005 -56.0833335 -23.4166665 -23.2499995 200 0 2670 --56.0833335 -55.9166665 -23.4166665 -23.2499995 332 0 2670 --55.9166665 -55.7499995 -23.4166665 -23.2499995 280 0 2670 --55.7500005 -55.5833335 -23.4166665 -23.2499995 416 0 2670 --55.5833335 -55.4166665 -23.4166665 -23.2499995 492 0 2670 --55.4166665 -55.2499995 -23.4166665 -23.2499995 440 0 2670 --55.2500005 -55.0833335 -23.4166665 -23.2499995 360 0 2670 --55.0833335 -54.9166665 -23.4166665 -23.2499995 337 0 2670 --54.9166665 -54.7499995 -23.4166665 -23.2499995 357 0 2670 --54.7500005 -54.5833335 -23.4166665 -23.2499995 355 0 2670 --54.5833335 -54.4166665 -23.4166665 -23.2499995 382 0 2670 --54.4166665 -54.2499995 -23.4166665 -23.2499995 289 0 2670 --54.2500005 -54.0833335 -23.4166665 -23.2499995 315 0 2670 --54.0833335 -53.9166665 -23.4166665 -23.2499995 271 0 2670 --53.9166665 -53.7499995 -23.4166665 -23.2499995 230 0 2670 --53.7500005 -53.5833335 -23.4166665 -23.2499995 285 0 2670 --53.5833335 -53.4166665 -23.4166665 -23.2499995 327 0 2670 --53.4166665 -53.2499995 -23.4166665 -23.2499995 373 0 2670 --53.2500005 -53.0833335 -23.4166665 -23.2499995 360 0 2670 --53.0833335 -52.9166665 -23.4166665 -23.2499995 347 0 2670 --52.9166665 -52.7499995 -23.4166665 -23.2499995 367 0 2670 --52.7500005 -52.5833335 -23.4166665 -23.2499995 273 0 2670 --52.5833335 -52.4166665 -23.4166665 -23.2499995 340 0 2670 --52.4166665 -52.2499995 -23.4166665 -23.2499995 424 0 2670 --52.2500005 -52.0833335 -23.4166665 -23.2499995 513 0 2670 --52.0833335 -51.9166665 -23.4166665 -23.2499995 463 0 2670 --51.9166665 -51.7499995 -23.4166665 -23.2499995 432 0 2670 --51.7500005 -51.5833335 -23.4166665 -23.2499995 600 0 2670 --51.5833335 -51.4166665 -23.4166665 -23.2499995 743 0 2670 --51.4166665 -51.2499995 -23.4166665 -23.2499995 635 0 2670 --51.2500005 -51.0833335 -23.4166665 -23.2499995 547 0 2670 --51.0833335 -50.9166665 -23.4166665 -23.2499995 408 0 2670 --50.9166665 -50.7499995 -23.4166665 -23.2499995 526 0 2670 --50.7500005 -50.5833335 -23.4166665 -23.2499995 487 0 2670 --50.5833335 -50.4166665 -23.4166665 -23.2499995 515 0 2670 --50.4166665 -50.2499995 -23.4166665 -23.2499995 593 0 2670 --50.2500005 -50.0833335 -23.4166665 -23.2499995 491 0 2670 --50.0833335 -49.9166665 -23.4166665 -23.2499995 525 0 2670 --49.9166665 -49.7499995 -23.4166665 -23.2499995 574 0 2670 --49.7500005 -49.5833335 -23.4166665 -23.2499995 481 0 2670 --49.5833335 -49.4166665 -23.4166665 -23.2499995 822 0 2670 --49.4166665 -49.2499995 -23.4166665 -23.2499995 676 0 2670 --49.2500005 -49.0833335 -23.4166665 -23.2499995 580 0 2670 --49.0833335 -48.9166665 -23.4166665 -23.2499995 570 0 2670 --48.9166665 -48.7499995 -23.4166665 -23.2499995 640 0 2670 --48.7500005 -48.5833335 -23.4166665 -23.2499995 563 0 2670 --48.5833335 -48.4166665 -23.4166665 -23.2499995 624 0 2670 --48.4166665 -48.2499995 -23.4166665 -23.2499995 633 0 2670 --48.2500005 -48.0833335 -23.4166665 -23.2499995 698 0 2670 --48.0833335 -47.9166665 -23.4166665 -23.2499995 612 0 2670 --47.9166665 -47.7499995 -23.4166665 -23.2499995 609 0 2670 --47.7500005 -47.5833335 -23.4166665 -23.2499995 565 0 2670 --47.5833335 -47.4166665 -23.4166665 -23.2499995 567 0 2670 --47.4166665 -47.2499995 -23.4166665 -23.2499995 626 0 2670 --47.2500005 -47.0833335 -23.4166665 -23.2499995 675 0 2670 --47.0833335 -46.9166665 -23.4166665 -23.2499995 734 0 2670 --46.9166665 -46.7499995 -23.4166665 -23.2499995 763 0 2670 --46.7500005 -46.5833335 -23.4166665 -23.2499995 792 0 2670 --46.5833335 -46.4166665 -23.4166665 -23.2499995 849 0 2670 --46.4166665 -46.2499995 -23.4166665 -23.2499995 715 0 2670 --46.2500005 -46.0833335 -23.4166665 -23.2499995 707 0 2670 --46.0833335 -45.9166665 -23.4166665 -23.2499995 619 0 2670 --45.9166665 -45.7499995 -23.4166665 -23.2499995 644 0 2670 --45.7500005 -45.5833335 -23.4166665 -23.2499995 688 0 2670 --45.5833335 -45.4166665 -23.4166665 -23.2499995 793 0 2670 --45.4166665 -45.2499995 -23.4166665 -23.2499995 932 0 2670 --45.2500005 -45.0833335 -23.4166665 -23.2499995 1023 0 2670 --45.0833335 -44.9166665 -23.4166665 -23.2499995 300 0 2670 --44.9166665 -44.7499995 -23.4166665 -23.2499995 174 0 2670 --44.7500005 -44.5833335 -23.4166665 -23.2499995 65 0 2670 --44.5833335 -44.4166665 -23.4166665 -23.2499995 0 -23 -1670 --44.4166665 -44.2499995 -23.4166665 -23.2499995 0 -32 -1670 --44.2500005 -44.0833335 -23.4166665 -23.2499995 0 -43 -1670 --44.0833335 -43.9166665 -23.4166665 -23.2499995 0 -58 -1670 --43.9166665 -43.7499995 -23.4166665 -23.2499995 0 -60 -1670 --43.7500005 -43.5833335 -23.4166665 -23.2499995 0 -66 -1670 --43.5833335 -43.4166665 -23.4166665 -23.2499995 0 -78 -1670 --43.4166665 -43.2499995 -23.4166665 -23.2499995 0 -87 -1670 --43.2500005 -43.0833335 -23.4166665 -23.2499995 0 -108 -1670 --43.0833335 -42.9166665 -23.4166665 -23.2499995 0 -104 -1670 --42.9166665 -42.7499995 -23.4166665 -23.2499995 0 -106 -1670 --42.7500005 -42.5833335 -23.4166665 -23.2499995 0 -106 -1670 --42.5833335 -42.4166665 -23.4166665 -23.2499995 0 -117 -1670 --42.4166665 -42.2499995 -23.4166665 -23.2499995 0 -127 -1670 --42.2500005 -42.0833335 -23.4166665 -23.2499995 0 -131 -1670 --42.0833335 -41.9166665 -23.4166665 -23.2499995 0 -133 -1670 --41.9166665 -41.7499995 -23.4166665 -23.2499995 0 -133 -1670 --41.7500005 -41.5833335 -23.4166665 -23.2499995 0 -128 -1670 --41.5833335 -41.4166665 -23.4166665 -23.2499995 0 -113 -1670 --41.4166665 -41.2499995 -23.4166665 -23.2499995 0 -98 -1670 --41.2500005 -41.0833335 -23.4166665 -23.2499995 0 -125 -1670 --41.0833335 -40.9166665 -23.4166665 -23.2499995 0 -757 -1670 --40.9166665 -40.7499995 -23.4166665 -23.2499995 0 -1859 -1670 --40.7500005 -40.5833335 -23.4166665 -23.2499995 0 -2259 -1670 --40.5833335 -40.4166665 -23.4166665 -23.2499995 0 -2516 -1670 --40.4166665 -40.2499995 -23.4166665 -23.2499995 0 -2610 -1670 --40.2500005 -40.0833335 -23.4166665 -23.2499995 0 -2743 -1670 --40.0833335 -39.9166665 -23.4166665 -23.2499995 0 -2832 -1670 --65.0833335 -64.9166665 -23.5833335 -23.4166665 2130 0 2670 --64.9166665 -64.7499995 -23.5833335 -23.4166665 2474 0 2670 --64.7500005 -64.5833335 -23.5833335 -23.4166665 885 0 2670 --64.5833335 -64.4166665 -23.5833335 -23.4166665 541 0 2670 --64.4166665 -64.2499995 -23.5833335 -23.4166665 323 0 2670 --64.2500005 -64.0833335 -23.5833335 -23.4166665 311 0 2670 --64.0833335 -63.9166665 -23.5833335 -23.4166665 336 0 2670 --63.9166665 -63.7499995 -23.5833335 -23.4166665 349 0 2670 --63.7500005 -63.5833335 -23.5833335 -23.4166665 282 0 2670 --63.5833335 -63.4166665 -23.5833335 -23.4166665 252 0 2670 --63.4166665 -63.2499995 -23.5833335 -23.4166665 244 0 2670 --63.2500005 -63.0833335 -23.5833335 -23.4166665 235 0 2670 --63.0833335 -62.9166665 -23.5833335 -23.4166665 228 0 2670 --62.9166665 -62.7499995 -23.5833335 -23.4166665 220 0 2670 --62.7500005 -62.5833335 -23.5833335 -23.4166665 214 0 2670 --62.5833335 -62.4166665 -23.5833335 -23.4166665 210 0 2670 --62.4166665 -62.2499995 -23.5833335 -23.4166665 203 0 2670 --62.2500005 -62.0833335 -23.5833335 -23.4166665 197 0 2670 --62.0833335 -61.9166665 -23.5833335 -23.4166665 195 0 2670 --61.9166665 -61.7499995 -23.5833335 -23.4166665 194 0 2670 --61.7500005 -61.5833335 -23.5833335 -23.4166665 187 0 2670 --61.5833335 -61.4166665 -23.5833335 -23.4166665 177 0 2670 --61.4166665 -61.2499995 -23.5833335 -23.4166665 174 0 2670 --61.2500005 -61.0833335 -23.5833335 -23.4166665 171 0 2670 --61.0833335 -60.9166665 -23.5833335 -23.4166665 164 0 2670 --60.9166665 -60.7499995 -23.5833335 -23.4166665 156 0 2670 --60.7500005 -60.5833335 -23.5833335 -23.4166665 155 0 2670 --60.5833335 -60.4166665 -23.5833335 -23.4166665 143 0 2670 --60.4166665 -60.2499995 -23.5833335 -23.4166665 140 0 2670 --60.2500005 -60.0833335 -23.5833335 -23.4166665 137 0 2670 --60.0833335 -59.9166665 -23.5833335 -23.4166665 130 0 2670 --59.9166665 -59.7499995 -23.5833335 -23.4166665 128 0 2670 --59.7500005 -59.5833335 -23.5833335 -23.4166665 120 0 2670 --59.5833335 -59.4166665 -23.5833335 -23.4166665 117 0 2670 --59.4166665 -59.2499995 -23.5833335 -23.4166665 113 0 2670 --59.2500005 -59.0833335 -23.5833335 -23.4166665 110 0 2670 --59.0833335 -58.9166665 -23.5833335 -23.4166665 108 0 2670 --58.9166665 -58.7499995 -23.5833335 -23.4166665 101 0 2670 --58.7500005 -58.5833335 -23.5833335 -23.4166665 97 0 2670 --58.5833335 -58.4166665 -23.5833335 -23.4166665 94 0 2670 --58.4166665 -58.2499995 -23.5833335 -23.4166665 90 0 2670 --58.2500005 -58.0833335 -23.5833335 -23.4166665 88 0 2670 --58.0833335 -57.9166665 -23.5833335 -23.4166665 83 0 2670 --57.9166665 -57.7499995 -23.5833335 -23.4166665 78 0 2670 --57.7500005 -57.5833335 -23.5833335 -23.4166665 78 0 2670 --57.5833335 -57.4166665 -23.5833335 -23.4166665 69 0 2670 --57.4166665 -57.2499995 -23.5833335 -23.4166665 82 0 2670 --57.2500005 -57.0833335 -23.5833335 -23.4166665 94 0 2670 --57.0833335 -56.9166665 -23.5833335 -23.4166665 145 0 2670 --56.9166665 -56.7499995 -23.5833335 -23.4166665 224 0 2670 --56.7500005 -56.5833335 -23.5833335 -23.4166665 199 0 2670 --56.5833335 -56.4166665 -23.5833335 -23.4166665 192 0 2670 --56.4166665 -56.2499995 -23.5833335 -23.4166665 334 0 2670 --56.2500005 -56.0833335 -23.5833335 -23.4166665 373 0 2670 --56.0833335 -55.9166665 -23.5833335 -23.4166665 311 0 2670 --55.9166665 -55.7499995 -23.5833335 -23.4166665 269 0 2670 --55.7500005 -55.5833335 -23.5833335 -23.4166665 425 0 2670 --55.5833335 -55.4166665 -23.5833335 -23.4166665 390 0 2670 --55.4166665 -55.2499995 -23.5833335 -23.4166665 376 0 2670 --55.2500005 -55.0833335 -23.5833335 -23.4166665 377 0 2670 --55.0833335 -54.9166665 -23.5833335 -23.4166665 318 0 2670 --54.9166665 -54.7499995 -23.5833335 -23.4166665 297 0 2670 --54.7500005 -54.5833335 -23.5833335 -23.4166665 367 0 2670 --54.5833335 -54.4166665 -23.5833335 -23.4166665 392 0 2670 --54.4166665 -54.2499995 -23.5833335 -23.4166665 341 0 2670 --54.2500005 -54.0833335 -23.5833335 -23.4166665 317 0 2670 --54.0833335 -53.9166665 -23.5833335 -23.4166665 228 0 2670 --53.9166665 -53.7499995 -23.5833335 -23.4166665 315 0 2670 --53.7500005 -53.5833335 -23.5833335 -23.4166665 365 0 2670 --53.5833335 -53.4166665 -23.5833335 -23.4166665 398 0 2670 --53.4166665 -53.2499995 -23.5833335 -23.4166665 406 0 2670 --53.2500005 -53.0833335 -23.5833335 -23.4166665 366 0 2670 --53.0833335 -52.9166665 -23.5833335 -23.4166665 322 0 2670 --52.9166665 -52.7499995 -23.5833335 -23.4166665 441 0 2670 --52.7500005 -52.5833335 -23.5833335 -23.4166665 413 0 2670 --52.5833335 -52.4166665 -23.5833335 -23.4166665 319 0 2670 --52.4166665 -52.2499995 -23.5833335 -23.4166665 356 0 2670 --52.2500005 -52.0833335 -23.5833335 -23.4166665 345 0 2670 --52.0833335 -51.9166665 -23.5833335 -23.4166665 452 0 2670 --51.9166665 -51.7499995 -23.5833335 -23.4166665 519 0 2670 --51.7500005 -51.5833335 -23.5833335 -23.4166665 641 0 2670 --51.5833335 -51.4166665 -23.5833335 -23.4166665 626 0 2670 --51.4166665 -51.2499995 -23.5833335 -23.4166665 732 0 2670 --51.2500005 -51.0833335 -23.5833335 -23.4166665 530 0 2670 --51.0833335 -50.9166665 -23.5833335 -23.4166665 483 0 2670 --50.9166665 -50.7499995 -23.5833335 -23.4166665 571 0 2670 --50.7500005 -50.5833335 -23.5833335 -23.4166665 710 0 2670 --50.5833335 -50.4166665 -23.5833335 -23.4166665 759 0 2670 --50.4166665 -50.2499995 -23.5833335 -23.4166665 655 0 2670 --50.2500005 -50.0833335 -23.5833335 -23.4166665 493 0 2670 --50.0833335 -49.9166665 -23.5833335 -23.4166665 517 0 2670 --49.9166665 -49.7499995 -23.5833335 -23.4166665 648 0 2670 --49.7500005 -49.5833335 -23.5833335 -23.4166665 489 0 2670 --49.5833335 -49.4166665 -23.5833335 -23.4166665 493 0 2670 --49.4166665 -49.2499995 -23.5833335 -23.4166665 654 0 2670 --49.2500005 -49.0833335 -23.5833335 -23.4166665 589 0 2670 --49.0833335 -48.9166665 -23.5833335 -23.4166665 664 0 2670 --48.9166665 -48.7499995 -23.5833335 -23.4166665 648 0 2670 --48.7500005 -48.5833335 -23.5833335 -23.4166665 614 0 2670 --48.5833335 -48.4166665 -23.5833335 -23.4166665 608 0 2670 --48.4166665 -48.2499995 -23.5833335 -23.4166665 741 0 2670 --48.2500005 -48.0833335 -23.5833335 -23.4166665 715 0 2670 --48.0833335 -47.9166665 -23.5833335 -23.4166665 741 0 2670 --47.9166665 -47.7499995 -23.5833335 -23.4166665 555 0 2670 --47.7500005 -47.5833335 -23.5833335 -23.4166665 600 0 2670 --47.5833335 -47.4166665 -23.5833335 -23.4166665 605 0 2670 --47.4166665 -47.2499995 -23.5833335 -23.4166665 702 0 2670 --47.2500005 -47.0833335 -23.5833335 -23.4166665 791 0 2670 --47.0833335 -46.9166665 -23.5833335 -23.4166665 878 0 2670 --46.9166665 -46.7499995 -23.5833335 -23.4166665 760 0 2670 --46.7500005 -46.5833335 -23.5833335 -23.4166665 744 0 2670 --46.5833335 -46.4166665 -23.5833335 -23.4166665 768 0 2670 --46.4166665 -46.2499995 -23.5833335 -23.4166665 739 0 2670 --46.2500005 -46.0833335 -23.5833335 -23.4166665 753 0 2670 --46.0833335 -45.9166665 -23.5833335 -23.4166665 732 0 2670 --45.9166665 -45.7499995 -23.5833335 -23.4166665 889 0 2670 --45.7500005 -45.5833335 -23.5833335 -23.4166665 1058 0 2670 --45.5833335 -45.4166665 -23.5833335 -23.4166665 746 0 2670 --45.4166665 -45.2499995 -23.5833335 -23.4166665 818 0 2670 --45.2500005 -45.0833335 -23.5833335 -23.4166665 20 0 2670 --45.0833335 -44.9166665 -23.5833335 -23.4166665 0 -22 -1670 --44.9166665 -44.7499995 -23.5833335 -23.4166665 0 -28 -1670 --44.7500005 -44.5833335 -23.5833335 -23.4166665 0 -36 -1670 --44.5833335 -44.4166665 -23.5833335 -23.4166665 0 -49 -1670 --44.4166665 -44.2499995 -23.5833335 -23.4166665 0 -51 -1670 --44.2500005 -44.0833335 -23.5833335 -23.4166665 0 -26 -1670 --44.0833335 -43.9166665 -23.5833335 -23.4166665 0 -76 -1670 --43.9166665 -43.7499995 -23.5833335 -23.4166665 0 -92 -1670 --43.7500005 -43.5833335 -23.5833335 -23.4166665 0 -92 -1670 --43.5833335 -43.4166665 -23.5833335 -23.4166665 0 -117 -1670 --43.4166665 -43.2499995 -23.5833335 -23.4166665 0 -119 -1670 --43.2500005 -43.0833335 -23.5833335 -23.4166665 0 -119 -1670 --43.0833335 -42.9166665 -23.5833335 -23.4166665 0 -113 -1670 --42.9166665 -42.7499995 -23.5833335 -23.4166665 0 -124 -1670 --42.7500005 -42.5833335 -23.5833335 -23.4166665 0 -127 -1670 --42.5833335 -42.4166665 -23.5833335 -23.4166665 0 -129 -1670 --42.4166665 -42.2499995 -23.5833335 -23.4166665 0 -137 -1670 --42.2500005 -42.0833335 -23.5833335 -23.4166665 0 -163 -1670 --42.0833335 -41.9166665 -23.5833335 -23.4166665 0 -212 -1670 --41.9166665 -41.7499995 -23.5833335 -23.4166665 0 -142 -1670 --41.7500005 -41.5833335 -23.5833335 -23.4166665 0 -141 -1670 --41.5833335 -41.4166665 -23.5833335 -23.4166665 0 -135 -1670 --41.4166665 -41.2499995 -23.5833335 -23.4166665 0 -113 -1670 --41.2500005 -41.0833335 -23.5833335 -23.4166665 0 -486 -1670 --41.0833335 -40.9166665 -23.5833335 -23.4166665 0 -1556 -1670 --40.9166665 -40.7499995 -23.5833335 -23.4166665 0 -2064 -1670 --40.7500005 -40.5833335 -23.5833335 -23.4166665 0 -2472 -1670 --40.5833335 -40.4166665 -23.5833335 -23.4166665 0 -2691 -1670 --40.4166665 -40.2499995 -23.5833335 -23.4166665 0 -2784 -1670 --40.2500005 -40.0833335 -23.5833335 -23.4166665 0 -2833 -1670 --40.0833335 -39.9166665 -23.5833335 -23.4166665 0 -2901 -1670 --65.0833335 -64.9166665 -23.7500005 -23.5833335 1912 0 2670 --64.9166665 -64.7499995 -23.7500005 -23.5833335 1336 0 2670 --64.7500005 -64.5833335 -23.7500005 -23.5833335 902 0 2670 --64.5833335 -64.4166665 -23.7500005 -23.5833335 367 0 2670 --64.4166665 -64.2499995 -23.7500005 -23.5833335 352 0 2670 --64.2500005 -64.0833335 -23.7500005 -23.5833335 357 0 2670 --64.0833335 -63.9166665 -23.7500005 -23.5833335 438 0 2670 --63.9166665 -63.7499995 -23.7500005 -23.5833335 506 0 2670 --63.7500005 -63.5833335 -23.7500005 -23.5833335 294 0 2670 --63.5833335 -63.4166665 -23.7500005 -23.5833335 246 0 2670 --63.4166665 -63.2499995 -23.7500005 -23.5833335 241 0 2670 --63.2500005 -63.0833335 -23.7500005 -23.5833335 232 0 2670 --63.0833335 -62.9166665 -23.7500005 -23.5833335 224 0 2670 --62.9166665 -62.7499995 -23.7500005 -23.5833335 216 0 2670 --62.7500005 -62.5833335 -23.7500005 -23.5833335 213 0 2670 --62.5833335 -62.4166665 -23.7500005 -23.5833335 207 0 2670 --62.4166665 -62.2499995 -23.7500005 -23.5833335 204 0 2670 --62.2500005 -62.0833335 -23.7500005 -23.5833335 198 0 2670 --62.0833335 -61.9166665 -23.7500005 -23.5833335 192 0 2670 --61.9166665 -61.7499995 -23.7500005 -23.5833335 187 0 2670 --61.7500005 -61.5833335 -23.7500005 -23.5833335 181 0 2670 --61.5833335 -61.4166665 -23.7500005 -23.5833335 179 0 2670 --61.4166665 -61.2499995 -23.7500005 -23.5833335 170 0 2670 --61.2500005 -61.0833335 -23.7500005 -23.5833335 169 0 2670 --61.0833335 -60.9166665 -23.7500005 -23.5833335 164 0 2670 --60.9166665 -60.7499995 -23.7500005 -23.5833335 156 0 2670 --60.7500005 -60.5833335 -23.7500005 -23.5833335 152 0 2670 --60.5833335 -60.4166665 -23.7500005 -23.5833335 146 0 2670 --60.4166665 -60.2499995 -23.7500005 -23.5833335 138 0 2670 --60.2500005 -60.0833335 -23.7500005 -23.5833335 136 0 2670 --60.0833335 -59.9166665 -23.7500005 -23.5833335 131 0 2670 --59.9166665 -59.7499995 -23.7500005 -23.5833335 124 0 2670 --59.7500005 -59.5833335 -23.7500005 -23.5833335 118 0 2670 --59.5833335 -59.4166665 -23.7500005 -23.5833335 116 0 2670 --59.4166665 -59.2499995 -23.7500005 -23.5833335 114 0 2670 --59.2500005 -59.0833335 -23.7500005 -23.5833335 109 0 2670 --59.0833335 -58.9166665 -23.7500005 -23.5833335 105 0 2670 --58.9166665 -58.7499995 -23.7500005 -23.5833335 101 0 2670 --58.7500005 -58.5833335 -23.7500005 -23.5833335 98 0 2670 --58.5833335 -58.4166665 -23.7500005 -23.5833335 94 0 2670 --58.4166665 -58.2499995 -23.7500005 -23.5833335 94 0 2670 --58.2500005 -58.0833335 -23.7500005 -23.5833335 87 0 2670 --58.0833335 -57.9166665 -23.7500005 -23.5833335 88 0 2670 --57.9166665 -57.7499995 -23.7500005 -23.5833335 78 0 2670 --57.7500005 -57.5833335 -23.7500005 -23.5833335 78 0 2670 --57.5833335 -57.4166665 -23.7500005 -23.5833335 70 0 2670 --57.4166665 -57.2499995 -23.7500005 -23.5833335 78 0 2670 --57.2500005 -57.0833335 -23.7500005 -23.5833335 97 0 2670 --57.0833335 -56.9166665 -23.7500005 -23.5833335 161 0 2670 --56.9166665 -56.7499995 -23.7500005 -23.5833335 216 0 2670 --56.7500005 -56.5833335 -23.7500005 -23.5833335 137 0 2670 --56.5833335 -56.4166665 -23.7500005 -23.5833335 159 0 2670 --56.4166665 -56.2499995 -23.7500005 -23.5833335 251 0 2670 --56.2500005 -56.0833335 -23.7500005 -23.5833335 264 0 2670 --56.0833335 -55.9166665 -23.7500005 -23.5833335 187 0 2670 --55.9166665 -55.7499995 -23.7500005 -23.5833335 228 0 2670 --55.7500005 -55.5833335 -23.7500005 -23.5833335 239 0 2670 --55.5833335 -55.4166665 -23.7500005 -23.5833335 389 0 2670 --55.4166665 -55.2499995 -23.7500005 -23.5833335 365 0 2670 --55.2500005 -55.0833335 -23.7500005 -23.5833335 377 0 2670 --55.0833335 -54.9166665 -23.7500005 -23.5833335 376 0 2670 --54.9166665 -54.7499995 -23.7500005 -23.5833335 381 0 2670 --54.7500005 -54.5833335 -23.7500005 -23.5833335 251 0 2670 --54.5833335 -54.4166665 -23.7500005 -23.5833335 308 0 2670 --54.4166665 -54.2499995 -23.7500005 -23.5833335 373 0 2670 --54.2500005 -54.0833335 -23.7500005 -23.5833335 294 0 2670 --54.0833335 -53.9166665 -23.7500005 -23.5833335 228 0 2670 --53.9166665 -53.7499995 -23.7500005 -23.5833335 262 0 2670 --53.7500005 -53.5833335 -23.7500005 -23.5833335 312 0 2670 --53.5833335 -53.4166665 -23.7500005 -23.5833335 408 0 2670 --53.4166665 -53.2499995 -23.7500005 -23.5833335 450 0 2670 --53.2500005 -53.0833335 -23.7500005 -23.5833335 345 0 2670 --53.0833335 -52.9166665 -23.7500005 -23.5833335 432 0 2670 --52.9166665 -52.7499995 -23.7500005 -23.5833335 494 0 2670 --52.7500005 -52.5833335 -23.7500005 -23.5833335 469 0 2670 --52.5833335 -52.4166665 -23.7500005 -23.5833335 427 0 2670 --52.4166665 -52.2499995 -23.7500005 -23.5833335 364 0 2670 --52.2500005 -52.0833335 -23.7500005 -23.5833335 316 0 2670 --52.0833335 -51.9166665 -23.7500005 -23.5833335 384 0 2670 --51.9166665 -51.7499995 -23.7500005 -23.5833335 481 0 2670 --51.7500005 -51.5833335 -23.7500005 -23.5833335 588 0 2670 --51.5833335 -51.4166665 -23.7500005 -23.5833335 578 0 2670 --51.4166665 -51.2499995 -23.7500005 -23.5833335 727 0 2670 --51.2500005 -51.0833335 -23.7500005 -23.5833335 642 0 2670 --51.0833335 -50.9166665 -23.7500005 -23.5833335 660 0 2670 --50.9166665 -50.7499995 -23.7500005 -23.5833335 773 0 2670 --50.7500005 -50.5833335 -23.7500005 -23.5833335 857 0 2670 --50.5833335 -50.4166665 -23.7500005 -23.5833335 764 0 2670 --50.4166665 -50.2499995 -23.7500005 -23.5833335 567 0 2670 --50.2500005 -50.0833335 -23.7500005 -23.5833335 527 0 2670 --50.0833335 -49.9166665 -23.7500005 -23.5833335 566 0 2670 --49.9166665 -49.7499995 -23.7500005 -23.5833335 662 0 2670 --49.7500005 -49.5833335 -23.7500005 -23.5833335 576 0 2670 --49.5833335 -49.4166665 -23.7500005 -23.5833335 525 0 2670 --49.4166665 -49.2499995 -23.7500005 -23.5833335 602 0 2670 --49.2500005 -49.0833335 -23.7500005 -23.5833335 652 0 2670 --49.0833335 -48.9166665 -23.7500005 -23.5833335 648 0 2670 --48.9166665 -48.7499995 -23.7500005 -23.5833335 755 0 2670 --48.7500005 -48.5833335 -23.7500005 -23.5833335 632 0 2670 --48.5833335 -48.4166665 -23.7500005 -23.5833335 631 0 2670 --48.4166665 -48.2499995 -23.7500005 -23.5833335 712 0 2670 --48.2500005 -48.0833335 -23.7500005 -23.5833335 673 0 2670 --48.0833335 -47.9166665 -23.7500005 -23.5833335 644 0 2670 --47.9166665 -47.7499995 -23.7500005 -23.5833335 659 0 2670 --47.7500005 -47.5833335 -23.7500005 -23.5833335 608 0 2670 --47.5833335 -47.4166665 -23.7500005 -23.5833335 748 0 2670 --47.4166665 -47.2499995 -23.7500005 -23.5833335 920 0 2670 --47.2500005 -47.0833335 -23.7500005 -23.5833335 892 0 2670 --47.0833335 -46.9166665 -23.7500005 -23.5833335 927 0 2670 --46.9166665 -46.7499995 -23.7500005 -23.5833335 790 0 2670 --46.7500005 -46.5833335 -23.7500005 -23.5833335 780 0 2670 --46.5833335 -46.4166665 -23.7500005 -23.5833335 769 0 2670 --46.4166665 -46.2499995 -23.7500005 -23.5833335 800 0 2670 --46.2500005 -46.0833335 -23.7500005 -23.5833335 788 0 2670 --46.0833335 -45.9166665 -23.7500005 -23.5833335 802 0 2670 --45.9166665 -45.7499995 -23.7500005 -23.5833335 931 0 2670 --45.7500005 -45.5833335 -23.7500005 -23.5833335 802 0 2670 --45.5833335 -45.4166665 -23.7500005 -23.5833335 64 0 2670 --45.4166665 -45.2499995 -23.7500005 -23.5833335 0 -1 -1670 --45.2500005 -45.0833335 -23.7500005 -23.5833335 0 -21 -1670 --45.0833335 -44.9166665 -23.7500005 -23.5833335 0 -34 -1670 --44.9166665 -44.7499995 -23.7500005 -23.5833335 0 -46 -1670 --44.7500005 -44.5833335 -23.7500005 -23.5833335 0 -36 -1670 --44.5833335 -44.4166665 -23.7500005 -23.5833335 0 -60 -1670 --44.4166665 -44.2499995 -23.7500005 -23.5833335 0 -76 -1670 --44.2500005 -44.0833335 -23.7500005 -23.5833335 0 -85 -1670 --44.0833335 -43.9166665 -23.7500005 -23.5833335 0 -99 -1670 --43.9166665 -43.7499995 -23.7500005 -23.5833335 0 -106 -1670 --43.7500005 -43.5833335 -23.7500005 -23.5833335 0 -116 -1670 --43.5833335 -43.4166665 -23.7500005 -23.5833335 0 -115 -1670 --43.4166665 -43.2499995 -23.7500005 -23.5833335 0 -121 -1670 --43.2500005 -43.0833335 -23.7500005 -23.5833335 0 -117 -1670 --43.0833335 -42.9166665 -23.7500005 -23.5833335 0 -122 -1670 --42.9166665 -42.7499995 -23.7500005 -23.5833335 0 -124 -1670 --42.7500005 -42.5833335 -23.7500005 -23.5833335 0 -151 -1670 --42.5833335 -42.4166665 -23.7500005 -23.5833335 0 -202 -1670 --42.4166665 -42.2499995 -23.7500005 -23.5833335 0 -352 -1670 --42.2500005 -42.0833335 -23.7500005 -23.5833335 0 -414 -1670 --42.0833335 -41.9166665 -23.7500005 -23.5833335 0 -408 -1670 --41.9166665 -41.7499995 -23.7500005 -23.5833335 0 -241 -1670 --41.7500005 -41.5833335 -23.7500005 -23.5833335 0 -151 -1670 --41.5833335 -41.4166665 -23.7500005 -23.5833335 0 -294 -1670 --41.4166665 -41.2499995 -23.7500005 -23.5833335 0 -652 -1670 --41.2500005 -41.0833335 -23.7500005 -23.5833335 0 -1257 -1670 --41.0833335 -40.9166665 -23.7500005 -23.5833335 0 -1869 -1670 --40.9166665 -40.7499995 -23.7500005 -23.5833335 0 -2198 -1670 --40.7500005 -40.5833335 -23.7500005 -23.5833335 0 -2537 -1670 --40.5833335 -40.4166665 -23.7500005 -23.5833335 0 -2722 -1670 --40.4166665 -40.2499995 -23.7500005 -23.5833335 0 -2851 -1670 --40.2500005 -40.0833335 -23.7500005 -23.5833335 0 -3020 -1670 --40.0833335 -39.9166665 -23.7500005 -23.5833335 0 -2977 -1670 --65.0833335 -64.9166665 -23.9166665 -23.7499995 1195 0 2670 --64.9166665 -64.7499995 -23.9166665 -23.7499995 637 0 2670 --64.7500005 -64.5833335 -23.9166665 -23.7499995 377 0 2670 --64.5833335 -64.4166665 -23.9166665 -23.7499995 532 0 2670 --64.4166665 -64.2499995 -23.9166665 -23.7499995 523 0 2670 --64.2500005 -64.0833335 -23.9166665 -23.7499995 427 0 2670 --64.0833335 -63.9166665 -23.9166665 -23.7499995 481 0 2670 --63.9166665 -63.7499995 -23.9166665 -23.7499995 348 0 2670 --63.7500005 -63.5833335 -23.9166665 -23.7499995 266 0 2670 --63.5833335 -63.4166665 -23.9166665 -23.7499995 235 0 2670 --63.4166665 -63.2499995 -23.9166665 -23.7499995 233 0 2670 --63.2500005 -63.0833335 -23.9166665 -23.7499995 228 0 2670 --63.0833335 -62.9166665 -23.9166665 -23.7499995 221 0 2670 --62.9166665 -62.7499995 -23.9166665 -23.7499995 214 0 2670 --62.7500005 -62.5833335 -23.9166665 -23.7499995 209 0 2670 --62.5833335 -62.4166665 -23.9166665 -23.7499995 203 0 2670 --62.4166665 -62.2499995 -23.9166665 -23.7499995 202 0 2670 --62.2500005 -62.0833335 -23.9166665 -23.7499995 195 0 2670 --62.0833335 -61.9166665 -23.9166665 -23.7499995 189 0 2670 --61.9166665 -61.7499995 -23.9166665 -23.7499995 184 0 2670 --61.7500005 -61.5833335 -23.9166665 -23.7499995 181 0 2670 --61.5833335 -61.4166665 -23.9166665 -23.7499995 174 0 2670 --61.4166665 -61.2499995 -23.9166665 -23.7499995 169 0 2670 --61.2500005 -61.0833335 -23.9166665 -23.7499995 165 0 2670 --61.0833335 -60.9166665 -23.9166665 -23.7499995 158 0 2670 --60.9166665 -60.7499995 -23.9166665 -23.7499995 157 0 2670 --60.7500005 -60.5833335 -23.9166665 -23.7499995 155 0 2670 --60.5833335 -60.4166665 -23.9166665 -23.7499995 148 0 2670 --60.4166665 -60.2499995 -23.9166665 -23.7499995 140 0 2670 --60.2500005 -60.0833335 -23.9166665 -23.7499995 137 0 2670 --60.0833335 -59.9166665 -23.9166665 -23.7499995 130 0 2670 --59.9166665 -59.7499995 -23.9166665 -23.7499995 122 0 2670 --59.7500005 -59.5833335 -23.9166665 -23.7499995 118 0 2670 --59.5833335 -59.4166665 -23.9166665 -23.7499995 117 0 2670 --59.4166665 -59.2499995 -23.9166665 -23.7499995 114 0 2670 --59.2500005 -59.0833335 -23.9166665 -23.7499995 110 0 2670 --59.0833335 -58.9166665 -23.9166665 -23.7499995 103 0 2670 --58.9166665 -58.7499995 -23.9166665 -23.7499995 102 0 2670 --58.7500005 -58.5833335 -23.9166665 -23.7499995 101 0 2670 --58.5833335 -58.4166665 -23.9166665 -23.7499995 96 0 2670 --58.4166665 -58.2499995 -23.9166665 -23.7499995 91 0 2670 --58.2500005 -58.0833335 -23.9166665 -23.7499995 88 0 2670 --58.0833335 -57.9166665 -23.9166665 -23.7499995 85 0 2670 --57.9166665 -57.7499995 -23.9166665 -23.7499995 82 0 2670 --57.7500005 -57.5833335 -23.9166665 -23.7499995 79 0 2670 --57.5833335 -57.4166665 -23.9166665 -23.7499995 71 0 2670 --57.4166665 -57.2499995 -23.9166665 -23.7499995 68 0 2670 --57.2500005 -57.0833335 -23.9166665 -23.7499995 77 0 2670 --57.0833335 -56.9166665 -23.9166665 -23.7499995 123 0 2670 --56.9166665 -56.7499995 -23.9166665 -23.7499995 171 0 2670 --56.7500005 -56.5833335 -23.9166665 -23.7499995 176 0 2670 --56.5833335 -56.4166665 -23.9166665 -23.7499995 154 0 2670 --56.4166665 -56.2499995 -23.9166665 -23.7499995 176 0 2670 --56.2500005 -56.0833335 -23.9166665 -23.7499995 219 0 2670 --56.0833335 -55.9166665 -23.9166665 -23.7499995 153 0 2670 --55.9166665 -55.7499995 -23.9166665 -23.7499995 216 0 2670 --55.7500005 -55.5833335 -23.9166665 -23.7499995 232 0 2670 --55.5833335 -55.4166665 -23.9166665 -23.7499995 372 0 2670 --55.4166665 -55.2499995 -23.9166665 -23.7499995 387 0 2670 --55.2500005 -55.0833335 -23.9166665 -23.7499995 377 0 2670 --55.0833335 -54.9166665 -23.9166665 -23.7499995 342 0 2670 --54.9166665 -54.7499995 -23.9166665 -23.7499995 300 0 2670 --54.7500005 -54.5833335 -23.9166665 -23.7499995 358 0 2670 --54.5833335 -54.4166665 -23.9166665 -23.7499995 302 0 2670 --54.4166665 -54.2499995 -23.9166665 -23.7499995 237 0 2670 --54.2500005 -54.0833335 -23.9166665 -23.7499995 262 0 2670 --54.0833335 -53.9166665 -23.9166665 -23.7499995 226 0 2670 --53.9166665 -53.7499995 -23.9166665 -23.7499995 365 0 2670 --53.7500005 -53.5833335 -23.9166665 -23.7499995 335 0 2670 --53.5833335 -53.4166665 -23.9166665 -23.7499995 311 0 2670 --53.4166665 -53.2499995 -23.9166665 -23.7499995 449 0 2670 --53.2500005 -53.0833335 -23.9166665 -23.7499995 411 0 2670 --53.0833335 -52.9166665 -23.9166665 -23.7499995 387 0 2670 --52.9166665 -52.7499995 -23.9166665 -23.7499995 491 0 2670 --52.7500005 -52.5833335 -23.9166665 -23.7499995 548 0 2670 --52.5833335 -52.4166665 -23.9166665 -23.7499995 521 0 2670 --52.4166665 -52.2499995 -23.9166665 -23.7499995 425 0 2670 --52.2500005 -52.0833335 -23.9166665 -23.7499995 371 0 2670 --52.0833335 -51.9166665 -23.9166665 -23.7499995 337 0 2670 --51.9166665 -51.7499995 -23.9166665 -23.7499995 440 0 2670 --51.7500005 -51.5833335 -23.9166665 -23.7499995 487 0 2670 --51.5833335 -51.4166665 -23.9166665 -23.7499995 455 0 2670 --51.4166665 -51.2499995 -23.9166665 -23.7499995 779 0 2670 --51.2500005 -51.0833335 -23.9166665 -23.7499995 884 0 2670 --51.0833335 -50.9166665 -23.9166665 -23.7499995 746 0 2670 --50.9166665 -50.7499995 -23.9166665 -23.7499995 666 0 2670 --50.7500005 -50.5833335 -23.9166665 -23.7499995 921 0 2670 --50.5833335 -50.4166665 -23.9166665 -23.7499995 617 0 2670 --50.4166665 -50.2499995 -23.9166665 -23.7499995 607 0 2670 --50.2500005 -50.0833335 -23.9166665 -23.7499995 713 0 2670 --50.0833335 -49.9166665 -23.9166665 -23.7499995 647 0 2670 --49.9166665 -49.7499995 -23.9166665 -23.7499995 624 0 2670 --49.7500005 -49.5833335 -23.9166665 -23.7499995 595 0 2670 --49.5833335 -49.4166665 -23.9166665 -23.7499995 566 0 2670 --49.4166665 -49.2499995 -23.9166665 -23.7499995 589 0 2670 --49.2500005 -49.0833335 -23.9166665 -23.7499995 630 0 2670 --49.0833335 -48.9166665 -23.9166665 -23.7499995 622 0 2670 --48.9166665 -48.7499995 -23.9166665 -23.7499995 697 0 2670 --48.7500005 -48.5833335 -23.9166665 -23.7499995 678 0 2670 --48.5833335 -48.4166665 -23.9166665 -23.7499995 681 0 2670 --48.4166665 -48.2499995 -23.9166665 -23.7499995 632 0 2670 --48.2500005 -48.0833335 -23.9166665 -23.7499995 656 0 2670 --48.0833335 -47.9166665 -23.9166665 -23.7499995 713 0 2670 --47.9166665 -47.7499995 -23.9166665 -23.7499995 726 0 2670 --47.7500005 -47.5833335 -23.9166665 -23.7499995 740 0 2670 --47.5833335 -47.4166665 -23.9166665 -23.7499995 997 0 2670 --47.4166665 -47.2499995 -23.9166665 -23.7499995 1013 0 2670 --47.2500005 -47.0833335 -23.9166665 -23.7499995 899 0 2670 --47.0833335 -46.9166665 -23.9166665 -23.7499995 869 0 2670 --46.9166665 -46.7499995 -23.9166665 -23.7499995 769 0 2670 --46.7500005 -46.5833335 -23.9166665 -23.7499995 785 0 2670 --46.5833335 -46.4166665 -23.9166665 -23.7499995 751 0 2670 --46.4166665 -46.2499995 -23.9166665 -23.7499995 267 0 2670 --46.2500005 -46.0833335 -23.9166665 -23.7499995 14 0 2670 --46.0833335 -45.9166665 -23.9166665 -23.7499995 0 -2 -1670 --45.9166665 -45.7499995 -23.9166665 -23.7499995 0 -3 -1670 --45.7500005 -45.5833335 -23.9166665 -23.7499995 0 -9 -1670 --45.5833335 -45.4166665 -23.9166665 -23.7499995 129 0 2670 --45.4166665 -45.2499995 -23.9166665 -23.7499995 504 0 2670 --45.2500005 -45.0833335 -23.9166665 -23.7499995 0 -5 -1670 --45.0833335 -44.9166665 -23.9166665 -23.7499995 0 -45 -1670 --44.9166665 -44.7499995 -23.9166665 -23.7499995 0 -74 -1670 --44.7500005 -44.5833335 -23.9166665 -23.7499995 0 -93 -1670 --44.5833335 -44.4166665 -23.9166665 -23.7499995 0 -83 -1670 --44.4166665 -44.2499995 -23.9166665 -23.7499995 0 -96 -1670 --44.2500005 -44.0833335 -23.9166665 -23.7499995 0 -112 -1670 --44.0833335 -43.9166665 -23.9166665 -23.7499995 0 -114 -1670 --43.9166665 -43.7499995 -23.9166665 -23.7499995 0 -124 -1670 --43.7500005 -43.5833335 -23.9166665 -23.7499995 0 -129 -1670 --43.5833335 -43.4166665 -23.9166665 -23.7499995 0 -137 -1670 --43.4166665 -43.2499995 -23.9166665 -23.7499995 0 -132 -1670 --43.2500005 -43.0833335 -23.9166665 -23.7499995 0 -161 -1670 --43.0833335 -42.9166665 -23.9166665 -23.7499995 0 -185 -1670 --42.9166665 -42.7499995 -23.9166665 -23.7499995 0 -324 -1670 --42.7500005 -42.5833335 -23.9166665 -23.7499995 0 -510 -1670 --42.5833335 -42.4166665 -23.9166665 -23.7499995 0 -591 -1670 --42.4166665 -42.2499995 -23.9166665 -23.7499995 0 -688 -1670 --42.2500005 -42.0833335 -23.9166665 -23.7499995 0 -688 -1670 --42.0833335 -41.9166665 -23.9166665 -23.7499995 0 -732 -1670 --41.9166665 -41.7499995 -23.9166665 -23.7499995 0 -783 -1670 --41.7500005 -41.5833335 -23.9166665 -23.7499995 0 -897 -1670 --41.5833335 -41.4166665 -23.9166665 -23.7499995 0 -954 -1670 --41.4166665 -41.2499995 -23.9166665 -23.7499995 0 -1230 -1670 --41.2500005 -41.0833335 -23.9166665 -23.7499995 0 -1623 -1670 --41.0833335 -40.9166665 -23.9166665 -23.7499995 0 -2013 -1670 --40.9166665 -40.7499995 -23.9166665 -23.7499995 0 -2357 -1670 --40.7500005 -40.5833335 -23.9166665 -23.7499995 0 -2497 -1670 --40.5833335 -40.4166665 -23.9166665 -23.7499995 0 -2765 -1670 --40.4166665 -40.2499995 -23.9166665 -23.7499995 0 -2848 -1670 --40.2500005 -40.0833335 -23.9166665 -23.7499995 0 -2928 -1670 --40.0833335 -39.9166665 -23.9166665 -23.7499995 0 -2999 -1670 --65.0833335 -64.9166665 -24.0833335 -23.9166665 823 0 2670 --64.9166665 -64.7499995 -24.0833335 -23.9166665 578 0 2670 --64.7500005 -64.5833335 -24.0833335 -23.9166665 391 0 2670 --64.5833335 -64.4166665 -24.0833335 -23.9166665 978 0 2670 --64.4166665 -64.2499995 -24.0833335 -23.9166665 762 0 2670 --64.2500005 -64.0833335 -24.0833335 -23.9166665 572 0 2670 --64.0833335 -63.9166665 -24.0833335 -23.9166665 392 0 2670 --63.9166665 -63.7499995 -24.0833335 -23.9166665 317 0 2670 --63.7500005 -63.5833335 -24.0833335 -23.9166665 262 0 2670 --63.5833335 -63.4166665 -24.0833335 -23.9166665 230 0 2670 --63.4166665 -63.2499995 -24.0833335 -23.9166665 224 0 2670 --63.2500005 -63.0833335 -24.0833335 -23.9166665 221 0 2670 --63.0833335 -62.9166665 -24.0833335 -23.9166665 216 0 2670 --62.9166665 -62.7499995 -24.0833335 -23.9166665 212 0 2670 --62.7500005 -62.5833335 -24.0833335 -23.9166665 206 0 2670 --62.5833335 -62.4166665 -24.0833335 -23.9166665 200 0 2670 --62.4166665 -62.2499995 -24.0833335 -23.9166665 194 0 2670 --62.2500005 -62.0833335 -24.0833335 -23.9166665 192 0 2670 --62.0833335 -61.9166665 -24.0833335 -23.9166665 187 0 2670 --61.9166665 -61.7499995 -24.0833335 -23.9166665 183 0 2670 --61.7500005 -61.5833335 -24.0833335 -23.9166665 178 0 2670 --61.5833335 -61.4166665 -24.0833335 -23.9166665 172 0 2670 --61.4166665 -61.2499995 -24.0833335 -23.9166665 166 0 2670 --61.2500005 -61.0833335 -24.0833335 -23.9166665 162 0 2670 --61.0833335 -60.9166665 -24.0833335 -23.9166665 156 0 2670 --60.9166665 -60.7499995 -24.0833335 -23.9166665 153 0 2670 --60.7500005 -60.5833335 -24.0833335 -23.9166665 149 0 2670 --60.5833335 -60.4166665 -24.0833335 -23.9166665 145 0 2670 --60.4166665 -60.2499995 -24.0833335 -23.9166665 140 0 2670 --60.2500005 -60.0833335 -24.0833335 -23.9166665 134 0 2670 --60.0833335 -59.9166665 -24.0833335 -23.9166665 129 0 2670 --59.9166665 -59.7499995 -24.0833335 -23.9166665 125 0 2670 --59.7500005 -59.5833335 -24.0833335 -23.9166665 117 0 2670 --59.5833335 -59.4166665 -24.0833335 -23.9166665 113 0 2670 --59.4166665 -59.2499995 -24.0833335 -23.9166665 114 0 2670 --59.2500005 -59.0833335 -24.0833335 -23.9166665 110 0 2670 --59.0833335 -58.9166665 -24.0833335 -23.9166665 104 0 2670 --58.9166665 -58.7499995 -24.0833335 -23.9166665 101 0 2670 --58.7500005 -58.5833335 -24.0833335 -23.9166665 99 0 2670 --58.5833335 -58.4166665 -24.0833335 -23.9166665 95 0 2670 --58.4166665 -58.2499995 -24.0833335 -23.9166665 91 0 2670 --58.2500005 -58.0833335 -24.0833335 -23.9166665 91 0 2670 --58.0833335 -57.9166665 -24.0833335 -23.9166665 82 0 2670 --57.9166665 -57.7499995 -24.0833335 -23.9166665 81 0 2670 --57.7500005 -57.5833335 -24.0833335 -23.9166665 73 0 2670 --57.5833335 -57.4166665 -24.0833335 -23.9166665 70 0 2670 --57.4166665 -57.2499995 -24.0833335 -23.9166665 68 0 2670 --57.2500005 -57.0833335 -24.0833335 -23.9166665 70 0 2670 --57.0833335 -56.9166665 -24.0833335 -23.9166665 112 0 2670 --56.9166665 -56.7499995 -24.0833335 -23.9166665 97 0 2670 --56.7500005 -56.5833335 -24.0833335 -23.9166665 91 0 2670 --56.5833335 -56.4166665 -24.0833335 -23.9166665 170 0 2670 --56.4166665 -56.2499995 -24.0833335 -23.9166665 184 0 2670 --56.2500005 -56.0833335 -24.0833335 -23.9166665 241 0 2670 --56.0833335 -55.9166665 -24.0833335 -23.9166665 191 0 2670 --55.9166665 -55.7499995 -24.0833335 -23.9166665 172 0 2670 --55.7500005 -55.5833335 -24.0833335 -23.9166665 211 0 2670 --55.5833335 -55.4166665 -24.0833335 -23.9166665 227 0 2670 --55.4166665 -55.2499995 -24.0833335 -23.9166665 439 0 2670 --55.2500005 -55.0833335 -24.0833335 -23.9166665 403 0 2670 --55.0833335 -54.9166665 -24.0833335 -23.9166665 364 0 2670 --54.9166665 -54.7499995 -24.0833335 -23.9166665 326 0 2670 --54.7500005 -54.5833335 -24.0833335 -23.9166665 313 0 2670 --54.5833335 -54.4166665 -24.0833335 -23.9166665 279 0 2670 --54.4166665 -54.2499995 -24.0833335 -23.9166665 301 0 2670 --54.2500005 -54.0833335 -24.0833335 -23.9166665 220 0 2670 --54.0833335 -53.9166665 -24.0833335 -23.9166665 228 0 2670 --53.9166665 -53.7499995 -24.0833335 -23.9166665 275 0 2670 --53.7500005 -53.5833335 -24.0833335 -23.9166665 349 0 2670 --53.5833335 -53.4166665 -24.0833335 -23.9166665 361 0 2670 --53.4166665 -53.2499995 -24.0833335 -23.9166665 369 0 2670 --53.2500005 -53.0833335 -24.0833335 -23.9166665 408 0 2670 --53.0833335 -52.9166665 -24.0833335 -23.9166665 424 0 2670 --52.9166665 -52.7499995 -24.0833335 -23.9166665 402 0 2670 --52.7500005 -52.5833335 -24.0833335 -23.9166665 535 0 2670 --52.5833335 -52.4166665 -24.0833335 -23.9166665 587 0 2670 --52.4166665 -52.2499995 -24.0833335 -23.9166665 540 0 2670 --52.2500005 -52.0833335 -24.0833335 -23.9166665 427 0 2670 --52.0833335 -51.9166665 -24.0833335 -23.9166665 358 0 2670 --51.9166665 -51.7499995 -24.0833335 -23.9166665 459 0 2670 --51.7500005 -51.5833335 -24.0833335 -23.9166665 374 0 2670 --51.5833335 -51.4166665 -24.0833335 -23.9166665 595 0 2670 --51.4166665 -51.2499995 -24.0833335 -23.9166665 798 0 2670 --51.2500005 -51.0833335 -24.0833335 -23.9166665 865 0 2670 --51.0833335 -50.9166665 -24.0833335 -23.9166665 747 0 2670 --50.9166665 -50.7499995 -24.0833335 -23.9166665 686 0 2670 --50.7500005 -50.5833335 -24.0833335 -23.9166665 590 0 2670 --50.5833335 -50.4166665 -24.0833335 -23.9166665 768 0 2670 --50.4166665 -50.2499995 -24.0833335 -23.9166665 692 0 2670 --50.2500005 -50.0833335 -24.0833335 -23.9166665 728 0 2670 --50.0833335 -49.9166665 -24.0833335 -23.9166665 610 0 2670 --49.9166665 -49.7499995 -24.0833335 -23.9166665 834 0 2670 --49.7500005 -49.5833335 -24.0833335 -23.9166665 655 0 2670 --49.5833335 -49.4166665 -24.0833335 -23.9166665 564 0 2670 --49.4166665 -49.2499995 -24.0833335 -23.9166665 624 0 2670 --49.2500005 -49.0833335 -24.0833335 -23.9166665 635 0 2670 --49.0833335 -48.9166665 -24.0833335 -23.9166665 703 0 2670 --48.9166665 -48.7499995 -24.0833335 -23.9166665 683 0 2670 --48.7500005 -48.5833335 -24.0833335 -23.9166665 682 0 2670 --48.5833335 -48.4166665 -24.0833335 -23.9166665 722 0 2670 --48.4166665 -48.2499995 -24.0833335 -23.9166665 707 0 2670 --48.2500005 -48.0833335 -24.0833335 -23.9166665 637 0 2670 --48.0833335 -47.9166665 -24.0833335 -23.9166665 721 0 2670 --47.9166665 -47.7499995 -24.0833335 -23.9166665 758 0 2670 --47.7500005 -47.5833335 -24.0833335 -23.9166665 752 0 2670 --47.5833335 -47.4166665 -24.0833335 -23.9166665 791 0 2670 --47.4166665 -47.2499995 -24.0833335 -23.9166665 637 0 2670 --47.2500005 -47.0833335 -24.0833335 -23.9166665 691 0 2670 --47.0833335 -46.9166665 -24.0833335 -23.9166665 750 0 2670 --46.9166665 -46.7499995 -24.0833335 -23.9166665 662 0 2670 --46.7500005 -46.5833335 -24.0833335 -23.9166665 219 0 2670 --46.5833335 -46.4166665 -24.0833335 -23.9166665 9 0 2670 --46.4166665 -46.2499995 -24.0833335 -23.9166665 0 -1 -1670 --46.2500005 -46.0833335 -24.0833335 -23.9166665 0 -5 -1670 --46.0833335 -45.9166665 -24.0833335 -23.9166665 0 -22 -1670 --45.9166665 -45.7499995 -24.0833335 -23.9166665 0 -25 -1670 --45.7500005 -45.5833335 -24.0833335 -23.9166665 0 -29 -1670 --45.5833335 -45.4166665 -24.0833335 -23.9166665 0 -27 -1670 --45.4166665 -45.2499995 -24.0833335 -23.9166665 0 -33 -1670 --45.2500005 -45.0833335 -24.0833335 -23.9166665 0 -74 -1670 --45.0833335 -44.9166665 -24.0833335 -23.9166665 0 -77 -1670 --44.9166665 -44.7499995 -24.0833335 -23.9166665 0 -80 -1670 --44.7500005 -44.5833335 -24.0833335 -23.9166665 0 -95 -1670 --44.5833335 -44.4166665 -24.0833335 -23.9166665 0 -131 -1670 --44.4166665 -44.2499995 -24.0833335 -23.9166665 0 -135 -1670 --44.2500005 -44.0833335 -24.0833335 -23.9166665 0 -134 -1670 --44.0833335 -43.9166665 -24.0833335 -23.9166665 0 -127 -1670 --43.9166665 -43.7499995 -24.0833335 -23.9166665 0 -136 -1670 --43.7500005 -43.5833335 -24.0833335 -23.9166665 0 -158 -1670 --43.5833335 -43.4166665 -24.0833335 -23.9166665 0 -151 -1670 --43.4166665 -43.2499995 -24.0833335 -23.9166665 0 -160 -1670 --43.2500005 -43.0833335 -24.0833335 -23.9166665 0 -309 -1670 --43.0833335 -42.9166665 -24.0833335 -23.9166665 0 -504 -1670 --42.9166665 -42.7499995 -24.0833335 -23.9166665 0 -606 -1670 --42.7500005 -42.5833335 -24.0833335 -23.9166665 0 -711 -1670 --42.5833335 -42.4166665 -24.0833335 -23.9166665 0 -839 -1670 --42.4166665 -42.2499995 -24.0833335 -23.9166665 0 -946 -1670 --42.2500005 -42.0833335 -24.0833335 -23.9166665 0 -1085 -1670 --42.0833335 -41.9166665 -24.0833335 -23.9166665 0 -1164 -1670 --41.9166665 -41.7499995 -24.0833335 -23.9166665 0 -1306 -1670 --41.7500005 -41.5833335 -24.0833335 -23.9166665 0 -1453 -1670 --41.5833335 -41.4166665 -24.0833335 -23.9166665 0 -1447 -1670 --41.4166665 -41.2499995 -24.0833335 -23.9166665 0 -1776 -1670 --41.2500005 -41.0833335 -24.0833335 -23.9166665 0 -2155 -1670 --41.0833335 -40.9166665 -24.0833335 -23.9166665 0 -2373 -1670 --40.9166665 -40.7499995 -24.0833335 -23.9166665 0 -2460 -1670 --40.7500005 -40.5833335 -24.0833335 -23.9166665 0 -2721 -1670 --40.5833335 -40.4166665 -24.0833335 -23.9166665 0 -2856 -1670 --40.4166665 -40.2499995 -24.0833335 -23.9166665 0 -2938 -1670 --40.2500005 -40.0833335 -24.0833335 -23.9166665 0 -2961 -1670 --40.0833335 -39.9166665 -24.0833335 -23.9166665 0 -2997 -1670 --65.0833335 -64.9166665 -24.2500005 -24.0833335 1170 0 2670 --64.9166665 -64.7499995 -24.2500005 -24.0833335 487 0 2670 --64.7500005 -64.5833335 -24.2500005 -24.0833335 449 0 2670 --64.5833335 -64.4166665 -24.2500005 -24.0833335 2346 0 2670 --64.4166665 -64.2499995 -24.2500005 -24.0833335 1639 0 2670 --64.2500005 -64.0833335 -24.2500005 -24.0833335 883 0 2670 --64.0833335 -63.9166665 -24.2500005 -24.0833335 373 0 2670 --63.9166665 -63.7499995 -24.2500005 -24.0833335 289 0 2670 --63.7500005 -63.5833335 -24.2500005 -24.0833335 261 0 2670 --63.5833335 -63.4166665 -24.2500005 -24.0833335 244 0 2670 --63.4166665 -63.2499995 -24.2500005 -24.0833335 227 0 2670 --63.2500005 -63.0833335 -24.2500005 -24.0833335 219 0 2670 --63.0833335 -62.9166665 -24.2500005 -24.0833335 213 0 2670 --62.9166665 -62.7499995 -24.2500005 -24.0833335 208 0 2670 --62.7500005 -62.5833335 -24.2500005 -24.0833335 204 0 2670 --62.5833335 -62.4166665 -24.2500005 -24.0833335 198 0 2670 --62.4166665 -62.2499995 -24.2500005 -24.0833335 191 0 2670 --62.2500005 -62.0833335 -24.2500005 -24.0833335 187 0 2670 --62.0833335 -61.9166665 -24.2500005 -24.0833335 182 0 2670 --61.9166665 -61.7499995 -24.2500005 -24.0833335 179 0 2670 --61.7500005 -61.5833335 -24.2500005 -24.0833335 174 0 2670 --61.5833335 -61.4166665 -24.2500005 -24.0833335 169 0 2670 --61.4166665 -61.2499995 -24.2500005 -24.0833335 164 0 2670 --61.2500005 -61.0833335 -24.2500005 -24.0833335 161 0 2670 --61.0833335 -60.9166665 -24.2500005 -24.0833335 155 0 2670 --60.9166665 -60.7499995 -24.2500005 -24.0833335 150 0 2670 --60.7500005 -60.5833335 -24.2500005 -24.0833335 144 0 2670 --60.5833335 -60.4166665 -24.2500005 -24.0833335 145 0 2670 --60.4166665 -60.2499995 -24.2500005 -24.0833335 141 0 2670 --60.2500005 -60.0833335 -24.2500005 -24.0833335 136 0 2670 --60.0833335 -59.9166665 -24.2500005 -24.0833335 132 0 2670 --59.9166665 -59.7499995 -24.2500005 -24.0833335 123 0 2670 --59.7500005 -59.5833335 -24.2500005 -24.0833335 121 0 2670 --59.5833335 -59.4166665 -24.2500005 -24.0833335 114 0 2670 --59.4166665 -59.2499995 -24.2500005 -24.0833335 111 0 2670 --59.2500005 -59.0833335 -24.2500005 -24.0833335 108 0 2670 --59.0833335 -58.9166665 -24.2500005 -24.0833335 105 0 2670 --58.9166665 -58.7499995 -24.2500005 -24.0833335 102 0 2670 --58.7500005 -58.5833335 -24.2500005 -24.0833335 99 0 2670 --58.5833335 -58.4166665 -24.2500005 -24.0833335 95 0 2670 --58.4166665 -58.2499995 -24.2500005 -24.0833335 90 0 2670 --58.2500005 -58.0833335 -24.2500005 -24.0833335 87 0 2670 --58.0833335 -57.9166665 -24.2500005 -24.0833335 82 0 2670 --57.9166665 -57.7499995 -24.2500005 -24.0833335 77 0 2670 --57.7500005 -57.5833335 -24.2500005 -24.0833335 74 0 2670 --57.5833335 -57.4166665 -24.2500005 -24.0833335 73 0 2670 --57.4166665 -57.2499995 -24.2500005 -24.0833335 69 0 2670 --57.2500005 -57.0833335 -24.2500005 -24.0833335 75 0 2670 --57.0833335 -56.9166665 -24.2500005 -24.0833335 76 0 2670 --56.9166665 -56.7499995 -24.2500005 -24.0833335 89 0 2670 --56.7500005 -56.5833335 -24.2500005 -24.0833335 195 0 2670 --56.5833335 -56.4166665 -24.2500005 -24.0833335 171 0 2670 --56.4166665 -56.2499995 -24.2500005 -24.0833335 150 0 2670 --56.2500005 -56.0833335 -24.2500005 -24.0833335 139 0 2670 --56.0833335 -55.9166665 -24.2500005 -24.0833335 223 0 2670 --55.9166665 -55.7499995 -24.2500005 -24.0833335 176 0 2670 --55.7500005 -55.5833335 -24.2500005 -24.0833335 175 0 2670 --55.5833335 -55.4166665 -24.2500005 -24.0833335 173 0 2670 --55.4166665 -55.2499995 -24.2500005 -24.0833335 193 0 2670 --55.2500005 -55.0833335 -24.2500005 -24.0833335 295 0 2670 --55.0833335 -54.9166665 -24.2500005 -24.0833335 347 0 2670 --54.9166665 -54.7499995 -24.2500005 -24.0833335 356 0 2670 --54.7500005 -54.5833335 -24.2500005 -24.0833335 347 0 2670 --54.5833335 -54.4166665 -24.2500005 -24.0833335 291 0 2670 --54.4166665 -54.2499995 -24.2500005 -24.0833335 235 0 2670 --54.2500005 -54.0833335 -24.2500005 -24.0833335 321 0 2670 --54.0833335 -53.9166665 -24.2500005 -24.0833335 263 0 2670 --53.9166665 -53.7499995 -24.2500005 -24.0833335 249 0 2670 --53.7500005 -53.5833335 -24.2500005 -24.0833335 274 0 2670 --53.5833335 -53.4166665 -24.2500005 -24.0833335 350 0 2670 --53.4166665 -53.2499995 -24.2500005 -24.0833335 350 0 2670 --53.2500005 -53.0833335 -24.2500005 -24.0833335 425 0 2670 --53.0833335 -52.9166665 -24.2500005 -24.0833335 444 0 2670 --52.9166665 -52.7499995 -24.2500005 -24.0833335 541 0 2670 --52.7500005 -52.5833335 -24.2500005 -24.0833335 541 0 2670 --52.5833335 -52.4166665 -24.2500005 -24.0833335 653 0 2670 --52.4166665 -52.2499995 -24.2500005 -24.0833335 599 0 2670 --52.2500005 -52.0833335 -24.2500005 -24.0833335 532 0 2670 --52.0833335 -51.9166665 -24.2500005 -24.0833335 432 0 2670 --51.9166665 -51.7499995 -24.2500005 -24.0833335 535 0 2670 --51.7500005 -51.5833335 -24.2500005 -24.0833335 617 0 2670 --51.5833335 -51.4166665 -24.2500005 -24.0833335 526 0 2670 --51.4166665 -51.2499995 -24.2500005 -24.0833335 430 0 2670 --51.2500005 -51.0833335 -24.2500005 -24.0833335 661 0 2670 --51.0833335 -50.9166665 -24.2500005 -24.0833335 819 0 2670 --50.9166665 -50.7499995 -24.2500005 -24.0833335 744 0 2670 --50.7500005 -50.5833335 -24.2500005 -24.0833335 691 0 2670 --50.5833335 -50.4166665 -24.2500005 -24.0833335 845 0 2670 --50.4166665 -50.2499995 -24.2500005 -24.0833335 912 0 2670 --50.2500005 -50.0833335 -24.2500005 -24.0833335 806 0 2670 --50.0833335 -49.9166665 -24.2500005 -24.0833335 765 0 2670 --49.9166665 -49.7499995 -24.2500005 -24.0833335 860 0 2670 --49.7500005 -49.5833335 -24.2500005 -24.0833335 813 0 2670 --49.5833335 -49.4166665 -24.2500005 -24.0833335 742 0 2670 --49.4166665 -49.2499995 -24.2500005 -24.0833335 822 0 2670 --49.2500005 -49.0833335 -24.2500005 -24.0833335 881 0 2670 --49.0833335 -48.9166665 -24.2500005 -24.0833335 889 0 2670 --48.9166665 -48.7499995 -24.2500005 -24.0833335 951 0 2670 --48.7500005 -48.5833335 -24.2500005 -24.0833335 865 0 2670 --48.5833335 -48.4166665 -24.2500005 -24.0833335 789 0 2670 --48.4166665 -48.2499995 -24.2500005 -24.0833335 814 0 2670 --48.2500005 -48.0833335 -24.2500005 -24.0833335 840 0 2670 --48.0833335 -47.9166665 -24.2500005 -24.0833335 744 0 2670 --47.9166665 -47.7499995 -24.2500005 -24.0833335 242 0 2670 --47.7500005 -47.5833335 -24.2500005 -24.0833335 128 0 2670 --47.5833335 -47.4166665 -24.2500005 -24.0833335 309 0 2670 --47.4166665 -47.2499995 -24.2500005 -24.0833335 77 0 2670 --47.2500005 -47.0833335 -24.2500005 -24.0833335 331 0 2670 --47.0833335 -46.9166665 -24.2500005 -24.0833335 81 0 2670 --46.9166665 -46.7499995 -24.2500005 -24.0833335 12 0 2670 --46.7500005 -46.5833335 -24.2500005 -24.0833335 0 -4 -1670 --46.5833335 -46.4166665 -24.2500005 -24.0833335 0 -19 -1670 --46.4166665 -46.2499995 -24.2500005 -24.0833335 0 -24 -1670 --46.2500005 -46.0833335 -24.2500005 -24.0833335 0 -26 -1670 --46.0833335 -45.9166665 -24.2500005 -24.0833335 0 -30 -1670 --45.9166665 -45.7499995 -24.2500005 -24.0833335 0 -26 -1670 --45.7500005 -45.5833335 -24.2500005 -24.0833335 0 -30 -1670 --45.5833335 -45.4166665 -24.2500005 -24.0833335 0 -54 -1670 --45.4166665 -45.2499995 -24.2500005 -24.0833335 0 -81 -1670 --45.2500005 -45.0833335 -24.2500005 -24.0833335 0 -70 -1670 --45.0833335 -44.9166665 -24.2500005 -24.0833335 0 -65 -1670 --44.9166665 -44.7499995 -24.2500005 -24.0833335 0 -92 -1670 --44.7500005 -44.5833335 -24.2500005 -24.0833335 0 -125 -1670 --44.5833335 -44.4166665 -24.2500005 -24.0833335 0 -125 -1670 --44.4166665 -44.2499995 -24.2500005 -24.0833335 0 -150 -1670 --44.2500005 -44.0833335 -24.2500005 -24.0833335 0 -147 -1670 --44.0833335 -43.9166665 -24.2500005 -24.0833335 0 -169 -1670 --43.9166665 -43.7499995 -24.2500005 -24.0833335 0 -187 -1670 --43.7500005 -43.5833335 -24.2500005 -24.0833335 0 -181 -1670 --43.5833335 -43.4166665 -24.2500005 -24.0833335 0 -271 -1670 --43.4166665 -43.2499995 -24.2500005 -24.0833335 0 -511 -1670 --43.2500005 -43.0833335 -24.2500005 -24.0833335 0 -639 -1670 --43.0833335 -42.9166665 -24.2500005 -24.0833335 0 -825 -1670 --42.9166665 -42.7499995 -24.2500005 -24.0833335 0 -997 -1670 --42.7500005 -42.5833335 -24.2500005 -24.0833335 0 -1131 -1670 --42.5833335 -42.4166665 -24.2500005 -24.0833335 0 -1241 -1670 --42.4166665 -42.2499995 -24.2500005 -24.0833335 0 -1378 -1670 --42.2500005 -42.0833335 -24.2500005 -24.0833335 0 -1484 -1670 --42.0833335 -41.9166665 -24.2500005 -24.0833335 0 -1499 -1670 --41.9166665 -41.7499995 -24.2500005 -24.0833335 0 -1668 -1670 --41.7500005 -41.5833335 -24.2500005 -24.0833335 0 -1761 -1670 --41.5833335 -41.4166665 -24.2500005 -24.0833335 0 -1861 -1670 --41.4166665 -41.2499995 -24.2500005 -24.0833335 0 -2099 -1670 --41.2500005 -41.0833335 -24.2500005 -24.0833335 0 -2253 -1670 --41.0833335 -40.9166665 -24.2500005 -24.0833335 0 -2486 -1670 --40.9166665 -40.7499995 -24.2500005 -24.0833335 0 -2754 -1670 --40.7500005 -40.5833335 -24.2500005 -24.0833335 0 -2834 -1670 --40.5833335 -40.4166665 -24.2500005 -24.0833335 0 -2888 -1670 --40.4166665 -40.2499995 -24.2500005 -24.0833335 0 -2907 -1670 --40.2500005 -40.0833335 -24.2500005 -24.0833335 0 -3016 -1670 --40.0833335 -39.9166665 -24.2500005 -24.0833335 0 -3053 -1670 --65.0833335 -64.9166665 -24.4166665 -24.2499995 861 0 2670 --64.9166665 -64.7499995 -24.4166665 -24.2499995 556 0 2670 --64.7500005 -64.5833335 -24.4166665 -24.2499995 579 0 2670 --64.5833335 -64.4166665 -24.4166665 -24.2499995 1292 0 2670 --64.4166665 -64.2499995 -24.4166665 -24.2499995 1278 0 2670 --64.2500005 -64.0833335 -24.4166665 -24.2499995 514 0 2670 --64.0833335 -63.9166665 -24.4166665 -24.2499995 359 0 2670 --63.9166665 -63.7499995 -24.4166665 -24.2499995 313 0 2670 --63.7500005 -63.5833335 -24.4166665 -24.2499995 275 0 2670 --63.5833335 -63.4166665 -24.4166665 -24.2499995 249 0 2670 --63.4166665 -63.2499995 -24.4166665 -24.2499995 235 0 2670 --63.2500005 -63.0833335 -24.4166665 -24.2499995 226 0 2670 --63.0833335 -62.9166665 -24.4166665 -24.2499995 219 0 2670 --62.9166665 -62.7499995 -24.4166665 -24.2499995 209 0 2670 --62.7500005 -62.5833335 -24.4166665 -24.2499995 201 0 2670 --62.5833335 -62.4166665 -24.4166665 -24.2499995 193 0 2670 --62.4166665 -62.2499995 -24.4166665 -24.2499995 189 0 2670 --62.2500005 -62.0833335 -24.4166665 -24.2499995 184 0 2670 --62.0833335 -61.9166665 -24.4166665 -24.2499995 180 0 2670 --61.9166665 -61.7499995 -24.4166665 -24.2499995 177 0 2670 --61.7500005 -61.5833335 -24.4166665 -24.2499995 170 0 2670 --61.5833335 -61.4166665 -24.4166665 -24.2499995 164 0 2670 --61.4166665 -61.2499995 -24.4166665 -24.2499995 154 0 2670 --61.2500005 -61.0833335 -24.4166665 -24.2499995 155 0 2670 --61.0833335 -60.9166665 -24.4166665 -24.2499995 153 0 2670 --60.9166665 -60.7499995 -24.4166665 -24.2499995 146 0 2670 --60.7500005 -60.5833335 -24.4166665 -24.2499995 143 0 2670 --60.5833335 -60.4166665 -24.4166665 -24.2499995 140 0 2670 --60.4166665 -60.2499995 -24.4166665 -24.2499995 135 0 2670 --60.2500005 -60.0833335 -24.4166665 -24.2499995 130 0 2670 --60.0833335 -59.9166665 -24.4166665 -24.2499995 128 0 2670 --59.9166665 -59.7499995 -24.4166665 -24.2499995 125 0 2670 --59.7500005 -59.5833335 -24.4166665 -24.2499995 118 0 2670 --59.5833335 -59.4166665 -24.4166665 -24.2499995 113 0 2670 --59.4166665 -59.2499995 -24.4166665 -24.2499995 109 0 2670 --59.2500005 -59.0833335 -24.4166665 -24.2499995 107 0 2670 --59.0833335 -58.9166665 -24.4166665 -24.2499995 103 0 2670 --58.9166665 -58.7499995 -24.4166665 -24.2499995 99 0 2670 --58.7500005 -58.5833335 -24.4166665 -24.2499995 97 0 2670 --58.5833335 -58.4166665 -24.4166665 -24.2499995 92 0 2670 --58.4166665 -58.2499995 -24.4166665 -24.2499995 88 0 2670 --58.2500005 -58.0833335 -24.4166665 -24.2499995 86 0 2670 --58.0833335 -57.9166665 -24.4166665 -24.2499995 83 0 2670 --57.9166665 -57.7499995 -24.4166665 -24.2499995 78 0 2670 --57.7500005 -57.5833335 -24.4166665 -24.2499995 73 0 2670 --57.5833335 -57.4166665 -24.4166665 -24.2499995 72 0 2670 --57.4166665 -57.2499995 -24.4166665 -24.2499995 69 0 2670 --57.2500005 -57.0833335 -24.4166665 -24.2499995 65 0 2670 --57.0833335 -56.9166665 -24.4166665 -24.2499995 68 0 2670 --56.9166665 -56.7499995 -24.4166665 -24.2499995 121 0 2670 --56.7500005 -56.5833335 -24.4166665 -24.2499995 190 0 2670 --56.5833335 -56.4166665 -24.4166665 -24.2499995 231 0 2670 --56.4166665 -56.2499995 -24.4166665 -24.2499995 199 0 2670 --56.2500005 -56.0833335 -24.4166665 -24.2499995 213 0 2670 --56.0833335 -55.9166665 -24.4166665 -24.2499995 267 0 2670 --55.9166665 -55.7499995 -24.4166665 -24.2499995 221 0 2670 --55.7500005 -55.5833335 -24.4166665 -24.2499995 237 0 2670 --55.5833335 -55.4166665 -24.4166665 -24.2499995 199 0 2670 --55.4166665 -55.2499995 -24.4166665 -24.2499995 233 0 2670 --55.2500005 -55.0833335 -24.4166665 -24.2499995 252 0 2670 --55.0833335 -54.9166665 -24.4166665 -24.2499995 364 0 2670 --54.9166665 -54.7499995 -24.4166665 -24.2499995 328 0 2670 --54.7500005 -54.5833335 -24.4166665 -24.2499995 307 0 2670 --54.5833335 -54.4166665 -24.4166665 -24.2499995 292 0 2670 --54.4166665 -54.2499995 -24.4166665 -24.2499995 313 0 2670 --54.2500005 -54.0833335 -24.4166665 -24.2499995 363 0 2670 --54.0833335 -53.9166665 -24.4166665 -24.2499995 318 0 2670 --53.9166665 -53.7499995 -24.4166665 -24.2499995 351 0 2670 --53.7500005 -53.5833335 -24.4166665 -24.2499995 355 0 2670 --53.5833335 -53.4166665 -24.4166665 -24.2499995 394 0 2670 --53.4166665 -53.2499995 -24.4166665 -24.2499995 334 0 2670 --53.2500005 -53.0833335 -24.4166665 -24.2499995 406 0 2670 --53.0833335 -52.9166665 -24.4166665 -24.2499995 421 0 2670 --52.9166665 -52.7499995 -24.4166665 -24.2499995 551 0 2670 --52.7500005 -52.5833335 -24.4166665 -24.2499995 632 0 2670 --52.5833335 -52.4166665 -24.4166665 -24.2499995 764 0 2670 --52.4166665 -52.2499995 -24.4166665 -24.2499995 687 0 2670 --52.2500005 -52.0833335 -24.4166665 -24.2499995 534 0 2670 --52.0833335 -51.9166665 -24.4166665 -24.2499995 448 0 2670 --51.9166665 -51.7499995 -24.4166665 -24.2499995 575 0 2670 --51.7500005 -51.5833335 -24.4166665 -24.2499995 774 0 2670 --51.5833335 -51.4166665 -24.4166665 -24.2499995 439 0 2670 --51.4166665 -51.2499995 -24.4166665 -24.2499995 704 0 2670 --51.2500005 -51.0833335 -24.4166665 -24.2499995 606 0 2670 --51.0833335 -50.9166665 -24.4166665 -24.2499995 544 0 2670 --50.9166665 -50.7499995 -24.4166665 -24.2499995 823 0 2670 --50.7500005 -50.5833335 -24.4166665 -24.2499995 762 0 2670 --50.5833335 -50.4166665 -24.4166665 -24.2499995 793 0 2670 --50.4166665 -50.2499995 -24.4166665 -24.2499995 978 0 2670 --50.2500005 -50.0833335 -24.4166665 -24.2499995 970 0 2670 --50.0833335 -49.9166665 -24.4166665 -24.2499995 1054 0 2670 --49.9166665 -49.7499995 -24.4166665 -24.2499995 1146 0 2670 --49.7500005 -49.5833335 -24.4166665 -24.2499995 1212 0 2670 --49.5833335 -49.4166665 -24.4166665 -24.2499995 925 0 2670 --49.4166665 -49.2499995 -24.4166665 -24.2499995 902 0 2670 --49.2500005 -49.0833335 -24.4166665 -24.2499995 1002 0 2670 --49.0833335 -48.9166665 -24.4166665 -24.2499995 962 0 2670 --48.9166665 -48.7499995 -24.4166665 -24.2499995 978 0 2670 --48.7500005 -48.5833335 -24.4166665 -24.2499995 934 0 2670 --48.5833335 -48.4166665 -24.4166665 -24.2499995 689 0 2670 --48.4166665 -48.2499995 -24.4166665 -24.2499995 864 0 2670 --48.2500005 -48.0833335 -24.4166665 -24.2499995 161 0 2670 --48.0833335 -47.9166665 -24.4166665 -24.2499995 48 0 2670 --47.9166665 -47.7499995 -24.4166665 -24.2499995 21 0 2670 --47.7500005 -47.5833335 -24.4166665 -24.2499995 27 0 2670 --47.5833335 -47.4166665 -24.4166665 -24.2499995 129 0 2670 --47.4166665 -47.2499995 -24.4166665 -24.2499995 467 0 2670 --47.2500005 -47.0833335 -24.4166665 -24.2499995 198 0 2670 --47.0833335 -46.9166665 -24.4166665 -24.2499995 5 0 2670 --46.9166665 -46.7499995 -24.4166665 -24.2499995 0 -1 -1670 --46.7500005 -46.5833335 -24.4166665 -24.2499995 0 -24 -1670 --46.5833335 -46.4166665 -24.4166665 -24.2499995 0 -22 -1670 --46.4166665 -46.2499995 -24.4166665 -24.2499995 0 -26 -1670 --46.2500005 -46.0833335 -24.4166665 -24.2499995 0 -1 -1670 --46.0833335 -45.9166665 -24.4166665 -24.2499995 0 -46 -1670 --45.9166665 -45.7499995 -24.4166665 -24.2499995 0 -49 -1670 --45.7500005 -45.5833335 -24.4166665 -24.2499995 0 -48 -1670 --45.5833335 -45.4166665 -24.4166665 -24.2499995 0 -46 -1670 --45.4166665 -45.2499995 -24.4166665 -24.2499995 0 -63 -1670 --45.2500005 -45.0833335 -24.4166665 -24.2499995 0 -75 -1670 --45.0833335 -44.9166665 -24.4166665 -24.2499995 0 -79 -1670 --44.9166665 -44.7499995 -24.4166665 -24.2499995 0 -124 -1670 --44.7500005 -44.5833335 -24.4166665 -24.2499995 0 -108 -1670 --44.5833335 -44.4166665 -24.4166665 -24.2499995 0 -158 -1670 --44.4166665 -44.2499995 -24.4166665 -24.2499995 0 -156 -1670 --44.2500005 -44.0833335 -24.4166665 -24.2499995 0 -317 -1670 --44.0833335 -43.9166665 -24.4166665 -24.2499995 0 -436 -1670 --43.9166665 -43.7499995 -24.4166665 -24.2499995 0 -540 -1670 --43.7500005 -43.5833335 -24.4166665 -24.2499995 0 -688 -1670 --43.5833335 -43.4166665 -24.4166665 -24.2499995 0 -821 -1670 --43.4166665 -43.2499995 -24.4166665 -24.2499995 0 -908 -1670 --43.2500005 -43.0833335 -24.4166665 -24.2499995 0 -1065 -1670 --43.0833335 -42.9166665 -24.4166665 -24.2499995 0 -1186 -1670 --42.9166665 -42.7499995 -24.4166665 -24.2499995 0 -1338 -1670 --42.7500005 -42.5833335 -24.4166665 -24.2499995 0 -1475 -1670 --42.5833335 -42.4166665 -24.4166665 -24.2499995 0 -1577 -1670 --42.4166665 -42.2499995 -24.4166665 -24.2499995 0 -1572 -1670 --42.2500005 -42.0833335 -24.4166665 -24.2499995 0 -1548 -1670 --42.0833335 -41.9166665 -24.4166665 -24.2499995 0 -1708 -1670 --41.9166665 -41.7499995 -24.4166665 -24.2499995 0 -1969 -1670 --41.7500005 -41.5833335 -24.4166665 -24.2499995 0 -2045 -1670 --41.5833335 -41.4166665 -24.4166665 -24.2499995 0 -2103 -1670 --41.4166665 -41.2499995 -24.4166665 -24.2499995 0 -2220 -1670 --41.2500005 -41.0833335 -24.4166665 -24.2499995 0 -2410 -1670 --41.0833335 -40.9166665 -24.4166665 -24.2499995 0 -2629 -1670 --40.9166665 -40.7499995 -24.4166665 -24.2499995 0 -2789 -1670 --40.7500005 -40.5833335 -24.4166665 -24.2499995 0 -2847 -1670 --40.5833335 -40.4166665 -24.4166665 -24.2499995 0 -2966 -1670 --40.4166665 -40.2499995 -24.4166665 -24.2499995 0 -3013 -1670 --40.2500005 -40.0833335 -24.4166665 -24.2499995 0 -3029 -1670 --40.0833335 -39.9166665 -24.4166665 -24.2499995 0 -3031 -1670 --65.0833335 -64.9166665 -24.5833335 -24.4166665 712 0 2670 --64.9166665 -64.7499995 -24.5833335 -24.4166665 558 0 2670 --64.7500005 -64.5833335 -24.5833335 -24.4166665 757 0 2670 --64.5833335 -64.4166665 -24.5833335 -24.4166665 1887 0 2670 --64.4166665 -64.2499995 -24.5833335 -24.4166665 810 0 2670 --64.2500005 -64.0833335 -24.5833335 -24.4166665 445 0 2670 --64.0833335 -63.9166665 -24.5833335 -24.4166665 366 0 2670 --63.9166665 -63.7499995 -24.5833335 -24.4166665 325 0 2670 --63.7500005 -63.5833335 -24.5833335 -24.4166665 290 0 2670 --63.5833335 -63.4166665 -24.5833335 -24.4166665 262 0 2670 --63.4166665 -63.2499995 -24.5833335 -24.4166665 245 0 2670 --63.2500005 -63.0833335 -24.5833335 -24.4166665 238 0 2670 --63.0833335 -62.9166665 -24.5833335 -24.4166665 227 0 2670 --62.9166665 -62.7499995 -24.5833335 -24.4166665 214 0 2670 --62.7500005 -62.5833335 -24.5833335 -24.4166665 206 0 2670 --62.5833335 -62.4166665 -24.5833335 -24.4166665 196 0 2670 --62.4166665 -62.2499995 -24.5833335 -24.4166665 189 0 2670 --62.2500005 -62.0833335 -24.5833335 -24.4166665 184 0 2670 --62.0833335 -61.9166665 -24.5833335 -24.4166665 177 0 2670 --61.9166665 -61.7499995 -24.5833335 -24.4166665 169 0 2670 --61.7500005 -61.5833335 -24.5833335 -24.4166665 167 0 2670 --61.5833335 -61.4166665 -24.5833335 -24.4166665 163 0 2670 --61.4166665 -61.2499995 -24.5833335 -24.4166665 158 0 2670 --61.2500005 -61.0833335 -24.5833335 -24.4166665 153 0 2670 --61.0833335 -60.9166665 -24.5833335 -24.4166665 149 0 2670 --60.9166665 -60.7499995 -24.5833335 -24.4166665 146 0 2670 --60.7500005 -60.5833335 -24.5833335 -24.4166665 140 0 2670 --60.5833335 -60.4166665 -24.5833335 -24.4166665 135 0 2670 --60.4166665 -60.2499995 -24.5833335 -24.4166665 132 0 2670 --60.2500005 -60.0833335 -24.5833335 -24.4166665 127 0 2670 --60.0833335 -59.9166665 -24.5833335 -24.4166665 123 0 2670 --59.9166665 -59.7499995 -24.5833335 -24.4166665 120 0 2670 --59.7500005 -59.5833335 -24.5833335 -24.4166665 115 0 2670 --59.5833335 -59.4166665 -24.5833335 -24.4166665 108 0 2670 --59.4166665 -59.2499995 -24.5833335 -24.4166665 109 0 2670 --59.2500005 -59.0833335 -24.5833335 -24.4166665 104 0 2670 --59.0833335 -58.9166665 -24.5833335 -24.4166665 100 0 2670 --58.9166665 -58.7499995 -24.5833335 -24.4166665 98 0 2670 --58.7500005 -58.5833335 -24.5833335 -24.4166665 93 0 2670 --58.5833335 -58.4166665 -24.5833335 -24.4166665 92 0 2670 --58.4166665 -58.2499995 -24.5833335 -24.4166665 87 0 2670 --58.2500005 -58.0833335 -24.5833335 -24.4166665 86 0 2670 --58.0833335 -57.9166665 -24.5833335 -24.4166665 78 0 2670 --57.9166665 -57.7499995 -24.5833335 -24.4166665 76 0 2670 --57.7500005 -57.5833335 -24.5833335 -24.4166665 75 0 2670 --57.5833335 -57.4166665 -24.5833335 -24.4166665 71 0 2670 --57.4166665 -57.2499995 -24.5833335 -24.4166665 68 0 2670 --57.2500005 -57.0833335 -24.5833335 -24.4166665 62 0 2670 --57.0833335 -56.9166665 -24.5833335 -24.4166665 73 0 2670 --56.9166665 -56.7499995 -24.5833335 -24.4166665 99 0 2670 --56.7500005 -56.5833335 -24.5833335 -24.4166665 126 0 2670 --56.5833335 -56.4166665 -24.5833335 -24.4166665 248 0 2670 --56.4166665 -56.2499995 -24.5833335 -24.4166665 232 0 2670 --56.2500005 -56.0833335 -24.5833335 -24.4166665 307 0 2670 --56.0833335 -55.9166665 -24.5833335 -24.4166665 152 0 2670 --55.9166665 -55.7499995 -24.5833335 -24.4166665 217 0 2670 --55.7500005 -55.5833335 -24.5833335 -24.4166665 220 0 2670 --55.5833335 -55.4166665 -24.5833335 -24.4166665 246 0 2670 --55.4166665 -55.2499995 -24.5833335 -24.4166665 293 0 2670 --55.2500005 -55.0833335 -24.5833335 -24.4166665 344 0 2670 --55.0833335 -54.9166665 -24.5833335 -24.4166665 356 0 2670 --54.9166665 -54.7499995 -24.5833335 -24.4166665 387 0 2670 --54.7500005 -54.5833335 -24.5833335 -24.4166665 291 0 2670 --54.5833335 -54.4166665 -24.5833335 -24.4166665 271 0 2670 --54.4166665 -54.2499995 -24.5833335 -24.4166665 217 0 2670 --54.2500005 -54.0833335 -24.5833335 -24.4166665 308 0 2670 --54.0833335 -53.9166665 -24.5833335 -24.4166665 394 0 2670 --53.9166665 -53.7499995 -24.5833335 -24.4166665 435 0 2670 --53.7500005 -53.5833335 -24.5833335 -24.4166665 436 0 2670 --53.5833335 -53.4166665 -24.5833335 -24.4166665 469 0 2670 --53.4166665 -53.2499995 -24.5833335 -24.4166665 440 0 2670 --53.2500005 -53.0833335 -24.5833335 -24.4166665 321 0 2670 --53.0833335 -52.9166665 -24.5833335 -24.4166665 432 0 2670 --52.9166665 -52.7499995 -24.5833335 -24.4166665 415 0 2670 --52.7500005 -52.5833335 -24.5833335 -24.4166665 488 0 2670 --52.5833335 -52.4166665 -24.5833335 -24.4166665 616 0 2670 --52.4166665 -52.2499995 -24.5833335 -24.4166665 813 0 2670 --52.2500005 -52.0833335 -24.5833335 -24.4166665 688 0 2670 --52.0833335 -51.9166665 -24.5833335 -24.4166665 567 0 2670 --51.9166665 -51.7499995 -24.5833335 -24.4166665 604 0 2670 --51.7500005 -51.5833335 -24.5833335 -24.4166665 882 0 2670 --51.5833335 -51.4166665 -24.5833335 -24.4166665 600 0 2670 --51.4166665 -51.2499995 -24.5833335 -24.4166665 701 0 2670 --51.2500005 -51.0833335 -24.5833335 -24.4166665 827 0 2670 --51.0833335 -50.9166665 -24.5833335 -24.4166665 630 0 2670 --50.9166665 -50.7499995 -24.5833335 -24.4166665 912 0 2670 --50.7500005 -50.5833335 -24.5833335 -24.4166665 776 0 2670 --50.5833335 -50.4166665 -24.5833335 -24.4166665 741 0 2670 --50.4166665 -50.2499995 -24.5833335 -24.4166665 772 0 2670 --50.2500005 -50.0833335 -24.5833335 -24.4166665 1128 0 2670 --50.0833335 -49.9166665 -24.5833335 -24.4166665 1083 0 2670 --49.9166665 -49.7499995 -24.5833335 -24.4166665 1041 0 2670 --49.7500005 -49.5833335 -24.5833335 -24.4166665 971 0 2670 --49.5833335 -49.4166665 -24.5833335 -24.4166665 1003 0 2670 --49.4166665 -49.2499995 -24.5833335 -24.4166665 839 0 2670 --49.2500005 -49.0833335 -24.5833335 -24.4166665 729 0 2670 --49.0833335 -48.9166665 -24.5833335 -24.4166665 850 0 2670 --48.9166665 -48.7499995 -24.5833335 -24.4166665 977 0 2670 --48.7500005 -48.5833335 -24.5833335 -24.4166665 667 0 2670 --48.5833335 -48.4166665 -24.5833335 -24.4166665 278 0 2670 --48.4166665 -48.2499995 -24.5833335 -24.4166665 316 0 2670 --48.2500005 -48.0833335 -24.5833335 -24.4166665 104 0 2670 --48.0833335 -47.9166665 -24.5833335 -24.4166665 96 0 2670 --47.9166665 -47.7499995 -24.5833335 -24.4166665 15 0 2670 --47.7500005 -47.5833335 -24.5833335 -24.4166665 12 0 2670 --47.5833335 -47.4166665 -24.5833335 -24.4166665 12 0 2670 --47.4166665 -47.2499995 -24.5833335 -24.4166665 13 0 2670 --47.2500005 -47.0833335 -24.5833335 -24.4166665 13 0 2670 --47.0833335 -46.9166665 -24.5833335 -24.4166665 0 -12 -1670 --46.9166665 -46.7499995 -24.5833335 -24.4166665 0 -24 -1670 --46.7500005 -46.5833335 -24.5833335 -24.4166665 0 -9 -1670 --46.5833335 -46.4166665 -24.5833335 -24.4166665 0 -31 -1670 --46.4166665 -46.2499995 -24.5833335 -24.4166665 0 -36 -1670 --46.2500005 -46.0833335 -24.5833335 -24.4166665 0 -44 -1670 --46.0833335 -45.9166665 -24.5833335 -24.4166665 0 -56 -1670 --45.9166665 -45.7499995 -24.5833335 -24.4166665 0 -58 -1670 --45.7500005 -45.5833335 -24.5833335 -24.4166665 0 -58 -1670 --45.5833335 -45.4166665 -24.5833335 -24.4166665 0 -58 -1670 --45.4166665 -45.2499995 -24.5833335 -24.4166665 0 -63 -1670 --45.2500005 -45.0833335 -24.5833335 -24.4166665 0 -43 -1670 --45.0833335 -44.9166665 -24.5833335 -24.4166665 0 -137 -1670 --44.9166665 -44.7499995 -24.5833335 -24.4166665 0 -133 -1670 --44.7500005 -44.5833335 -24.5833335 -24.4166665 0 -157 -1670 --44.5833335 -44.4166665 -24.5833335 -24.4166665 0 -196 -1670 --44.4166665 -44.2499995 -24.5833335 -24.4166665 0 -437 -1670 --44.2500005 -44.0833335 -24.5833335 -24.4166665 0 -537 -1670 --44.0833335 -43.9166665 -24.5833335 -24.4166665 0 -670 -1670 --43.9166665 -43.7499995 -24.5833335 -24.4166665 0 -841 -1670 --43.7500005 -43.5833335 -24.5833335 -24.4166665 0 -906 -1670 --43.5833335 -43.4166665 -24.5833335 -24.4166665 0 -1177 -1670 --43.4166665 -43.2499995 -24.5833335 -24.4166665 0 -1394 -1670 --43.2500005 -43.0833335 -24.5833335 -24.4166665 0 -1445 -1670 --43.0833335 -42.9166665 -24.5833335 -24.4166665 0 -1477 -1670 --42.9166665 -42.7499995 -24.5833335 -24.4166665 0 -1607 -1670 --42.7500005 -42.5833335 -24.5833335 -24.4166665 0 -1640 -1670 --42.5833335 -42.4166665 -24.5833335 -24.4166665 0 -1720 -1670 --42.4166665 -42.2499995 -24.5833335 -24.4166665 0 -1803 -1670 --42.2500005 -42.0833335 -24.5833335 -24.4166665 0 -1850 -1670 --42.0833335 -41.9166665 -24.5833335 -24.4166665 0 -2009 -1670 --41.9166665 -41.7499995 -24.5833335 -24.4166665 0 -2143 -1670 --41.7500005 -41.5833335 -24.5833335 -24.4166665 0 -2277 -1670 --41.5833335 -41.4166665 -24.5833335 -24.4166665 0 -2370 -1670 --41.4166665 -41.2499995 -24.5833335 -24.4166665 0 -2388 -1670 --41.2500005 -41.0833335 -24.5833335 -24.4166665 0 -2639 -1670 --41.0833335 -40.9166665 -24.5833335 -24.4166665 0 -2722 -1670 --40.9166665 -40.7499995 -24.5833335 -24.4166665 0 -2794 -1670 --40.7500005 -40.5833335 -24.5833335 -24.4166665 0 -2848 -1670 --40.5833335 -40.4166665 -24.5833335 -24.4166665 0 -2940 -1670 --40.4166665 -40.2499995 -24.5833335 -24.4166665 0 -3036 -1670 --40.2500005 -40.0833335 -24.5833335 -24.4166665 0 -3061 -1670 --40.0833335 -39.9166665 -24.5833335 -24.4166665 0 -3041 -1670 --65.0833335 -64.9166665 -24.7500005 -24.5833335 678 0 2670 --64.9166665 -64.7499995 -24.7500005 -24.5833335 910 0 2670 --64.7500005 -64.5833335 -24.7500005 -24.5833335 1227 0 2670 --64.5833335 -64.4166665 -24.7500005 -24.5833335 1296 0 2670 --64.4166665 -64.2499995 -24.7500005 -24.5833335 594 0 2670 --64.2500005 -64.0833335 -24.7500005 -24.5833335 451 0 2670 --64.0833335 -63.9166665 -24.7500005 -24.5833335 386 0 2670 --63.9166665 -63.7499995 -24.7500005 -24.5833335 332 0 2670 --63.7500005 -63.5833335 -24.7500005 -24.5833335 293 0 2670 --63.5833335 -63.4166665 -24.7500005 -24.5833335 266 0 2670 --63.4166665 -63.2499995 -24.7500005 -24.5833335 258 0 2670 --63.2500005 -63.0833335 -24.7500005 -24.5833335 245 0 2670 --63.0833335 -62.9166665 -24.7500005 -24.5833335 232 0 2670 --62.9166665 -62.7499995 -24.7500005 -24.5833335 222 0 2670 --62.7500005 -62.5833335 -24.7500005 -24.5833335 212 0 2670 --62.5833335 -62.4166665 -24.7500005 -24.5833335 202 0 2670 --62.4166665 -62.2499995 -24.7500005 -24.5833335 193 0 2670 --62.2500005 -62.0833335 -24.7500005 -24.5833335 184 0 2670 --62.0833335 -61.9166665 -24.7500005 -24.5833335 173 0 2670 --61.9166665 -61.7499995 -24.7500005 -24.5833335 168 0 2670 --61.7500005 -61.5833335 -24.7500005 -24.5833335 161 0 2670 --61.5833335 -61.4166665 -24.7500005 -24.5833335 156 0 2670 --61.4166665 -61.2499995 -24.7500005 -24.5833335 154 0 2670 --61.2500005 -61.0833335 -24.7500005 -24.5833335 150 0 2670 --61.0833335 -60.9166665 -24.7500005 -24.5833335 149 0 2670 --60.9166665 -60.7499995 -24.7500005 -24.5833335 143 0 2670 --60.7500005 -60.5833335 -24.7500005 -24.5833335 137 0 2670 --60.5833335 -60.4166665 -24.7500005 -24.5833335 134 0 2670 --60.4166665 -60.2499995 -24.7500005 -24.5833335 127 0 2670 --60.2500005 -60.0833335 -24.7500005 -24.5833335 124 0 2670 --60.0833335 -59.9166665 -24.7500005 -24.5833335 121 0 2670 --59.9166665 -59.7499995 -24.7500005 -24.5833335 122 0 2670 --59.7500005 -59.5833335 -24.7500005 -24.5833335 115 0 2670 --59.5833335 -59.4166665 -24.7500005 -24.5833335 111 0 2670 --59.4166665 -59.2499995 -24.7500005 -24.5833335 104 0 2670 --59.2500005 -59.0833335 -24.7500005 -24.5833335 103 0 2670 --59.0833335 -58.9166665 -24.7500005 -24.5833335 100 0 2670 --58.9166665 -58.7499995 -24.7500005 -24.5833335 95 0 2670 --58.7500005 -58.5833335 -24.7500005 -24.5833335 90 0 2670 --58.5833335 -58.4166665 -24.7500005 -24.5833335 87 0 2670 --58.4166665 -58.2499995 -24.7500005 -24.5833335 85 0 2670 --58.2500005 -58.0833335 -24.7500005 -24.5833335 84 0 2670 --58.0833335 -57.9166665 -24.7500005 -24.5833335 78 0 2670 --57.9166665 -57.7499995 -24.7500005 -24.5833335 75 0 2670 --57.7500005 -57.5833335 -24.7500005 -24.5833335 72 0 2670 --57.5833335 -57.4166665 -24.7500005 -24.5833335 69 0 2670 --57.4166665 -57.2499995 -24.7500005 -24.5833335 67 0 2670 --57.2500005 -57.0833335 -24.7500005 -24.5833335 61 0 2670 --57.0833335 -56.9166665 -24.7500005 -24.5833335 66 0 2670 --56.9166665 -56.7499995 -24.7500005 -24.5833335 81 0 2670 --56.7500005 -56.5833335 -24.7500005 -24.5833335 101 0 2670 --56.5833335 -56.4166665 -24.7500005 -24.5833335 138 0 2670 --56.4166665 -56.2499995 -24.7500005 -24.5833335 249 0 2670 --56.2500005 -56.0833335 -24.7500005 -24.5833335 217 0 2670 --56.0833335 -55.9166665 -24.7500005 -24.5833335 244 0 2670 --55.9166665 -55.7499995 -24.7500005 -24.5833335 207 0 2670 --55.7500005 -55.5833335 -24.7500005 -24.5833335 290 0 2670 --55.5833335 -55.4166665 -24.7500005 -24.5833335 263 0 2670 --55.4166665 -55.2499995 -24.7500005 -24.5833335 262 0 2670 --55.2500005 -55.0833335 -24.7500005 -24.5833335 349 0 2670 --55.0833335 -54.9166665 -24.7500005 -24.5833335 351 0 2670 --54.9166665 -54.7499995 -24.7500005 -24.5833335 265 0 2670 --54.7500005 -54.5833335 -24.7500005 -24.5833335 252 0 2670 --54.5833335 -54.4166665 -24.7500005 -24.5833335 276 0 2670 --54.4166665 -54.2499995 -24.7500005 -24.5833335 217 0 2670 --54.2500005 -54.0833335 -24.7500005 -24.5833335 271 0 2670 --54.0833335 -53.9166665 -24.7500005 -24.5833335 321 0 2670 --53.9166665 -53.7499995 -24.7500005 -24.5833335 513 0 2670 --53.7500005 -53.5833335 -24.7500005 -24.5833335 506 0 2670 --53.5833335 -53.4166665 -24.7500005 -24.5833335 565 0 2670 --53.4166665 -53.2499995 -24.7500005 -24.5833335 573 0 2670 --53.2500005 -53.0833335 -24.7500005 -24.5833335 457 0 2670 --53.0833335 -52.9166665 -24.7500005 -24.5833335 379 0 2670 --52.9166665 -52.7499995 -24.7500005 -24.5833335 489 0 2670 --52.7500005 -52.5833335 -24.7500005 -24.5833335 438 0 2670 --52.5833335 -52.4166665 -24.7500005 -24.5833335 647 0 2670 --52.4166665 -52.2499995 -24.7500005 -24.5833335 655 0 2670 --52.2500005 -52.0833335 -24.7500005 -24.5833335 830 0 2670 --52.0833335 -51.9166665 -24.7500005 -24.5833335 827 0 2670 --51.9166665 -51.7499995 -24.7500005 -24.5833335 845 0 2670 --51.7500005 -51.5833335 -24.7500005 -24.5833335 814 0 2670 --51.5833335 -51.4166665 -24.7500005 -24.5833335 611 0 2670 --51.4166665 -51.2499995 -24.7500005 -24.5833335 931 0 2670 --51.2500005 -51.0833335 -24.7500005 -24.5833335 776 0 2670 --51.0833335 -50.9166665 -24.7500005 -24.5833335 786 0 2670 --50.9166665 -50.7499995 -24.7500005 -24.5833335 915 0 2670 --50.7500005 -50.5833335 -24.7500005 -24.5833335 893 0 2670 --50.5833335 -50.4166665 -24.7500005 -24.5833335 812 0 2670 --50.4166665 -50.2499995 -24.7500005 -24.5833335 916 0 2670 --50.2500005 -50.0833335 -24.7500005 -24.5833335 1100 0 2670 --50.0833335 -49.9166665 -24.7500005 -24.5833335 1021 0 2670 --49.9166665 -49.7499995 -24.7500005 -24.5833335 1014 0 2670 --49.7500005 -49.5833335 -24.7500005 -24.5833335 1048 0 2670 --49.5833335 -49.4166665 -24.7500005 -24.5833335 901 0 2670 --49.4166665 -49.2499995 -24.7500005 -24.5833335 640 0 2670 --49.2500005 -49.0833335 -24.7500005 -24.5833335 316 0 2670 --49.0833335 -48.9166665 -24.7500005 -24.5833335 409 0 2670 --48.9166665 -48.7499995 -24.7500005 -24.5833335 164 0 2670 --48.7500005 -48.5833335 -24.7500005 -24.5833335 286 0 2670 --48.5833335 -48.4166665 -24.7500005 -24.5833335 704 0 2670 --48.4166665 -48.2499995 -24.7500005 -24.5833335 153 0 2670 --48.2500005 -48.0833335 -24.7500005 -24.5833335 149 0 2670 --48.0833335 -47.9166665 -24.7500005 -24.5833335 49 0 2670 --47.9166665 -47.7499995 -24.7500005 -24.5833335 21 0 2670 --47.7500005 -47.5833335 -24.7500005 -24.5833335 12 0 2670 --47.5833335 -47.4166665 -24.7500005 -24.5833335 124 0 2670 --47.4166665 -47.2499995 -24.7500005 -24.5833335 0 -3 -1670 --47.2500005 -47.0833335 -24.7500005 -24.5833335 0 -15 -1670 --47.0833335 -46.9166665 -24.7500005 -24.5833335 0 -25 -1670 --46.9166665 -46.7499995 -24.7500005 -24.5833335 0 -30 -1670 --46.7500005 -46.5833335 -24.7500005 -24.5833335 0 -35 -1670 --46.5833335 -46.4166665 -24.7500005 -24.5833335 0 -43 -1670 --46.4166665 -46.2499995 -24.7500005 -24.5833335 0 -49 -1670 --46.2500005 -46.0833335 -24.7500005 -24.5833335 0 -63 -1670 --46.0833335 -45.9166665 -24.7500005 -24.5833335 0 -55 -1670 --45.9166665 -45.7499995 -24.7500005 -24.5833335 0 -60 -1670 --45.7500005 -45.5833335 -24.7500005 -24.5833335 0 -60 -1670 --45.5833335 -45.4166665 -24.7500005 -24.5833335 0 -140 -1670 --45.4166665 -45.2499995 -24.7500005 -24.5833335 0 -69 -1670 --45.2500005 -45.0833335 -24.7500005 -24.5833335 0 -84 -1670 --45.0833335 -44.9166665 -24.7500005 -24.5833335 0 -121 -1670 --44.9166665 -44.7499995 -24.7500005 -24.5833335 0 -132 -1670 --44.7500005 -44.5833335 -24.7500005 -24.5833335 0 -140 -1670 --44.5833335 -44.4166665 -24.7500005 -24.5833335 0 -369 -1670 --44.4166665 -44.2499995 -24.7500005 -24.5833335 0 -548 -1670 --44.2500005 -44.0833335 -24.7500005 -24.5833335 0 -664 -1670 --44.0833335 -43.9166665 -24.7500005 -24.5833335 0 -1031 -1670 --43.9166665 -43.7499995 -24.7500005 -24.5833335 0 -1239 -1670 --43.7500005 -43.5833335 -24.7500005 -24.5833335 0 -1464 -1670 --43.5833335 -43.4166665 -24.7500005 -24.5833335 0 -1573 -1670 --43.4166665 -43.2499995 -24.7500005 -24.5833335 0 -1609 -1670 --43.2500005 -43.0833335 -24.7500005 -24.5833335 0 -1717 -1670 --43.0833335 -42.9166665 -24.7500005 -24.5833335 0 -1836 -1670 --42.9166665 -42.7499995 -24.7500005 -24.5833335 0 -1942 -1670 --42.7500005 -42.5833335 -24.7500005 -24.5833335 0 -2102 -1670 --42.5833335 -42.4166665 -24.7500005 -24.5833335 0 -2030 -1670 --42.4166665 -42.2499995 -24.7500005 -24.5833335 0 -2091 -1670 --42.2500005 -42.0833335 -24.7500005 -24.5833335 0 -2119 -1670 --42.0833335 -41.9166665 -24.7500005 -24.5833335 0 -2232 -1670 --41.9166665 -41.7499995 -24.7500005 -24.5833335 0 -2263 -1670 --41.7500005 -41.5833335 -24.7500005 -24.5833335 0 -2241 -1670 --41.5833335 -41.4166665 -24.7500005 -24.5833335 0 -2505 -1670 --41.4166665 -41.2499995 -24.7500005 -24.5833335 0 -2569 -1670 --41.2500005 -41.0833335 -24.7500005 -24.5833335 0 -2652 -1670 --41.0833335 -40.9166665 -24.7500005 -24.5833335 0 -2697 -1670 --40.9166665 -40.7499995 -24.7500005 -24.5833335 0 -2772 -1670 --40.7500005 -40.5833335 -24.7500005 -24.5833335 0 -2846 -1670 --40.5833335 -40.4166665 -24.7500005 -24.5833335 0 -2958 -1670 --40.4166665 -40.2499995 -24.7500005 -24.5833335 0 -2978 -1670 --40.2500005 -40.0833335 -24.7500005 -24.5833335 0 -3071 -1670 --40.0833335 -39.9166665 -24.7500005 -24.5833335 0 -3156 -1670 --65.0833335 -64.9166665 -24.9166665 -24.7499995 804 0 2670 --64.9166665 -64.7499995 -24.9166665 -24.7499995 1283 0 2670 --64.7500005 -64.5833335 -24.9166665 -24.7499995 1553 0 2670 --64.5833335 -64.4166665 -24.9166665 -24.7499995 841 0 2670 --64.4166665 -64.2499995 -24.9166665 -24.7499995 590 0 2670 --64.2500005 -64.0833335 -24.9166665 -24.7499995 444 0 2670 --64.0833335 -63.9166665 -24.9166665 -24.7499995 382 0 2670 --63.9166665 -63.7499995 -24.9166665 -24.7499995 341 0 2670 --63.7500005 -63.5833335 -24.9166665 -24.7499995 299 0 2670 --63.5833335 -63.4166665 -24.9166665 -24.7499995 281 0 2670 --63.4166665 -63.2499995 -24.9166665 -24.7499995 266 0 2670 --63.2500005 -63.0833335 -24.9166665 -24.7499995 252 0 2670 --63.0833335 -62.9166665 -24.9166665 -24.7499995 241 0 2670 --62.9166665 -62.7499995 -24.9166665 -24.7499995 227 0 2670 --62.7500005 -62.5833335 -24.9166665 -24.7499995 217 0 2670 --62.5833335 -62.4166665 -24.9166665 -24.7499995 205 0 2670 --62.4166665 -62.2499995 -24.9166665 -24.7499995 193 0 2670 --62.2500005 -62.0833335 -24.9166665 -24.7499995 183 0 2670 --62.0833335 -61.9166665 -24.9166665 -24.7499995 175 0 2670 --61.9166665 -61.7499995 -24.9166665 -24.7499995 167 0 2670 --61.7500005 -61.5833335 -24.9166665 -24.7499995 161 0 2670 --61.5833335 -61.4166665 -24.9166665 -24.7499995 159 0 2670 --61.4166665 -61.2499995 -24.9166665 -24.7499995 151 0 2670 --61.2500005 -61.0833335 -24.9166665 -24.7499995 146 0 2670 --61.0833335 -60.9166665 -24.9166665 -24.7499995 144 0 2670 --60.9166665 -60.7499995 -24.9166665 -24.7499995 140 0 2670 --60.7500005 -60.5833335 -24.9166665 -24.7499995 133 0 2670 --60.5833335 -60.4166665 -24.9166665 -24.7499995 132 0 2670 --60.4166665 -60.2499995 -24.9166665 -24.7499995 124 0 2670 --60.2500005 -60.0833335 -24.9166665 -24.7499995 122 0 2670 --60.0833335 -59.9166665 -24.9166665 -24.7499995 118 0 2670 --59.9166665 -59.7499995 -24.9166665 -24.7499995 114 0 2670 --59.7500005 -59.5833335 -24.9166665 -24.7499995 115 0 2670 --59.5833335 -59.4166665 -24.9166665 -24.7499995 107 0 2670 --59.4166665 -59.2499995 -24.9166665 -24.7499995 105 0 2670 --59.2500005 -59.0833335 -24.9166665 -24.7499995 98 0 2670 --59.0833335 -58.9166665 -24.9166665 -24.7499995 96 0 2670 --58.9166665 -58.7499995 -24.9166665 -24.7499995 92 0 2670 --58.7500005 -58.5833335 -24.9166665 -24.7499995 90 0 2670 --58.5833335 -58.4166665 -24.9166665 -24.7499995 86 0 2670 --58.4166665 -58.2499995 -24.9166665 -24.7499995 81 0 2670 --58.2500005 -58.0833335 -24.9166665 -24.7499995 78 0 2670 --58.0833335 -57.9166665 -24.9166665 -24.7499995 78 0 2670 --57.9166665 -57.7499995 -24.9166665 -24.7499995 76 0 2670 --57.7500005 -57.5833335 -24.9166665 -24.7499995 72 0 2670 --57.5833335 -57.4166665 -24.9166665 -24.7499995 69 0 2670 --57.4166665 -57.2499995 -24.9166665 -24.7499995 65 0 2670 --57.2500005 -57.0833335 -24.9166665 -24.7499995 67 0 2670 --57.0833335 -56.9166665 -24.9166665 -24.7499995 66 0 2670 --56.9166665 -56.7499995 -24.9166665 -24.7499995 71 0 2670 --56.7500005 -56.5833335 -24.9166665 -24.7499995 82 0 2670 --56.5833335 -56.4166665 -24.9166665 -24.7499995 112 0 2670 --56.4166665 -56.2499995 -24.9166665 -24.7499995 201 0 2670 --56.2500005 -56.0833335 -24.9166665 -24.7499995 309 0 2670 --56.0833335 -55.9166665 -24.9166665 -24.7499995 348 0 2670 --55.9166665 -55.7499995 -24.9166665 -24.7499995 253 0 2670 --55.7500005 -55.5833335 -24.9166665 -24.7499995 292 0 2670 --55.5833335 -55.4166665 -24.9166665 -24.7499995 252 0 2670 --55.4166665 -55.2499995 -24.9166665 -24.7499995 222 0 2670 --55.2500005 -55.0833335 -24.9166665 -24.7499995 295 0 2670 --55.0833335 -54.9166665 -24.9166665 -24.7499995 334 0 2670 --54.9166665 -54.7499995 -24.9166665 -24.7499995 292 0 2670 --54.7500005 -54.5833335 -24.9166665 -24.7499995 234 0 2670 --54.5833335 -54.4166665 -24.9166665 -24.7499995 256 0 2670 --54.4166665 -54.2499995 -24.9166665 -24.7499995 228 0 2670 --54.2500005 -54.0833335 -24.9166665 -24.7499995 350 0 2670 --54.0833335 -53.9166665 -24.9166665 -24.7499995 408 0 2670 --53.9166665 -53.7499995 -24.9166665 -24.7499995 517 0 2670 --53.7500005 -53.5833335 -24.9166665 -24.7499995 564 0 2670 --53.5833335 -53.4166665 -24.9166665 -24.7499995 613 0 2670 --53.4166665 -53.2499995 -24.9166665 -24.7499995 659 0 2670 --53.2500005 -53.0833335 -24.9166665 -24.7499995 624 0 2670 --53.0833335 -52.9166665 -24.9166665 -24.7499995 575 0 2670 --52.9166665 -52.7499995 -24.9166665 -24.7499995 454 0 2670 --52.7500005 -52.5833335 -24.9166665 -24.7499995 491 0 2670 --52.5833335 -52.4166665 -24.9166665 -24.7499995 548 0 2670 --52.4166665 -52.2499995 -24.9166665 -24.7499995 667 0 2670 --52.2500005 -52.0833335 -24.9166665 -24.7499995 806 0 2670 --52.0833335 -51.9166665 -24.9166665 -24.7499995 892 0 2670 --51.9166665 -51.7499995 -24.9166665 -24.7499995 1083 0 2670 --51.7500005 -51.5833335 -24.9166665 -24.7499995 938 0 2670 --51.5833335 -51.4166665 -24.9166665 -24.7499995 927 0 2670 --51.4166665 -51.2499995 -24.9166665 -24.7499995 677 0 2670 --51.2500005 -51.0833335 -24.9166665 -24.7499995 548 0 2670 --51.0833335 -50.9166665 -24.9166665 -24.7499995 882 0 2670 --50.9166665 -50.7499995 -24.9166665 -24.7499995 1002 0 2670 --50.7500005 -50.5833335 -24.9166665 -24.7499995 947 0 2670 --50.5833335 -50.4166665 -24.9166665 -24.7499995 944 0 2670 --50.4166665 -50.2499995 -24.9166665 -24.7499995 802 0 2670 --50.2500005 -50.0833335 -24.9166665 -24.7499995 1126 0 2670 --50.0833335 -49.9166665 -24.9166665 -24.7499995 1021 0 2670 --49.9166665 -49.7499995 -24.9166665 -24.7499995 1041 0 2670 --49.7500005 -49.5833335 -24.9166665 -24.7499995 850 0 2670 --49.5833335 -49.4166665 -24.9166665 -24.7499995 694 0 2670 --49.4166665 -49.2499995 -24.9166665 -24.7499995 411 0 2670 --49.2500005 -49.0833335 -24.9166665 -24.7499995 744 0 2670 --49.0833335 -48.9166665 -24.9166665 -24.7499995 543 0 2670 --48.9166665 -48.7499995 -24.9166665 -24.7499995 569 0 2670 --48.7500005 -48.5833335 -24.9166665 -24.7499995 910 0 2670 --48.5833335 -48.4166665 -24.9166665 -24.7499995 341 0 2670 --48.4166665 -48.2499995 -24.9166665 -24.7499995 760 0 2670 --48.2500005 -48.0833335 -24.9166665 -24.7499995 377 0 2670 --48.0833335 -47.9166665 -24.9166665 -24.7499995 177 0 2670 --47.9166665 -47.7499995 -24.9166665 -24.7499995 218 0 2670 --47.7500005 -47.5833335 -24.9166665 -24.7499995 0 0 2670 --47.5833335 -47.4166665 -24.9166665 -24.7499995 0 -10 -1670 --47.4166665 -47.2499995 -24.9166665 -24.7499995 0 -21 -1670 --47.2500005 -47.0833335 -24.9166665 -24.7499995 0 -27 -1670 --47.0833335 -46.9166665 -24.9166665 -24.7499995 0 -33 -1670 --46.9166665 -46.7499995 -24.9166665 -24.7499995 0 -39 -1670 --46.7500005 -46.5833335 -24.9166665 -24.7499995 0 -45 -1670 --46.5833335 -46.4166665 -24.9166665 -24.7499995 0 -50 -1670 --46.4166665 -46.2499995 -24.9166665 -24.7499995 0 -78 -1670 --46.2500005 -46.0833335 -24.9166665 -24.7499995 0 -64 -1670 --46.0833335 -45.9166665 -24.9166665 -24.7499995 0 -66 -1670 --45.9166665 -45.7499995 -24.9166665 -24.7499995 0 -62 -1670 --45.7500005 -45.5833335 -24.9166665 -24.7499995 0 -123 -1670 --45.5833335 -45.4166665 -24.9166665 -24.7499995 0 -76 -1670 --45.4166665 -45.2499995 -24.9166665 -24.7499995 0 -100 -1670 --45.2500005 -45.0833335 -24.9166665 -24.7499995 0 -105 -1670 --45.0833335 -44.9166665 -24.9166665 -24.7499995 0 -128 -1670 --44.9166665 -44.7499995 -24.9166665 -24.7499995 0 -146 -1670 --44.7500005 -44.5833335 -24.9166665 -24.7499995 0 -284 -1670 --44.5833335 -44.4166665 -24.9166665 -24.7499995 0 -617 -1670 --44.4166665 -44.2499995 -24.9166665 -24.7499995 0 -861 -1670 --44.2500005 -44.0833335 -24.9166665 -24.7499995 0 -1090 -1670 --44.0833335 -43.9166665 -24.9166665 -24.7499995 0 -1372 -1670 --43.9166665 -43.7499995 -24.9166665 -24.7499995 0 -1779 -1670 --43.7500005 -43.5833335 -24.9166665 -24.7499995 0 -1638 -1670 --43.5833335 -43.4166665 -24.9166665 -24.7499995 0 -1751 -1670 --43.4166665 -43.2499995 -24.9166665 -24.7499995 0 -1863 -1670 --43.2500005 -43.0833335 -24.9166665 -24.7499995 0 -1923 -1670 --43.0833335 -42.9166665 -24.9166665 -24.7499995 0 -2033 -1670 --42.9166665 -42.7499995 -24.9166665 -24.7499995 0 -2016 -1670 --42.7500005 -42.5833335 -24.9166665 -24.7499995 0 -2013 -1670 --42.5833335 -42.4166665 -24.9166665 -24.7499995 0 -2098 -1670 --42.4166665 -42.2499995 -24.9166665 -24.7499995 0 -2256 -1670 --42.2500005 -42.0833335 -24.9166665 -24.7499995 0 -2267 -1670 --42.0833335 -41.9166665 -24.9166665 -24.7499995 0 -2320 -1670 --41.9166665 -41.7499995 -24.9166665 -24.7499995 0 -2364 -1670 --41.7500005 -41.5833335 -24.9166665 -24.7499995 0 -2391 -1670 --41.5833335 -41.4166665 -24.9166665 -24.7499995 0 -2513 -1670 --41.4166665 -41.2499995 -24.9166665 -24.7499995 0 -2620 -1670 --41.2500005 -41.0833335 -24.9166665 -24.7499995 0 -2588 -1670 --41.0833335 -40.9166665 -24.9166665 -24.7499995 0 -2649 -1670 --40.9166665 -40.7499995 -24.9166665 -24.7499995 0 -2878 -1670 --40.7500005 -40.5833335 -24.9166665 -24.7499995 0 -2869 -1670 --40.5833335 -40.4166665 -24.9166665 -24.7499995 0 -2939 -1670 --40.4166665 -40.2499995 -24.9166665 -24.7499995 0 -3004 -1670 --40.2500005 -40.0833335 -24.9166665 -24.7499995 0 -3138 -1670 --40.0833335 -39.9166665 -24.9166665 -24.7499995 0 -3111 -1670 --65.0833335 -64.9166665 -25.0833335 -24.9166665 965 0 2670 --64.9166665 -64.7499995 -25.0833335 -24.9166665 1297 0 2670 --64.7500005 -64.5833335 -25.0833335 -24.9166665 987 0 2670 --64.5833335 -64.4166665 -25.0833335 -24.9166665 648 0 2670 --64.4166665 -64.2499995 -25.0833335 -24.9166665 499 0 2670 --64.2500005 -64.0833335 -25.0833335 -24.9166665 416 0 2670 --64.0833335 -63.9166665 -25.0833335 -24.9166665 364 0 2670 --63.9166665 -63.7499995 -25.0833335 -24.9166665 330 0 2670 --63.7500005 -63.5833335 -25.0833335 -24.9166665 309 0 2670 --63.5833335 -63.4166665 -25.0833335 -24.9166665 291 0 2670 --63.4166665 -63.2499995 -25.0833335 -24.9166665 273 0 2670 --63.2500005 -63.0833335 -25.0833335 -24.9166665 260 0 2670 --63.0833335 -62.9166665 -25.0833335 -24.9166665 245 0 2670 --62.9166665 -62.7499995 -25.0833335 -24.9166665 233 0 2670 --62.7500005 -62.5833335 -25.0833335 -24.9166665 219 0 2670 --62.5833335 -62.4166665 -25.0833335 -24.9166665 207 0 2670 --62.4166665 -62.2499995 -25.0833335 -24.9166665 197 0 2670 --62.2500005 -62.0833335 -25.0833335 -24.9166665 187 0 2670 --62.0833335 -61.9166665 -25.0833335 -24.9166665 178 0 2670 --61.9166665 -61.7499995 -25.0833335 -24.9166665 168 0 2670 --61.7500005 -61.5833335 -25.0833335 -24.9166665 160 0 2670 --61.5833335 -61.4166665 -25.0833335 -24.9166665 152 0 2670 --61.4166665 -61.2499995 -25.0833335 -24.9166665 149 0 2670 --61.2500005 -61.0833335 -25.0833335 -24.9166665 146 0 2670 --61.0833335 -60.9166665 -25.0833335 -24.9166665 142 0 2670 --60.9166665 -60.7499995 -25.0833335 -24.9166665 132 0 2670 --60.7500005 -60.5833335 -25.0833335 -24.9166665 138 0 2670 --60.5833335 -60.4166665 -25.0833335 -24.9166665 132 0 2670 --60.4166665 -60.2499995 -25.0833335 -24.9166665 127 0 2670 --60.2500005 -60.0833335 -25.0833335 -24.9166665 120 0 2670 --60.0833335 -59.9166665 -25.0833335 -24.9166665 113 0 2670 --59.9166665 -59.7499995 -25.0833335 -24.9166665 112 0 2670 --59.7500005 -59.5833335 -25.0833335 -24.9166665 109 0 2670 --59.5833335 -59.4166665 -25.0833335 -24.9166665 102 0 2670 --59.4166665 -59.2499995 -25.0833335 -24.9166665 100 0 2670 --59.2500005 -59.0833335 -25.0833335 -24.9166665 98 0 2670 --59.0833335 -58.9166665 -25.0833335 -24.9166665 93 0 2670 --58.9166665 -58.7499995 -25.0833335 -24.9166665 90 0 2670 --58.7500005 -58.5833335 -25.0833335 -24.9166665 87 0 2670 --58.5833335 -58.4166665 -25.0833335 -24.9166665 84 0 2670 --58.4166665 -58.2499995 -25.0833335 -24.9166665 82 0 2670 --58.2500005 -58.0833335 -25.0833335 -24.9166665 80 0 2670 --58.0833335 -57.9166665 -25.0833335 -24.9166665 81 0 2670 --57.9166665 -57.7499995 -25.0833335 -24.9166665 71 0 2670 --57.7500005 -57.5833335 -25.0833335 -24.9166665 69 0 2670 --57.5833335 -57.4166665 -25.0833335 -24.9166665 65 0 2670 --57.4166665 -57.2499995 -25.0833335 -24.9166665 60 0 2670 --57.2500005 -57.0833335 -25.0833335 -24.9166665 106 0 2670 --57.0833335 -56.9166665 -25.0833335 -24.9166665 64 0 2670 --56.9166665 -56.7499995 -25.0833335 -24.9166665 69 0 2670 --56.7500005 -56.5833335 -25.0833335 -24.9166665 99 0 2670 --56.5833335 -56.4166665 -25.0833335 -24.9166665 99 0 2670 --56.4166665 -56.2499995 -25.0833335 -24.9166665 135 0 2670 --56.2500005 -56.0833335 -25.0833335 -24.9166665 234 0 2670 --56.0833335 -55.9166665 -25.0833335 -24.9166665 374 0 2670 --55.9166665 -55.7499995 -25.0833335 -24.9166665 296 0 2670 --55.7500005 -55.5833335 -25.0833335 -24.9166665 271 0 2670 --55.5833335 -55.4166665 -25.0833335 -24.9166665 242 0 2670 --55.4166665 -55.2499995 -25.0833335 -24.9166665 233 0 2670 --55.2500005 -55.0833335 -25.0833335 -24.9166665 262 0 2670 --55.0833335 -54.9166665 -25.0833335 -24.9166665 255 0 2670 --54.9166665 -54.7499995 -25.0833335 -24.9166665 317 0 2670 --54.7500005 -54.5833335 -25.0833335 -24.9166665 286 0 2670 --54.5833335 -54.4166665 -25.0833335 -24.9166665 240 0 2670 --54.4166665 -54.2499995 -25.0833335 -24.9166665 261 0 2670 --54.2500005 -54.0833335 -25.0833335 -24.9166665 394 0 2670 --54.0833335 -53.9166665 -25.0833335 -24.9166665 444 0 2670 --53.9166665 -53.7499995 -25.0833335 -24.9166665 560 0 2670 --53.7500005 -53.5833335 -25.0833335 -24.9166665 684 0 2670 --53.5833335 -53.4166665 -25.0833335 -24.9166665 732 0 2670 --53.4166665 -53.2499995 -25.0833335 -24.9166665 756 0 2670 --53.2500005 -53.0833335 -25.0833335 -24.9166665 727 0 2670 --53.0833335 -52.9166665 -25.0833335 -24.9166665 705 0 2670 --52.9166665 -52.7499995 -25.0833335 -24.9166665 570 0 2670 --52.7500005 -52.5833335 -25.0833335 -24.9166665 592 0 2670 --52.5833335 -52.4166665 -25.0833335 -24.9166665 524 0 2670 --52.4166665 -52.2499995 -25.0833335 -24.9166665 643 0 2670 --52.2500005 -52.0833335 -25.0833335 -24.9166665 712 0 2670 --52.0833335 -51.9166665 -25.0833335 -24.9166665 771 0 2670 --51.9166665 -51.7499995 -25.0833335 -24.9166665 899 0 2670 --51.7500005 -51.5833335 -25.0833335 -24.9166665 1056 0 2670 --51.5833335 -51.4166665 -25.0833335 -24.9166665 957 0 2670 --51.4166665 -51.2499995 -25.0833335 -24.9166665 1016 0 2670 --51.2500005 -51.0833335 -25.0833335 -24.9166665 570 0 2670 --51.0833335 -50.9166665 -25.0833335 -24.9166665 551 0 2670 --50.9166665 -50.7499995 -25.0833335 -24.9166665 854 0 2670 --50.7500005 -50.5833335 -25.0833335 -24.9166665 808 0 2670 --50.5833335 -50.4166665 -25.0833335 -24.9166665 799 0 2670 --50.4166665 -50.2499995 -25.0833335 -24.9166665 856 0 2670 --50.2500005 -50.0833335 -25.0833335 -24.9166665 868 0 2670 --50.0833335 -49.9166665 -25.0833335 -24.9166665 936 0 2670 --49.9166665 -49.7499995 -25.0833335 -24.9166665 910 0 2670 --49.7500005 -49.5833335 -25.0833335 -24.9166665 567 0 2670 --49.5833335 -49.4166665 -25.0833335 -24.9166665 513 0 2670 --49.4166665 -49.2499995 -25.0833335 -24.9166665 582 0 2670 --49.2500005 -49.0833335 -25.0833335 -24.9166665 764 0 2670 --49.0833335 -48.9166665 -25.0833335 -24.9166665 963 0 2670 --48.9166665 -48.7499995 -25.0833335 -24.9166665 891 0 2670 --48.7500005 -48.5833335 -25.0833335 -24.9166665 657 0 2670 --48.5833335 -48.4166665 -25.0833335 -24.9166665 875 0 2670 --48.4166665 -48.2499995 -25.0833335 -24.9166665 686 0 2670 --48.2500005 -48.0833335 -25.0833335 -24.9166665 306 0 2670 --48.0833335 -47.9166665 -25.0833335 -24.9166665 8 0 2670 --47.9166665 -47.7499995 -25.0833335 -24.9166665 0 -1 -1670 --47.7500005 -47.5833335 -25.0833335 -24.9166665 0 -11 -1670 --47.5833335 -47.4166665 -25.0833335 -24.9166665 0 -21 -1670 --47.4166665 -47.2499995 -25.0833335 -24.9166665 0 -29 -1670 --47.2500005 -47.0833335 -25.0833335 -24.9166665 0 -36 -1670 --47.0833335 -46.9166665 -25.0833335 -24.9166665 0 -42 -1670 --46.9166665 -46.7499995 -25.0833335 -24.9166665 0 -47 -1670 --46.7500005 -46.5833335 -25.0833335 -24.9166665 0 -53 -1670 --46.5833335 -46.4166665 -25.0833335 -24.9166665 0 -66 -1670 --46.4166665 -46.2499995 -25.0833335 -24.9166665 0 -67 -1670 --46.2500005 -46.0833335 -25.0833335 -24.9166665 0 -74 -1670 --46.0833335 -45.9166665 -25.0833335 -24.9166665 0 -60 -1670 --45.9166665 -45.7499995 -25.0833335 -24.9166665 0 -104 -1670 --45.7500005 -45.5833335 -25.0833335 -24.9166665 0 -103 -1670 --45.5833335 -45.4166665 -25.0833335 -24.9166665 0 -89 -1670 --45.4166665 -45.2499995 -25.0833335 -24.9166665 0 -85 -1670 --45.2500005 -45.0833335 -25.0833335 -24.9166665 0 -118 -1670 --45.0833335 -44.9166665 -25.0833335 -24.9166665 0 -146 -1670 --44.9166665 -44.7499995 -25.0833335 -24.9166665 0 -187 -1670 --44.7500005 -44.5833335 -25.0833335 -24.9166665 0 -671 -1670 --44.5833335 -44.4166665 -25.0833335 -24.9166665 0 -1135 -1670 --44.4166665 -44.2499995 -25.0833335 -24.9166665 0 -1412 -1670 --44.2500005 -44.0833335 -25.0833335 -24.9166665 0 -1616 -1670 --44.0833335 -43.9166665 -25.0833335 -24.9166665 0 -1770 -1670 --43.9166665 -43.7499995 -25.0833335 -24.9166665 0 -1818 -1670 --43.7500005 -43.5833335 -25.0833335 -24.9166665 0 -1957 -1670 --43.5833335 -43.4166665 -25.0833335 -24.9166665 0 -1978 -1670 --43.4166665 -43.2499995 -25.0833335 -24.9166665 0 -2017 -1670 --43.2500005 -43.0833335 -25.0833335 -24.9166665 0 -2096 -1670 --43.0833335 -42.9166665 -25.0833335 -24.9166665 0 -2058 -1670 --42.9166665 -42.7499995 -25.0833335 -24.9166665 0 -2160 -1670 --42.7500005 -42.5833335 -25.0833335 -24.9166665 0 -2259 -1670 --42.5833335 -42.4166665 -25.0833335 -24.9166665 0 -2238 -1670 --42.4166665 -42.2499995 -25.0833335 -24.9166665 0 -2266 -1670 --42.2500005 -42.0833335 -25.0833335 -24.9166665 0 -2246 -1670 --42.0833335 -41.9166665 -25.0833335 -24.9166665 0 -2209 -1670 --41.9166665 -41.7499995 -25.0833335 -24.9166665 0 -2295 -1670 --41.7500005 -41.5833335 -25.0833335 -24.9166665 0 -2547 -1670 --41.5833335 -41.4166665 -25.0833335 -24.9166665 0 -2623 -1670 --41.4166665 -41.2499995 -25.0833335 -24.9166665 0 -2597 -1670 --41.2500005 -41.0833335 -25.0833335 -24.9166665 0 -2613 -1670 --41.0833335 -40.9166665 -25.0833335 -24.9166665 0 -2755 -1670 --40.9166665 -40.7499995 -25.0833335 -24.9166665 0 -2822 -1670 --40.7500005 -40.5833335 -25.0833335 -24.9166665 0 -2994 -1670 --40.5833335 -40.4166665 -25.0833335 -24.9166665 0 -2974 -1670 --40.4166665 -40.2499995 -25.0833335 -24.9166665 0 -3068 -1670 --40.2500005 -40.0833335 -25.0833335 -24.9166665 0 -3034 -1670 --40.0833335 -39.9166665 -25.0833335 -24.9166665 0 -3226 -1670 --65.0833335 -64.9166665 -25.2500005 -25.0833335 817 0 2670 --64.9166665 -64.7499995 -25.2500005 -25.0833335 889 0 2670 --64.7500005 -64.5833335 -25.2500005 -25.0833335 715 0 2670 --64.5833335 -64.4166665 -25.2500005 -25.0833335 590 0 2670 --64.4166665 -64.2499995 -25.2500005 -25.0833335 421 0 2670 --64.2500005 -64.0833335 -25.2500005 -25.0833335 386 0 2670 --64.0833335 -63.9166665 -25.2500005 -25.0833335 357 0 2670 --63.9166665 -63.7499995 -25.2500005 -25.0833335 330 0 2670 --63.7500005 -63.5833335 -25.2500005 -25.0833335 312 0 2670 --63.5833335 -63.4166665 -25.2500005 -25.0833335 291 0 2670 --63.4166665 -63.2499995 -25.2500005 -25.0833335 275 0 2670 --63.2500005 -63.0833335 -25.2500005 -25.0833335 261 0 2670 --63.0833335 -62.9166665 -25.2500005 -25.0833335 245 0 2670 --62.9166665 -62.7499995 -25.2500005 -25.0833335 231 0 2670 --62.7500005 -62.5833335 -25.2500005 -25.0833335 220 0 2670 --62.5833335 -62.4166665 -25.2500005 -25.0833335 209 0 2670 --62.4166665 -62.2499995 -25.2500005 -25.0833335 196 0 2670 --62.2500005 -62.0833335 -25.2500005 -25.0833335 187 0 2670 --62.0833335 -61.9166665 -25.2500005 -25.0833335 177 0 2670 --61.9166665 -61.7499995 -25.2500005 -25.0833335 168 0 2670 --61.7500005 -61.5833335 -25.2500005 -25.0833335 160 0 2670 --61.5833335 -61.4166665 -25.2500005 -25.0833335 151 0 2670 --61.4166665 -61.2499995 -25.2500005 -25.0833335 145 0 2670 --61.2500005 -61.0833335 -25.2500005 -25.0833335 139 0 2670 --61.0833335 -60.9166665 -25.2500005 -25.0833335 139 0 2670 --60.9166665 -60.7499995 -25.2500005 -25.0833335 135 0 2670 --60.7500005 -60.5833335 -25.2500005 -25.0833335 129 0 2670 --60.5833335 -60.4166665 -25.2500005 -25.0833335 126 0 2670 --60.4166665 -60.2499995 -25.2500005 -25.0833335 123 0 2670 --60.2500005 -60.0833335 -25.2500005 -25.0833335 120 0 2670 --60.0833335 -59.9166665 -25.2500005 -25.0833335 117 0 2670 --59.9166665 -59.7499995 -25.2500005 -25.0833335 108 0 2670 --59.7500005 -59.5833335 -25.2500005 -25.0833335 105 0 2670 --59.5833335 -59.4166665 -25.2500005 -25.0833335 102 0 2670 --59.4166665 -59.2499995 -25.2500005 -25.0833335 97 0 2670 --59.2500005 -59.0833335 -25.2500005 -25.0833335 97 0 2670 --59.0833335 -58.9166665 -25.2500005 -25.0833335 92 0 2670 --58.9166665 -58.7499995 -25.2500005 -25.0833335 90 0 2670 --58.7500005 -58.5833335 -25.2500005 -25.0833335 83 0 2670 --58.5833335 -58.4166665 -25.2500005 -25.0833335 83 0 2670 --58.4166665 -58.2499995 -25.2500005 -25.0833335 81 0 2670 --58.2500005 -58.0833335 -25.2500005 -25.0833335 75 0 2670 --58.0833335 -57.9166665 -25.2500005 -25.0833335 70 0 2670 --57.9166665 -57.7499995 -25.2500005 -25.0833335 69 0 2670 --57.7500005 -57.5833335 -25.2500005 -25.0833335 67 0 2670 --57.5833335 -57.4166665 -25.2500005 -25.0833335 65 0 2670 --57.4166665 -57.2499995 -25.2500005 -25.0833335 190 0 2670 --57.2500005 -57.0833335 -25.2500005 -25.0833335 77 0 2670 --57.0833335 -56.9166665 -25.2500005 -25.0833335 91 0 2670 --56.9166665 -56.7499995 -25.2500005 -25.0833335 72 0 2670 --56.7500005 -56.5833335 -25.2500005 -25.0833335 78 0 2670 --56.5833335 -56.4166665 -25.2500005 -25.0833335 90 0 2670 --56.4166665 -56.2499995 -25.2500005 -25.0833335 149 0 2670 --56.2500005 -56.0833335 -25.2500005 -25.0833335 198 0 2670 --56.0833335 -55.9166665 -25.2500005 -25.0833335 283 0 2670 --55.9166665 -55.7499995 -25.2500005 -25.0833335 277 0 2670 --55.7500005 -55.5833335 -25.2500005 -25.0833335 259 0 2670 --55.5833335 -55.4166665 -25.2500005 -25.0833335 283 0 2670 --55.4166665 -55.2499995 -25.2500005 -25.0833335 226 0 2670 --55.2500005 -55.0833335 -25.2500005 -25.0833335 253 0 2670 --55.0833335 -54.9166665 -25.2500005 -25.0833335 230 0 2670 --54.9166665 -54.7499995 -25.2500005 -25.0833335 272 0 2670 --54.7500005 -54.5833335 -25.2500005 -25.0833335 285 0 2670 --54.5833335 -54.4166665 -25.2500005 -25.0833335 239 0 2670 --54.4166665 -54.2499995 -25.2500005 -25.0833335 270 0 2670 --54.2500005 -54.0833335 -25.2500005 -25.0833335 288 0 2670 --54.0833335 -53.9166665 -25.2500005 -25.0833335 567 0 2670 --53.9166665 -53.7499995 -25.2500005 -25.0833335 556 0 2670 --53.7500005 -53.5833335 -25.2500005 -25.0833335 564 0 2670 --53.5833335 -53.4166665 -25.2500005 -25.0833335 637 0 2670 --53.4166665 -53.2499995 -25.2500005 -25.0833335 613 0 2670 --53.2500005 -53.0833335 -25.2500005 -25.0833335 781 0 2670 --53.0833335 -52.9166665 -25.2500005 -25.0833335 685 0 2670 --52.9166665 -52.7499995 -25.2500005 -25.0833335 813 0 2670 --52.7500005 -52.5833335 -25.2500005 -25.0833335 806 0 2670 --52.5833335 -52.4166665 -25.2500005 -25.0833335 638 0 2670 --52.4166665 -52.2499995 -25.2500005 -25.0833335 743 0 2670 --52.2500005 -52.0833335 -25.2500005 -25.0833335 810 0 2670 --52.0833335 -51.9166665 -25.2500005 -25.0833335 986 0 2670 --51.9166665 -51.7499995 -25.2500005 -25.0833335 1027 0 2670 --51.7500005 -51.5833335 -25.2500005 -25.0833335 1125 0 2670 --51.5833335 -51.4166665 -25.2500005 -25.0833335 1135 0 2670 --51.4166665 -51.2499995 -25.2500005 -25.0833335 1156 0 2670 --51.2500005 -51.0833335 -25.2500005 -25.0833335 821 0 2670 --51.0833335 -50.9166665 -25.2500005 -25.0833335 773 0 2670 --50.9166665 -50.7499995 -25.2500005 -25.0833335 794 0 2670 --50.7500005 -50.5833335 -25.2500005 -25.0833335 840 0 2670 --50.5833335 -50.4166665 -25.2500005 -25.0833335 866 0 2670 --50.4166665 -50.2499995 -25.2500005 -25.0833335 861 0 2670 --50.2500005 -50.0833335 -25.2500005 -25.0833335 801 0 2670 --50.0833335 -49.9166665 -25.2500005 -25.0833335 1024 0 2670 --49.9166665 -49.7499995 -25.2500005 -25.0833335 787 0 2670 --49.7500005 -49.5833335 -25.2500005 -25.0833335 842 0 2670 --49.5833335 -49.4166665 -25.2500005 -25.0833335 728 0 2670 --49.4166665 -49.2499995 -25.2500005 -25.0833335 956 0 2670 --49.2500005 -49.0833335 -25.2500005 -25.0833335 1053 0 2670 --49.0833335 -48.9166665 -25.2500005 -25.0833335 938 0 2670 --48.9166665 -48.7499995 -25.2500005 -25.0833335 1008 0 2670 --48.7500005 -48.5833335 -25.2500005 -25.0833335 639 0 2670 --48.5833335 -48.4166665 -25.2500005 -25.0833335 288 0 2670 --48.4166665 -48.2499995 -25.2500005 -25.0833335 413 0 2670 --48.2500005 -48.0833335 -25.2500005 -25.0833335 691 0 2670 --48.0833335 -47.9166665 -25.2500005 -25.0833335 119 0 2670 --47.9166665 -47.7499995 -25.2500005 -25.0833335 0 -7 -1670 --47.7500005 -47.5833335 -25.2500005 -25.0833335 0 -20 -1670 --47.5833335 -47.4166665 -25.2500005 -25.0833335 0 -28 -1670 --47.4166665 -47.2499995 -25.2500005 -25.0833335 0 -35 -1670 --47.2500005 -47.0833335 -25.2500005 -25.0833335 0 -43 -1670 --47.0833335 -46.9166665 -25.2500005 -25.0833335 0 -52 -1670 --46.9166665 -46.7499995 -25.2500005 -25.0833335 0 -55 -1670 --46.7500005 -46.5833335 -25.2500005 -25.0833335 0 -61 -1670 --46.5833335 -46.4166665 -25.2500005 -25.0833335 0 -73 -1670 --46.4166665 -46.2499995 -25.2500005 -25.0833335 0 -76 -1670 --46.2500005 -46.0833335 -25.2500005 -25.0833335 0 -86 -1670 --46.0833335 -45.9166665 -25.2500005 -25.0833335 0 -100 -1670 --45.9166665 -45.7499995 -25.2500005 -25.0833335 0 -108 -1670 --45.7500005 -45.5833335 -25.2500005 -25.0833335 0 -126 -1670 --45.5833335 -45.4166665 -25.2500005 -25.0833335 0 -96 -1670 --45.4166665 -45.2499995 -25.2500005 -25.0833335 0 -109 -1670 --45.2500005 -45.0833335 -25.2500005 -25.0833335 0 -145 -1670 --45.0833335 -44.9166665 -25.2500005 -25.0833335 0 -147 -1670 --44.9166665 -44.7499995 -25.2500005 -25.0833335 0 -320 -1670 --44.7500005 -44.5833335 -25.2500005 -25.0833335 0 -1226 -1670 --44.5833335 -44.4166665 -25.2500005 -25.0833335 0 -1624 -1670 --44.4166665 -44.2499995 -25.2500005 -25.0833335 0 -1779 -1670 --44.2500005 -44.0833335 -25.2500005 -25.0833335 0 -1895 -1670 --44.0833335 -43.9166665 -25.2500005 -25.0833335 0 -1950 -1670 --43.9166665 -43.7499995 -25.2500005 -25.0833335 0 -2234 -1670 --43.7500005 -43.5833335 -25.2500005 -25.0833335 0 -2217 -1670 --43.5833335 -43.4166665 -25.2500005 -25.0833335 0 -2143 -1670 --43.4166665 -43.2499995 -25.2500005 -25.0833335 0 -2121 -1670 --43.2500005 -43.0833335 -25.2500005 -25.0833335 0 -2210 -1670 --43.0833335 -42.9166665 -25.2500005 -25.0833335 0 -2206 -1670 --42.9166665 -42.7499995 -25.2500005 -25.0833335 0 -2183 -1670 --42.7500005 -42.5833335 -25.2500005 -25.0833335 0 -2200 -1670 --42.5833335 -42.4166665 -25.2500005 -25.0833335 0 -2136 -1670 --42.4166665 -42.2499995 -25.2500005 -25.0833335 0 -2203 -1670 --42.2500005 -42.0833335 -25.2500005 -25.0833335 0 -2149 -1670 --42.0833335 -41.9166665 -25.2500005 -25.0833335 0 -2253 -1670 --41.9166665 -41.7499995 -25.2500005 -25.0833335 0 -2534 -1670 --41.7500005 -41.5833335 -25.2500005 -25.0833335 0 -2575 -1670 --41.5833335 -41.4166665 -25.2500005 -25.0833335 0 -2595 -1670 --41.4166665 -41.2499995 -25.2500005 -25.0833335 0 -2674 -1670 --41.2500005 -41.0833335 -25.2500005 -25.0833335 0 -2966 -1670 --41.0833335 -40.9166665 -25.2500005 -25.0833335 0 -2725 -1670 --40.9166665 -40.7499995 -25.2500005 -25.0833335 0 -2612 -1670 --40.7500005 -40.5833335 -25.2500005 -25.0833335 0 -2856 -1670 --40.5833335 -40.4166665 -25.2500005 -25.0833335 0 -3080 -1670 --40.4166665 -40.2499995 -25.2500005 -25.0833335 0 -2957 -1670 --40.2500005 -40.0833335 -25.2500005 -25.0833335 0 -3002 -1670 --40.0833335 -39.9166665 -25.2500005 -25.0833335 0 -3045 -1670 --65.0833335 -64.9166665 -25.4166665 -25.2499995 963 0 2670 --64.9166665 -64.7499995 -25.4166665 -25.2499995 614 0 2670 --64.7500005 -64.5833335 -25.4166665 -25.2499995 546 0 2670 --64.5833335 -64.4166665 -25.4166665 -25.2499995 522 0 2670 --64.4166665 -64.2499995 -25.4166665 -25.2499995 525 0 2670 --64.2500005 -64.0833335 -25.4166665 -25.2499995 385 0 2670 --64.0833335 -63.9166665 -25.4166665 -25.2499995 337 0 2670 --63.9166665 -63.7499995 -25.4166665 -25.2499995 319 0 2670 --63.7500005 -63.5833335 -25.4166665 -25.2499995 307 0 2670 --63.5833335 -63.4166665 -25.4166665 -25.2499995 291 0 2670 --63.4166665 -63.2499995 -25.4166665 -25.2499995 275 0 2670 --63.2500005 -63.0833335 -25.4166665 -25.2499995 259 0 2670 --63.0833335 -62.9166665 -25.4166665 -25.2499995 244 0 2670 --62.9166665 -62.7499995 -25.4166665 -25.2499995 234 0 2670 --62.7500005 -62.5833335 -25.4166665 -25.2499995 220 0 2670 --62.5833335 -62.4166665 -25.4166665 -25.2499995 210 0 2670 --62.4166665 -62.2499995 -25.4166665 -25.2499995 199 0 2670 --62.2500005 -62.0833335 -25.4166665 -25.2499995 188 0 2670 --62.0833335 -61.9166665 -25.4166665 -25.2499995 179 0 2670 --61.9166665 -61.7499995 -25.4166665 -25.2499995 169 0 2670 --61.7500005 -61.5833335 -25.4166665 -25.2499995 160 0 2670 --61.5833335 -61.4166665 -25.4166665 -25.2499995 152 0 2670 --61.4166665 -61.2499995 -25.4166665 -25.2499995 145 0 2670 --61.2500005 -61.0833335 -25.4166665 -25.2499995 139 0 2670 --61.0833335 -60.9166665 -25.4166665 -25.2499995 135 0 2670 --60.9166665 -60.7499995 -25.4166665 -25.2499995 131 0 2670 --60.7500005 -60.5833335 -25.4166665 -25.2499995 127 0 2670 --60.5833335 -60.4166665 -25.4166665 -25.2499995 122 0 2670 --60.4166665 -60.2499995 -25.4166665 -25.2499995 120 0 2670 --60.2500005 -60.0833335 -25.4166665 -25.2499995 116 0 2670 --60.0833335 -59.9166665 -25.4166665 -25.2499995 116 0 2670 --59.9166665 -59.7499995 -25.4166665 -25.2499995 107 0 2670 --59.7500005 -59.5833335 -25.4166665 -25.2499995 102 0 2670 --59.5833335 -59.4166665 -25.4166665 -25.2499995 100 0 2670 --59.4166665 -59.2499995 -25.4166665 -25.2499995 96 0 2670 --59.2500005 -59.0833335 -25.4166665 -25.2499995 97 0 2670 --59.0833335 -58.9166665 -25.4166665 -25.2499995 90 0 2670 --58.9166665 -58.7499995 -25.4166665 -25.2499995 87 0 2670 --58.7500005 -58.5833335 -25.4166665 -25.2499995 86 0 2670 --58.5833335 -58.4166665 -25.4166665 -25.2499995 82 0 2670 --58.4166665 -58.2499995 -25.4166665 -25.2499995 77 0 2670 --58.2500005 -58.0833335 -25.4166665 -25.2499995 74 0 2670 --58.0833335 -57.9166665 -25.4166665 -25.2499995 70 0 2670 --57.9166665 -57.7499995 -25.4166665 -25.2499995 67 0 2670 --57.7500005 -57.5833335 -25.4166665 -25.2499995 53 0 2670 --57.5833335 -57.4166665 -25.4166665 -25.2499995 114 0 2670 --57.4166665 -57.2499995 -25.4166665 -25.2499995 62 0 2670 --57.2500005 -57.0833335 -25.4166665 -25.2499995 214 0 2670 --57.0833335 -56.9166665 -25.4166665 -25.2499995 110 0 2670 --56.9166665 -56.7499995 -25.4166665 -25.2499995 160 0 2670 --56.7500005 -56.5833335 -25.4166665 -25.2499995 82 0 2670 --56.5833335 -56.4166665 -25.4166665 -25.2499995 111 0 2670 --56.4166665 -56.2499995 -25.4166665 -25.2499995 149 0 2670 --56.2500005 -56.0833335 -25.4166665 -25.2499995 150 0 2670 --56.0833335 -55.9166665 -25.4166665 -25.2499995 298 0 2670 --55.9166665 -55.7499995 -25.4166665 -25.2499995 326 0 2670 --55.7500005 -55.5833335 -25.4166665 -25.2499995 269 0 2670 --55.5833335 -55.4166665 -25.4166665 -25.2499995 239 0 2670 --55.4166665 -55.2499995 -25.4166665 -25.2499995 220 0 2670 --55.2500005 -55.0833335 -25.4166665 -25.2499995 220 0 2670 --55.0833335 -54.9166665 -25.4166665 -25.2499995 250 0 2670 --54.9166665 -54.7499995 -25.4166665 -25.2499995 223 0 2670 --54.7500005 -54.5833335 -25.4166665 -25.2499995 239 0 2670 --54.5833335 -54.4166665 -25.4166665 -25.2499995 217 0 2670 --54.4166665 -54.2499995 -25.4166665 -25.2499995 279 0 2670 --54.2500005 -54.0833335 -25.4166665 -25.2499995 387 0 2670 --54.0833335 -53.9166665 -25.4166665 -25.2499995 355 0 2670 --53.9166665 -53.7499995 -25.4166665 -25.2499995 378 0 2670 --53.7500005 -53.5833335 -25.4166665 -25.2499995 393 0 2670 --53.5833335 -53.4166665 -25.4166665 -25.2499995 427 0 2670 --53.4166665 -53.2499995 -25.4166665 -25.2499995 548 0 2670 --53.2500005 -53.0833335 -25.4166665 -25.2499995 589 0 2670 --53.0833335 -52.9166665 -25.4166665 -25.2499995 452 0 2670 --52.9166665 -52.7499995 -25.4166665 -25.2499995 710 0 2670 --52.7500005 -52.5833335 -25.4166665 -25.2499995 693 0 2670 --52.5833335 -52.4166665 -25.4166665 -25.2499995 751 0 2670 --52.4166665 -52.2499995 -25.4166665 -25.2499995 819 0 2670 --52.2500005 -52.0833335 -25.4166665 -25.2499995 817 0 2670 --52.0833335 -51.9166665 -25.4166665 -25.2499995 754 0 2670 --51.9166665 -51.7499995 -25.4166665 -25.2499995 970 0 2670 --51.7500005 -51.5833335 -25.4166665 -25.2499995 1005 0 2670 --51.5833335 -51.4166665 -25.4166665 -25.2499995 1042 0 2670 --51.4166665 -51.2499995 -25.4166665 -25.2499995 1102 0 2670 --51.2500005 -51.0833335 -25.4166665 -25.2499995 958 0 2670 --51.0833335 -50.9166665 -25.4166665 -25.2499995 793 0 2670 --50.9166665 -50.7499995 -25.4166665 -25.2499995 887 0 2670 --50.7500005 -50.5833335 -25.4166665 -25.2499995 850 0 2670 --50.5833335 -50.4166665 -25.4166665 -25.2499995 886 0 2670 --50.4166665 -50.2499995 -25.4166665 -25.2499995 830 0 2670 --50.2500005 -50.0833335 -25.4166665 -25.2499995 924 0 2670 --50.0833335 -49.9166665 -25.4166665 -25.2499995 830 0 2670 --49.9166665 -49.7499995 -25.4166665 -25.2499995 996 0 2670 --49.7500005 -49.5833335 -25.4166665 -25.2499995 775 0 2670 --49.5833335 -49.4166665 -25.4166665 -25.2499995 936 0 2670 --49.4166665 -49.2499995 -25.4166665 -25.2499995 980 0 2670 --49.2500005 -49.0833335 -25.4166665 -25.2499995 927 0 2670 --49.0833335 -48.9166665 -25.4166665 -25.2499995 899 0 2670 --48.9166665 -48.7499995 -25.4166665 -25.2499995 557 0 2670 --48.7500005 -48.5833335 -25.4166665 -25.2499995 59 0 2670 --48.5833335 -48.4166665 -25.4166665 -25.2499995 5 0 2670 --48.4166665 -48.2499995 -25.4166665 -25.2499995 0 0 2670 --48.2500005 -48.0833335 -25.4166665 -25.2499995 19 0 2670 --48.0833335 -47.9166665 -25.4166665 -25.2499995 0 -5 -1670 --47.9166665 -47.7499995 -25.4166665 -25.2499995 0 -21 -1670 --47.7500005 -47.5833335 -25.4166665 -25.2499995 0 -26 -1670 --47.5833335 -47.4166665 -25.4166665 -25.2499995 0 -34 -1670 --47.4166665 -47.2499995 -25.4166665 -25.2499995 0 -42 -1670 --47.2500005 -47.0833335 -25.4166665 -25.2499995 0 -49 -1670 --47.0833335 -46.9166665 -25.4166665 -25.2499995 0 -59 -1670 --46.9166665 -46.7499995 -25.4166665 -25.2499995 0 -64 -1670 --46.7500005 -46.5833335 -25.4166665 -25.2499995 0 -70 -1670 --46.5833335 -46.4166665 -25.4166665 -25.2499995 0 -77 -1670 --46.4166665 -46.2499995 -25.4166665 -25.2499995 0 -89 -1670 --46.2500005 -46.0833335 -25.4166665 -25.2499995 0 -106 -1670 --46.0833335 -45.9166665 -25.4166665 -25.2499995 0 -117 -1670 --45.9166665 -45.7499995 -25.4166665 -25.2499995 0 -124 -1670 --45.7500005 -45.5833335 -25.4166665 -25.2499995 0 -128 -1670 --45.5833335 -45.4166665 -25.4166665 -25.2499995 0 -162 -1670 --45.4166665 -45.2499995 -25.4166665 -25.2499995 0 -94 -1670 --45.2500005 -45.0833335 -25.4166665 -25.2499995 0 -136 -1670 --45.0833335 -44.9166665 -25.4166665 -25.2499995 0 -162 -1670 --44.9166665 -44.7499995 -25.4166665 -25.2499995 0 -1002 -1670 --44.7500005 -44.5833335 -25.4166665 -25.2499995 0 -1556 -1670 --44.5833335 -44.4166665 -25.4166665 -25.2499995 0 -1768 -1670 --44.4166665 -44.2499995 -25.4166665 -25.2499995 0 -1804 -1670 --44.2500005 -44.0833335 -25.4166665 -25.2499995 0 -1980 -1670 --44.0833335 -43.9166665 -25.4166665 -25.2499995 0 -2044 -1670 --43.9166665 -43.7499995 -25.4166665 -25.2499995 0 -2144 -1670 --43.7500005 -43.5833335 -25.4166665 -25.2499995 0 -2132 -1670 --43.5833335 -43.4166665 -25.4166665 -25.2499995 0 -2120 -1670 --43.4166665 -43.2499995 -25.4166665 -25.2499995 0 -2184 -1670 --43.2500005 -43.0833335 -25.4166665 -25.2499995 0 -2210 -1670 --43.0833335 -42.9166665 -25.4166665 -25.2499995 0 -2220 -1670 --42.9166665 -42.7499995 -25.4166665 -25.2499995 0 -2170 -1670 --42.7500005 -42.5833335 -25.4166665 -25.2499995 0 -2095 -1670 --42.5833335 -42.4166665 -25.4166665 -25.2499995 0 -2234 -1670 --42.4166665 -42.2499995 -25.4166665 -25.2499995 0 -2213 -1670 --42.2500005 -42.0833335 -25.4166665 -25.2499995 0 -2254 -1670 --42.0833335 -41.9166665 -25.4166665 -25.2499995 0 -2438 -1670 --41.9166665 -41.7499995 -25.4166665 -25.2499995 0 -2466 -1670 --41.7500005 -41.5833335 -25.4166665 -25.2499995 0 -2590 -1670 --41.5833335 -41.4166665 -25.4166665 -25.2499995 0 -2658 -1670 --41.4166665 -41.2499995 -25.4166665 -25.2499995 0 -2538 -1670 --41.2500005 -41.0833335 -25.4166665 -25.2499995 0 -2722 -1670 --41.0833335 -40.9166665 -25.4166665 -25.2499995 0 -2640 -1670 --40.9166665 -40.7499995 -25.4166665 -25.2499995 0 -2786 -1670 --40.7500005 -40.5833335 -25.4166665 -25.2499995 0 -2902 -1670 --40.5833335 -40.4166665 -25.4166665 -25.2499995 0 -3196 -1670 --40.4166665 -40.2499995 -25.4166665 -25.2499995 0 -3223 -1670 --40.2500005 -40.0833335 -25.4166665 -25.2499995 0 -3137 -1670 --40.0833335 -39.9166665 -25.4166665 -25.2499995 0 -3150 -1670 --65.0833335 -64.9166665 -25.5833335 -25.4166665 983 0 2670 --64.9166665 -64.7499995 -25.5833335 -25.4166665 685 0 2670 --64.7500005 -64.5833335 -25.5833335 -25.4166665 568 0 2670 --64.5833335 -64.4166665 -25.5833335 -25.4166665 667 0 2670 --64.4166665 -64.2499995 -25.5833335 -25.4166665 553 0 2670 --64.2500005 -64.0833335 -25.5833335 -25.4166665 390 0 2670 --64.0833335 -63.9166665 -25.5833335 -25.4166665 318 0 2670 --63.9166665 -63.7499995 -25.5833335 -25.4166665 308 0 2670 --63.7500005 -63.5833335 -25.5833335 -25.4166665 291 0 2670 --63.5833335 -63.4166665 -25.5833335 -25.4166665 282 0 2670 --63.4166665 -63.2499995 -25.5833335 -25.4166665 270 0 2670 --63.2500005 -63.0833335 -25.5833335 -25.4166665 254 0 2670 --63.0833335 -62.9166665 -25.5833335 -25.4166665 243 0 2670 --62.9166665 -62.7499995 -25.5833335 -25.4166665 230 0 2670 --62.7500005 -62.5833335 -25.5833335 -25.4166665 220 0 2670 --62.5833335 -62.4166665 -25.5833335 -25.4166665 208 0 2670 --62.4166665 -62.2499995 -25.5833335 -25.4166665 198 0 2670 --62.2500005 -62.0833335 -25.5833335 -25.4166665 188 0 2670 --62.0833335 -61.9166665 -25.5833335 -25.4166665 178 0 2670 --61.9166665 -61.7499995 -25.5833335 -25.4166665 167 0 2670 --61.7500005 -61.5833335 -25.5833335 -25.4166665 160 0 2670 --61.5833335 -61.4166665 -25.5833335 -25.4166665 152 0 2670 --61.4166665 -61.2499995 -25.5833335 -25.4166665 146 0 2670 --61.2500005 -61.0833335 -25.5833335 -25.4166665 138 0 2670 --61.0833335 -60.9166665 -25.5833335 -25.4166665 131 0 2670 --60.9166665 -60.7499995 -25.5833335 -25.4166665 128 0 2670 --60.7500005 -60.5833335 -25.5833335 -25.4166665 124 0 2670 --60.5833335 -60.4166665 -25.5833335 -25.4166665 119 0 2670 --60.4166665 -60.2499995 -25.5833335 -25.4166665 114 0 2670 --60.2500005 -60.0833335 -25.5833335 -25.4166665 113 0 2670 --60.0833335 -59.9166665 -25.5833335 -25.4166665 109 0 2670 --59.9166665 -59.7499995 -25.5833335 -25.4166665 103 0 2670 --59.7500005 -59.5833335 -25.5833335 -25.4166665 103 0 2670 --59.5833335 -59.4166665 -25.5833335 -25.4166665 100 0 2670 --59.4166665 -59.2499995 -25.5833335 -25.4166665 95 0 2670 --59.2500005 -59.0833335 -25.5833335 -25.4166665 93 0 2670 --59.0833335 -58.9166665 -25.5833335 -25.4166665 91 0 2670 --58.9166665 -58.7499995 -25.5833335 -25.4166665 85 0 2670 --58.7500005 -58.5833335 -25.5833335 -25.4166665 80 0 2670 --58.5833335 -58.4166665 -25.5833335 -25.4166665 79 0 2670 --58.4166665 -58.2499995 -25.5833335 -25.4166665 72 0 2670 --58.2500005 -58.0833335 -25.5833335 -25.4166665 70 0 2670 --58.0833335 -57.9166665 -25.5833335 -25.4166665 68 0 2670 --57.9166665 -57.7499995 -25.5833335 -25.4166665 65 0 2670 --57.7500005 -57.5833335 -25.5833335 -25.4166665 64 0 2670 --57.5833335 -57.4166665 -25.5833335 -25.4166665 107 0 2670 --57.4166665 -57.2499995 -25.5833335 -25.4166665 130 0 2670 --57.2500005 -57.0833335 -25.5833335 -25.4166665 132 0 2670 --57.0833335 -56.9166665 -25.5833335 -25.4166665 252 0 2670 --56.9166665 -56.7499995 -25.5833335 -25.4166665 147 0 2670 --56.7500005 -56.5833335 -25.5833335 -25.4166665 114 0 2670 --56.5833335 -56.4166665 -25.5833335 -25.4166665 126 0 2670 --56.4166665 -56.2499995 -25.5833335 -25.4166665 204 0 2670 --56.2500005 -56.0833335 -25.5833335 -25.4166665 245 0 2670 --56.0833335 -55.9166665 -25.5833335 -25.4166665 295 0 2670 --55.9166665 -55.7499995 -25.5833335 -25.4166665 233 0 2670 --55.7500005 -55.5833335 -25.5833335 -25.4166665 218 0 2670 --55.5833335 -55.4166665 -25.5833335 -25.4166665 224 0 2670 --55.4166665 -55.2499995 -25.5833335 -25.4166665 256 0 2670 --55.2500005 -55.0833335 -25.5833335 -25.4166665 216 0 2670 --55.0833335 -54.9166665 -25.5833335 -25.4166665 230 0 2670 --54.9166665 -54.7499995 -25.5833335 -25.4166665 245 0 2670 --54.7500005 -54.5833335 -25.5833335 -25.4166665 215 0 2670 --54.5833335 -54.4166665 -25.5833335 -25.4166665 261 0 2670 --54.4166665 -54.2499995 -25.5833335 -25.4166665 284 0 2670 --54.2500005 -54.0833335 -25.5833335 -25.4166665 249 0 2670 --54.0833335 -53.9166665 -25.5833335 -25.4166665 285 0 2670 --53.9166665 -53.7499995 -25.5833335 -25.4166665 309 0 2670 --53.7500005 -53.5833335 -25.5833335 -25.4166665 273 0 2670 --53.5833335 -53.4166665 -25.5833335 -25.4166665 358 0 2670 --53.4166665 -53.2499995 -25.5833335 -25.4166665 378 0 2670 --53.2500005 -53.0833335 -25.5833335 -25.4166665 392 0 2670 --53.0833335 -52.9166665 -25.5833335 -25.4166665 463 0 2670 --52.9166665 -52.7499995 -25.5833335 -25.4166665 586 0 2670 --52.7500005 -52.5833335 -25.5833335 -25.4166665 607 0 2670 --52.5833335 -52.4166665 -25.5833335 -25.4166665 643 0 2670 --52.4166665 -52.2499995 -25.5833335 -25.4166665 773 0 2670 --52.2500005 -52.0833335 -25.5833335 -25.4166665 707 0 2670 --52.0833335 -51.9166665 -25.5833335 -25.4166665 805 0 2670 --51.9166665 -51.7499995 -25.5833335 -25.4166665 938 0 2670 --51.7500005 -51.5833335 -25.5833335 -25.4166665 961 0 2670 --51.5833335 -51.4166665 -25.5833335 -25.4166665 1073 0 2670 --51.4166665 -51.2499995 -25.5833335 -25.4166665 1138 0 2670 --51.2500005 -51.0833335 -25.5833335 -25.4166665 1191 0 2670 --51.0833335 -50.9166665 -25.5833335 -25.4166665 895 0 2670 --50.9166665 -50.7499995 -25.5833335 -25.4166665 823 0 2670 --50.7500005 -50.5833335 -25.5833335 -25.4166665 859 0 2670 --50.5833335 -50.4166665 -25.5833335 -25.4166665 823 0 2670 --50.4166665 -50.2499995 -25.5833335 -25.4166665 906 0 2670 --50.2500005 -50.0833335 -25.5833335 -25.4166665 840 0 2670 --50.0833335 -49.9166665 -25.5833335 -25.4166665 910 0 2670 --49.9166665 -49.7499995 -25.5833335 -25.4166665 928 0 2670 --49.7500005 -49.5833335 -25.5833335 -25.4166665 1085 0 2670 --49.5833335 -49.4166665 -25.5833335 -25.4166665 898 0 2670 --49.4166665 -49.2499995 -25.5833335 -25.4166665 892 0 2670 --49.2500005 -49.0833335 -25.5833335 -25.4166665 882 0 2670 --49.0833335 -48.9166665 -25.5833335 -25.4166665 953 0 2670 --48.9166665 -48.7499995 -25.5833335 -25.4166665 18 0 2670 --48.7500005 -48.5833335 -25.5833335 -25.4166665 4 0 2670 --48.5833335 -48.4166665 -25.5833335 -25.4166665 0 0 2670 --48.4166665 -48.2499995 -25.5833335 -25.4166665 11 0 2670 --48.2500005 -48.0833335 -25.5833335 -25.4166665 0 -6 -1670 --48.0833335 -47.9166665 -25.5833335 -25.4166665 0 -20 -1670 --47.9166665 -47.7499995 -25.5833335 -25.4166665 0 -26 -1670 --47.7500005 -47.5833335 -25.5833335 -25.4166665 0 -34 -1670 --47.5833335 -47.4166665 -25.5833335 -25.4166665 0 -42 -1670 --47.4166665 -47.2499995 -25.5833335 -25.4166665 0 -49 -1670 --47.2500005 -47.0833335 -25.5833335 -25.4166665 0 -58 -1670 --47.0833335 -46.9166665 -25.5833335 -25.4166665 0 -72 -1670 --46.9166665 -46.7499995 -25.5833335 -25.4166665 0 -77 -1670 --46.7500005 -46.5833335 -25.5833335 -25.4166665 0 -92 -1670 --46.5833335 -46.4166665 -25.5833335 -25.4166665 0 -104 -1670 --46.4166665 -46.2499995 -25.5833335 -25.4166665 0 -122 -1670 --46.2500005 -46.0833335 -25.5833335 -25.4166665 0 -151 -1670 --46.0833335 -45.9166665 -25.5833335 -25.4166665 0 -143 -1670 --45.9166665 -45.7499995 -25.5833335 -25.4166665 0 -147 -1670 --45.7500005 -45.5833335 -25.5833335 -25.4166665 0 -172 -1670 --45.5833335 -45.4166665 -25.5833335 -25.4166665 0 -144 -1670 --45.4166665 -45.2499995 -25.5833335 -25.4166665 0 -158 -1670 --45.2500005 -45.0833335 -25.5833335 -25.4166665 0 -145 -1670 --45.0833335 -44.9166665 -25.5833335 -25.4166665 0 -666 -1670 --44.9166665 -44.7499995 -25.5833335 -25.4166665 0 -1396 -1670 --44.7500005 -44.5833335 -25.5833335 -25.4166665 0 -1757 -1670 --44.5833335 -44.4166665 -25.5833335 -25.4166665 0 -1855 -1670 --44.4166665 -44.2499995 -25.5833335 -25.4166665 0 -2033 -1670 --44.2500005 -44.0833335 -25.5833335 -25.4166665 0 -2108 -1670 --44.0833335 -43.9166665 -25.5833335 -25.4166665 0 -2046 -1670 --43.9166665 -43.7499995 -25.5833335 -25.4166665 0 -2145 -1670 --43.7500005 -43.5833335 -25.5833335 -25.4166665 0 -2139 -1670 --43.5833335 -43.4166665 -25.5833335 -25.4166665 0 -2140 -1670 --43.4166665 -43.2499995 -25.5833335 -25.4166665 0 -2152 -1670 --43.2500005 -43.0833335 -25.5833335 -25.4166665 0 -2176 -1670 --43.0833335 -42.9166665 -25.5833335 -25.4166665 0 -2125 -1670 --42.9166665 -42.7499995 -25.5833335 -25.4166665 0 -2126 -1670 --42.7500005 -42.5833335 -25.5833335 -25.4166665 0 -2182 -1670 --42.5833335 -42.4166665 -25.5833335 -25.4166665 0 -2121 -1670 --42.4166665 -42.2499995 -25.5833335 -25.4166665 0 -2316 -1670 --42.2500005 -42.0833335 -25.5833335 -25.4166665 0 -2427 -1670 --42.0833335 -41.9166665 -25.5833335 -25.4166665 0 -2360 -1670 --41.9166665 -41.7499995 -25.5833335 -25.4166665 0 -2575 -1670 --41.7500005 -41.5833335 -25.5833335 -25.4166665 0 -2591 -1670 --41.5833335 -41.4166665 -25.5833335 -25.4166665 0 -2560 -1670 --41.4166665 -41.2499995 -25.5833335 -25.4166665 0 -2592 -1670 --41.2500005 -41.0833335 -25.5833335 -25.4166665 0 -2554 -1670 --41.0833335 -40.9166665 -25.5833335 -25.4166665 0 -2940 -1670 --40.9166665 -40.7499995 -25.5833335 -25.4166665 0 -2884 -1670 --40.7500005 -40.5833335 -25.5833335 -25.4166665 0 -2949 -1670 --40.5833335 -40.4166665 -25.5833335 -25.4166665 0 -3052 -1670 --40.4166665 -40.2499995 -25.5833335 -25.4166665 0 -3219 -1670 --40.2500005 -40.0833335 -25.5833335 -25.4166665 0 -3158 -1670 --40.0833335 -39.9166665 -25.5833335 -25.4166665 0 -3254 -1670 --65.0833335 -64.9166665 -25.7500005 -25.5833335 896 0 2670 --64.9166665 -64.7499995 -25.7500005 -25.5833335 683 0 2670 --64.7500005 -64.5833335 -25.7500005 -25.5833335 610 0 2670 --64.5833335 -64.4166665 -25.7500005 -25.5833335 770 0 2670 --64.4166665 -64.2499995 -25.7500005 -25.5833335 533 0 2670 --64.2500005 -64.0833335 -25.7500005 -25.5833335 372 0 2670 --64.0833335 -63.9166665 -25.7500005 -25.5833335 302 0 2670 --63.9166665 -63.7499995 -25.7500005 -25.5833335 292 0 2670 --63.7500005 -63.5833335 -25.7500005 -25.5833335 283 0 2670 --63.5833335 -63.4166665 -25.7500005 -25.5833335 270 0 2670 --63.4166665 -63.2499995 -25.7500005 -25.5833335 262 0 2670 --63.2500005 -63.0833335 -25.7500005 -25.5833335 249 0 2670 --63.0833335 -62.9166665 -25.7500005 -25.5833335 238 0 2670 --62.9166665 -62.7499995 -25.7500005 -25.5833335 228 0 2670 --62.7500005 -62.5833335 -25.7500005 -25.5833335 217 0 2670 --62.5833335 -62.4166665 -25.7500005 -25.5833335 207 0 2670 --62.4166665 -62.2499995 -25.7500005 -25.5833335 197 0 2670 --62.2500005 -62.0833335 -25.7500005 -25.5833335 188 0 2670 --62.0833335 -61.9166665 -25.7500005 -25.5833335 178 0 2670 --61.9166665 -61.7499995 -25.7500005 -25.5833335 170 0 2670 --61.7500005 -61.5833335 -25.7500005 -25.5833335 160 0 2670 --61.5833335 -61.4166665 -25.7500005 -25.5833335 154 0 2670 --61.4166665 -61.2499995 -25.7500005 -25.5833335 145 0 2670 --61.2500005 -61.0833335 -25.7500005 -25.5833335 137 0 2670 --61.0833335 -60.9166665 -25.7500005 -25.5833335 130 0 2670 --60.9166665 -60.7499995 -25.7500005 -25.5833335 125 0 2670 --60.7500005 -60.5833335 -25.7500005 -25.5833335 119 0 2670 --60.5833335 -60.4166665 -25.7500005 -25.5833335 116 0 2670 --60.4166665 -60.2499995 -25.7500005 -25.5833335 114 0 2670 --60.2500005 -60.0833335 -25.7500005 -25.5833335 110 0 2670 --60.0833335 -59.9166665 -25.7500005 -25.5833335 106 0 2670 --59.9166665 -59.7499995 -25.7500005 -25.5833335 103 0 2670 --59.7500005 -59.5833335 -25.7500005 -25.5833335 98 0 2670 --59.5833335 -59.4166665 -25.7500005 -25.5833335 101 0 2670 --59.4166665 -59.2499995 -25.7500005 -25.5833335 90 0 2670 --59.2500005 -59.0833335 -25.7500005 -25.5833335 92 0 2670 --59.0833335 -58.9166665 -25.7500005 -25.5833335 84 0 2670 --58.9166665 -58.7499995 -25.7500005 -25.5833335 86 0 2670 --58.7500005 -58.5833335 -25.7500005 -25.5833335 77 0 2670 --58.5833335 -58.4166665 -25.7500005 -25.5833335 78 0 2670 --58.4166665 -58.2499995 -25.7500005 -25.5833335 73 0 2670 --58.2500005 -58.0833335 -25.7500005 -25.5833335 69 0 2670 --58.0833335 -57.9166665 -25.7500005 -25.5833335 65 0 2670 --57.9166665 -57.7499995 -25.7500005 -25.5833335 63 0 2670 --57.7500005 -57.5833335 -25.7500005 -25.5833335 64 0 2670 --57.5833335 -57.4166665 -25.7500005 -25.5833335 73 0 2670 --57.4166665 -57.2499995 -25.7500005 -25.5833335 72 0 2670 --57.2500005 -57.0833335 -25.7500005 -25.5833335 92 0 2670 --57.0833335 -56.9166665 -25.7500005 -25.5833335 147 0 2670 --56.9166665 -56.7499995 -25.7500005 -25.5833335 141 0 2670 --56.7500005 -56.5833335 -25.7500005 -25.5833335 110 0 2670 --56.5833335 -56.4166665 -25.7500005 -25.5833335 121 0 2670 --56.4166665 -56.2499995 -25.7500005 -25.5833335 159 0 2670 --56.2500005 -56.0833335 -25.7500005 -25.5833335 169 0 2670 --56.0833335 -55.9166665 -25.7500005 -25.5833335 204 0 2670 --55.9166665 -55.7499995 -25.7500005 -25.5833335 292 0 2670 --55.7500005 -55.5833335 -25.7500005 -25.5833335 230 0 2670 --55.5833335 -55.4166665 -25.7500005 -25.5833335 267 0 2670 --55.4166665 -55.2499995 -25.7500005 -25.5833335 245 0 2670 --55.2500005 -55.0833335 -25.7500005 -25.5833335 237 0 2670 --55.0833335 -54.9166665 -25.7500005 -25.5833335 252 0 2670 --54.9166665 -54.7499995 -25.7500005 -25.5833335 245 0 2670 --54.7500005 -54.5833335 -25.7500005 -25.5833335 167 0 2670 --54.5833335 -54.4166665 -25.7500005 -25.5833335 243 0 2670 --54.4166665 -54.2499995 -25.7500005 -25.5833335 241 0 2670 --54.2500005 -54.0833335 -25.7500005 -25.5833335 248 0 2670 --54.0833335 -53.9166665 -25.7500005 -25.5833335 303 0 2670 --53.9166665 -53.7499995 -25.7500005 -25.5833335 295 0 2670 --53.7500005 -53.5833335 -25.7500005 -25.5833335 379 0 2670 --53.5833335 -53.4166665 -25.7500005 -25.5833335 385 0 2670 --53.4166665 -53.2499995 -25.7500005 -25.5833335 428 0 2670 --53.2500005 -53.0833335 -25.7500005 -25.5833335 475 0 2670 --53.0833335 -52.9166665 -25.7500005 -25.5833335 416 0 2670 --52.9166665 -52.7499995 -25.7500005 -25.5833335 574 0 2670 --52.7500005 -52.5833335 -25.7500005 -25.5833335 473 0 2670 --52.5833335 -52.4166665 -25.7500005 -25.5833335 510 0 2670 --52.4166665 -52.2499995 -25.7500005 -25.5833335 566 0 2670 --52.2500005 -52.0833335 -25.7500005 -25.5833335 754 0 2670 --52.0833335 -51.9166665 -25.7500005 -25.5833335 840 0 2670 --51.9166665 -51.7499995 -25.7500005 -25.5833335 909 0 2670 --51.7500005 -51.5833335 -25.7500005 -25.5833335 1028 0 2670 --51.5833335 -51.4166665 -25.7500005 -25.5833335 1125 0 2670 --51.4166665 -51.2499995 -25.7500005 -25.5833335 1257 0 2670 --51.2500005 -51.0833335 -25.7500005 -25.5833335 1034 0 2670 --51.0833335 -50.9166665 -25.7500005 -25.5833335 1174 0 2670 --50.9166665 -50.7499995 -25.7500005 -25.5833335 893 0 2670 --50.7500005 -50.5833335 -25.7500005 -25.5833335 812 0 2670 --50.5833335 -50.4166665 -25.7500005 -25.5833335 913 0 2670 --50.4166665 -50.2499995 -25.7500005 -25.5833335 837 0 2670 --50.2500005 -50.0833335 -25.7500005 -25.5833335 814 0 2670 --50.0833335 -49.9166665 -25.7500005 -25.5833335 875 0 2670 --49.9166665 -49.7499995 -25.7500005 -25.5833335 882 0 2670 --49.7500005 -49.5833335 -25.7500005 -25.5833335 907 0 2670 --49.5833335 -49.4166665 -25.7500005 -25.5833335 918 0 2670 --49.4166665 -49.2499995 -25.7500005 -25.5833335 903 0 2670 --49.2500005 -49.0833335 -25.7500005 -25.5833335 899 0 2670 --49.0833335 -48.9166665 -25.7500005 -25.5833335 915 0 2670 --48.9166665 -48.7499995 -25.7500005 -25.5833335 297 0 2670 --48.7500005 -48.5833335 -25.7500005 -25.5833335 396 0 2670 --48.5833335 -48.4166665 -25.7500005 -25.5833335 15 0 2670 --48.4166665 -48.2499995 -25.7500005 -25.5833335 0 -3 -1670 --48.2500005 -48.0833335 -25.7500005 -25.5833335 0 -19 -1670 --48.0833335 -47.9166665 -25.7500005 -25.5833335 0 -25 -1670 --47.9166665 -47.7499995 -25.7500005 -25.5833335 0 -33 -1670 --47.7500005 -47.5833335 -25.7500005 -25.5833335 0 -41 -1670 --47.5833335 -47.4166665 -25.7500005 -25.5833335 0 -48 -1670 --47.4166665 -47.2499995 -25.7500005 -25.5833335 0 -57 -1670 --47.2500005 -47.0833335 -25.7500005 -25.5833335 0 -64 -1670 --47.0833335 -46.9166665 -25.7500005 -25.5833335 0 -79 -1670 --46.9166665 -46.7499995 -25.7500005 -25.5833335 0 -95 -1670 --46.7500005 -46.5833335 -25.7500005 -25.5833335 0 -111 -1670 --46.5833335 -46.4166665 -25.7500005 -25.5833335 0 -126 -1670 --46.4166665 -46.2499995 -25.7500005 -25.5833335 0 -131 -1670 --46.2500005 -46.0833335 -25.7500005 -25.5833335 0 -156 -1670 --46.0833335 -45.9166665 -25.7500005 -25.5833335 0 -149 -1670 --45.9166665 -45.7499995 -25.7500005 -25.5833335 0 -166 -1670 --45.7500005 -45.5833335 -25.7500005 -25.5833335 0 -159 -1670 --45.5833335 -45.4166665 -25.7500005 -25.5833335 0 -141 -1670 --45.4166665 -45.2499995 -25.7500005 -25.5833335 0 -162 -1670 --45.2500005 -45.0833335 -25.7500005 -25.5833335 0 -393 -1670 --45.0833335 -44.9166665 -25.7500005 -25.5833335 0 -1226 -1670 --44.9166665 -44.7499995 -25.7500005 -25.5833335 0 -1652 -1670 --44.7500005 -44.5833335 -25.7500005 -25.5833335 0 -1944 -1670 --44.5833335 -44.4166665 -25.7500005 -25.5833335 0 -1980 -1670 --44.4166665 -44.2499995 -25.7500005 -25.5833335 0 -2038 -1670 --44.2500005 -44.0833335 -25.7500005 -25.5833335 0 -2049 -1670 --44.0833335 -43.9166665 -25.7500005 -25.5833335 0 -2112 -1670 --43.9166665 -43.7499995 -25.7500005 -25.5833335 0 -2135 -1670 --43.7500005 -43.5833335 -25.7500005 -25.5833335 0 -2119 -1670 --43.5833335 -43.4166665 -25.7500005 -25.5833335 0 -2120 -1670 --43.4166665 -43.2499995 -25.7500005 -25.5833335 0 -2126 -1670 --43.2500005 -43.0833335 -25.7500005 -25.5833335 0 -2157 -1670 --43.0833335 -42.9166665 -25.7500005 -25.5833335 0 -2162 -1670 --42.9166665 -42.7499995 -25.7500005 -25.5833335 0 -2159 -1670 --42.7500005 -42.5833335 -25.7500005 -25.5833335 0 -2231 -1670 --42.5833335 -42.4166665 -25.7500005 -25.5833335 0 -2249 -1670 --42.4166665 -42.2499995 -25.7500005 -25.5833335 0 -2344 -1670 --42.2500005 -42.0833335 -25.7500005 -25.5833335 0 -2330 -1670 --42.0833335 -41.9166665 -25.7500005 -25.5833335 0 -2527 -1670 --41.9166665 -41.7499995 -25.7500005 -25.5833335 0 -2495 -1670 --41.7500005 -41.5833335 -25.7500005 -25.5833335 0 -2485 -1670 --41.5833335 -41.4166665 -25.7500005 -25.5833335 0 -2585 -1670 --41.4166665 -41.2499995 -25.7500005 -25.5833335 0 -2557 -1670 --41.2500005 -41.0833335 -25.7500005 -25.5833335 0 -2598 -1670 --41.0833335 -40.9166665 -25.7500005 -25.5833335 0 -2927 -1670 --40.9166665 -40.7499995 -25.7500005 -25.5833335 0 -2888 -1670 --40.7500005 -40.5833335 -25.7500005 -25.5833335 0 -3002 -1670 --40.5833335 -40.4166665 -25.7500005 -25.5833335 0 -3099 -1670 --40.4166665 -40.2499995 -25.7500005 -25.5833335 0 -3126 -1670 --40.2500005 -40.0833335 -25.7500005 -25.5833335 0 -3087 -1670 --40.0833335 -39.9166665 -25.7500005 -25.5833335 0 -3293 -1670 --65.0833335 -64.9166665 -25.9166665 -25.7499995 825 0 2670 --64.9166665 -64.7499995 -25.9166665 -25.7499995 697 0 2670 --64.7500005 -64.5833335 -25.9166665 -25.7499995 579 0 2670 --64.5833335 -64.4166665 -25.9166665 -25.7499995 539 0 2670 --64.4166665 -64.2499995 -25.9166665 -25.7499995 455 0 2670 --64.2500005 -64.0833335 -25.9166665 -25.7499995 347 0 2670 --64.0833335 -63.9166665 -25.9166665 -25.7499995 298 0 2670 --63.9166665 -63.7499995 -25.9166665 -25.7499995 275 0 2670 --63.7500005 -63.5833335 -25.9166665 -25.7499995 267 0 2670 --63.5833335 -63.4166665 -25.9166665 -25.7499995 260 0 2670 --63.4166665 -63.2499995 -25.9166665 -25.7499995 252 0 2670 --63.2500005 -63.0833335 -25.9166665 -25.7499995 243 0 2670 --63.0833335 -62.9166665 -25.9166665 -25.7499995 235 0 2670 --62.9166665 -62.7499995 -25.9166665 -25.7499995 223 0 2670 --62.7500005 -62.5833335 -25.9166665 -25.7499995 215 0 2670 --62.5833335 -62.4166665 -25.9166665 -25.7499995 205 0 2670 --62.4166665 -62.2499995 -25.9166665 -25.7499995 195 0 2670 --62.2500005 -62.0833335 -25.9166665 -25.7499995 185 0 2670 --62.0833335 -61.9166665 -25.9166665 -25.7499995 176 0 2670 --61.9166665 -61.7499995 -25.9166665 -25.7499995 168 0 2670 --61.7500005 -61.5833335 -25.9166665 -25.7499995 160 0 2670 --61.5833335 -61.4166665 -25.9166665 -25.7499995 153 0 2670 --61.4166665 -61.2499995 -25.9166665 -25.7499995 145 0 2670 --61.2500005 -61.0833335 -25.9166665 -25.7499995 138 0 2670 --61.0833335 -60.9166665 -25.9166665 -25.7499995 130 0 2670 --60.9166665 -60.7499995 -25.9166665 -25.7499995 120 0 2670 --60.7500005 -60.5833335 -25.9166665 -25.7499995 117 0 2670 --60.5833335 -60.4166665 -25.9166665 -25.7499995 114 0 2670 --60.4166665 -60.2499995 -25.9166665 -25.7499995 107 0 2670 --60.2500005 -60.0833335 -25.9166665 -25.7499995 108 0 2670 --60.0833335 -59.9166665 -25.9166665 -25.7499995 106 0 2670 --59.9166665 -59.7499995 -25.9166665 -25.7499995 104 0 2670 --59.7500005 -59.5833335 -25.9166665 -25.7499995 98 0 2670 --59.5833335 -59.4166665 -25.9166665 -25.7499995 91 0 2670 --59.4166665 -59.2499995 -25.9166665 -25.7499995 89 0 2670 --59.2500005 -59.0833335 -25.9166665 -25.7499995 86 0 2670 --59.0833335 -58.9166665 -25.9166665 -25.7499995 80 0 2670 --58.9166665 -58.7499995 -25.9166665 -25.7499995 81 0 2670 --58.7500005 -58.5833335 -25.9166665 -25.7499995 75 0 2670 --58.5833335 -58.4166665 -25.9166665 -25.7499995 72 0 2670 --58.4166665 -58.2499995 -25.9166665 -25.7499995 70 0 2670 --58.2500005 -58.0833335 -25.9166665 -25.7499995 69 0 2670 --58.0833335 -57.9166665 -25.9166665 -25.7499995 65 0 2670 --57.9166665 -57.7499995 -25.9166665 -25.7499995 53 0 2670 --57.7500005 -57.5833335 -25.9166665 -25.7499995 64 0 2670 --57.5833335 -57.4166665 -25.9166665 -25.7499995 62 0 2670 --57.4166665 -57.2499995 -25.9166665 -25.7499995 82 0 2670 --57.2500005 -57.0833335 -25.9166665 -25.7499995 116 0 2670 --57.0833335 -56.9166665 -25.9166665 -25.7499995 122 0 2670 --56.9166665 -56.7499995 -25.9166665 -25.7499995 173 0 2670 --56.7500005 -56.5833335 -25.9166665 -25.7499995 120 0 2670 --56.5833335 -56.4166665 -25.9166665 -25.7499995 123 0 2670 --56.4166665 -56.2499995 -25.9166665 -25.7499995 164 0 2670 --56.2500005 -56.0833335 -25.9166665 -25.7499995 257 0 2670 --56.0833335 -55.9166665 -25.9166665 -25.7499995 243 0 2670 --55.9166665 -55.7499995 -25.9166665 -25.7499995 260 0 2670 --55.7500005 -55.5833335 -25.9166665 -25.7499995 263 0 2670 --55.5833335 -55.4166665 -25.9166665 -25.7499995 253 0 2670 --55.4166665 -55.2499995 -25.9166665 -25.7499995 300 0 2670 --55.2500005 -55.0833335 -25.9166665 -25.7499995 290 0 2670 --55.0833335 -54.9166665 -25.9166665 -25.7499995 290 0 2670 --54.9166665 -54.7499995 -25.9166665 -25.7499995 263 0 2670 --54.7500005 -54.5833335 -25.9166665 -25.7499995 241 0 2670 --54.5833335 -54.4166665 -25.9166665 -25.7499995 222 0 2670 --54.4166665 -54.2499995 -25.9166665 -25.7499995 293 0 2670 --54.2500005 -54.0833335 -25.9166665 -25.7499995 305 0 2670 --54.0833335 -53.9166665 -25.9166665 -25.7499995 382 0 2670 --53.9166665 -53.7499995 -25.9166665 -25.7499995 337 0 2670 --53.7500005 -53.5833335 -25.9166665 -25.7499995 426 0 2670 --53.5833335 -53.4166665 -25.9166665 -25.7499995 485 0 2670 --53.4166665 -53.2499995 -25.9166665 -25.7499995 564 0 2670 --53.2500005 -53.0833335 -25.9166665 -25.7499995 527 0 2670 --53.0833335 -52.9166665 -25.9166665 -25.7499995 473 0 2670 --52.9166665 -52.7499995 -25.9166665 -25.7499995 532 0 2670 --52.7500005 -52.5833335 -25.9166665 -25.7499995 686 0 2670 --52.5833335 -52.4166665 -25.9166665 -25.7499995 677 0 2670 --52.4166665 -52.2499995 -25.9166665 -25.7499995 738 0 2670 --52.2500005 -52.0833335 -25.9166665 -25.7499995 618 0 2670 --52.0833335 -51.9166665 -25.9166665 -25.7499995 947 0 2670 --51.9166665 -51.7499995 -25.9166665 -25.7499995 1086 0 2670 --51.7500005 -51.5833335 -25.9166665 -25.7499995 1026 0 2670 --51.5833335 -51.4166665 -25.9166665 -25.7499995 1130 0 2670 --51.4166665 -51.2499995 -25.9166665 -25.7499995 895 0 2670 --51.2500005 -51.0833335 -25.9166665 -25.7499995 1082 0 2670 --51.0833335 -50.9166665 -25.9166665 -25.7499995 1164 0 2670 --50.9166665 -50.7499995 -25.9166665 -25.7499995 877 0 2670 --50.7500005 -50.5833335 -25.9166665 -25.7499995 848 0 2670 --50.5833335 -50.4166665 -25.9166665 -25.7499995 789 0 2670 --50.4166665 -50.2499995 -25.9166665 -25.7499995 783 0 2670 --50.2500005 -50.0833335 -25.9166665 -25.7499995 850 0 2670 --50.0833335 -49.9166665 -25.9166665 -25.7499995 844 0 2670 --49.9166665 -49.7499995 -25.9166665 -25.7499995 920 0 2670 --49.7500005 -49.5833335 -25.9166665 -25.7499995 827 0 2670 --49.5833335 -49.4166665 -25.9166665 -25.7499995 885 0 2670 --49.4166665 -49.2499995 -25.9166665 -25.7499995 921 0 2670 --49.2500005 -49.0833335 -25.9166665 -25.7499995 901 0 2670 --49.0833335 -48.9166665 -25.9166665 -25.7499995 782 0 2670 --48.9166665 -48.7499995 -25.9166665 -25.7499995 719 0 2670 --48.7500005 -48.5833335 -25.9166665 -25.7499995 4 0 2670 --48.5833335 -48.4166665 -25.9166665 -25.7499995 0 -1 -1670 --48.4166665 -48.2499995 -25.9166665 -25.7499995 0 -12 -1670 --48.2500005 -48.0833335 -25.9166665 -25.7499995 0 -22 -1670 --48.0833335 -47.9166665 -25.9166665 -25.7499995 0 -31 -1670 --47.9166665 -47.7499995 -25.9166665 -25.7499995 0 -40 -1670 --47.7500005 -47.5833335 -25.9166665 -25.7499995 0 -52 -1670 --47.5833335 -47.4166665 -25.9166665 -25.7499995 0 -60 -1670 --47.4166665 -47.2499995 -25.9166665 -25.7499995 0 -71 -1670 --47.2500005 -47.0833335 -25.9166665 -25.7499995 0 -77 -1670 --47.0833335 -46.9166665 -25.9166665 -25.7499995 0 -91 -1670 --46.9166665 -46.7499995 -25.9166665 -25.7499995 0 -111 -1670 --46.7500005 -46.5833335 -25.9166665 -25.7499995 0 -124 -1670 --46.5833335 -46.4166665 -25.9166665 -25.7499995 0 -143 -1670 --46.4166665 -46.2499995 -25.9166665 -25.7499995 0 -150 -1670 --46.2500005 -46.0833335 -25.9166665 -25.7499995 0 -153 -1670 --46.0833335 -45.9166665 -25.9166665 -25.7499995 0 -178 -1670 --45.9166665 -45.7499995 -25.9166665 -25.7499995 0 -275 -1670 --45.7500005 -45.5833335 -25.9166665 -25.7499995 0 -222 -1670 --45.5833335 -45.4166665 -25.9166665 -25.7499995 0 -585 -1670 --45.4166665 -45.2499995 -25.9166665 -25.7499995 0 -552 -1670 --45.2500005 -45.0833335 -25.9166665 -25.7499995 0 -979 -1670 --45.0833335 -44.9166665 -25.9166665 -25.7499995 0 -1504 -1670 --44.9166665 -44.7499995 -25.9166665 -25.7499995 0 -1784 -1670 --44.7500005 -44.5833335 -25.9166665 -25.7499995 0 -2023 -1670 --44.5833335 -44.4166665 -25.9166665 -25.7499995 0 -2117 -1670 --44.4166665 -44.2499995 -25.9166665 -25.7499995 0 -2088 -1670 --44.2500005 -44.0833335 -25.9166665 -25.7499995 0 -2106 -1670 --44.0833335 -43.9166665 -25.9166665 -25.7499995 0 -2133 -1670 --43.9166665 -43.7499995 -25.9166665 -25.7499995 0 -2186 -1670 --43.7500005 -43.5833335 -25.9166665 -25.7499995 0 -2154 -1670 --43.5833335 -43.4166665 -25.9166665 -25.7499995 0 -2167 -1670 --43.4166665 -43.2499995 -25.9166665 -25.7499995 0 -2167 -1670 --43.2500005 -43.0833335 -25.9166665 -25.7499995 0 -2193 -1670 --43.0833335 -42.9166665 -25.9166665 -25.7499995 0 -2206 -1670 --42.9166665 -42.7499995 -25.9166665 -25.7499995 0 -2234 -1670 --42.7500005 -42.5833335 -25.9166665 -25.7499995 0 -2338 -1670 --42.5833335 -42.4166665 -25.9166665 -25.7499995 0 -2313 -1670 --42.4166665 -42.2499995 -25.9166665 -25.7499995 0 -2336 -1670 --42.2500005 -42.0833335 -25.9166665 -25.7499995 0 -2392 -1670 --42.0833335 -41.9166665 -25.9166665 -25.7499995 0 -2467 -1670 --41.9166665 -41.7499995 -25.9166665 -25.7499995 0 -2509 -1670 --41.7500005 -41.5833335 -25.9166665 -25.7499995 0 -2520 -1670 --41.5833335 -41.4166665 -25.9166665 -25.7499995 0 -2777 -1670 --41.4166665 -41.2499995 -25.9166665 -25.7499995 0 -2892 -1670 --41.2500005 -41.0833335 -25.9166665 -25.7499995 0 -2816 -1670 --41.0833335 -40.9166665 -25.9166665 -25.7499995 0 -2864 -1670 --40.9166665 -40.7499995 -25.9166665 -25.7499995 0 -2983 -1670 --40.7500005 -40.5833335 -25.9166665 -25.7499995 0 -2970 -1670 --40.5833335 -40.4166665 -25.9166665 -25.7499995 0 -2963 -1670 --40.4166665 -40.2499995 -25.9166665 -25.7499995 0 -3257 -1670 --40.2500005 -40.0833335 -25.9166665 -25.7499995 0 -3314 -1670 --40.0833335 -39.9166665 -25.9166665 -25.7499995 0 -3600 -1670 --65.0833335 -64.9166665 -26.0833335 -25.9166665 1139 0 2670 --64.9166665 -64.7499995 -26.0833335 -25.9166665 1376 0 2670 --64.7500005 -64.5833335 -26.0833335 -25.9166665 629 0 2670 --64.5833335 -64.4166665 -26.0833335 -25.9166665 482 0 2670 --64.4166665 -64.2499995 -26.0833335 -25.9166665 415 0 2670 --64.2500005 -64.0833335 -26.0833335 -25.9166665 343 0 2670 --64.0833335 -63.9166665 -26.0833335 -25.9166665 301 0 2670 --63.9166665 -63.7499995 -26.0833335 -25.9166665 264 0 2670 --63.7500005 -63.5833335 -26.0833335 -25.9166665 254 0 2670 --63.5833335 -63.4166665 -26.0833335 -25.9166665 248 0 2670 --63.4166665 -63.2499995 -26.0833335 -25.9166665 243 0 2670 --63.2500005 -63.0833335 -26.0833335 -25.9166665 236 0 2670 --63.0833335 -62.9166665 -26.0833335 -25.9166665 227 0 2670 --62.9166665 -62.7499995 -26.0833335 -25.9166665 218 0 2670 --62.7500005 -62.5833335 -26.0833335 -25.9166665 207 0 2670 --62.5833335 -62.4166665 -26.0833335 -25.9166665 198 0 2670 --62.4166665 -62.2499995 -26.0833335 -25.9166665 190 0 2670 --62.2500005 -62.0833335 -26.0833335 -25.9166665 180 0 2670 --62.0833335 -61.9166665 -26.0833335 -25.9166665 174 0 2670 --61.9166665 -61.7499995 -26.0833335 -25.9166665 164 0 2670 --61.7500005 -61.5833335 -26.0833335 -25.9166665 158 0 2670 --61.5833335 -61.4166665 -26.0833335 -25.9166665 150 0 2670 --61.4166665 -61.2499995 -26.0833335 -25.9166665 143 0 2670 --61.2500005 -61.0833335 -26.0833335 -25.9166665 134 0 2670 --61.0833335 -60.9166665 -26.0833335 -25.9166665 128 0 2670 --60.9166665 -60.7499995 -26.0833335 -25.9166665 122 0 2670 --60.7500005 -60.5833335 -26.0833335 -25.9166665 115 0 2670 --60.5833335 -60.4166665 -26.0833335 -25.9166665 109 0 2670 --60.4166665 -60.2499995 -26.0833335 -25.9166665 107 0 2670 --60.2500005 -60.0833335 -26.0833335 -25.9166665 100 0 2670 --60.0833335 -59.9166665 -26.0833335 -25.9166665 97 0 2670 --59.9166665 -59.7499995 -26.0833335 -25.9166665 93 0 2670 --59.7500005 -59.5833335 -26.0833335 -25.9166665 93 0 2670 --59.5833335 -59.4166665 -26.0833335 -25.9166665 89 0 2670 --59.4166665 -59.2499995 -26.0833335 -25.9166665 89 0 2670 --59.2500005 -59.0833335 -26.0833335 -25.9166665 82 0 2670 --59.0833335 -58.9166665 -26.0833335 -25.9166665 79 0 2670 --58.9166665 -58.7499995 -26.0833335 -25.9166665 74 0 2670 --58.7500005 -58.5833335 -26.0833335 -25.9166665 75 0 2670 --58.5833335 -58.4166665 -26.0833335 -25.9166665 73 0 2670 --58.4166665 -58.2499995 -26.0833335 -25.9166665 68 0 2670 --58.2500005 -58.0833335 -26.0833335 -25.9166665 65 0 2670 --58.0833335 -57.9166665 -26.0833335 -25.9166665 60 0 2670 --57.9166665 -57.7499995 -26.0833335 -25.9166665 57 0 2670 --57.7500005 -57.5833335 -26.0833335 -25.9166665 60 0 2670 --57.5833335 -57.4166665 -26.0833335 -25.9166665 62 0 2670 --57.4166665 -57.2499995 -26.0833335 -25.9166665 89 0 2670 --57.2500005 -57.0833335 -26.0833335 -25.9166665 139 0 2670 --57.0833335 -56.9166665 -26.0833335 -25.9166665 120 0 2670 --56.9166665 -56.7499995 -26.0833335 -25.9166665 362 0 2670 --56.7500005 -56.5833335 -26.0833335 -25.9166665 248 0 2670 --56.5833335 -56.4166665 -26.0833335 -25.9166665 115 0 2670 --56.4166665 -56.2499995 -26.0833335 -25.9166665 127 0 2670 --56.2500005 -56.0833335 -26.0833335 -25.9166665 179 0 2670 --56.0833335 -55.9166665 -26.0833335 -25.9166665 208 0 2670 --55.9166665 -55.7499995 -26.0833335 -25.9166665 241 0 2670 --55.7500005 -55.5833335 -26.0833335 -25.9166665 356 0 2670 --55.5833335 -55.4166665 -26.0833335 -25.9166665 347 0 2670 --55.4166665 -55.2499995 -26.0833335 -25.9166665 266 0 2670 --55.2500005 -55.0833335 -26.0833335 -25.9166665 229 0 2670 --55.0833335 -54.9166665 -26.0833335 -25.9166665 190 0 2670 --54.9166665 -54.7499995 -26.0833335 -25.9166665 184 0 2670 --54.7500005 -54.5833335 -26.0833335 -25.9166665 183 0 2670 --54.5833335 -54.4166665 -26.0833335 -25.9166665 230 0 2670 --54.4166665 -54.2499995 -26.0833335 -25.9166665 291 0 2670 --54.2500005 -54.0833335 -26.0833335 -25.9166665 322 0 2670 --54.0833335 -53.9166665 -26.0833335 -25.9166665 339 0 2670 --53.9166665 -53.7499995 -26.0833335 -25.9166665 478 0 2670 --53.7500005 -53.5833335 -26.0833335 -25.9166665 536 0 2670 --53.5833335 -53.4166665 -26.0833335 -25.9166665 506 0 2670 --53.4166665 -53.2499995 -26.0833335 -25.9166665 680 0 2670 --53.2500005 -53.0833335 -26.0833335 -25.9166665 687 0 2670 --53.0833335 -52.9166665 -26.0833335 -25.9166665 525 0 2670 --52.9166665 -52.7499995 -26.0833335 -25.9166665 606 0 2670 --52.7500005 -52.5833335 -26.0833335 -25.9166665 554 0 2670 --52.5833335 -52.4166665 -26.0833335 -25.9166665 705 0 2670 --52.4166665 -52.2499995 -26.0833335 -25.9166665 977 0 2670 --52.2500005 -52.0833335 -26.0833335 -25.9166665 777 0 2670 --52.0833335 -51.9166665 -26.0833335 -25.9166665 794 0 2670 --51.9166665 -51.7499995 -26.0833335 -25.9166665 775 0 2670 --51.7500005 -51.5833335 -26.0833335 -25.9166665 761 0 2670 --51.5833335 -51.4166665 -26.0833335 -25.9166665 908 0 2670 --51.4166665 -51.2499995 -26.0833335 -25.9166665 887 0 2670 --51.2500005 -51.0833335 -26.0833335 -25.9166665 975 0 2670 --51.0833335 -50.9166665 -26.0833335 -25.9166665 1025 0 2670 --50.9166665 -50.7499995 -26.0833335 -25.9166665 811 0 2670 --50.7500005 -50.5833335 -26.0833335 -25.9166665 785 0 2670 --50.5833335 -50.4166665 -26.0833335 -25.9166665 776 0 2670 --50.4166665 -50.2499995 -26.0833335 -25.9166665 812 0 2670 --50.2500005 -50.0833335 -26.0833335 -25.9166665 808 0 2670 --50.0833335 -49.9166665 -26.0833335 -25.9166665 789 0 2670 --49.9166665 -49.7499995 -26.0833335 -25.9166665 867 0 2670 --49.7500005 -49.5833335 -26.0833335 -25.9166665 814 0 2670 --49.5833335 -49.4166665 -26.0833335 -25.9166665 910 0 2670 --49.4166665 -49.2499995 -26.0833335 -25.9166665 895 0 2670 --49.2500005 -49.0833335 -26.0833335 -25.9166665 831 0 2670 --49.0833335 -48.9166665 -26.0833335 -25.9166665 1147 0 2670 --48.9166665 -48.7499995 -26.0833335 -25.9166665 20 0 2670 --48.7500005 -48.5833335 -26.0833335 -25.9166665 19 0 2670 --48.5833335 -48.4166665 -26.0833335 -25.9166665 0 -8 -1670 --48.4166665 -48.2499995 -26.0833335 -25.9166665 0 -23 -1670 --48.2500005 -48.0833335 -26.0833335 -25.9166665 0 -29 -1670 --48.0833335 -47.9166665 -26.0833335 -25.9166665 0 -39 -1670 --47.9166665 -47.7499995 -26.0833335 -25.9166665 0 -46 -1670 --47.7500005 -47.5833335 -26.0833335 -25.9166665 0 -57 -1670 --47.5833335 -47.4166665 -26.0833335 -25.9166665 0 -69 -1670 --47.4166665 -47.2499995 -26.0833335 -25.9166665 0 -80 -1670 --47.2500005 -47.0833335 -26.0833335 -25.9166665 0 -99 -1670 --47.0833335 -46.9166665 -26.0833335 -25.9166665 0 -110 -1670 --46.9166665 -46.7499995 -26.0833335 -25.9166665 0 -123 -1670 --46.7500005 -46.5833335 -26.0833335 -25.9166665 0 -140 -1670 --46.5833335 -46.4166665 -26.0833335 -25.9166665 0 -224 -1670 --46.4166665 -46.2499995 -26.0833335 -25.9166665 0 -168 -1670 --46.2500005 -46.0833335 -26.0833335 -25.9166665 0 -243 -1670 --46.0833335 -45.9166665 -26.0833335 -25.9166665 0 -301 -1670 --45.9166665 -45.7499995 -26.0833335 -25.9166665 0 -419 -1670 --45.7500005 -45.5833335 -26.0833335 -25.9166665 0 -454 -1670 --45.5833335 -45.4166665 -26.0833335 -25.9166665 0 -813 -1670 --45.4166665 -45.2499995 -26.0833335 -25.9166665 0 -1368 -1670 --45.2500005 -45.0833335 -26.0833335 -25.9166665 0 -1527 -1670 --45.0833335 -44.9166665 -26.0833335 -25.9166665 0 -1805 -1670 --44.9166665 -44.7499995 -26.0833335 -25.9166665 0 -2034 -1670 --44.7500005 -44.5833335 -26.0833335 -25.9166665 0 -2124 -1670 --44.5833335 -44.4166665 -26.0833335 -25.9166665 0 -2147 -1670 --44.4166665 -44.2499995 -26.0833335 -25.9166665 0 -2112 -1670 --44.2500005 -44.0833335 -26.0833335 -25.9166665 0 -2172 -1670 --44.0833335 -43.9166665 -26.0833335 -25.9166665 0 -2219 -1670 --43.9166665 -43.7499995 -26.0833335 -25.9166665 0 -2222 -1670 --43.7500005 -43.5833335 -26.0833335 -25.9166665 0 -2206 -1670 --43.5833335 -43.4166665 -26.0833335 -25.9166665 0 -2180 -1670 --43.4166665 -43.2499995 -26.0833335 -25.9166665 0 -2184 -1670 --43.2500005 -43.0833335 -26.0833335 -25.9166665 0 -2234 -1670 --43.0833335 -42.9166665 -26.0833335 -25.9166665 0 -2291 -1670 --42.9166665 -42.7499995 -26.0833335 -25.9166665 0 -2274 -1670 --42.7500005 -42.5833335 -26.0833335 -25.9166665 0 -2313 -1670 --42.5833335 -42.4166665 -26.0833335 -25.9166665 0 -2445 -1670 --42.4166665 -42.2499995 -26.0833335 -25.9166665 0 -2350 -1670 --42.2500005 -42.0833335 -26.0833335 -25.9166665 0 -2518 -1670 --42.0833335 -41.9166665 -26.0833335 -25.9166665 0 -2492 -1670 --41.9166665 -41.7499995 -26.0833335 -25.9166665 0 -2602 -1670 --41.7500005 -41.5833335 -26.0833335 -25.9166665 0 -2600 -1670 --41.5833335 -41.4166665 -26.0833335 -25.9166665 0 -2602 -1670 --41.4166665 -41.2499995 -26.0833335 -25.9166665 0 -2874 -1670 --41.2500005 -41.0833335 -26.0833335 -25.9166665 0 -2723 -1670 --41.0833335 -40.9166665 -26.0833335 -25.9166665 0 -2913 -1670 --40.9166665 -40.7499995 -26.0833335 -25.9166665 0 -2986 -1670 --40.7500005 -40.5833335 -26.0833335 -25.9166665 0 -3083 -1670 --40.5833335 -40.4166665 -26.0833335 -25.9166665 0 -3073 -1670 --40.4166665 -40.2499995 -26.0833335 -25.9166665 0 -3425 -1670 --40.2500005 -40.0833335 -26.0833335 -25.9166665 0 -3819 -1670 --40.0833335 -39.9166665 -26.0833335 -25.9166665 0 -4129 -1670 --65.0833335 -64.9166665 -26.2500005 -26.0833335 1144 0 2670 --64.9166665 -64.7499995 -26.2500005 -26.0833335 1099 0 2670 --64.7500005 -64.5833335 -26.2500005 -26.0833335 564 0 2670 --64.5833335 -64.4166665 -26.2500005 -26.0833335 438 0 2670 --64.4166665 -64.2499995 -26.2500005 -26.0833335 344 0 2670 --64.2500005 -64.0833335 -26.2500005 -26.0833335 309 0 2670 --64.0833335 -63.9166665 -26.2500005 -26.0833335 278 0 2670 --63.9166665 -63.7499995 -26.2500005 -26.0833335 249 0 2670 --63.7500005 -63.5833335 -26.2500005 -26.0833335 242 0 2670 --63.5833335 -63.4166665 -26.2500005 -26.0833335 235 0 2670 --63.4166665 -63.2499995 -26.2500005 -26.0833335 231 0 2670 --63.2500005 -63.0833335 -26.2500005 -26.0833335 225 0 2670 --63.0833335 -62.9166665 -26.2500005 -26.0833335 218 0 2670 --62.9166665 -62.7499995 -26.2500005 -26.0833335 210 0 2670 --62.7500005 -62.5833335 -26.2500005 -26.0833335 205 0 2670 --62.5833335 -62.4166665 -26.2500005 -26.0833335 192 0 2670 --62.4166665 -62.2499995 -26.2500005 -26.0833335 185 0 2670 --62.2500005 -62.0833335 -26.2500005 -26.0833335 177 0 2670 --62.0833335 -61.9166665 -26.2500005 -26.0833335 169 0 2670 --61.9166665 -61.7499995 -26.2500005 -26.0833335 162 0 2670 --61.7500005 -61.5833335 -26.2500005 -26.0833335 154 0 2670 --61.5833335 -61.4166665 -26.2500005 -26.0833335 147 0 2670 --61.4166665 -61.2499995 -26.2500005 -26.0833335 137 0 2670 --61.2500005 -61.0833335 -26.2500005 -26.0833335 133 0 2670 --61.0833335 -60.9166665 -26.2500005 -26.0833335 126 0 2670 --60.9166665 -60.7499995 -26.2500005 -26.0833335 119 0 2670 --60.7500005 -60.5833335 -26.2500005 -26.0833335 111 0 2670 --60.5833335 -60.4166665 -26.2500005 -26.0833335 104 0 2670 --60.4166665 -60.2499995 -26.2500005 -26.0833335 100 0 2670 --60.2500005 -60.0833335 -26.2500005 -26.0833335 99 0 2670 --60.0833335 -59.9166665 -26.2500005 -26.0833335 96 0 2670 --59.9166665 -59.7499995 -26.2500005 -26.0833335 90 0 2670 --59.7500005 -59.5833335 -26.2500005 -26.0833335 90 0 2670 --59.5833335 -59.4166665 -26.2500005 -26.0833335 87 0 2670 --59.4166665 -59.2499995 -26.2500005 -26.0833335 84 0 2670 --59.2500005 -59.0833335 -26.2500005 -26.0833335 85 0 2670 --59.0833335 -58.9166665 -26.2500005 -26.0833335 78 0 2670 --58.9166665 -58.7499995 -26.2500005 -26.0833335 76 0 2670 --58.7500005 -58.5833335 -26.2500005 -26.0833335 72 0 2670 --58.5833335 -58.4166665 -26.2500005 -26.0833335 69 0 2670 --58.4166665 -58.2499995 -26.2500005 -26.0833335 65 0 2670 --58.2500005 -58.0833335 -26.2500005 -26.0833335 60 0 2670 --58.0833335 -57.9166665 -26.2500005 -26.0833335 59 0 2670 --57.9166665 -57.7499995 -26.2500005 -26.0833335 61 0 2670 --57.7500005 -57.5833335 -26.2500005 -26.0833335 61 0 2670 --57.5833335 -57.4166665 -26.2500005 -26.0833335 59 0 2670 --57.4166665 -57.2499995 -26.2500005 -26.0833335 71 0 2670 --57.2500005 -57.0833335 -26.2500005 -26.0833335 144 0 2670 --57.0833335 -56.9166665 -26.2500005 -26.0833335 103 0 2670 --56.9166665 -56.7499995 -26.2500005 -26.0833335 103 0 2670 --56.7500005 -56.5833335 -26.2500005 -26.0833335 94 0 2670 --56.5833335 -56.4166665 -26.2500005 -26.0833335 105 0 2670 --56.4166665 -56.2499995 -26.2500005 -26.0833335 127 0 2670 --56.2500005 -56.0833335 -26.2500005 -26.0833335 136 0 2670 --56.0833335 -55.9166665 -26.2500005 -26.0833335 142 0 2670 --55.9166665 -55.7499995 -26.2500005 -26.0833335 166 0 2670 --55.7500005 -55.5833335 -26.2500005 -26.0833335 184 0 2670 --55.5833335 -55.4166665 -26.2500005 -26.0833335 186 0 2670 --55.4166665 -55.2499995 -26.2500005 -26.0833335 318 0 2670 --55.2500005 -55.0833335 -26.2500005 -26.0833335 319 0 2670 --55.0833335 -54.9166665 -26.2500005 -26.0833335 315 0 2670 --54.9166665 -54.7499995 -26.2500005 -26.0833335 268 0 2670 --54.7500005 -54.5833335 -26.2500005 -26.0833335 134 0 2670 --54.5833335 -54.4166665 -26.2500005 -26.0833335 203 0 2670 --54.4166665 -54.2499995 -26.2500005 -26.0833335 265 0 2670 --54.2500005 -54.0833335 -26.2500005 -26.0833335 403 0 2670 --54.0833335 -53.9166665 -26.2500005 -26.0833335 517 0 2670 --53.9166665 -53.7499995 -26.2500005 -26.0833335 509 0 2670 --53.7500005 -53.5833335 -26.2500005 -26.0833335 702 0 2670 --53.5833335 -53.4166665 -26.2500005 -26.0833335 596 0 2670 --53.4166665 -53.2499995 -26.2500005 -26.0833335 717 0 2670 --53.2500005 -53.0833335 -26.2500005 -26.0833335 688 0 2670 --53.0833335 -52.9166665 -26.2500005 -26.0833335 649 0 2670 --52.9166665 -52.7499995 -26.2500005 -26.0833335 649 0 2670 --52.7500005 -52.5833335 -26.2500005 -26.0833335 789 0 2670 --52.5833335 -52.4166665 -26.2500005 -26.0833335 624 0 2670 --52.4166665 -52.2499995 -26.2500005 -26.0833335 932 0 2670 --52.2500005 -52.0833335 -26.2500005 -26.0833335 1006 0 2670 --52.0833335 -51.9166665 -26.2500005 -26.0833335 1093 0 2670 --51.9166665 -51.7499995 -26.2500005 -26.0833335 850 0 2670 --51.7500005 -51.5833335 -26.2500005 -26.0833335 1110 0 2670 --51.5833335 -51.4166665 -26.2500005 -26.0833335 923 0 2670 --51.4166665 -51.2499995 -26.2500005 -26.0833335 881 0 2670 --51.2500005 -51.0833335 -26.2500005 -26.0833335 811 0 2670 --51.0833335 -50.9166665 -26.2500005 -26.0833335 839 0 2670 --50.9166665 -50.7499995 -26.2500005 -26.0833335 790 0 2670 --50.7500005 -50.5833335 -26.2500005 -26.0833335 768 0 2670 --50.5833335 -50.4166665 -26.2500005 -26.0833335 802 0 2670 --50.4166665 -50.2499995 -26.2500005 -26.0833335 773 0 2670 --50.2500005 -50.0833335 -26.2500005 -26.0833335 793 0 2670 --50.0833335 -49.9166665 -26.2500005 -26.0833335 862 0 2670 --49.9166665 -49.7499995 -26.2500005 -26.0833335 825 0 2670 --49.7500005 -49.5833335 -26.2500005 -26.0833335 825 0 2670 --49.5833335 -49.4166665 -26.2500005 -26.0833335 842 0 2670 --49.4166665 -49.2499995 -26.2500005 -26.0833335 846 0 2670 --49.2500005 -49.0833335 -26.2500005 -26.0833335 895 0 2670 --49.0833335 -48.9166665 -26.2500005 -26.0833335 280 0 2670 --48.9166665 -48.7499995 -26.2500005 -26.0833335 6 0 2670 --48.7500005 -48.5833335 -26.2500005 -26.0833335 92 0 2670 --48.5833335 -48.4166665 -26.2500005 -26.0833335 0 -1 -1670 --48.4166665 -48.2499995 -26.2500005 -26.0833335 0 -22 -1670 --48.2500005 -48.0833335 -26.2500005 -26.0833335 0 -35 -1670 --48.0833335 -47.9166665 -26.2500005 -26.0833335 0 -48 -1670 --47.9166665 -47.7499995 -26.2500005 -26.0833335 0 -57 -1670 --47.7500005 -47.5833335 -26.2500005 -26.0833335 0 -74 -1670 --47.5833335 -47.4166665 -26.2500005 -26.0833335 0 -71 -1670 --47.4166665 -47.2499995 -26.2500005 -26.0833335 0 -92 -1670 --47.2500005 -47.0833335 -26.2500005 -26.0833335 0 -109 -1670 --47.0833335 -46.9166665 -26.2500005 -26.0833335 0 -121 -1670 --46.9166665 -46.7499995 -26.2500005 -26.0833335 0 -146 -1670 --46.7500005 -46.5833335 -26.2500005 -26.0833335 0 -126 -1670 --46.5833335 -46.4166665 -26.2500005 -26.0833335 0 -172 -1670 --46.4166665 -46.2499995 -26.2500005 -26.0833335 0 -246 -1670 --46.2500005 -46.0833335 -26.2500005 -26.0833335 0 -388 -1670 --46.0833335 -45.9166665 -26.2500005 -26.0833335 0 -455 -1670 --45.9166665 -45.7499995 -26.2500005 -26.0833335 0 -506 -1670 --45.7500005 -45.5833335 -26.2500005 -26.0833335 0 -659 -1670 --45.5833335 -45.4166665 -26.2500005 -26.0833335 0 -1022 -1670 --45.4166665 -45.2499995 -26.2500005 -26.0833335 0 -1712 -1670 --45.2500005 -45.0833335 -26.2500005 -26.0833335 0 -1941 -1670 --45.0833335 -44.9166665 -26.2500005 -26.0833335 0 -2031 -1670 --44.9166665 -44.7499995 -26.2500005 -26.0833335 0 -2158 -1670 --44.7500005 -44.5833335 -26.2500005 -26.0833335 0 -2220 -1670 --44.5833335 -44.4166665 -26.2500005 -26.0833335 0 -2254 -1670 --44.4166665 -44.2499995 -26.2500005 -26.0833335 0 -2302 -1670 --44.2500005 -44.0833335 -26.2500005 -26.0833335 0 -2336 -1670 --44.0833335 -43.9166665 -26.2500005 -26.0833335 0 -2300 -1670 --43.9166665 -43.7499995 -26.2500005 -26.0833335 0 -2269 -1670 --43.7500005 -43.5833335 -26.2500005 -26.0833335 0 -2247 -1670 --43.5833335 -43.4166665 -26.2500005 -26.0833335 0 -2243 -1670 --43.4166665 -43.2499995 -26.2500005 -26.0833335 0 -2254 -1670 --43.2500005 -43.0833335 -26.2500005 -26.0833335 0 -2281 -1670 --43.0833335 -42.9166665 -26.2500005 -26.0833335 0 -2339 -1670 --42.9166665 -42.7499995 -26.2500005 -26.0833335 0 -2394 -1670 --42.7500005 -42.5833335 -26.2500005 -26.0833335 0 -2471 -1670 --42.5833335 -42.4166665 -26.2500005 -26.0833335 0 -2536 -1670 --42.4166665 -42.2499995 -26.2500005 -26.0833335 0 -2487 -1670 --42.2500005 -42.0833335 -26.2500005 -26.0833335 0 -2596 -1670 --42.0833335 -41.9166665 -26.2500005 -26.0833335 0 -2599 -1670 --41.9166665 -41.7499995 -26.2500005 -26.0833335 0 -2522 -1670 --41.7500005 -41.5833335 -26.2500005 -26.0833335 0 -2519 -1670 --41.5833335 -41.4166665 -26.2500005 -26.0833335 0 -2648 -1670 --41.4166665 -41.2499995 -26.2500005 -26.0833335 0 -2649 -1670 --41.2500005 -41.0833335 -26.2500005 -26.0833335 0 -2657 -1670 --41.0833335 -40.9166665 -26.2500005 -26.0833335 0 -2757 -1670 --40.9166665 -40.7499995 -26.2500005 -26.0833335 0 -2957 -1670 --40.7500005 -40.5833335 -26.2500005 -26.0833335 0 -2942 -1670 --40.5833335 -40.4166665 -26.2500005 -26.0833335 0 -3189 -1670 --40.4166665 -40.2499995 -26.2500005 -26.0833335 0 -3450 -1670 --40.2500005 -40.0833335 -26.2500005 -26.0833335 0 -3290 -1670 --40.0833335 -39.9166665 -26.2500005 -26.0833335 0 -1716 -1670 --65.0833335 -64.9166665 -26.4166665 -26.2499995 1494 0 2670 --64.9166665 -64.7499995 -26.4166665 -26.2499995 1113 0 2670 --64.7500005 -64.5833335 -26.4166665 -26.2499995 533 0 2670 --64.5833335 -64.4166665 -26.4166665 -26.2499995 410 0 2670 --64.4166665 -64.2499995 -26.4166665 -26.2499995 326 0 2670 --64.2500005 -64.0833335 -26.4166665 -26.2499995 282 0 2670 --64.0833335 -63.9166665 -26.4166665 -26.2499995 261 0 2670 --63.9166665 -63.7499995 -26.4166665 -26.2499995 236 0 2670 --63.7500005 -63.5833335 -26.4166665 -26.2499995 225 0 2670 --63.5833335 -63.4166665 -26.4166665 -26.2499995 222 0 2670 --63.4166665 -63.2499995 -26.4166665 -26.2499995 219 0 2670 --63.2500005 -63.0833335 -26.4166665 -26.2499995 215 0 2670 --63.0833335 -62.9166665 -26.4166665 -26.2499995 209 0 2670 --62.9166665 -62.7499995 -26.4166665 -26.2499995 203 0 2670 --62.7500005 -62.5833335 -26.4166665 -26.2499995 196 0 2670 --62.5833335 -62.4166665 -26.4166665 -26.2499995 190 0 2670 --62.4166665 -62.2499995 -26.4166665 -26.2499995 178 0 2670 --62.2500005 -62.0833335 -26.4166665 -26.2499995 172 0 2670 --62.0833335 -61.9166665 -26.4166665 -26.2499995 164 0 2670 --61.9166665 -61.7499995 -26.4166665 -26.2499995 156 0 2670 --61.7500005 -61.5833335 -26.4166665 -26.2499995 148 0 2670 --61.5833335 -61.4166665 -26.4166665 -26.2499995 142 0 2670 --61.4166665 -61.2499995 -26.4166665 -26.2499995 136 0 2670 --61.2500005 -61.0833335 -26.4166665 -26.2499995 129 0 2670 --61.0833335 -60.9166665 -26.4166665 -26.2499995 122 0 2670 --60.9166665 -60.7499995 -26.4166665 -26.2499995 116 0 2670 --60.7500005 -60.5833335 -26.4166665 -26.2499995 109 0 2670 --60.5833335 -60.4166665 -26.4166665 -26.2499995 104 0 2670 --60.4166665 -60.2499995 -26.4166665 -26.2499995 97 0 2670 --60.2500005 -60.0833335 -26.4166665 -26.2499995 93 0 2670 --60.0833335 -59.9166665 -26.4166665 -26.2499995 94 0 2670 --59.9166665 -59.7499995 -26.4166665 -26.2499995 95 0 2670 --59.7500005 -59.5833335 -26.4166665 -26.2499995 86 0 2670 --59.5833335 -59.4166665 -26.4166665 -26.2499995 83 0 2670 --59.4166665 -59.2499995 -26.4166665 -26.2499995 81 0 2670 --59.2500005 -59.0833335 -26.4166665 -26.2499995 77 0 2670 --59.0833335 -58.9166665 -26.4166665 -26.2499995 75 0 2670 --58.9166665 -58.7499995 -26.4166665 -26.2499995 70 0 2670 --58.7500005 -58.5833335 -26.4166665 -26.2499995 68 0 2670 --58.5833335 -58.4166665 -26.4166665 -26.2499995 66 0 2670 --58.4166665 -58.2499995 -26.4166665 -26.2499995 64 0 2670 --58.2500005 -58.0833335 -26.4166665 -26.2499995 57 0 2670 --58.0833335 -57.9166665 -26.4166665 -26.2499995 60 0 2670 --57.9166665 -57.7499995 -26.4166665 -26.2499995 59 0 2670 --57.7500005 -57.5833335 -26.4166665 -26.2499995 60 0 2670 --57.5833335 -57.4166665 -26.4166665 -26.2499995 62 0 2670 --57.4166665 -57.2499995 -26.4166665 -26.2499995 101 0 2670 --57.2500005 -57.0833335 -26.4166665 -26.2499995 164 0 2670 --57.0833335 -56.9166665 -26.4166665 -26.2499995 83 0 2670 --56.9166665 -56.7499995 -26.4166665 -26.2499995 89 0 2670 --56.7500005 -56.5833335 -26.4166665 -26.2499995 88 0 2670 --56.5833335 -56.4166665 -26.4166665 -26.2499995 115 0 2670 --56.4166665 -56.2499995 -26.4166665 -26.2499995 119 0 2670 --56.2500005 -56.0833335 -26.4166665 -26.2499995 129 0 2670 --56.0833335 -55.9166665 -26.4166665 -26.2499995 144 0 2670 --55.9166665 -55.7499995 -26.4166665 -26.2499995 146 0 2670 --55.7500005 -55.5833335 -26.4166665 -26.2499995 251 0 2670 --55.5833335 -55.4166665 -26.4166665 -26.2499995 443 0 2670 --55.4166665 -55.2499995 -26.4166665 -26.2499995 299 0 2670 --55.2500005 -55.0833335 -26.4166665 -26.2499995 314 0 2670 --55.0833335 -54.9166665 -26.4166665 -26.2499995 341 0 2670 --54.9166665 -54.7499995 -26.4166665 -26.2499995 289 0 2670 --54.7500005 -54.5833335 -26.4166665 -26.2499995 129 0 2670 --54.5833335 -54.4166665 -26.4166665 -26.2499995 233 0 2670 --54.4166665 -54.2499995 -26.4166665 -26.2499995 255 0 2670 --54.2500005 -54.0833335 -26.4166665 -26.2499995 551 0 2670 --54.0833335 -53.9166665 -26.4166665 -26.2499995 508 0 2670 --53.9166665 -53.7499995 -26.4166665 -26.2499995 615 0 2670 --53.7500005 -53.5833335 -26.4166665 -26.2499995 675 0 2670 --53.5833335 -53.4166665 -26.4166665 -26.2499995 767 0 2670 --53.4166665 -53.2499995 -26.4166665 -26.2499995 740 0 2670 --53.2500005 -53.0833335 -26.4166665 -26.2499995 872 0 2670 --53.0833335 -52.9166665 -26.4166665 -26.2499995 813 0 2670 --52.9166665 -52.7499995 -26.4166665 -26.2499995 826 0 2670 --52.7500005 -52.5833335 -26.4166665 -26.2499995 825 0 2670 --52.5833335 -52.4166665 -26.4166665 -26.2499995 875 0 2670 --52.4166665 -52.2499995 -26.4166665 -26.2499995 867 0 2670 --52.2500005 -52.0833335 -26.4166665 -26.2499995 931 0 2670 --52.0833335 -51.9166665 -26.4166665 -26.2499995 1080 0 2670 --51.9166665 -51.7499995 -26.4166665 -26.2499995 1226 0 2670 --51.7500005 -51.5833335 -26.4166665 -26.2499995 1132 0 2670 --51.5833335 -51.4166665 -26.4166665 -26.2499995 1102 0 2670 --51.4166665 -51.2499995 -26.4166665 -26.2499995 1038 0 2670 --51.2500005 -51.0833335 -26.4166665 -26.2499995 1018 0 2670 --51.0833335 -50.9166665 -26.4166665 -26.2499995 877 0 2670 --50.9166665 -50.7499995 -26.4166665 -26.2499995 786 0 2670 --50.7500005 -50.5833335 -26.4166665 -26.2499995 825 0 2670 --50.5833335 -50.4166665 -26.4166665 -26.2499995 804 0 2670 --50.4166665 -50.2499995 -26.4166665 -26.2499995 785 0 2670 --50.2500005 -50.0833335 -26.4166665 -26.2499995 829 0 2670 --50.0833335 -49.9166665 -26.4166665 -26.2499995 859 0 2670 --49.9166665 -49.7499995 -26.4166665 -26.2499995 920 0 2670 --49.7500005 -49.5833335 -26.4166665 -26.2499995 866 0 2670 --49.5833335 -49.4166665 -26.4166665 -26.2499995 905 0 2670 --49.4166665 -49.2499995 -26.4166665 -26.2499995 617 0 2670 --49.2500005 -49.0833335 -26.4166665 -26.2499995 1022 0 2670 --49.0833335 -48.9166665 -26.4166665 -26.2499995 225 0 2670 --48.9166665 -48.7499995 -26.4166665 -26.2499995 16 0 2670 --48.7500005 -48.5833335 -26.4166665 -26.2499995 20 0 2670 --48.5833335 -48.4166665 -26.4166665 -26.2499995 0 -9 -1670 --48.4166665 -48.2499995 -26.4166665 -26.2499995 0 -28 -1670 --48.2500005 -48.0833335 -26.4166665 -26.2499995 0 -41 -1670 --48.0833335 -47.9166665 -26.4166665 -26.2499995 0 -53 -1670 --47.9166665 -47.7499995 -26.4166665 -26.2499995 0 -60 -1670 --47.7500005 -47.5833335 -26.4166665 -26.2499995 0 -71 -1670 --47.5833335 -47.4166665 -26.4166665 -26.2499995 0 -87 -1670 --47.4166665 -47.2499995 -26.4166665 -26.2499995 0 -98 -1670 --47.2500005 -47.0833335 -26.4166665 -26.2499995 0 -119 -1670 --47.0833335 -46.9166665 -26.4166665 -26.2499995 0 -153 -1670 --46.9166665 -46.7499995 -26.4166665 -26.2499995 0 -139 -1670 --46.7500005 -46.5833335 -26.4166665 -26.2499995 0 -157 -1670 --46.5833335 -46.4166665 -26.4166665 -26.2499995 0 -266 -1670 --46.4166665 -46.2499995 -26.4166665 -26.2499995 0 -327 -1670 --46.2500005 -46.0833335 -26.4166665 -26.2499995 0 -460 -1670 --46.0833335 -45.9166665 -26.4166665 -26.2499995 0 -532 -1670 --45.9166665 -45.7499995 -26.4166665 -26.2499995 0 -620 -1670 --45.7500005 -45.5833335 -26.4166665 -26.2499995 0 -888 -1670 --45.5833335 -45.4166665 -26.4166665 -26.2499995 0 -1460 -1670 --45.4166665 -45.2499995 -26.4166665 -26.2499995 0 -2022 -1670 --45.2500005 -45.0833335 -26.4166665 -26.2499995 0 -2006 -1670 --45.0833335 -44.9166665 -26.4166665 -26.2499995 0 -2206 -1670 --44.9166665 -44.7499995 -26.4166665 -26.2499995 0 -2273 -1670 --44.7500005 -44.5833335 -26.4166665 -26.2499995 0 -2343 -1670 --44.5833335 -44.4166665 -26.4166665 -26.2499995 0 -2353 -1670 --44.4166665 -44.2499995 -26.4166665 -26.2499995 0 -2362 -1670 --44.2500005 -44.0833335 -26.4166665 -26.2499995 0 -2400 -1670 --44.0833335 -43.9166665 -26.4166665 -26.2499995 0 -2396 -1670 --43.9166665 -43.7499995 -26.4166665 -26.2499995 0 -2358 -1670 --43.7500005 -43.5833335 -26.4166665 -26.2499995 0 -2309 -1670 --43.5833335 -43.4166665 -26.4166665 -26.2499995 0 -2290 -1670 --43.4166665 -43.2499995 -26.4166665 -26.2499995 0 -2284 -1670 --43.2500005 -43.0833335 -26.4166665 -26.2499995 0 -2348 -1670 --43.0833335 -42.9166665 -26.4166665 -26.2499995 0 -2367 -1670 --42.9166665 -42.7499995 -26.4166665 -26.2499995 0 -2454 -1670 --42.7500005 -42.5833335 -26.4166665 -26.2499995 0 -2451 -1670 --42.5833335 -42.4166665 -26.4166665 -26.2499995 0 -2437 -1670 --42.4166665 -42.2499995 -26.4166665 -26.2499995 0 -2475 -1670 --42.2500005 -42.0833335 -26.4166665 -26.2499995 0 -2470 -1670 --42.0833335 -41.9166665 -26.4166665 -26.2499995 0 -2459 -1670 --41.9166665 -41.7499995 -26.4166665 -26.2499995 0 -2540 -1670 --41.7500005 -41.5833335 -26.4166665 -26.2499995 0 -2480 -1670 --41.5833335 -41.4166665 -26.4166665 -26.2499995 0 -2596 -1670 --41.4166665 -41.2499995 -26.4166665 -26.2499995 0 -2554 -1670 --41.2500005 -41.0833335 -26.4166665 -26.2499995 0 -2640 -1670 --41.0833335 -40.9166665 -26.4166665 -26.2499995 0 -2787 -1670 --40.9166665 -40.7499995 -26.4166665 -26.2499995 0 -2847 -1670 --40.7500005 -40.5833335 -26.4166665 -26.2499995 0 -2977 -1670 --40.5833335 -40.4166665 -26.4166665 -26.2499995 0 -3282 -1670 --40.4166665 -40.2499995 -26.4166665 -26.2499995 0 -3517 -1670 --40.2500005 -40.0833335 -26.4166665 -26.2499995 0 -3576 -1670 --40.0833335 -39.9166665 -26.4166665 -26.2499995 0 -2110 -1670 --65.0833335 -64.9166665 -26.5833335 -26.4166665 969 0 2670 --64.9166665 -64.7499995 -26.5833335 -26.4166665 665 0 2670 --64.7500005 -64.5833335 -26.5833335 -26.4166665 452 0 2670 --64.5833335 -64.4166665 -26.5833335 -26.4166665 365 0 2670 --64.4166665 -64.2499995 -26.5833335 -26.4166665 296 0 2670 --64.2500005 -64.0833335 -26.5833335 -26.4166665 257 0 2670 --64.0833335 -63.9166665 -26.5833335 -26.4166665 245 0 2670 --63.9166665 -63.7499995 -26.5833335 -26.4166665 225 0 2670 --63.7500005 -63.5833335 -26.5833335 -26.4166665 213 0 2670 --63.5833335 -63.4166665 -26.5833335 -26.4166665 211 0 2670 --63.4166665 -63.2499995 -26.5833335 -26.4166665 209 0 2670 --63.2500005 -63.0833335 -26.5833335 -26.4166665 204 0 2670 --63.0833335 -62.9166665 -26.5833335 -26.4166665 199 0 2670 --62.9166665 -62.7499995 -26.5833335 -26.4166665 196 0 2670 --62.7500005 -62.5833335 -26.5833335 -26.4166665 192 0 2670 --62.5833335 -62.4166665 -26.5833335 -26.4166665 185 0 2670 --62.4166665 -62.2499995 -26.5833335 -26.4166665 175 0 2670 --62.2500005 -62.0833335 -26.5833335 -26.4166665 170 0 2670 --62.0833335 -61.9166665 -26.5833335 -26.4166665 162 0 2670 --61.9166665 -61.7499995 -26.5833335 -26.4166665 190 0 2670 --61.7500005 -61.5833335 -26.5833335 -26.4166665 160 0 2670 --61.5833335 -61.4166665 -26.5833335 -26.4166665 137 0 2670 --61.4166665 -61.2499995 -26.5833335 -26.4166665 131 0 2670 --61.2500005 -61.0833335 -26.5833335 -26.4166665 124 0 2670 --61.0833335 -60.9166665 -26.5833335 -26.4166665 121 0 2670 --60.9166665 -60.7499995 -26.5833335 -26.4166665 110 0 2670 --60.7500005 -60.5833335 -26.5833335 -26.4166665 106 0 2670 --60.5833335 -60.4166665 -26.5833335 -26.4166665 103 0 2670 --60.4166665 -60.2499995 -26.5833335 -26.4166665 97 0 2670 --60.2500005 -60.0833335 -26.5833335 -26.4166665 92 0 2670 --60.0833335 -59.9166665 -26.5833335 -26.4166665 90 0 2670 --59.9166665 -59.7499995 -26.5833335 -26.4166665 87 0 2670 --59.7500005 -59.5833335 -26.5833335 -26.4166665 83 0 2670 --59.5833335 -59.4166665 -26.5833335 -26.4166665 79 0 2670 --59.4166665 -59.2499995 -26.5833335 -26.4166665 79 0 2670 --59.2500005 -59.0833335 -26.5833335 -26.4166665 75 0 2670 --59.0833335 -58.9166665 -26.5833335 -26.4166665 71 0 2670 --58.9166665 -58.7499995 -26.5833335 -26.4166665 69 0 2670 --58.7500005 -58.5833335 -26.5833335 -26.4166665 67 0 2670 --58.5833335 -58.4166665 -26.5833335 -26.4166665 63 0 2670 --58.4166665 -58.2499995 -26.5833335 -26.4166665 59 0 2670 --58.2500005 -58.0833335 -26.5833335 -26.4166665 61 0 2670 --58.0833335 -57.9166665 -26.5833335 -26.4166665 55 0 2670 --57.9166665 -57.7499995 -26.5833335 -26.4166665 60 0 2670 --57.7500005 -57.5833335 -26.5833335 -26.4166665 61 0 2670 --57.5833335 -57.4166665 -26.5833335 -26.4166665 62 0 2670 --57.4166665 -57.2499995 -26.5833335 -26.4166665 65 0 2670 --57.2500005 -57.0833335 -26.5833335 -26.4166665 69 0 2670 --57.0833335 -56.9166665 -26.5833335 -26.4166665 95 0 2670 --56.9166665 -56.7499995 -26.5833335 -26.4166665 79 0 2670 --56.7500005 -56.5833335 -26.5833335 -26.4166665 84 0 2670 --56.5833335 -56.4166665 -26.5833335 -26.4166665 89 0 2670 --56.4166665 -56.2499995 -26.5833335 -26.4166665 86 0 2670 --56.2500005 -56.0833335 -26.5833335 -26.4166665 153 0 2670 --56.0833335 -55.9166665 -26.5833335 -26.4166665 112 0 2670 --55.9166665 -55.7499995 -26.5833335 -26.4166665 135 0 2670 --55.7500005 -55.5833335 -26.5833335 -26.4166665 288 0 2670 --55.5833335 -55.4166665 -26.5833335 -26.4166665 378 0 2670 --55.4166665 -55.2499995 -26.5833335 -26.4166665 284 0 2670 --55.2500005 -55.0833335 -26.5833335 -26.4166665 276 0 2670 --55.0833335 -54.9166665 -26.5833335 -26.4166665 285 0 2670 --54.9166665 -54.7499995 -26.5833335 -26.4166665 221 0 2670 --54.7500005 -54.5833335 -26.5833335 -26.4166665 182 0 2670 --54.5833335 -54.4166665 -26.5833335 -26.4166665 191 0 2670 --54.4166665 -54.2499995 -26.5833335 -26.4166665 251 0 2670 --54.2500005 -54.0833335 -26.5833335 -26.4166665 522 0 2670 --54.0833335 -53.9166665 -26.5833335 -26.4166665 557 0 2670 --53.9166665 -53.7499995 -26.5833335 -26.4166665 549 0 2670 --53.7500005 -53.5833335 -26.5833335 -26.4166665 495 0 2670 --53.5833335 -53.4166665 -26.5833335 -26.4166665 695 0 2670 --53.4166665 -53.2499995 -26.5833335 -26.4166665 612 0 2670 --53.2500005 -53.0833335 -26.5833335 -26.4166665 712 0 2670 --53.0833335 -52.9166665 -26.5833335 -26.4166665 627 0 2670 --52.9166665 -52.7499995 -26.5833335 -26.4166665 774 0 2670 --52.7500005 -52.5833335 -26.5833335 -26.4166665 737 0 2670 --52.5833335 -52.4166665 -26.5833335 -26.4166665 787 0 2670 --52.4166665 -52.2499995 -26.5833335 -26.4166665 855 0 2670 --52.2500005 -52.0833335 -26.5833335 -26.4166665 921 0 2670 --52.0833335 -51.9166665 -26.5833335 -26.4166665 1104 0 2670 --51.9166665 -51.7499995 -26.5833335 -26.4166665 1177 0 2670 --51.7500005 -51.5833335 -26.5833335 -26.4166665 1213 0 2670 --51.5833335 -51.4166665 -26.5833335 -26.4166665 1111 0 2670 --51.4166665 -51.2499995 -26.5833335 -26.4166665 1054 0 2670 --51.2500005 -51.0833335 -26.5833335 -26.4166665 1064 0 2670 --51.0833335 -50.9166665 -26.5833335 -26.4166665 1082 0 2670 --50.9166665 -50.7499995 -26.5833335 -26.4166665 930 0 2670 --50.7500005 -50.5833335 -26.5833335 -26.4166665 897 0 2670 --50.5833335 -50.4166665 -26.5833335 -26.4166665 996 0 2670 --50.4166665 -50.2499995 -26.5833335 -26.4166665 831 0 2670 --50.2500005 -50.0833335 -26.5833335 -26.4166665 556 0 2670 --50.0833335 -49.9166665 -26.5833335 -26.4166665 584 0 2670 --49.9166665 -49.7499995 -26.5833335 -26.4166665 922 0 2670 --49.7500005 -49.5833335 -26.5833335 -26.4166665 971 0 2670 --49.5833335 -49.4166665 -26.5833335 -26.4166665 928 0 2670 --49.4166665 -49.2499995 -26.5833335 -26.4166665 598 0 2670 --49.2500005 -49.0833335 -26.5833335 -26.4166665 112 0 2670 --49.0833335 -48.9166665 -26.5833335 -26.4166665 96 0 2670 --48.9166665 -48.7499995 -26.5833335 -26.4166665 14 0 2670 --48.7500005 -48.5833335 -26.5833335 -26.4166665 15 0 2670 --48.5833335 -48.4166665 -26.5833335 -26.4166665 0 -21 -1670 --48.4166665 -48.2499995 -26.5833335 -26.4166665 0 -35 -1670 --48.2500005 -48.0833335 -26.5833335 -26.4166665 0 -45 -1670 --48.0833335 -47.9166665 -26.5833335 -26.4166665 0 -51 -1670 --47.9166665 -47.7499995 -26.5833335 -26.4166665 0 -57 -1670 --47.7500005 -47.5833335 -26.5833335 -26.4166665 0 -73 -1670 --47.5833335 -47.4166665 -26.5833335 -26.4166665 0 -90 -1670 --47.4166665 -47.2499995 -26.5833335 -26.4166665 0 -109 -1670 --47.2500005 -47.0833335 -26.5833335 -26.4166665 0 -120 -1670 --47.0833335 -46.9166665 -26.5833335 -26.4166665 0 -145 -1670 --46.9166665 -46.7499995 -26.5833335 -26.4166665 0 -152 -1670 --46.7500005 -46.5833335 -26.5833335 -26.4166665 0 -215 -1670 --46.5833335 -46.4166665 -26.5833335 -26.4166665 0 -349 -1670 --46.4166665 -46.2499995 -26.5833335 -26.4166665 0 -411 -1670 --46.2500005 -46.0833335 -26.5833335 -26.4166665 0 -522 -1670 --46.0833335 -45.9166665 -26.5833335 -26.4166665 0 -610 -1670 --45.9166665 -45.7499995 -26.5833335 -26.4166665 0 -859 -1670 --45.7500005 -45.5833335 -26.5833335 -26.4166665 0 -1375 -1670 --45.5833335 -45.4166665 -26.5833335 -26.4166665 0 -1845 -1670 --45.4166665 -45.2499995 -26.5833335 -26.4166665 0 -2102 -1670 --45.2500005 -45.0833335 -26.5833335 -26.4166665 0 -2148 -1670 --45.0833335 -44.9166665 -26.5833335 -26.4166665 0 -2381 -1670 --44.9166665 -44.7499995 -26.5833335 -26.4166665 0 -2382 -1670 --44.7500005 -44.5833335 -26.5833335 -26.4166665 0 -2241 -1670 --44.5833335 -44.4166665 -26.5833335 -26.4166665 0 -2477 -1670 --44.4166665 -44.2499995 -26.5833335 -26.4166665 0 -2527 -1670 --44.2500005 -44.0833335 -26.5833335 -26.4166665 0 -2521 -1670 --44.0833335 -43.9166665 -26.5833335 -26.4166665 0 -2547 -1670 --43.9166665 -43.7499995 -26.5833335 -26.4166665 0 -2466 -1670 --43.7500005 -43.5833335 -26.5833335 -26.4166665 0 -2377 -1670 --43.5833335 -43.4166665 -26.5833335 -26.4166665 0 -2422 -1670 --43.4166665 -43.2499995 -26.5833335 -26.4166665 0 -2338 -1670 --43.2500005 -43.0833335 -26.5833335 -26.4166665 0 -2366 -1670 --43.0833335 -42.9166665 -26.5833335 -26.4166665 0 -2402 -1670 --42.9166665 -42.7499995 -26.5833335 -26.4166665 0 -2391 -1670 --42.7500005 -42.5833335 -26.5833335 -26.4166665 0 -2392 -1670 --42.5833335 -42.4166665 -26.5833335 -26.4166665 0 -2415 -1670 --42.4166665 -42.2499995 -26.5833335 -26.4166665 0 -2387 -1670 --42.2500005 -42.0833335 -26.5833335 -26.4166665 0 -2367 -1670 --42.0833335 -41.9166665 -26.5833335 -26.4166665 0 -2475 -1670 --41.9166665 -41.7499995 -26.5833335 -26.4166665 0 -2497 -1670 --41.7500005 -41.5833335 -26.5833335 -26.4166665 0 -2406 -1670 --41.5833335 -41.4166665 -26.5833335 -26.4166665 0 -2457 -1670 --41.4166665 -41.2499995 -26.5833335 -26.4166665 0 -2561 -1670 --41.2500005 -41.0833335 -26.5833335 -26.4166665 0 -2622 -1670 --41.0833335 -40.9166665 -26.5833335 -26.4166665 0 -2571 -1670 --40.9166665 -40.7499995 -26.5833335 -26.4166665 0 -2682 -1670 --40.7500005 -40.5833335 -26.5833335 -26.4166665 0 -2834 -1670 --40.5833335 -40.4166665 -26.5833335 -26.4166665 0 -3297 -1670 --40.4166665 -40.2499995 -26.5833335 -26.4166665 0 -3572 -1670 --40.2500005 -40.0833335 -26.5833335 -26.4166665 0 -3651 -1670 --40.0833335 -39.9166665 -26.5833335 -26.4166665 0 -3651 -1670 --65.0833335 -64.9166665 -26.7500005 -26.5833335 808 0 2670 --64.9166665 -64.7499995 -26.7500005 -26.5833335 461 0 2670 --64.7500005 -64.5833335 -26.7500005 -26.5833335 389 0 2670 --64.5833335 -64.4166665 -26.7500005 -26.5833335 318 0 2670 --64.4166665 -64.2499995 -26.7500005 -26.5833335 258 0 2670 --64.2500005 -64.0833335 -26.7500005 -26.5833335 231 0 2670 --64.0833335 -63.9166665 -26.7500005 -26.5833335 224 0 2670 --63.9166665 -63.7499995 -26.7500005 -26.5833335 214 0 2670 --63.7500005 -63.5833335 -26.7500005 -26.5833335 204 0 2670 --63.5833335 -63.4166665 -26.7500005 -26.5833335 201 0 2670 --63.4166665 -63.2499995 -26.7500005 -26.5833335 197 0 2670 --63.2500005 -63.0833335 -26.7500005 -26.5833335 194 0 2670 --63.0833335 -62.9166665 -26.7500005 -26.5833335 193 0 2670 --62.9166665 -62.7499995 -26.7500005 -26.5833335 187 0 2670 --62.7500005 -62.5833335 -26.7500005 -26.5833335 187 0 2670 --62.5833335 -62.4166665 -26.7500005 -26.5833335 181 0 2670 --62.4166665 -62.2499995 -26.7500005 -26.5833335 173 0 2670 --62.2500005 -62.0833335 -26.7500005 -26.5833335 166 0 2670 --62.0833335 -61.9166665 -26.7500005 -26.5833335 160 0 2670 --61.9166665 -61.7499995 -26.7500005 -26.5833335 196 0 2670 --61.7500005 -61.5833335 -26.7500005 -26.5833335 153 0 2670 --61.5833335 -61.4166665 -26.7500005 -26.5833335 139 0 2670 --61.4166665 -61.2499995 -26.7500005 -26.5833335 126 0 2670 --61.2500005 -61.0833335 -26.7500005 -26.5833335 118 0 2670 --61.0833335 -60.9166665 -26.7500005 -26.5833335 114 0 2670 --60.9166665 -60.7499995 -26.7500005 -26.5833335 108 0 2670 --60.7500005 -60.5833335 -26.7500005 -26.5833335 102 0 2670 --60.5833335 -60.4166665 -26.7500005 -26.5833335 100 0 2670 --60.4166665 -60.2499995 -26.7500005 -26.5833335 94 0 2670 --60.2500005 -60.0833335 -26.7500005 -26.5833335 89 0 2670 --60.0833335 -59.9166665 -26.7500005 -26.5833335 85 0 2670 --59.9166665 -59.7499995 -26.7500005 -26.5833335 85 0 2670 --59.7500005 -59.5833335 -26.7500005 -26.5833335 82 0 2670 --59.5833335 -59.4166665 -26.7500005 -26.5833335 80 0 2670 --59.4166665 -59.2499995 -26.7500005 -26.5833335 78 0 2670 --59.2500005 -59.0833335 -26.7500005 -26.5833335 75 0 2670 --59.0833335 -58.9166665 -26.7500005 -26.5833335 68 0 2670 --58.9166665 -58.7499995 -26.7500005 -26.5833335 69 0 2670 --58.7500005 -58.5833335 -26.7500005 -26.5833335 63 0 2670 --58.5833335 -58.4166665 -26.7500005 -26.5833335 58 0 2670 --58.4166665 -58.2499995 -26.7500005 -26.5833335 58 0 2670 --58.2500005 -58.0833335 -26.7500005 -26.5833335 59 0 2670 --58.0833335 -57.9166665 -26.7500005 -26.5833335 59 0 2670 --57.9166665 -57.7499995 -26.7500005 -26.5833335 63 0 2670 --57.7500005 -57.5833335 -26.7500005 -26.5833335 65 0 2670 --57.5833335 -57.4166665 -26.7500005 -26.5833335 67 0 2670 --57.4166665 -57.2499995 -26.7500005 -26.5833335 70 0 2670 --57.2500005 -57.0833335 -26.7500005 -26.5833335 115 0 2670 --57.0833335 -56.9166665 -26.7500005 -26.5833335 102 0 2670 --56.9166665 -56.7499995 -26.7500005 -26.5833335 77 0 2670 --56.7500005 -56.5833335 -26.7500005 -26.5833335 77 0 2670 --56.5833335 -56.4166665 -26.7500005 -26.5833335 84 0 2670 --56.4166665 -56.2499995 -26.7500005 -26.5833335 89 0 2670 --56.2500005 -56.0833335 -26.7500005 -26.5833335 101 0 2670 --56.0833335 -55.9166665 -26.7500005 -26.5833335 117 0 2670 --55.9166665 -55.7499995 -26.7500005 -26.5833335 206 0 2670 --55.7500005 -55.5833335 -26.7500005 -26.5833335 302 0 2670 --55.5833335 -55.4166665 -26.7500005 -26.5833335 297 0 2670 --55.4166665 -55.2499995 -26.7500005 -26.5833335 179 0 2670 --55.2500005 -55.0833335 -26.7500005 -26.5833335 261 0 2670 --55.0833335 -54.9166665 -26.7500005 -26.5833335 147 0 2670 --54.9166665 -54.7499995 -26.7500005 -26.5833335 148 0 2670 --54.7500005 -54.5833335 -26.7500005 -26.5833335 213 0 2670 --54.5833335 -54.4166665 -26.7500005 -26.5833335 521 0 2670 --54.4166665 -54.2499995 -26.7500005 -26.5833335 351 0 2670 --54.2500005 -54.0833335 -26.7500005 -26.5833335 541 0 2670 --54.0833335 -53.9166665 -26.7500005 -26.5833335 540 0 2670 --53.9166665 -53.7499995 -26.7500005 -26.5833335 546 0 2670 --53.7500005 -53.5833335 -26.7500005 -26.5833335 457 0 2670 --53.5833335 -53.4166665 -26.7500005 -26.5833335 592 0 2670 --53.4166665 -53.2499995 -26.7500005 -26.5833335 467 0 2670 --53.2500005 -53.0833335 -26.7500005 -26.5833335 584 0 2670 --53.0833335 -52.9166665 -26.7500005 -26.5833335 576 0 2670 --52.9166665 -52.7499995 -26.7500005 -26.5833335 618 0 2670 --52.7500005 -52.5833335 -26.7500005 -26.5833335 628 0 2670 --52.5833335 -52.4166665 -26.7500005 -26.5833335 639 0 2670 --52.4166665 -52.2499995 -26.7500005 -26.5833335 841 0 2670 --52.2500005 -52.0833335 -26.7500005 -26.5833335 992 0 2670 --52.0833335 -51.9166665 -26.7500005 -26.5833335 936 0 2670 --51.9166665 -51.7499995 -26.7500005 -26.5833335 1125 0 2670 --51.7500005 -51.5833335 -26.7500005 -26.5833335 1201 0 2670 --51.5833335 -51.4166665 -26.7500005 -26.5833335 1223 0 2670 --51.4166665 -51.2499995 -26.7500005 -26.5833335 1150 0 2670 --51.2500005 -51.0833335 -26.7500005 -26.5833335 1228 0 2670 --51.0833335 -50.9166665 -26.7500005 -26.5833335 1154 0 2670 --50.9166665 -50.7499995 -26.7500005 -26.5833335 1120 0 2670 --50.7500005 -50.5833335 -26.7500005 -26.5833335 1003 0 2670 --50.5833335 -50.4166665 -26.7500005 -26.5833335 1070 0 2670 --50.4166665 -50.2499995 -26.7500005 -26.5833335 830 0 2670 --50.2500005 -50.0833335 -26.7500005 -26.5833335 610 0 2670 --50.0833335 -49.9166665 -26.7500005 -26.5833335 721 0 2670 --49.9166665 -49.7499995 -26.7500005 -26.5833335 508 0 2670 --49.7500005 -49.5833335 -26.7500005 -26.5833335 994 0 2670 --49.5833335 -49.4166665 -26.7500005 -26.5833335 834 0 2670 --49.4166665 -49.2499995 -26.7500005 -26.5833335 393 0 2670 --49.2500005 -49.0833335 -26.7500005 -26.5833335 215 0 2670 --49.0833335 -48.9166665 -26.7500005 -26.5833335 190 0 2670 --48.9166665 -48.7499995 -26.7500005 -26.5833335 166 0 2670 --48.7500005 -48.5833335 -26.7500005 -26.5833335 0 -1 -1670 --48.5833335 -48.4166665 -26.7500005 -26.5833335 0 -22 -1670 --48.4166665 -48.2499995 -26.7500005 -26.5833335 0 -40 -1670 --48.2500005 -48.0833335 -26.7500005 -26.5833335 0 -47 -1670 --48.0833335 -47.9166665 -26.7500005 -26.5833335 0 -45 -1670 --47.9166665 -47.7499995 -26.7500005 -26.5833335 0 -63 -1670 --47.7500005 -47.5833335 -26.7500005 -26.5833335 0 -89 -1670 --47.5833335 -47.4166665 -26.7500005 -26.5833335 0 -104 -1670 --47.4166665 -47.2499995 -26.7500005 -26.5833335 0 -115 -1670 --47.2500005 -47.0833335 -26.7500005 -26.5833335 0 -117 -1670 --47.0833335 -46.9166665 -26.7500005 -26.5833335 0 -147 -1670 --46.9166665 -46.7499995 -26.7500005 -26.5833335 0 -164 -1670 --46.7500005 -46.5833335 -26.7500005 -26.5833335 0 -225 -1670 --46.5833335 -46.4166665 -26.7500005 -26.5833335 0 -366 -1670 --46.4166665 -46.2499995 -26.7500005 -26.5833335 0 -481 -1670 --46.2500005 -46.0833335 -26.7500005 -26.5833335 0 -570 -1670 --46.0833335 -45.9166665 -26.7500005 -26.5833335 0 -727 -1670 --45.9166665 -45.7499995 -26.7500005 -26.5833335 0 -1204 -1670 --45.7500005 -45.5833335 -26.7500005 -26.5833335 0 -1671 -1670 --45.5833335 -45.4166665 -26.7500005 -26.5833335 0 -2087 -1670 --45.4166665 -45.2499995 -26.7500005 -26.5833335 0 -2188 -1670 --45.2500005 -45.0833335 -26.7500005 -26.5833335 0 -2263 -1670 --45.0833335 -44.9166665 -26.7500005 -26.5833335 0 -2438 -1670 --44.9166665 -44.7499995 -26.7500005 -26.5833335 0 -2557 -1670 --44.7500005 -44.5833335 -26.7500005 -26.5833335 0 -2579 -1670 --44.5833335 -44.4166665 -26.7500005 -26.5833335 0 -2530 -1670 --44.4166665 -44.2499995 -26.7500005 -26.5833335 0 -2596 -1670 --44.2500005 -44.0833335 -26.7500005 -26.5833335 0 -2587 -1670 --44.0833335 -43.9166665 -26.7500005 -26.5833335 0 -2604 -1670 --43.9166665 -43.7499995 -26.7500005 -26.5833335 0 -2547 -1670 --43.7500005 -43.5833335 -26.7500005 -26.5833335 0 -2477 -1670 --43.5833335 -43.4166665 -26.7500005 -26.5833335 0 -2442 -1670 --43.4166665 -43.2499995 -26.7500005 -26.5833335 0 -2448 -1670 --43.2500005 -43.0833335 -26.7500005 -26.5833335 0 -2408 -1670 --43.0833335 -42.9166665 -26.7500005 -26.5833335 0 -2373 -1670 --42.9166665 -42.7499995 -26.7500005 -26.5833335 0 -2373 -1670 --42.7500005 -42.5833335 -26.7500005 -26.5833335 0 -2402 -1670 --42.5833335 -42.4166665 -26.7500005 -26.5833335 0 -2349 -1670 --42.4166665 -42.2499995 -26.7500005 -26.5833335 0 -2373 -1670 --42.2500005 -42.0833335 -26.7500005 -26.5833335 0 -2380 -1670 --42.0833335 -41.9166665 -26.7500005 -26.5833335 0 -2381 -1670 --41.9166665 -41.7499995 -26.7500005 -26.5833335 0 -2399 -1670 --41.7500005 -41.5833335 -26.7500005 -26.5833335 0 -2579 -1670 --41.5833335 -41.4166665 -26.7500005 -26.5833335 0 -2438 -1670 --41.4166665 -41.2499995 -26.7500005 -26.5833335 0 -2576 -1670 --41.2500005 -41.0833335 -26.7500005 -26.5833335 0 -2557 -1670 --41.0833335 -40.9166665 -26.7500005 -26.5833335 0 -2577 -1670 --40.9166665 -40.7499995 -26.7500005 -26.5833335 0 -2839 -1670 --40.7500005 -40.5833335 -26.7500005 -26.5833335 0 -3093 -1670 --40.5833335 -40.4166665 -26.7500005 -26.5833335 0 -3352 -1670 --40.4166665 -40.2499995 -26.7500005 -26.5833335 0 -3646 -1670 --40.2500005 -40.0833335 -26.7500005 -26.5833335 0 -3268 -1670 --40.0833335 -39.9166665 -26.7500005 -26.5833335 0 -2654 -1670 --65.0833335 -64.9166665 -26.9166665 -26.7499995 447 0 2670 --64.9166665 -64.7499995 -26.9166665 -26.7499995 380 0 2670 --64.7500005 -64.5833335 -26.9166665 -26.7499995 324 0 2670 --64.5833335 -64.4166665 -26.9166665 -26.7499995 274 0 2670 --64.4166665 -64.2499995 -26.9166665 -26.7499995 231 0 2670 --64.2500005 -64.0833335 -26.9166665 -26.7499995 206 0 2670 --64.0833335 -63.9166665 -26.9166665 -26.7499995 205 0 2670 --63.9166665 -63.7499995 -26.9166665 -26.7499995 193 0 2670 --63.7500005 -63.5833335 -26.9166665 -26.7499995 192 0 2670 --63.5833335 -63.4166665 -26.9166665 -26.7499995 191 0 2670 --63.4166665 -63.2499995 -26.9166665 -26.7499995 189 0 2670 --63.2500005 -63.0833335 -26.9166665 -26.7499995 186 0 2670 --63.0833335 -62.9166665 -26.9166665 -26.7499995 183 0 2670 --62.9166665 -62.7499995 -26.9166665 -26.7499995 180 0 2670 --62.7500005 -62.5833335 -26.9166665 -26.7499995 174 0 2670 --62.5833335 -62.4166665 -26.9166665 -26.7499995 174 0 2670 --62.4166665 -62.2499995 -26.9166665 -26.7499995 168 0 2670 --62.2500005 -62.0833335 -26.9166665 -26.7499995 164 0 2670 --62.0833335 -61.9166665 -26.9166665 -26.7499995 156 0 2670 --61.9166665 -61.7499995 -26.9166665 -26.7499995 173 0 2670 --61.7500005 -61.5833335 -26.9166665 -26.7499995 145 0 2670 --61.5833335 -61.4166665 -26.9166665 -26.7499995 115 0 2670 --61.4166665 -61.2499995 -26.9166665 -26.7499995 117 0 2670 --61.2500005 -61.0833335 -26.9166665 -26.7499995 113 0 2670 --61.0833335 -60.9166665 -26.9166665 -26.7499995 109 0 2670 --60.9166665 -60.7499995 -26.9166665 -26.7499995 104 0 2670 --60.7500005 -60.5833335 -26.9166665 -26.7499995 101 0 2670 --60.5833335 -60.4166665 -26.9166665 -26.7499995 96 0 2670 --60.4166665 -60.2499995 -26.9166665 -26.7499995 90 0 2670 --60.2500005 -60.0833335 -26.9166665 -26.7499995 85 0 2670 --60.0833335 -59.9166665 -26.9166665 -26.7499995 81 0 2670 --59.9166665 -59.7499995 -26.9166665 -26.7499995 79 0 2670 --59.7500005 -59.5833335 -26.9166665 -26.7499995 75 0 2670 --59.5833335 -59.4166665 -26.9166665 -26.7499995 76 0 2670 --59.4166665 -59.2499995 -26.9166665 -26.7499995 74 0 2670 --59.2500005 -59.0833335 -26.9166665 -26.7499995 72 0 2670 --59.0833335 -58.9166665 -26.9166665 -26.7499995 64 0 2670 --58.9166665 -58.7499995 -26.9166665 -26.7499995 62 0 2670 --58.7500005 -58.5833335 -26.9166665 -26.7499995 58 0 2670 --58.5833335 -58.4166665 -26.9166665 -26.7499995 58 0 2670 --58.4166665 -58.2499995 -26.9166665 -26.7499995 51 0 2670 --58.2500005 -58.0833335 -26.9166665 -26.7499995 59 0 2670 --58.0833335 -57.9166665 -26.9166665 -26.7499995 61 0 2670 --57.9166665 -57.7499995 -26.9166665 -26.7499995 64 0 2670 --57.7500005 -57.5833335 -26.9166665 -26.7499995 66 0 2670 --57.5833335 -57.4166665 -26.9166665 -26.7499995 69 0 2670 --57.4166665 -57.2499995 -26.9166665 -26.7499995 74 0 2670 --57.2500005 -57.0833335 -26.9166665 -26.7499995 109 0 2670 --57.0833335 -56.9166665 -26.9166665 -26.7499995 165 0 2670 --56.9166665 -56.7499995 -26.9166665 -26.7499995 143 0 2670 --56.7500005 -56.5833335 -26.9166665 -26.7499995 86 0 2670 --56.5833335 -56.4166665 -26.9166665 -26.7499995 88 0 2670 --56.4166665 -56.2499995 -26.9166665 -26.7499995 91 0 2670 --56.2500005 -56.0833335 -26.9166665 -26.7499995 145 0 2670 --56.0833335 -55.9166665 -26.9166665 -26.7499995 175 0 2670 --55.9166665 -55.7499995 -26.9166665 -26.7499995 255 0 2670 --55.7500005 -55.5833335 -26.9166665 -26.7499995 243 0 2670 --55.5833335 -55.4166665 -26.9166665 -26.7499995 201 0 2670 --55.4166665 -55.2499995 -26.9166665 -26.7499995 257 0 2670 --55.2500005 -55.0833335 -26.9166665 -26.7499995 178 0 2670 --55.0833335 -54.9166665 -26.9166665 -26.7499995 221 0 2670 --54.9166665 -54.7499995 -26.9166665 -26.7499995 245 0 2670 --54.7500005 -54.5833335 -26.9166665 -26.7499995 215 0 2670 --54.5833335 -54.4166665 -26.9166665 -26.7499995 364 0 2670 --54.4166665 -54.2499995 -26.9166665 -26.7499995 489 0 2670 --54.2500005 -54.0833335 -26.9166665 -26.7499995 491 0 2670 --54.0833335 -53.9166665 -26.9166665 -26.7499995 388 0 2670 --53.9166665 -53.7499995 -26.9166665 -26.7499995 435 0 2670 --53.7500005 -53.5833335 -26.9166665 -26.7499995 354 0 2670 --53.5833335 -53.4166665 -26.9166665 -26.7499995 561 0 2670 --53.4166665 -53.2499995 -26.9166665 -26.7499995 411 0 2670 --53.2500005 -53.0833335 -26.9166665 -26.7499995 578 0 2670 --53.0833335 -52.9166665 -26.9166665 -26.7499995 497 0 2670 --52.9166665 -52.7499995 -26.9166665 -26.7499995 430 0 2670 --52.7500005 -52.5833335 -26.9166665 -26.7499995 513 0 2670 --52.5833335 -52.4166665 -26.9166665 -26.7499995 646 0 2670 --52.4166665 -52.2499995 -26.9166665 -26.7499995 841 0 2670 --52.2500005 -52.0833335 -26.9166665 -26.7499995 818 0 2670 --52.0833335 -51.9166665 -26.9166665 -26.7499995 1050 0 2670 --51.9166665 -51.7499995 -26.9166665 -26.7499995 1041 0 2670 --51.7500005 -51.5833335 -26.9166665 -26.7499995 1143 0 2670 --51.5833335 -51.4166665 -26.9166665 -26.7499995 1270 0 2670 --51.4166665 -51.2499995 -26.9166665 -26.7499995 1067 0 2670 --51.2500005 -51.0833335 -26.9166665 -26.7499995 1042 0 2670 --51.0833335 -50.9166665 -26.9166665 -26.7499995 918 0 2670 --50.9166665 -50.7499995 -26.9166665 -26.7499995 1137 0 2670 --50.7500005 -50.5833335 -26.9166665 -26.7499995 1181 0 2670 --50.5833335 -50.4166665 -26.9166665 -26.7499995 1266 0 2670 --50.4166665 -50.2499995 -26.9166665 -26.7499995 1249 0 2670 --50.2500005 -50.0833335 -26.9166665 -26.7499995 721 0 2670 --50.0833335 -49.9166665 -26.9166665 -26.7499995 663 0 2670 --49.9166665 -49.7499995 -26.9166665 -26.7499995 679 0 2670 --49.7500005 -49.5833335 -26.9166665 -26.7499995 671 0 2670 --49.5833335 -49.4166665 -26.9166665 -26.7499995 614 0 2670 --49.4166665 -49.2499995 -26.9166665 -26.7499995 119 0 2670 --49.2500005 -49.0833335 -26.9166665 -26.7499995 59 0 2670 --49.0833335 -48.9166665 -26.9166665 -26.7499995 218 0 2670 --48.9166665 -48.7499995 -26.9166665 -26.7499995 66 0 2670 --48.7500005 -48.5833335 -26.9166665 -26.7499995 93 0 2670 --48.5833335 -48.4166665 -26.9166665 -26.7499995 0 -22 -1670 --48.4166665 -48.2499995 -26.9166665 -26.7499995 0 -44 -1670 --48.2500005 -48.0833335 -26.9166665 -26.7499995 0 -47 -1670 --48.0833335 -47.9166665 -26.9166665 -26.7499995 0 -55 -1670 --47.9166665 -47.7499995 -26.9166665 -26.7499995 0 -60 -1670 --47.7500005 -47.5833335 -26.9166665 -26.7499995 0 -94 -1670 --47.5833335 -47.4166665 -26.9166665 -26.7499995 0 -110 -1670 --47.4166665 -47.2499995 -26.9166665 -26.7499995 0 -115 -1670 --47.2500005 -47.0833335 -26.9166665 -26.7499995 0 -147 -1670 --47.0833335 -46.9166665 -26.9166665 -26.7499995 0 -182 -1670 --46.9166665 -46.7499995 -26.9166665 -26.7499995 0 -191 -1670 --46.7500005 -46.5833335 -26.9166665 -26.7499995 0 -225 -1670 --46.5833335 -46.4166665 -26.9166665 -26.7499995 0 -341 -1670 --46.4166665 -46.2499995 -26.9166665 -26.7499995 0 -482 -1670 --46.2500005 -46.0833335 -26.9166665 -26.7499995 0 -720 -1670 --46.0833335 -45.9166665 -26.9166665 -26.7499995 0 -1064 -1670 --45.9166665 -45.7499995 -26.9166665 -26.7499995 0 -1456 -1670 --45.7500005 -45.5833335 -26.9166665 -26.7499995 0 -2009 -1670 --45.5833335 -45.4166665 -26.9166665 -26.7499995 0 -2113 -1670 --45.4166665 -45.2499995 -26.9166665 -26.7499995 0 -2209 -1670 --45.2500005 -45.0833335 -26.9166665 -26.7499995 0 -2400 -1670 --45.0833335 -44.9166665 -26.9166665 -26.7499995 0 -2262 -1670 --44.9166665 -44.7499995 -26.9166665 -26.7499995 0 -2142 -1670 --44.7500005 -44.5833335 -26.9166665 -26.7499995 0 -2663 -1670 --44.5833335 -44.4166665 -26.9166665 -26.7499995 0 -2627 -1670 --44.4166665 -44.2499995 -26.9166665 -26.7499995 0 -2628 -1670 --44.2500005 -44.0833335 -26.9166665 -26.7499995 0 -2587 -1670 --44.0833335 -43.9166665 -26.9166665 -26.7499995 0 -2599 -1670 --43.9166665 -43.7499995 -26.9166665 -26.7499995 0 -2596 -1670 --43.7500005 -43.5833335 -26.9166665 -26.7499995 0 -2519 -1670 --43.5833335 -43.4166665 -26.9166665 -26.7499995 0 -2470 -1670 --43.4166665 -43.2499995 -26.9166665 -26.7499995 0 -2466 -1670 --43.2500005 -43.0833335 -26.9166665 -26.7499995 0 -2483 -1670 --43.0833335 -42.9166665 -26.9166665 -26.7499995 0 -2356 -1670 --42.9166665 -42.7499995 -26.9166665 -26.7499995 0 -2296 -1670 --42.7500005 -42.5833335 -26.9166665 -26.7499995 0 -2336 -1670 --42.5833335 -42.4166665 -26.9166665 -26.7499995 0 -2379 -1670 --42.4166665 -42.2499995 -26.9166665 -26.7499995 0 -2470 -1670 --42.2500005 -42.0833335 -26.9166665 -26.7499995 0 -2488 -1670 --42.0833335 -41.9166665 -26.9166665 -26.7499995 0 -2451 -1670 --41.9166665 -41.7499995 -26.9166665 -26.7499995 0 -2466 -1670 --41.7500005 -41.5833335 -26.9166665 -26.7499995 0 -2540 -1670 --41.5833335 -41.4166665 -26.9166665 -26.7499995 0 -2621 -1670 --41.4166665 -41.2499995 -26.9166665 -26.7499995 0 -2648 -1670 --41.2500005 -41.0833335 -26.9166665 -26.7499995 0 -2833 -1670 --41.0833335 -40.9166665 -26.9166665 -26.7499995 0 -2908 -1670 --40.9166665 -40.7499995 -26.9166665 -26.7499995 0 -3067 -1670 --40.7500005 -40.5833335 -26.9166665 -26.7499995 0 -3283 -1670 --40.5833335 -40.4166665 -26.9166665 -26.7499995 0 -3459 -1670 --40.4166665 -40.2499995 -26.9166665 -26.7499995 0 -3641 -1670 --40.2500005 -40.0833335 -26.9166665 -26.7499995 0 -3870 -1670 --40.0833335 -39.9166665 -26.9166665 -26.7499995 0 -3454 -1670 --65.0833335 -64.9166665 -27.0833335 -26.9166665 375 0 2670 --64.9166665 -64.7499995 -27.0833335 -26.9166665 433 0 2670 --64.7500005 -64.5833335 -27.0833335 -26.9166665 320 0 2670 --64.5833335 -64.4166665 -27.0833335 -26.9166665 255 0 2670 --64.4166665 -64.2499995 -27.0833335 -26.9166665 244 0 2670 --64.2500005 -64.0833335 -27.0833335 -26.9166665 191 0 2670 --64.0833335 -63.9166665 -27.0833335 -26.9166665 186 0 2670 --63.9166665 -63.7499995 -27.0833335 -26.9166665 180 0 2670 --63.7500005 -63.5833335 -27.0833335 -26.9166665 179 0 2670 --63.5833335 -63.4166665 -27.0833335 -26.9166665 180 0 2670 --63.4166665 -63.2499995 -27.0833335 -26.9166665 177 0 2670 --63.2500005 -63.0833335 -27.0833335 -26.9166665 177 0 2670 --63.0833335 -62.9166665 -27.0833335 -26.9166665 173 0 2670 --62.9166665 -62.7499995 -27.0833335 -26.9166665 170 0 2670 --62.7500005 -62.5833335 -27.0833335 -26.9166665 167 0 2670 --62.5833335 -62.4166665 -27.0833335 -26.9166665 163 0 2670 --62.4166665 -62.2499995 -27.0833335 -26.9166665 164 0 2670 --62.2500005 -62.0833335 -27.0833335 -26.9166665 165 0 2670 --62.0833335 -61.9166665 -27.0833335 -26.9166665 154 0 2670 --61.9166665 -61.7499995 -27.0833335 -26.9166665 194 0 2670 --61.7500005 -61.5833335 -27.0833335 -26.9166665 140 0 2670 --61.5833335 -61.4166665 -27.0833335 -26.9166665 107 0 2670 --61.4166665 -61.2499995 -27.0833335 -26.9166665 110 0 2670 --61.2500005 -61.0833335 -27.0833335 -26.9166665 106 0 2670 --61.0833335 -60.9166665 -27.0833335 -26.9166665 104 0 2670 --60.9166665 -60.7499995 -27.0833335 -26.9166665 100 0 2670 --60.7500005 -60.5833335 -27.0833335 -26.9166665 97 0 2670 --60.5833335 -60.4166665 -27.0833335 -26.9166665 91 0 2670 --60.4166665 -60.2499995 -27.0833335 -26.9166665 87 0 2670 --60.2500005 -60.0833335 -27.0833335 -26.9166665 82 0 2670 --60.0833335 -59.9166665 -27.0833335 -26.9166665 81 0 2670 --59.9166665 -59.7499995 -27.0833335 -26.9166665 75 0 2670 --59.7500005 -59.5833335 -27.0833335 -26.9166665 72 0 2670 --59.5833335 -59.4166665 -27.0833335 -26.9166665 72 0 2670 --59.4166665 -59.2499995 -27.0833335 -26.9166665 69 0 2670 --59.2500005 -59.0833335 -27.0833335 -26.9166665 66 0 2670 --59.0833335 -58.9166665 -27.0833335 -26.9166665 69 0 2670 --58.9166665 -58.7499995 -27.0833335 -26.9166665 61 0 2670 --58.7500005 -58.5833335 -27.0833335 -26.9166665 58 0 2670 --58.5833335 -58.4166665 -27.0833335 -26.9166665 54 0 2670 --58.4166665 -58.2499995 -27.0833335 -26.9166665 59 0 2670 --58.2500005 -58.0833335 -27.0833335 -26.9166665 60 0 2670 --58.0833335 -57.9166665 -27.0833335 -26.9166665 62 0 2670 --57.9166665 -57.7499995 -27.0833335 -26.9166665 66 0 2670 --57.7500005 -57.5833335 -27.0833335 -26.9166665 68 0 2670 --57.5833335 -57.4166665 -27.0833335 -26.9166665 70 0 2670 --57.4166665 -57.2499995 -27.0833335 -26.9166665 71 0 2670 --57.2500005 -57.0833335 -27.0833335 -26.9166665 71 0 2670 --57.0833335 -56.9166665 -27.0833335 -26.9166665 101 0 2670 --56.9166665 -56.7499995 -27.0833335 -26.9166665 155 0 2670 --56.7500005 -56.5833335 -27.0833335 -26.9166665 114 0 2670 --56.5833335 -56.4166665 -27.0833335 -26.9166665 86 0 2670 --56.4166665 -56.2499995 -27.0833335 -26.9166665 88 0 2670 --56.2500005 -56.0833335 -27.0833335 -26.9166665 181 0 2670 --56.0833335 -55.9166665 -27.0833335 -26.9166665 130 0 2670 --55.9166665 -55.7499995 -27.0833335 -26.9166665 256 0 2670 --55.7500005 -55.5833335 -27.0833335 -26.9166665 170 0 2670 --55.5833335 -55.4166665 -27.0833335 -26.9166665 204 0 2670 --55.4166665 -55.2499995 -27.0833335 -26.9166665 196 0 2670 --55.2500005 -55.0833335 -27.0833335 -26.9166665 174 0 2670 --55.0833335 -54.9166665 -27.0833335 -26.9166665 208 0 2670 --54.9166665 -54.7499995 -27.0833335 -26.9166665 488 0 2670 --54.7500005 -54.5833335 -27.0833335 -26.9166665 476 0 2670 --54.5833335 -54.4166665 -27.0833335 -26.9166665 527 0 2670 --54.4166665 -54.2499995 -27.0833335 -26.9166665 340 0 2670 --54.2500005 -54.0833335 -27.0833335 -26.9166665 487 0 2670 --54.0833335 -53.9166665 -27.0833335 -26.9166665 281 0 2670 --53.9166665 -53.7499995 -27.0833335 -26.9166665 253 0 2670 --53.7500005 -53.5833335 -27.0833335 -26.9166665 356 0 2670 --53.5833335 -53.4166665 -27.0833335 -26.9166665 470 0 2670 --53.4166665 -53.2499995 -27.0833335 -26.9166665 298 0 2670 --53.2500005 -53.0833335 -27.0833335 -26.9166665 438 0 2670 --53.0833335 -52.9166665 -27.0833335 -26.9166665 362 0 2670 --52.9166665 -52.7499995 -27.0833335 -26.9166665 498 0 2670 --52.7500005 -52.5833335 -27.0833335 -26.9166665 702 0 2670 --52.5833335 -52.4166665 -27.0833335 -26.9166665 762 0 2670 --52.4166665 -52.2499995 -27.0833335 -26.9166665 726 0 2670 --52.2500005 -52.0833335 -27.0833335 -26.9166665 885 0 2670 --52.0833335 -51.9166665 -27.0833335 -26.9166665 950 0 2670 --51.9166665 -51.7499995 -27.0833335 -26.9166665 943 0 2670 --51.7500005 -51.5833335 -27.0833335 -26.9166665 949 0 2670 --51.5833335 -51.4166665 -27.0833335 -26.9166665 857 0 2670 --51.4166665 -51.2499995 -27.0833335 -26.9166665 756 0 2670 --51.2500005 -51.0833335 -27.0833335 -26.9166665 749 0 2670 --51.0833335 -50.9166665 -27.0833335 -26.9166665 959 0 2670 --50.9166665 -50.7499995 -27.0833335 -26.9166665 964 0 2670 --50.7500005 -50.5833335 -27.0833335 -26.9166665 935 0 2670 --50.5833335 -50.4166665 -27.0833335 -26.9166665 1059 0 2670 --50.4166665 -50.2499995 -27.0833335 -26.9166665 1137 0 2670 --50.2500005 -50.0833335 -27.0833335 -26.9166665 563 0 2670 --50.0833335 -49.9166665 -27.0833335 -26.9166665 625 0 2670 --49.9166665 -49.7499995 -27.0833335 -26.9166665 577 0 2670 --49.7500005 -49.5833335 -27.0833335 -26.9166665 360 0 2670 --49.5833335 -49.4166665 -27.0833335 -26.9166665 353 0 2670 --49.4166665 -49.2499995 -27.0833335 -26.9166665 226 0 2670 --49.2500005 -49.0833335 -27.0833335 -26.9166665 483 0 2670 --49.0833335 -48.9166665 -27.0833335 -26.9166665 342 0 2670 --48.9166665 -48.7499995 -27.0833335 -26.9166665 17 0 2670 --48.7500005 -48.5833335 -27.0833335 -26.9166665 35 0 2670 --48.5833335 -48.4166665 -27.0833335 -26.9166665 0 -24 -1670 --48.4166665 -48.2499995 -27.0833335 -26.9166665 0 -42 -1670 --48.2500005 -48.0833335 -27.0833335 -26.9166665 0 -54 -1670 --48.0833335 -47.9166665 -27.0833335 -26.9166665 0 -67 -1670 --47.9166665 -47.7499995 -27.0833335 -26.9166665 0 -98 -1670 --47.7500005 -47.5833335 -27.0833335 -26.9166665 0 -105 -1670 --47.5833335 -47.4166665 -27.0833335 -26.9166665 0 -152 -1670 --47.4166665 -47.2499995 -27.0833335 -26.9166665 0 -115 -1670 --47.2500005 -47.0833335 -27.0833335 -26.9166665 0 -146 -1670 --47.0833335 -46.9166665 -27.0833335 -26.9166665 0 -186 -1670 --46.9166665 -46.7499995 -27.0833335 -26.9166665 0 -207 -1670 --46.7500005 -46.5833335 -27.0833335 -26.9166665 0 -301 -1670 --46.5833335 -46.4166665 -27.0833335 -26.9166665 0 -402 -1670 --46.4166665 -46.2499995 -27.0833335 -26.9166665 0 -627 -1670 --46.2500005 -46.0833335 -27.0833335 -26.9166665 0 -1187 -1670 --46.0833335 -45.9166665 -27.0833335 -26.9166665 0 -1426 -1670 --45.9166665 -45.7499995 -27.0833335 -26.9166665 0 -1789 -1670 --45.7500005 -45.5833335 -27.0833335 -26.9166665 0 -2077 -1670 --45.5833335 -45.4166665 -27.0833335 -26.9166665 0 -2228 -1670 --45.4166665 -45.2499995 -27.0833335 -26.9166665 0 -2290 -1670 --45.2500005 -45.0833335 -27.0833335 -26.9166665 0 -2434 -1670 --45.0833335 -44.9166665 -27.0833335 -26.9166665 0 -2454 -1670 --44.9166665 -44.7499995 -27.0833335 -26.9166665 0 -2457 -1670 --44.7500005 -44.5833335 -27.0833335 -26.9166665 0 -2667 -1670 --44.5833335 -44.4166665 -27.0833335 -26.9166665 0 -2753 -1670 --44.4166665 -44.2499995 -27.0833335 -26.9166665 0 -2687 -1670 --44.2500005 -44.0833335 -27.0833335 -26.9166665 0 -2696 -1670 --44.0833335 -43.9166665 -27.0833335 -26.9166665 0 -2647 -1670 --43.9166665 -43.7499995 -27.0833335 -26.9166665 0 -2676 -1670 --43.7500005 -43.5833335 -27.0833335 -26.9166665 0 -2624 -1670 --43.5833335 -43.4166665 -27.0833335 -26.9166665 0 -2566 -1670 --43.4166665 -43.2499995 -27.0833335 -26.9166665 0 -2533 -1670 --43.2500005 -43.0833335 -27.0833335 -26.9166665 0 -2443 -1670 --43.0833335 -42.9166665 -27.0833335 -26.9166665 0 -2489 -1670 --42.9166665 -42.7499995 -27.0833335 -26.9166665 0 -2442 -1670 --42.7500005 -42.5833335 -27.0833335 -26.9166665 0 -2394 -1670 --42.5833335 -42.4166665 -27.0833335 -26.9166665 0 -2459 -1670 --42.4166665 -42.2499995 -27.0833335 -26.9166665 0 -2430 -1670 --42.2500005 -42.0833335 -27.0833335 -26.9166665 0 -2521 -1670 --42.0833335 -41.9166665 -27.0833335 -26.9166665 0 -2674 -1670 --41.9166665 -41.7499995 -27.0833335 -26.9166665 0 -2673 -1670 --41.7500005 -41.5833335 -27.0833335 -26.9166665 0 -2766 -1670 --41.5833335 -41.4166665 -27.0833335 -26.9166665 0 -2858 -1670 --41.4166665 -41.2499995 -27.0833335 -26.9166665 0 -2897 -1670 --41.2500005 -41.0833335 -27.0833335 -26.9166665 0 -3061 -1670 --41.0833335 -40.9166665 -27.0833335 -26.9166665 0 -3096 -1670 --40.9166665 -40.7499995 -27.0833335 -26.9166665 0 -3347 -1670 --40.7500005 -40.5833335 -27.0833335 -26.9166665 0 -3240 -1670 --40.5833335 -40.4166665 -27.0833335 -26.9166665 0 -3443 -1670 --40.4166665 -40.2499995 -27.0833335 -26.9166665 0 -3673 -1670 --40.2500005 -40.0833335 -27.0833335 -26.9166665 0 -3747 -1670 --40.0833335 -39.9166665 -27.0833335 -26.9166665 0 -3934 -1670 --65.0833335 -64.9166665 -27.2500005 -27.0833335 334 0 2670 --64.9166665 -64.7499995 -27.2500005 -27.0833335 406 0 2670 --64.7500005 -64.5833335 -27.2500005 -27.0833335 293 0 2670 --64.5833335 -64.4166665 -27.2500005 -27.0833335 263 0 2670 --64.4166665 -64.2499995 -27.2500005 -27.0833335 245 0 2670 --64.2500005 -64.0833335 -27.2500005 -27.0833335 183 0 2670 --64.0833335 -63.9166665 -27.2500005 -27.0833335 168 0 2670 --63.9166665 -63.7499995 -27.2500005 -27.0833335 170 0 2670 --63.7500005 -63.5833335 -27.2500005 -27.0833335 170 0 2670 --63.5833335 -63.4166665 -27.2500005 -27.0833335 170 0 2670 --63.4166665 -63.2499995 -27.2500005 -27.0833335 169 0 2670 --63.2500005 -63.0833335 -27.2500005 -27.0833335 168 0 2670 --63.0833335 -62.9166665 -27.2500005 -27.0833335 164 0 2670 --62.9166665 -62.7499995 -27.2500005 -27.0833335 161 0 2670 --62.7500005 -62.5833335 -27.2500005 -27.0833335 162 0 2670 --62.5833335 -62.4166665 -27.2500005 -27.0833335 160 0 2670 --62.4166665 -62.2499995 -27.2500005 -27.0833335 156 0 2670 --62.2500005 -62.0833335 -27.2500005 -27.0833335 167 0 2670 --62.0833335 -61.9166665 -27.2500005 -27.0833335 155 0 2670 --61.9166665 -61.7499995 -27.2500005 -27.0833335 188 0 2670 --61.7500005 -61.5833335 -27.2500005 -27.0833335 143 0 2670 --61.5833335 -61.4166665 -27.2500005 -27.0833335 100 0 2670 --61.4166665 -61.2499995 -27.2500005 -27.0833335 104 0 2670 --61.2500005 -61.0833335 -27.2500005 -27.0833335 101 0 2670 --61.0833335 -60.9166665 -27.2500005 -27.0833335 98 0 2670 --60.9166665 -60.7499995 -27.2500005 -27.0833335 92 0 2670 --60.7500005 -60.5833335 -27.2500005 -27.0833335 91 0 2670 --60.5833335 -60.4166665 -27.2500005 -27.0833335 86 0 2670 --60.4166665 -60.2499995 -27.2500005 -27.0833335 82 0 2670 --60.2500005 -60.0833335 -27.2500005 -27.0833335 80 0 2670 --60.0833335 -59.9166665 -27.2500005 -27.0833335 75 0 2670 --59.9166665 -59.7499995 -27.2500005 -27.0833335 72 0 2670 --59.7500005 -59.5833335 -27.2500005 -27.0833335 73 0 2670 --59.5833335 -59.4166665 -27.2500005 -27.0833335 67 0 2670 --59.4166665 -59.2499995 -27.2500005 -27.0833335 64 0 2670 --59.2500005 -59.0833335 -27.2500005 -27.0833335 59 0 2670 --59.0833335 -58.9166665 -27.2500005 -27.0833335 61 0 2670 --58.9166665 -58.7499995 -27.2500005 -27.0833335 60 0 2670 --58.7500005 -58.5833335 -27.2500005 -27.0833335 52 0 2670 --58.5833335 -58.4166665 -27.2500005 -27.0833335 54 0 2670 --58.4166665 -58.2499995 -27.2500005 -27.0833335 59 0 2670 --58.2500005 -58.0833335 -27.2500005 -27.0833335 60 0 2670 --58.0833335 -57.9166665 -27.2500005 -27.0833335 61 0 2670 --57.9166665 -57.7499995 -27.2500005 -27.0833335 64 0 2670 --57.7500005 -57.5833335 -27.2500005 -27.0833335 65 0 2670 --57.5833335 -57.4166665 -27.2500005 -27.0833335 68 0 2670 --57.4166665 -57.2499995 -27.2500005 -27.0833335 69 0 2670 --57.2500005 -57.0833335 -27.2500005 -27.0833335 71 0 2670 --57.0833335 -56.9166665 -27.2500005 -27.0833335 77 0 2670 --56.9166665 -56.7499995 -27.2500005 -27.0833335 80 0 2670 --56.7500005 -56.5833335 -27.2500005 -27.0833335 82 0 2670 --56.5833335 -56.4166665 -27.2500005 -27.0833335 119 0 2670 --56.4166665 -56.2499995 -27.2500005 -27.0833335 96 0 2670 --56.2500005 -56.0833335 -27.2500005 -27.0833335 87 0 2670 --56.0833335 -55.9166665 -27.2500005 -27.0833335 156 0 2670 --55.9166665 -55.7499995 -27.2500005 -27.0833335 196 0 2670 --55.7500005 -55.5833335 -27.2500005 -27.0833335 130 0 2670 --55.5833335 -55.4166665 -27.2500005 -27.0833335 142 0 2670 --55.4166665 -55.2499995 -27.2500005 -27.0833335 151 0 2670 --55.2500005 -55.0833335 -27.2500005 -27.0833335 341 0 2670 --55.0833335 -54.9166665 -27.2500005 -27.0833335 375 0 2670 --54.9166665 -54.7499995 -27.2500005 -27.0833335 331 0 2670 --54.7500005 -54.5833335 -27.2500005 -27.0833335 464 0 2670 --54.5833335 -54.4166665 -27.2500005 -27.0833335 365 0 2670 --54.4166665 -54.2499995 -27.2500005 -27.0833335 369 0 2670 --54.2500005 -54.0833335 -27.2500005 -27.0833335 319 0 2670 --54.0833335 -53.9166665 -27.2500005 -27.0833335 273 0 2670 --53.9166665 -53.7499995 -27.2500005 -27.0833335 190 0 2670 --53.7500005 -53.5833335 -27.2500005 -27.0833335 202 0 2670 --53.5833335 -53.4166665 -27.2500005 -27.0833335 208 0 2670 --53.4166665 -53.2499995 -27.2500005 -27.0833335 289 0 2670 --53.2500005 -53.0833335 -27.2500005 -27.0833335 240 0 2670 --53.0833335 -52.9166665 -27.2500005 -27.0833335 361 0 2670 --52.9166665 -52.7499995 -27.2500005 -27.0833335 395 0 2670 --52.7500005 -52.5833335 -27.2500005 -27.0833335 644 0 2670 --52.5833335 -52.4166665 -27.2500005 -27.0833335 436 0 2670 --52.4166665 -52.2499995 -27.2500005 -27.0833335 608 0 2670 --52.2500005 -52.0833335 -27.2500005 -27.0833335 505 0 2670 --52.0833335 -51.9166665 -27.2500005 -27.0833335 706 0 2670 --51.9166665 -51.7499995 -27.2500005 -27.0833335 746 0 2670 --51.7500005 -51.5833335 -27.2500005 -27.0833335 807 0 2670 --51.5833335 -51.4166665 -27.2500005 -27.0833335 582 0 2670 --51.4166665 -51.2499995 -27.2500005 -27.0833335 844 0 2670 --51.2500005 -51.0833335 -27.2500005 -27.0833335 828 0 2670 --51.0833335 -50.9166665 -27.2500005 -27.0833335 1018 0 2670 --50.9166665 -50.7499995 -27.2500005 -27.0833335 916 0 2670 --50.7500005 -50.5833335 -27.2500005 -27.0833335 884 0 2670 --50.5833335 -50.4166665 -27.2500005 -27.0833335 998 0 2670 --50.4166665 -50.2499995 -27.2500005 -27.0833335 1117 0 2670 --50.2500005 -50.0833335 -27.2500005 -27.0833335 727 0 2670 --50.0833335 -49.9166665 -27.2500005 -27.0833335 539 0 2670 --49.9166665 -49.7499995 -27.2500005 -27.0833335 370 0 2670 --49.7500005 -49.5833335 -27.2500005 -27.0833335 657 0 2670 --49.5833335 -49.4166665 -27.2500005 -27.0833335 476 0 2670 --49.4166665 -49.2499995 -27.2500005 -27.0833335 417 0 2670 --49.2500005 -49.0833335 -27.2500005 -27.0833335 620 0 2670 --49.0833335 -48.9166665 -27.2500005 -27.0833335 136 0 2670 --48.9166665 -48.7499995 -27.2500005 -27.0833335 153 0 2670 --48.7500005 -48.5833335 -27.2500005 -27.0833335 258 0 2670 --48.5833335 -48.4166665 -27.2500005 -27.0833335 45 0 2670 --48.4166665 -48.2499995 -27.2500005 -27.0833335 0 -24 -1670 --48.2500005 -48.0833335 -27.2500005 -27.0833335 0 -63 -1670 --48.0833335 -47.9166665 -27.2500005 -27.0833335 0 -70 -1670 --47.9166665 -47.7499995 -27.2500005 -27.0833335 0 -75 -1670 --47.7500005 -47.5833335 -27.2500005 -27.0833335 0 -117 -1670 --47.5833335 -47.4166665 -27.2500005 -27.0833335 0 -132 -1670 --47.4166665 -47.2499995 -27.2500005 -27.0833335 0 -150 -1670 --47.2500005 -47.0833335 -27.2500005 -27.0833335 0 -181 -1670 --47.0833335 -46.9166665 -27.2500005 -27.0833335 0 -340 -1670 --46.9166665 -46.7499995 -27.2500005 -27.0833335 0 -470 -1670 --46.7500005 -46.5833335 -27.2500005 -27.0833335 0 -636 -1670 --46.5833335 -46.4166665 -27.2500005 -27.0833335 0 -958 -1670 --46.4166665 -46.2499995 -27.2500005 -27.0833335 0 -1399 -1670 --46.2500005 -46.0833335 -27.2500005 -27.0833335 0 -1604 -1670 --46.0833335 -45.9166665 -27.2500005 -27.0833335 0 -1833 -1670 --45.9166665 -45.7499995 -27.2500005 -27.0833335 0 -1993 -1670 --45.7500005 -45.5833335 -27.2500005 -27.0833335 0 -2151 -1670 --45.5833335 -45.4166665 -27.2500005 -27.0833335 0 -2245 -1670 --45.4166665 -45.2499995 -27.2500005 -27.0833335 0 -2564 -1670 --45.2500005 -45.0833335 -27.2500005 -27.0833335 0 -2646 -1670 --45.0833335 -44.9166665 -27.2500005 -27.0833335 0 -2639 -1670 --44.9166665 -44.7499995 -27.2500005 -27.0833335 0 -2576 -1670 --44.7500005 -44.5833335 -27.2500005 -27.0833335 0 -2777 -1670 --44.5833335 -44.4166665 -27.2500005 -27.0833335 0 -2681 -1670 --44.4166665 -44.2499995 -27.2500005 -27.0833335 0 -2689 -1670 --44.2500005 -44.0833335 -27.2500005 -27.0833335 0 -2845 -1670 --44.0833335 -43.9166665 -27.2500005 -27.0833335 0 -2862 -1670 --43.9166665 -43.7499995 -27.2500005 -27.0833335 0 -2711 -1670 --43.7500005 -43.5833335 -27.2500005 -27.0833335 0 -2644 -1670 --43.5833335 -43.4166665 -27.2500005 -27.0833335 0 -2622 -1670 --43.4166665 -43.2499995 -27.2500005 -27.0833335 0 -2530 -1670 --43.2500005 -43.0833335 -27.2500005 -27.0833335 0 -2439 -1670 --43.0833335 -42.9166665 -27.2500005 -27.0833335 0 -2372 -1670 --42.9166665 -42.7499995 -27.2500005 -27.0833335 0 -2399 -1670 --42.7500005 -42.5833335 -27.2500005 -27.0833335 0 -2462 -1670 --42.5833335 -42.4166665 -27.2500005 -27.0833335 0 -2431 -1670 --42.4166665 -42.2499995 -27.2500005 -27.0833335 0 -2553 -1670 --42.2500005 -42.0833335 -27.2500005 -27.0833335 0 -2704 -1670 --42.0833335 -41.9166665 -27.2500005 -27.0833335 0 -2849 -1670 --41.9166665 -41.7499995 -27.2500005 -27.0833335 0 -2909 -1670 --41.7500005 -41.5833335 -27.2500005 -27.0833335 0 -2985 -1670 --41.5833335 -41.4166665 -27.2500005 -27.0833335 0 -3046 -1670 --41.4166665 -41.2499995 -27.2500005 -27.0833335 0 -3118 -1670 --41.2500005 -41.0833335 -27.2500005 -27.0833335 0 -3189 -1670 --41.0833335 -40.9166665 -27.2500005 -27.0833335 0 -3274 -1670 --40.9166665 -40.7499995 -27.2500005 -27.0833335 0 -3313 -1670 --40.7500005 -40.5833335 -27.2500005 -27.0833335 0 -3369 -1670 --40.5833335 -40.4166665 -27.2500005 -27.0833335 0 -3478 -1670 --40.4166665 -40.2499995 -27.2500005 -27.0833335 0 -3629 -1670 --40.2500005 -40.0833335 -27.2500005 -27.0833335 0 -3599 -1670 --40.0833335 -39.9166665 -27.2500005 -27.0833335 0 -3796 -1670 --65.0833335 -64.9166665 -27.4166665 -27.2499995 301 0 2670 --64.9166665 -64.7499995 -27.4166665 -27.2499995 319 0 2670 --64.7500005 -64.5833335 -27.4166665 -27.2499995 328 0 2670 --64.5833335 -64.4166665 -27.4166665 -27.2499995 242 0 2670 --64.4166665 -64.2499995 -27.4166665 -27.2499995 237 0 2670 --64.2500005 -64.0833335 -27.4166665 -27.2499995 168 0 2670 --64.0833335 -63.9166665 -27.4166665 -27.2499995 159 0 2670 --63.9166665 -63.7499995 -27.4166665 -27.2499995 159 0 2670 --63.7500005 -63.5833335 -27.4166665 -27.2499995 160 0 2670 --63.5833335 -63.4166665 -27.4166665 -27.2499995 160 0 2670 --63.4166665 -63.2499995 -27.4166665 -27.2499995 159 0 2670 --63.2500005 -63.0833335 -27.4166665 -27.2499995 158 0 2670 --63.0833335 -62.9166665 -27.4166665 -27.2499995 158 0 2670 --62.9166665 -62.7499995 -27.4166665 -27.2499995 159 0 2670 --62.7500005 -62.5833335 -27.4166665 -27.2499995 157 0 2670 --62.5833335 -62.4166665 -27.4166665 -27.2499995 156 0 2670 --62.4166665 -62.2499995 -27.4166665 -27.2499995 155 0 2670 --62.2500005 -62.0833335 -27.4166665 -27.2499995 152 0 2670 --62.0833335 -61.9166665 -27.4166665 -27.2499995 153 0 2670 --61.9166665 -61.7499995 -27.4166665 -27.2499995 133 0 2670 --61.7500005 -61.5833335 -27.4166665 -27.2499995 127 0 2670 --61.5833335 -61.4166665 -27.4166665 -27.2499995 111 0 2670 --61.4166665 -61.2499995 -27.4166665 -27.2499995 95 0 2670 --61.2500005 -61.0833335 -27.4166665 -27.2499995 94 0 2670 --61.0833335 -60.9166665 -27.4166665 -27.2499995 93 0 2670 --60.9166665 -60.7499995 -27.4166665 -27.2499995 89 0 2670 --60.7500005 -60.5833335 -27.4166665 -27.2499995 85 0 2670 --60.5833335 -60.4166665 -27.4166665 -27.2499995 81 0 2670 --60.4166665 -60.2499995 -27.4166665 -27.2499995 78 0 2670 --60.2500005 -60.0833335 -27.4166665 -27.2499995 77 0 2670 --60.0833335 -59.9166665 -27.4166665 -27.2499995 73 0 2670 --59.9166665 -59.7499995 -27.4166665 -27.2499995 69 0 2670 --59.7500005 -59.5833335 -27.4166665 -27.2499995 71 0 2670 --59.5833335 -59.4166665 -27.4166665 -27.2499995 68 0 2670 --59.4166665 -59.2499995 -27.4166665 -27.2499995 63 0 2670 --59.2500005 -59.0833335 -27.4166665 -27.2499995 60 0 2670 --59.0833335 -58.9166665 -27.4166665 -27.2499995 55 0 2670 --58.9166665 -58.7499995 -27.4166665 -27.2499995 52 0 2670 --58.7500005 -58.5833335 -27.4166665 -27.2499995 51 0 2670 --58.5833335 -58.4166665 -27.4166665 -27.2499995 61 0 2670 --58.4166665 -58.2499995 -27.4166665 -27.2499995 65 0 2670 --58.2500005 -58.0833335 -27.4166665 -27.2499995 67 0 2670 --58.0833335 -57.9166665 -27.4166665 -27.2499995 66 0 2670 --57.9166665 -57.7499995 -27.4166665 -27.2499995 55 0 2670 --57.7500005 -57.5833335 -27.4166665 -27.2499995 56 0 2670 --57.5833335 -57.4166665 -27.4166665 -27.2499995 55 0 2670 --57.4166665 -57.2499995 -27.4166665 -27.2499995 64 0 2670 --57.2500005 -57.0833335 -27.4166665 -27.2499995 72 0 2670 --57.0833335 -56.9166665 -27.4166665 -27.2499995 71 0 2670 --56.9166665 -56.7499995 -27.4166665 -27.2499995 76 0 2670 --56.7500005 -56.5833335 -27.4166665 -27.2499995 77 0 2670 --56.5833335 -56.4166665 -27.4166665 -27.2499995 75 0 2670 --56.4166665 -56.2499995 -27.4166665 -27.2499995 82 0 2670 --56.2500005 -56.0833335 -27.4166665 -27.2499995 75 0 2670 --56.0833335 -55.9166665 -27.4166665 -27.2499995 75 0 2670 --55.9166665 -55.7499995 -27.4166665 -27.2499995 103 0 2670 --55.7500005 -55.5833335 -27.4166665 -27.2499995 165 0 2670 --55.5833335 -55.4166665 -27.4166665 -27.2499995 131 0 2670 --55.4166665 -55.2499995 -27.4166665 -27.2499995 194 0 2670 --55.2500005 -55.0833335 -27.4166665 -27.2499995 327 0 2670 --55.0833335 -54.9166665 -27.4166665 -27.2499995 293 0 2670 --54.9166665 -54.7499995 -27.4166665 -27.2499995 232 0 2670 --54.7500005 -54.5833335 -27.4166665 -27.2499995 258 0 2670 --54.5833335 -54.4166665 -27.4166665 -27.2499995 379 0 2670 --54.4166665 -54.2499995 -27.4166665 -27.2499995 266 0 2670 --54.2500005 -54.0833335 -27.4166665 -27.2499995 276 0 2670 --54.0833335 -53.9166665 -27.4166665 -27.2499995 280 0 2670 --53.9166665 -53.7499995 -27.4166665 -27.2499995 388 0 2670 --53.7500005 -53.5833335 -27.4166665 -27.2499995 344 0 2670 --53.5833335 -53.4166665 -27.4166665 -27.2499995 456 0 2670 --53.4166665 -53.2499995 -27.4166665 -27.2499995 332 0 2670 --53.2500005 -53.0833335 -27.4166665 -27.2499995 439 0 2670 --53.0833335 -52.9166665 -27.4166665 -27.2499995 537 0 2670 --52.9166665 -52.7499995 -27.4166665 -27.2499995 549 0 2670 --52.7500005 -52.5833335 -27.4166665 -27.2499995 508 0 2670 --52.5833335 -52.4166665 -27.4166665 -27.2499995 555 0 2670 --52.4166665 -52.2499995 -27.4166665 -27.2499995 475 0 2670 --52.2500005 -52.0833335 -27.4166665 -27.2499995 475 0 2670 --52.0833335 -51.9166665 -27.4166665 -27.2499995 431 0 2670 --51.9166665 -51.7499995 -27.4166665 -27.2499995 623 0 2670 --51.7500005 -51.5833335 -27.4166665 -27.2499995 525 0 2670 --51.5833335 -51.4166665 -27.4166665 -27.2499995 635 0 2670 --51.4166665 -51.2499995 -27.4166665 -27.2499995 780 0 2670 --51.2500005 -51.0833335 -27.4166665 -27.2499995 962 0 2670 --51.0833335 -50.9166665 -27.4166665 -27.2499995 980 0 2670 --50.9166665 -50.7499995 -27.4166665 -27.2499995 923 0 2670 --50.7500005 -50.5833335 -27.4166665 -27.2499995 902 0 2670 --50.5833335 -50.4166665 -27.4166665 -27.2499995 1038 0 2670 --50.4166665 -50.2499995 -27.4166665 -27.2499995 1129 0 2670 --50.2500005 -50.0833335 -27.4166665 -27.2499995 861 0 2670 --50.0833335 -49.9166665 -27.4166665 -27.2499995 645 0 2670 --49.9166665 -49.7499995 -27.4166665 -27.2499995 395 0 2670 --49.7500005 -49.5833335 -27.4166665 -27.2499995 472 0 2670 --49.5833335 -49.4166665 -27.4166665 -27.2499995 670 0 2670 --49.4166665 -49.2499995 -27.4166665 -27.2499995 403 0 2670 --49.2500005 -49.0833335 -27.4166665 -27.2499995 323 0 2670 --49.0833335 -48.9166665 -27.4166665 -27.2499995 291 0 2670 --48.9166665 -48.7499995 -27.4166665 -27.2499995 152 0 2670 --48.7500005 -48.5833335 -27.4166665 -27.2499995 204 0 2670 --48.5833335 -48.4166665 -27.4166665 -27.2499995 0 -1 -1670 --48.4166665 -48.2499995 -27.4166665 -27.2499995 0 -24 -1670 --48.2500005 -48.0833335 -27.4166665 -27.2499995 0 -53 -1670 --48.0833335 -47.9166665 -27.4166665 -27.2499995 0 -85 -1670 --47.9166665 -47.7499995 -27.4166665 -27.2499995 0 -106 -1670 --47.7500005 -47.5833335 -27.4166665 -27.2499995 0 -118 -1670 --47.5833335 -47.4166665 -27.4166665 -27.2499995 0 -138 -1670 --47.4166665 -47.2499995 -27.4166665 -27.2499995 0 -163 -1670 --47.2500005 -47.0833335 -27.4166665 -27.2499995 0 -262 -1670 --47.0833335 -46.9166665 -27.4166665 -27.2499995 0 -633 -1670 --46.9166665 -46.7499995 -27.4166665 -27.2499995 0 -794 -1670 --46.7500005 -46.5833335 -27.4166665 -27.2499995 0 -1045 -1670 --46.5833335 -46.4166665 -27.4166665 -27.2499995 0 -1398 -1670 --46.4166665 -46.2499995 -27.4166665 -27.2499995 0 -1732 -1670 --46.2500005 -46.0833335 -27.4166665 -27.2499995 0 -1861 -1670 --46.0833335 -45.9166665 -27.4166665 -27.2499995 0 -2027 -1670 --45.9166665 -45.7499995 -27.4166665 -27.2499995 0 -2234 -1670 --45.7500005 -45.5833335 -27.4166665 -27.2499995 0 -2238 -1670 --45.5833335 -45.4166665 -27.4166665 -27.2499995 0 -2403 -1670 --45.4166665 -45.2499995 -27.4166665 -27.2499995 0 -2564 -1670 --45.2500005 -45.0833335 -27.4166665 -27.2499995 0 -2579 -1670 --45.0833335 -44.9166665 -27.4166665 -27.2499995 0 -2607 -1670 --44.9166665 -44.7499995 -27.4166665 -27.2499995 0 -2604 -1670 --44.7500005 -44.5833335 -27.4166665 -27.2499995 0 -2332 -1670 --44.5833335 -44.4166665 -27.4166665 -27.2499995 0 -2926 -1670 --44.4166665 -44.2499995 -27.4166665 -27.2499995 0 -2714 -1670 --44.2500005 -44.0833335 -27.4166665 -27.2499995 0 -2770 -1670 --44.0833335 -43.9166665 -27.4166665 -27.2499995 0 -2645 -1670 --43.9166665 -43.7499995 -27.4166665 -27.2499995 0 -2816 -1670 --43.7500005 -43.5833335 -27.4166665 -27.2499995 0 -2741 -1670 --43.5833335 -43.4166665 -27.4166665 -27.2499995 0 -2735 -1670 --43.4166665 -43.2499995 -27.4166665 -27.2499995 0 -2709 -1670 --43.2500005 -43.0833335 -27.4166665 -27.2499995 0 -2613 -1670 --43.0833335 -42.9166665 -27.4166665 -27.2499995 0 -2443 -1670 --42.9166665 -42.7499995 -27.4166665 -27.2499995 0 -2426 -1670 --42.7500005 -42.5833335 -27.4166665 -27.2499995 0 -2486 -1670 --42.5833335 -42.4166665 -27.4166665 -27.2499995 0 -2600 -1670 --42.4166665 -42.2499995 -27.4166665 -27.2499995 0 -2781 -1670 --42.2500005 -42.0833335 -27.4166665 -27.2499995 0 -2864 -1670 --42.0833335 -41.9166665 -27.4166665 -27.2499995 0 -2937 -1670 --41.9166665 -41.7499995 -27.4166665 -27.2499995 0 -3034 -1670 --41.7500005 -41.5833335 -27.4166665 -27.2499995 0 -3062 -1670 --41.5833335 -41.4166665 -27.4166665 -27.2499995 0 -3133 -1670 --41.4166665 -41.2499995 -27.4166665 -27.2499995 0 -3202 -1670 --41.2500005 -41.0833335 -27.4166665 -27.2499995 0 -3208 -1670 --41.0833335 -40.9166665 -27.4166665 -27.2499995 0 -3302 -1670 --40.9166665 -40.7499995 -27.4166665 -27.2499995 0 -3417 -1670 --40.7500005 -40.5833335 -27.4166665 -27.2499995 0 -3471 -1670 --40.5833335 -40.4166665 -27.4166665 -27.2499995 0 -3482 -1670 --40.4166665 -40.2499995 -27.4166665 -27.2499995 0 -3572 -1670 --40.2500005 -40.0833335 -27.4166665 -27.2499995 0 -3871 -1670 --40.0833335 -39.9166665 -27.4166665 -27.2499995 0 -3730 -1670 --65.0833335 -64.9166665 -27.5833335 -27.4166665 274 0 2670 --64.9166665 -64.7499995 -27.5833335 -27.4166665 268 0 2670 --64.7500005 -64.5833335 -27.5833335 -27.4166665 265 0 2670 --64.5833335 -64.4166665 -27.5833335 -27.4166665 236 0 2670 --64.4166665 -64.2499995 -27.5833335 -27.4166665 232 0 2670 --64.2500005 -64.0833335 -27.5833335 -27.4166665 176 0 2670 --64.0833335 -63.9166665 -27.5833335 -27.4166665 161 0 2670 --63.9166665 -63.7499995 -27.5833335 -27.4166665 154 0 2670 --63.7500005 -63.5833335 -27.5833335 -27.4166665 151 0 2670 --63.5833335 -63.4166665 -27.5833335 -27.4166665 149 0 2670 --63.4166665 -63.2499995 -27.5833335 -27.4166665 150 0 2670 --63.2500005 -63.0833335 -27.5833335 -27.4166665 150 0 2670 --63.0833335 -62.9166665 -27.5833335 -27.4166665 152 0 2670 --62.9166665 -62.7499995 -27.5833335 -27.4166665 151 0 2670 --62.7500005 -62.5833335 -27.5833335 -27.4166665 148 0 2670 --62.5833335 -62.4166665 -27.5833335 -27.4166665 153 0 2670 --62.4166665 -62.2499995 -27.5833335 -27.4166665 144 0 2670 --62.2500005 -62.0833335 -27.5833335 -27.4166665 147 0 2670 --62.0833335 -61.9166665 -27.5833335 -27.4166665 168 0 2670 --61.9166665 -61.7499995 -27.5833335 -27.4166665 127 0 2670 --61.7500005 -61.5833335 -27.5833335 -27.4166665 101 0 2670 --61.5833335 -61.4166665 -27.5833335 -27.4166665 115 0 2670 --61.4166665 -61.2499995 -27.5833335 -27.4166665 87 0 2670 --61.2500005 -61.0833335 -27.5833335 -27.4166665 87 0 2670 --61.0833335 -60.9166665 -27.5833335 -27.4166665 87 0 2670 --60.9166665 -60.7499995 -27.5833335 -27.4166665 82 0 2670 --60.7500005 -60.5833335 -27.5833335 -27.4166665 78 0 2670 --60.5833335 -60.4166665 -27.5833335 -27.4166665 76 0 2670 --60.4166665 -60.2499995 -27.5833335 -27.4166665 75 0 2670 --60.2500005 -60.0833335 -27.5833335 -27.4166665 71 0 2670 --60.0833335 -59.9166665 -27.5833335 -27.4166665 73 0 2670 --59.9166665 -59.7499995 -27.5833335 -27.4166665 72 0 2670 --59.7500005 -59.5833335 -27.5833335 -27.4166665 67 0 2670 --59.5833335 -59.4166665 -27.5833335 -27.4166665 66 0 2670 --59.4166665 -59.2499995 -27.5833335 -27.4166665 63 0 2670 --59.2500005 -59.0833335 -27.5833335 -27.4166665 55 0 2670 --59.0833335 -58.9166665 -27.5833335 -27.4166665 51 0 2670 --58.9166665 -58.7499995 -27.5833335 -27.4166665 61 0 2670 --58.7500005 -58.5833335 -27.5833335 -27.4166665 62 0 2670 --58.5833335 -58.4166665 -27.5833335 -27.4166665 62 0 2670 --58.4166665 -58.2499995 -27.5833335 -27.4166665 63 0 2670 --58.2500005 -58.0833335 -27.5833335 -27.4166665 66 0 2670 --58.0833335 -57.9166665 -27.5833335 -27.4166665 66 0 2670 --57.9166665 -57.7499995 -27.5833335 -27.4166665 67 0 2670 --57.7500005 -57.5833335 -27.5833335 -27.4166665 69 0 2670 --57.5833335 -57.4166665 -27.5833335 -27.4166665 70 0 2670 --57.4166665 -57.2499995 -27.5833335 -27.4166665 72 0 2670 --57.2500005 -57.0833335 -27.5833335 -27.4166665 60 0 2670 --57.0833335 -56.9166665 -27.5833335 -27.4166665 60 0 2670 --56.9166665 -56.7499995 -27.5833335 -27.4166665 62 0 2670 --56.7500005 -56.5833335 -27.5833335 -27.4166665 81 0 2670 --56.5833335 -56.4166665 -27.5833335 -27.4166665 75 0 2670 --56.4166665 -56.2499995 -27.5833335 -27.4166665 75 0 2670 --56.2500005 -56.0833335 -27.5833335 -27.4166665 104 0 2670 --56.0833335 -55.9166665 -27.5833335 -27.4166665 148 0 2670 --55.9166665 -55.7499995 -27.5833335 -27.4166665 88 0 2670 --55.7500005 -55.5833335 -27.5833335 -27.4166665 130 0 2670 --55.5833335 -55.4166665 -27.5833335 -27.4166665 261 0 2670 --55.4166665 -55.2499995 -27.5833335 -27.4166665 231 0 2670 --55.2500005 -55.0833335 -27.5833335 -27.4166665 322 0 2670 --55.0833335 -54.9166665 -27.5833335 -27.4166665 286 0 2670 --54.9166665 -54.7499995 -27.5833335 -27.4166665 265 0 2670 --54.7500005 -54.5833335 -27.5833335 -27.4166665 135 0 2670 --54.5833335 -54.4166665 -27.5833335 -27.4166665 171 0 2670 --54.4166665 -54.2499995 -27.5833335 -27.4166665 200 0 2670 --54.2500005 -54.0833335 -27.5833335 -27.4166665 263 0 2670 --54.0833335 -53.9166665 -27.5833335 -27.4166665 310 0 2670 --53.9166665 -53.7499995 -27.5833335 -27.4166665 325 0 2670 --53.7500005 -53.5833335 -27.5833335 -27.4166665 451 0 2670 --53.5833335 -53.4166665 -27.5833335 -27.4166665 467 0 2670 --53.4166665 -53.2499995 -27.5833335 -27.4166665 408 0 2670 --53.2500005 -53.0833335 -27.5833335 -27.4166665 322 0 2670 --53.0833335 -52.9166665 -27.5833335 -27.4166665 536 0 2670 --52.9166665 -52.7499995 -27.5833335 -27.4166665 574 0 2670 --52.7500005 -52.5833335 -27.5833335 -27.4166665 592 0 2670 --52.5833335 -52.4166665 -27.5833335 -27.4166665 649 0 2670 --52.4166665 -52.2499995 -27.5833335 -27.4166665 706 0 2670 --52.2500005 -52.0833335 -27.5833335 -27.4166665 620 0 2670 --52.0833335 -51.9166665 -27.5833335 -27.4166665 546 0 2670 --51.9166665 -51.7499995 -27.5833335 -27.4166665 481 0 2670 --51.7500005 -51.5833335 -27.5833335 -27.4166665 554 0 2670 --51.5833335 -51.4166665 -27.5833335 -27.4166665 698 0 2670 --51.4166665 -51.2499995 -27.5833335 -27.4166665 825 0 2670 --51.2500005 -51.0833335 -27.5833335 -27.4166665 866 0 2670 --51.0833335 -50.9166665 -27.5833335 -27.4166665 864 0 2670 --50.9166665 -50.7499995 -27.5833335 -27.4166665 783 0 2670 --50.7500005 -50.5833335 -27.5833335 -27.4166665 867 0 2670 --50.5833335 -50.4166665 -27.5833335 -27.4166665 888 0 2670 --50.4166665 -50.2499995 -27.5833335 -27.4166665 898 0 2670 --50.2500005 -50.0833335 -27.5833335 -27.4166665 851 0 2670 --50.0833335 -49.9166665 -27.5833335 -27.4166665 855 0 2670 --49.9166665 -49.7499995 -27.5833335 -27.4166665 722 0 2670 --49.7500005 -49.5833335 -27.5833335 -27.4166665 511 0 2670 --49.5833335 -49.4166665 -27.5833335 -27.4166665 639 0 2670 --49.4166665 -49.2499995 -27.5833335 -27.4166665 740 0 2670 --49.2500005 -49.0833335 -27.5833335 -27.4166665 776 0 2670 --49.0833335 -48.9166665 -27.5833335 -27.4166665 302 0 2670 --48.9166665 -48.7499995 -27.5833335 -27.4166665 219 0 2670 --48.7500005 -48.5833335 -27.5833335 -27.4166665 79 0 2670 --48.5833335 -48.4166665 -27.5833335 -27.4166665 85 0 2670 --48.4166665 -48.2499995 -27.5833335 -27.4166665 0 -22 -1670 --48.2500005 -48.0833335 -27.5833335 -27.4166665 0 -60 -1670 --48.0833335 -47.9166665 -27.5833335 -27.4166665 0 -71 -1670 --47.9166665 -47.7499995 -27.5833335 -27.4166665 0 -113 -1670 --47.7500005 -47.5833335 -27.5833335 -27.4166665 0 -126 -1670 --47.5833335 -47.4166665 -27.5833335 -27.4166665 0 -151 -1670 --47.4166665 -47.2499995 -27.5833335 -27.4166665 0 -207 -1670 --47.2500005 -47.0833335 -27.5833335 -27.4166665 0 -449 -1670 --47.0833335 -46.9166665 -27.5833335 -27.4166665 0 -673 -1670 --46.9166665 -46.7499995 -27.5833335 -27.4166665 0 -1031 -1670 --46.7500005 -46.5833335 -27.5833335 -27.4166665 0 -1230 -1670 --46.5833335 -46.4166665 -27.5833335 -27.4166665 0 -1558 -1670 --46.4166665 -46.2499995 -27.5833335 -27.4166665 0 -1853 -1670 --46.2500005 -46.0833335 -27.5833335 -27.4166665 0 -2074 -1670 --46.0833335 -45.9166665 -27.5833335 -27.4166665 0 -2195 -1670 --45.9166665 -45.7499995 -27.5833335 -27.4166665 0 -2273 -1670 --45.7500005 -45.5833335 -27.5833335 -27.4166665 0 -2399 -1670 --45.5833335 -45.4166665 -27.5833335 -27.4166665 0 -2395 -1670 --45.4166665 -45.2499995 -27.5833335 -27.4166665 0 -2620 -1670 --45.2500005 -45.0833335 -27.5833335 -27.4166665 0 -2601 -1670 --45.0833335 -44.9166665 -27.5833335 -27.4166665 0 -2638 -1670 --44.9166665 -44.7499995 -27.5833335 -27.4166665 0 -2677 -1670 --44.7500005 -44.5833335 -27.5833335 -27.4166665 0 -2745 -1670 --44.5833335 -44.4166665 -27.5833335 -27.4166665 0 -2880 -1670 --44.4166665 -44.2499995 -27.5833335 -27.4166665 0 -2770 -1670 --44.2500005 -44.0833335 -27.5833335 -27.4166665 0 -2780 -1670 --44.0833335 -43.9166665 -27.5833335 -27.4166665 0 -2906 -1670 --43.9166665 -43.7499995 -27.5833335 -27.4166665 0 -2883 -1670 --43.7500005 -43.5833335 -27.5833335 -27.4166665 0 -2856 -1670 --43.5833335 -43.4166665 -27.5833335 -27.4166665 0 -2844 -1670 --43.4166665 -43.2499995 -27.5833335 -27.4166665 0 -2821 -1670 --43.2500005 -43.0833335 -27.5833335 -27.4166665 0 -2666 -1670 --43.0833335 -42.9166665 -27.5833335 -27.4166665 0 -2621 -1670 --42.9166665 -42.7499995 -27.5833335 -27.4166665 0 -2622 -1670 --42.7500005 -42.5833335 -27.5833335 -27.4166665 0 -2662 -1670 --42.5833335 -42.4166665 -27.5833335 -27.4166665 0 -2790 -1670 --42.4166665 -42.2499995 -27.5833335 -27.4166665 0 -2901 -1670 --42.2500005 -42.0833335 -27.5833335 -27.4166665 0 -2948 -1670 --42.0833335 -41.9166665 -27.5833335 -27.4166665 0 -3068 -1670 --41.9166665 -41.7499995 -27.5833335 -27.4166665 0 -3055 -1670 --41.7500005 -41.5833335 -27.5833335 -27.4166665 0 -3183 -1670 --41.5833335 -41.4166665 -27.5833335 -27.4166665 0 -3118 -1670 --41.4166665 -41.2499995 -27.5833335 -27.4166665 0 -3166 -1670 --41.2500005 -41.0833335 -27.5833335 -27.4166665 0 -3221 -1670 --41.0833335 -40.9166665 -27.5833335 -27.4166665 0 -3280 -1670 --40.9166665 -40.7499995 -27.5833335 -27.4166665 0 -3174 -1670 --40.7500005 -40.5833335 -27.5833335 -27.4166665 0 -3213 -1670 --40.5833335 -40.4166665 -27.5833335 -27.4166665 0 -3206 -1670 --40.4166665 -40.2499995 -27.5833335 -27.4166665 0 -3278 -1670 --40.2500005 -40.0833335 -27.5833335 -27.4166665 0 -3464 -1670 --40.0833335 -39.9166665 -27.5833335 -27.4166665 0 -3556 -1670 --65.0833335 -64.9166665 -27.7500005 -27.5833335 291 0 2670 --64.9166665 -64.7499995 -27.7500005 -27.5833335 378 0 2670 --64.7500005 -64.5833335 -27.7500005 -27.5833335 335 0 2670 --64.5833335 -64.4166665 -27.7500005 -27.5833335 274 0 2670 --64.4166665 -64.2499995 -27.7500005 -27.5833335 213 0 2670 --64.2500005 -64.0833335 -27.7500005 -27.5833335 184 0 2670 --64.0833335 -63.9166665 -27.7500005 -27.5833335 167 0 2670 --63.9166665 -63.7499995 -27.7500005 -27.5833335 158 0 2670 --63.7500005 -63.5833335 -27.7500005 -27.5833335 148 0 2670 --63.5833335 -63.4166665 -27.7500005 -27.5833335 143 0 2670 --63.4166665 -63.2499995 -27.7500005 -27.5833335 146 0 2670 --63.2500005 -63.0833335 -27.7500005 -27.5833335 143 0 2670 --63.0833335 -62.9166665 -27.7500005 -27.5833335 143 0 2670 --62.9166665 -62.7499995 -27.7500005 -27.5833335 143 0 2670 --62.7500005 -62.5833335 -27.7500005 -27.5833335 144 0 2670 --62.5833335 -62.4166665 -27.7500005 -27.5833335 138 0 2670 --62.4166665 -62.2499995 -27.7500005 -27.5833335 138 0 2670 --62.2500005 -62.0833335 -27.7500005 -27.5833335 165 0 2670 --62.0833335 -61.9166665 -27.7500005 -27.5833335 130 0 2670 --61.9166665 -61.7499995 -27.7500005 -27.5833335 117 0 2670 --61.7500005 -61.5833335 -27.7500005 -27.5833335 78 0 2670 --61.5833335 -61.4166665 -27.7500005 -27.5833335 79 0 2670 --61.4166665 -61.2499995 -27.7500005 -27.5833335 81 0 2670 --61.2500005 -61.0833335 -27.7500005 -27.5833335 80 0 2670 --61.0833335 -60.9166665 -27.7500005 -27.5833335 79 0 2670 --60.9166665 -60.7499995 -27.7500005 -27.5833335 76 0 2670 --60.7500005 -60.5833335 -27.7500005 -27.5833335 74 0 2670 --60.5833335 -60.4166665 -27.7500005 -27.5833335 73 0 2670 --60.4166665 -60.2499995 -27.7500005 -27.5833335 69 0 2670 --60.2500005 -60.0833335 -27.7500005 -27.5833335 68 0 2670 --60.0833335 -59.9166665 -27.7500005 -27.5833335 66 0 2670 --59.9166665 -59.7499995 -27.7500005 -27.5833335 65 0 2670 --59.7500005 -59.5833335 -27.7500005 -27.5833335 62 0 2670 --59.5833335 -59.4166665 -27.7500005 -27.5833335 63 0 2670 --59.4166665 -59.2499995 -27.7500005 -27.5833335 61 0 2670 --59.2500005 -59.0833335 -27.7500005 -27.5833335 50 0 2670 --59.0833335 -58.9166665 -27.7500005 -27.5833335 48 0 2670 --58.9166665 -58.7499995 -27.7500005 -27.5833335 46 0 2670 --58.7500005 -58.5833335 -27.7500005 -27.5833335 63 0 2670 --58.5833335 -58.4166665 -27.7500005 -27.5833335 64 0 2670 --58.4166665 -58.2499995 -27.7500005 -27.5833335 64 0 2670 --58.2500005 -58.0833335 -27.7500005 -27.5833335 66 0 2670 --58.0833335 -57.9166665 -27.7500005 -27.5833335 66 0 2670 --57.9166665 -57.7499995 -27.7500005 -27.5833335 69 0 2670 --57.7500005 -57.5833335 -27.7500005 -27.5833335 70 0 2670 --57.5833335 -57.4166665 -27.7500005 -27.5833335 71 0 2670 --57.4166665 -57.2499995 -27.7500005 -27.5833335 70 0 2670 --57.2500005 -57.0833335 -27.7500005 -27.5833335 72 0 2670 --57.0833335 -56.9166665 -27.7500005 -27.5833335 72 0 2670 --56.9166665 -56.7499995 -27.7500005 -27.5833335 73 0 2670 --56.7500005 -56.5833335 -27.7500005 -27.5833335 72 0 2670 --56.5833335 -56.4166665 -27.7500005 -27.5833335 80 0 2670 --56.4166665 -56.2499995 -27.7500005 -27.5833335 91 0 2670 --56.2500005 -56.0833335 -27.7500005 -27.5833335 104 0 2670 --56.0833335 -55.9166665 -27.7500005 -27.5833335 135 0 2670 --55.9166665 -55.7499995 -27.7500005 -27.5833335 133 0 2670 --55.7500005 -55.5833335 -27.7500005 -27.5833335 125 0 2670 --55.5833335 -55.4166665 -27.7500005 -27.5833335 280 0 2670 --55.4166665 -55.2499995 -27.7500005 -27.5833335 215 0 2670 --55.2500005 -55.0833335 -27.7500005 -27.5833335 192 0 2670 --55.0833335 -54.9166665 -27.7500005 -27.5833335 286 0 2670 --54.9166665 -54.7499995 -27.7500005 -27.5833335 173 0 2670 --54.7500005 -54.5833335 -27.7500005 -27.5833335 148 0 2670 --54.5833335 -54.4166665 -27.7500005 -27.5833335 178 0 2670 --54.4166665 -54.2499995 -27.7500005 -27.5833335 260 0 2670 --54.2500005 -54.0833335 -27.7500005 -27.5833335 190 0 2670 --54.0833335 -53.9166665 -27.7500005 -27.5833335 319 0 2670 --53.9166665 -53.7499995 -27.7500005 -27.5833335 443 0 2670 --53.7500005 -53.5833335 -27.7500005 -27.5833335 475 0 2670 --53.5833335 -53.4166665 -27.7500005 -27.5833335 546 0 2670 --53.4166665 -53.2499995 -27.7500005 -27.5833335 543 0 2670 --53.2500005 -53.0833335 -27.7500005 -27.5833335 377 0 2670 --53.0833335 -52.9166665 -27.7500005 -27.5833335 410 0 2670 --52.9166665 -52.7499995 -27.7500005 -27.5833335 644 0 2670 --52.7500005 -52.5833335 -27.7500005 -27.5833335 571 0 2670 --52.5833335 -52.4166665 -27.7500005 -27.5833335 570 0 2670 --52.4166665 -52.2499995 -27.7500005 -27.5833335 722 0 2670 --52.2500005 -52.0833335 -27.7500005 -27.5833335 593 0 2670 --52.0833335 -51.9166665 -27.7500005 -27.5833335 597 0 2670 --51.9166665 -51.7499995 -27.7500005 -27.5833335 511 0 2670 --51.7500005 -51.5833335 -27.7500005 -27.5833335 707 0 2670 --51.5833335 -51.4166665 -27.7500005 -27.5833335 682 0 2670 --51.4166665 -51.2499995 -27.7500005 -27.5833335 620 0 2670 --51.2500005 -51.0833335 -27.7500005 -27.5833335 824 0 2670 --51.0833335 -50.9166665 -27.7500005 -27.5833335 709 0 2670 --50.9166665 -50.7499995 -27.7500005 -27.5833335 861 0 2670 --50.7500005 -50.5833335 -27.7500005 -27.5833335 805 0 2670 --50.5833335 -50.4166665 -27.7500005 -27.5833335 973 0 2670 --50.4166665 -50.2499995 -27.7500005 -27.5833335 875 0 2670 --50.2500005 -50.0833335 -27.7500005 -27.5833335 893 0 2670 --50.0833335 -49.9166665 -27.7500005 -27.5833335 847 0 2670 --49.9166665 -49.7499995 -27.7500005 -27.5833335 876 0 2670 --49.7500005 -49.5833335 -27.7500005 -27.5833335 925 0 2670 --49.5833335 -49.4166665 -27.7500005 -27.5833335 598 0 2670 --49.4166665 -49.2499995 -27.7500005 -27.5833335 804 0 2670 --49.2500005 -49.0833335 -27.7500005 -27.5833335 1019 0 2670 --49.0833335 -48.9166665 -27.7500005 -27.5833335 813 0 2670 --48.9166665 -48.7499995 -27.7500005 -27.5833335 333 0 2670 --48.7500005 -48.5833335 -27.7500005 -27.5833335 4 0 2670 --48.5833335 -48.4166665 -27.7500005 -27.5833335 42 0 2670 --48.4166665 -48.2499995 -27.7500005 -27.5833335 0 -36 -1670 --48.2500005 -48.0833335 -27.7500005 -27.5833335 0 -76 -1670 --48.0833335 -47.9166665 -27.7500005 -27.5833335 0 -92 -1670 --47.9166665 -47.7499995 -27.7500005 -27.5833335 0 -71 -1670 --47.7500005 -47.5833335 -27.7500005 -27.5833335 0 -139 -1670 --47.5833335 -47.4166665 -27.7500005 -27.5833335 0 -155 -1670 --47.4166665 -47.2499995 -27.7500005 -27.5833335 0 -210 -1670 --47.2500005 -47.0833335 -27.7500005 -27.5833335 0 -471 -1670 --47.0833335 -46.9166665 -27.7500005 -27.5833335 0 -630 -1670 --46.9166665 -46.7499995 -27.7500005 -27.5833335 0 -942 -1670 --46.7500005 -46.5833335 -27.7500005 -27.5833335 0 -1275 -1670 --46.5833335 -46.4166665 -27.7500005 -27.5833335 0 -1616 -1670 --46.4166665 -46.2499995 -27.7500005 -27.5833335 0 -1947 -1670 --46.2500005 -46.0833335 -27.7500005 -27.5833335 0 -2194 -1670 --46.0833335 -45.9166665 -27.7500005 -27.5833335 0 -2273 -1670 --45.9166665 -45.7499995 -27.7500005 -27.5833335 0 -2363 -1670 --45.7500005 -45.5833335 -27.7500005 -27.5833335 0 -2460 -1670 --45.5833335 -45.4166665 -27.7500005 -27.5833335 0 -2556 -1670 --45.4166665 -45.2499995 -27.7500005 -27.5833335 0 -2658 -1670 --45.2500005 -45.0833335 -27.7500005 -27.5833335 0 -2760 -1670 --45.0833335 -44.9166665 -27.7500005 -27.5833335 0 -2909 -1670 --44.9166665 -44.7499995 -27.7500005 -27.5833335 0 -3016 -1670 --44.7500005 -44.5833335 -27.7500005 -27.5833335 0 -3079 -1670 --44.5833335 -44.4166665 -27.7500005 -27.5833335 0 -3145 -1670 --44.4166665 -44.2499995 -27.7500005 -27.5833335 0 -2902 -1670 --44.2500005 -44.0833335 -27.7500005 -27.5833335 0 -2861 -1670 --44.0833335 -43.9166665 -27.7500005 -27.5833335 0 -2980 -1670 --43.9166665 -43.7499995 -27.7500005 -27.5833335 0 -3009 -1670 --43.7500005 -43.5833335 -27.7500005 -27.5833335 0 -3249 -1670 --43.5833335 -43.4166665 -27.7500005 -27.5833335 0 -2882 -1670 --43.4166665 -43.2499995 -27.7500005 -27.5833335 0 -2969 -1670 --43.2500005 -43.0833335 -27.7500005 -27.5833335 0 -2796 -1670 --43.0833335 -42.9166665 -27.7500005 -27.5833335 0 -2667 -1670 --42.9166665 -42.7499995 -27.7500005 -27.5833335 0 -2664 -1670 --42.7500005 -42.5833335 -27.7500005 -27.5833335 0 -2775 -1670 --42.5833335 -42.4166665 -27.7500005 -27.5833335 0 -2846 -1670 --42.4166665 -42.2499995 -27.7500005 -27.5833335 0 -2812 -1670 --42.2500005 -42.0833335 -27.7500005 -27.5833335 0 -2974 -1670 --42.0833335 -41.9166665 -27.7500005 -27.5833335 0 -3045 -1670 --41.9166665 -41.7499995 -27.7500005 -27.5833335 0 -2985 -1670 --41.7500005 -41.5833335 -27.7500005 -27.5833335 0 -3122 -1670 --41.5833335 -41.4166665 -27.7500005 -27.5833335 0 -3176 -1670 --41.4166665 -41.2499995 -27.7500005 -27.5833335 0 -3083 -1670 --41.2500005 -41.0833335 -27.7500005 -27.5833335 0 -3091 -1670 --41.0833335 -40.9166665 -27.7500005 -27.5833335 0 -3038 -1670 --40.9166665 -40.7499995 -27.7500005 -27.5833335 0 -3085 -1670 --40.7500005 -40.5833335 -27.7500005 -27.5833335 0 -3032 -1670 --40.5833335 -40.4166665 -27.7500005 -27.5833335 0 -3014 -1670 --40.4166665 -40.2499995 -27.7500005 -27.5833335 0 -2925 -1670 --40.2500005 -40.0833335 -27.7500005 -27.5833335 0 -3502 -1670 --40.0833335 -39.9166665 -27.7500005 -27.5833335 0 -3002 -1670 --65.0833335 -64.9166665 -27.9166665 -27.7499995 374 0 2670 --64.9166665 -64.7499995 -27.9166665 -27.7499995 495 0 2670 --64.7500005 -64.5833335 -27.9166665 -27.7499995 395 0 2670 --64.5833335 -64.4166665 -27.9166665 -27.7499995 312 0 2670 --64.4166665 -64.2499995 -27.9166665 -27.7499995 214 0 2670 --64.2500005 -64.0833335 -27.9166665 -27.7499995 179 0 2670 --64.0833335 -63.9166665 -27.9166665 -27.7499995 164 0 2670 --63.9166665 -63.7499995 -27.9166665 -27.7499995 156 0 2670 --63.7500005 -63.5833335 -27.9166665 -27.7499995 146 0 2670 --63.5833335 -63.4166665 -27.9166665 -27.7499995 138 0 2670 --63.4166665 -63.2499995 -27.9166665 -27.7499995 139 0 2670 --63.2500005 -63.0833335 -27.9166665 -27.7499995 133 0 2670 --63.0833335 -62.9166665 -27.9166665 -27.7499995 133 0 2670 --62.9166665 -62.7499995 -27.9166665 -27.7499995 136 0 2670 --62.7500005 -62.5833335 -27.9166665 -27.7499995 134 0 2670 --62.5833335 -62.4166665 -27.9166665 -27.7499995 131 0 2670 --62.4166665 -62.2499995 -27.9166665 -27.7499995 148 0 2670 --62.2500005 -62.0833335 -27.9166665 -27.7499995 132 0 2670 --62.0833335 -61.9166665 -27.9166665 -27.7499995 106 0 2670 --61.9166665 -61.7499995 -27.9166665 -27.7499995 120 0 2670 --61.7500005 -61.5833335 -27.9166665 -27.7499995 95 0 2670 --61.5833335 -61.4166665 -27.9166665 -27.7499995 72 0 2670 --61.4166665 -61.2499995 -27.9166665 -27.7499995 74 0 2670 --61.2500005 -61.0833335 -27.9166665 -27.7499995 74 0 2670 --61.0833335 -60.9166665 -27.9166665 -27.7499995 74 0 2670 --60.9166665 -60.7499995 -27.9166665 -27.7499995 73 0 2670 --60.7500005 -60.5833335 -27.9166665 -27.7499995 71 0 2670 --60.5833335 -60.4166665 -27.9166665 -27.7499995 70 0 2670 --60.4166665 -60.2499995 -27.9166665 -27.7499995 67 0 2670 --60.2500005 -60.0833335 -27.9166665 -27.7499995 65 0 2670 --60.0833335 -59.9166665 -27.9166665 -27.7499995 65 0 2670 --59.9166665 -59.7499995 -27.9166665 -27.7499995 62 0 2670 --59.7500005 -59.5833335 -27.9166665 -27.7499995 61 0 2670 --59.5833335 -59.4166665 -27.9166665 -27.7499995 61 0 2670 --59.4166665 -59.2499995 -27.9166665 -27.7499995 57 0 2670 --59.2500005 -59.0833335 -27.9166665 -27.7499995 49 0 2670 --59.0833335 -58.9166665 -27.9166665 -27.7499995 46 0 2670 --58.9166665 -58.7499995 -27.9166665 -27.7499995 46 0 2670 --58.7500005 -58.5833335 -27.9166665 -27.7499995 63 0 2670 --58.5833335 -58.4166665 -27.9166665 -27.7499995 64 0 2670 --58.4166665 -58.2499995 -27.9166665 -27.7499995 66 0 2670 --58.2500005 -58.0833335 -27.9166665 -27.7499995 66 0 2670 --58.0833335 -57.9166665 -27.9166665 -27.7499995 69 0 2670 --57.9166665 -57.7499995 -27.9166665 -27.7499995 72 0 2670 --57.7500005 -57.5833335 -27.9166665 -27.7499995 71 0 2670 --57.5833335 -57.4166665 -27.9166665 -27.7499995 68 0 2670 --57.4166665 -57.2499995 -27.9166665 -27.7499995 75 0 2670 --57.2500005 -57.0833335 -27.9166665 -27.7499995 68 0 2670 --57.0833335 -56.9166665 -27.9166665 -27.7499995 70 0 2670 --56.9166665 -56.7499995 -27.9166665 -27.7499995 72 0 2670 --56.7500005 -56.5833335 -27.9166665 -27.7499995 72 0 2670 --56.5833335 -56.4166665 -27.9166665 -27.7499995 75 0 2670 --56.4166665 -56.2499995 -27.9166665 -27.7499995 90 0 2670 --56.2500005 -56.0833335 -27.9166665 -27.7499995 89 0 2670 --56.0833335 -55.9166665 -27.9166665 -27.7499995 128 0 2670 --55.9166665 -55.7499995 -27.9166665 -27.7499995 150 0 2670 --55.7500005 -55.5833335 -27.9166665 -27.7499995 153 0 2670 --55.5833335 -55.4166665 -27.9166665 -27.7499995 266 0 2670 --55.4166665 -55.2499995 -27.9166665 -27.7499995 132 0 2670 --55.2500005 -55.0833335 -27.9166665 -27.7499995 148 0 2670 --55.0833335 -54.9166665 -27.9166665 -27.7499995 131 0 2670 --54.9166665 -54.7499995 -27.9166665 -27.7499995 141 0 2670 --54.7500005 -54.5833335 -27.9166665 -27.7499995 287 0 2670 --54.5833335 -54.4166665 -27.9166665 -27.7499995 289 0 2670 --54.4166665 -54.2499995 -27.9166665 -27.7499995 261 0 2670 --54.2500005 -54.0833335 -27.9166665 -27.7499995 321 0 2670 --54.0833335 -53.9166665 -27.9166665 -27.7499995 367 0 2670 --53.9166665 -53.7499995 -27.9166665 -27.7499995 452 0 2670 --53.7500005 -53.5833335 -27.9166665 -27.7499995 516 0 2670 --53.5833335 -53.4166665 -27.9166665 -27.7499995 514 0 2670 --53.4166665 -53.2499995 -27.9166665 -27.7499995 596 0 2670 --53.2500005 -53.0833335 -27.9166665 -27.7499995 448 0 2670 --53.0833335 -52.9166665 -27.9166665 -27.7499995 377 0 2670 --52.9166665 -52.7499995 -27.9166665 -27.7499995 578 0 2670 --52.7500005 -52.5833335 -27.9166665 -27.7499995 599 0 2670 --52.5833335 -52.4166665 -27.9166665 -27.7499995 695 0 2670 --52.4166665 -52.2499995 -27.9166665 -27.7499995 717 0 2670 --52.2500005 -52.0833335 -27.9166665 -27.7499995 693 0 2670 --52.0833335 -51.9166665 -27.9166665 -27.7499995 484 0 2670 --51.9166665 -51.7499995 -27.9166665 -27.7499995 701 0 2670 --51.7500005 -51.5833335 -27.9166665 -27.7499995 701 0 2670 --51.5833335 -51.4166665 -27.9166665 -27.7499995 775 0 2670 --51.4166665 -51.2499995 -27.9166665 -27.7499995 799 0 2670 --51.2500005 -51.0833335 -27.9166665 -27.7499995 847 0 2670 --51.0833335 -50.9166665 -27.9166665 -27.7499995 851 0 2670 --50.9166665 -50.7499995 -27.9166665 -27.7499995 1001 0 2670 --50.7500005 -50.5833335 -27.9166665 -27.7499995 922 0 2670 --50.5833335 -50.4166665 -27.9166665 -27.7499995 920 0 2670 --50.4166665 -50.2499995 -27.9166665 -27.7499995 922 0 2670 --50.2500005 -50.0833335 -27.9166665 -27.7499995 1110 0 2670 --50.0833335 -49.9166665 -27.9166665 -27.7499995 1286 0 2670 --49.9166665 -49.7499995 -27.9166665 -27.7499995 1081 0 2670 --49.7500005 -49.5833335 -27.9166665 -27.7499995 943 0 2670 --49.5833335 -49.4166665 -27.9166665 -27.7499995 993 0 2670 --49.4166665 -49.2499995 -27.9166665 -27.7499995 1453 0 2670 --49.2500005 -49.0833335 -27.9166665 -27.7499995 868 0 2670 --49.0833335 -48.9166665 -27.9166665 -27.7499995 781 0 2670 --48.9166665 -48.7499995 -27.9166665 -27.7499995 788 0 2670 --48.7500005 -48.5833335 -27.9166665 -27.7499995 225 0 2670 --48.5833335 -48.4166665 -27.9166665 -27.7499995 0 0 2670 --48.4166665 -48.2499995 -27.9166665 -27.7499995 0 -61 -1670 --48.2500005 -48.0833335 -27.9166665 -27.7499995 0 -73 -1670 --48.0833335 -47.9166665 -27.9166665 -27.7499995 0 -78 -1670 --47.9166665 -47.7499995 -27.9166665 -27.7499995 0 -108 -1670 --47.7500005 -47.5833335 -27.9166665 -27.7499995 0 -154 -1670 --47.5833335 -47.4166665 -27.9166665 -27.7499995 0 -231 -1670 --47.4166665 -47.2499995 -27.9166665 -27.7499995 0 -237 -1670 --47.2500005 -47.0833335 -27.9166665 -27.7499995 0 -353 -1670 --47.0833335 -46.9166665 -27.9166665 -27.7499995 0 -528 -1670 --46.9166665 -46.7499995 -27.9166665 -27.7499995 0 -774 -1670 --46.7500005 -46.5833335 -27.9166665 -27.7499995 0 -1228 -1670 --46.5833335 -46.4166665 -27.9166665 -27.7499995 0 -1623 -1670 --46.4166665 -46.2499995 -27.9166665 -27.7499995 0 -2057 -1670 --46.2500005 -46.0833335 -27.9166665 -27.7499995 0 -2302 -1670 --46.0833335 -45.9166665 -27.9166665 -27.7499995 0 -2397 -1670 --45.9166665 -45.7499995 -27.9166665 -27.7499995 0 -2490 -1670 --45.7500005 -45.5833335 -27.9166665 -27.7499995 0 -2672 -1670 --45.5833335 -45.4166665 -27.9166665 -27.7499995 0 -2853 -1670 --45.4166665 -45.2499995 -27.9166665 -27.7499995 0 -3009 -1670 --45.2500005 -45.0833335 -27.9166665 -27.7499995 0 -2997 -1670 --45.0833335 -44.9166665 -27.9166665 -27.7499995 0 -3124 -1670 --44.9166665 -44.7499995 -27.9166665 -27.7499995 0 -3413 -1670 --44.7500005 -44.5833335 -27.9166665 -27.7499995 0 -3413 -1670 --44.5833335 -44.4166665 -27.9166665 -27.7499995 0 -3452 -1670 --44.4166665 -44.2499995 -27.9166665 -27.7499995 0 -3367 -1670 --44.2500005 -44.0833335 -27.9166665 -27.7499995 0 -3276 -1670 --44.0833335 -43.9166665 -27.9166665 -27.7499995 0 -3338 -1670 --43.9166665 -43.7499995 -27.9166665 -27.7499995 0 -3250 -1670 --43.7500005 -43.5833335 -27.9166665 -27.7499995 0 -3249 -1670 --43.5833335 -43.4166665 -27.9166665 -27.7499995 0 -3381 -1670 --43.4166665 -43.2499995 -27.9166665 -27.7499995 0 -3072 -1670 --43.2500005 -43.0833335 -27.9166665 -27.7499995 0 -2876 -1670 --43.0833335 -42.9166665 -27.9166665 -27.7499995 0 -2741 -1670 --42.9166665 -42.7499995 -27.9166665 -27.7499995 0 -2745 -1670 --42.7500005 -42.5833335 -27.9166665 -27.7499995 0 -2855 -1670 --42.5833335 -42.4166665 -27.9166665 -27.7499995 0 -2913 -1670 --42.4166665 -42.2499995 -27.9166665 -27.7499995 0 -2919 -1670 --42.2500005 -42.0833335 -27.9166665 -27.7499995 0 -3012 -1670 --42.0833335 -41.9166665 -27.9166665 -27.7499995 0 -2947 -1670 --41.9166665 -41.7499995 -27.9166665 -27.7499995 0 -3198 -1670 --41.7500005 -41.5833335 -27.9166665 -27.7499995 0 -3167 -1670 --41.5833335 -41.4166665 -27.9166665 -27.7499995 0 -3291 -1670 --41.4166665 -41.2499995 -27.9166665 -27.7499995 0 -3119 -1670 --41.2500005 -41.0833335 -27.9166665 -27.7499995 0 -2977 -1670 --41.0833335 -40.9166665 -27.9166665 -27.7499995 0 -2985 -1670 --40.9166665 -40.7499995 -27.9166665 -27.7499995 0 -3173 -1670 --40.7500005 -40.5833335 -27.9166665 -27.7499995 0 -3202 -1670 --40.5833335 -40.4166665 -27.9166665 -27.7499995 0 -2856 -1670 --40.4166665 -40.2499995 -27.9166665 -27.7499995 0 -2703 -1670 --40.2500005 -40.0833335 -27.9166665 -27.7499995 0 -2686 -1670 --40.0833335 -39.9166665 -27.9166665 -27.7499995 0 -3155 -1670 --65.0833335 -64.9166665 -28.0833335 -27.9166665 433 0 2670 --64.9166665 -64.7499995 -28.0833335 -27.9166665 645 0 2670 --64.7500005 -64.5833335 -28.0833335 -27.9166665 423 0 2670 --64.5833335 -64.4166665 -28.0833335 -27.9166665 292 0 2670 --64.4166665 -64.2499995 -28.0833335 -27.9166665 219 0 2670 --64.2500005 -64.0833335 -28.0833335 -27.9166665 164 0 2670 --64.0833335 -63.9166665 -28.0833335 -27.9166665 155 0 2670 --63.9166665 -63.7499995 -28.0833335 -27.9166665 145 0 2670 --63.7500005 -63.5833335 -28.0833335 -27.9166665 141 0 2670 --63.5833335 -63.4166665 -28.0833335 -27.9166665 136 0 2670 --63.4166665 -63.2499995 -28.0833335 -27.9166665 132 0 2670 --63.2500005 -63.0833335 -28.0833335 -27.9166665 127 0 2670 --63.0833335 -62.9166665 -28.0833335 -27.9166665 128 0 2670 --62.9166665 -62.7499995 -28.0833335 -27.9166665 128 0 2670 --62.7500005 -62.5833335 -28.0833335 -27.9166665 127 0 2670 --62.5833335 -62.4166665 -28.0833335 -27.9166665 126 0 2670 --62.4166665 -62.2499995 -28.0833335 -27.9166665 123 0 2670 --62.2500005 -62.0833335 -28.0833335 -27.9166665 84 0 2670 --62.0833335 -61.9166665 -28.0833335 -27.9166665 83 0 2670 --61.9166665 -61.7499995 -28.0833335 -27.9166665 80 0 2670 --61.7500005 -61.5833335 -28.0833335 -27.9166665 74 0 2670 --61.5833335 -61.4166665 -28.0833335 -27.9166665 70 0 2670 --61.4166665 -61.2499995 -28.0833335 -27.9166665 69 0 2670 --61.2500005 -61.0833335 -28.0833335 -27.9166665 71 0 2670 --61.0833335 -60.9166665 -28.0833335 -27.9166665 68 0 2670 --60.9166665 -60.7499995 -28.0833335 -27.9166665 67 0 2670 --60.7500005 -60.5833335 -28.0833335 -27.9166665 67 0 2670 --60.5833335 -60.4166665 -28.0833335 -27.9166665 67 0 2670 --60.4166665 -60.2499995 -28.0833335 -27.9166665 64 0 2670 --60.2500005 -60.0833335 -28.0833335 -27.9166665 63 0 2670 --60.0833335 -59.9166665 -28.0833335 -27.9166665 61 0 2670 --59.9166665 -59.7499995 -28.0833335 -27.9166665 62 0 2670 --59.7500005 -59.5833335 -28.0833335 -27.9166665 57 0 2670 --59.5833335 -59.4166665 -28.0833335 -27.9166665 58 0 2670 --59.4166665 -59.2499995 -28.0833335 -27.9166665 54 0 2670 --59.2500005 -59.0833335 -28.0833335 -27.9166665 45 0 2670 --59.0833335 -58.9166665 -28.0833335 -27.9166665 43 0 2670 --58.9166665 -58.7499995 -28.0833335 -27.9166665 41 0 2670 --58.7500005 -58.5833335 -28.0833335 -27.9166665 64 0 2670 --58.5833335 -58.4166665 -28.0833335 -27.9166665 66 0 2670 --58.4166665 -58.2499995 -28.0833335 -27.9166665 68 0 2670 --58.2500005 -58.0833335 -28.0833335 -27.9166665 73 0 2670 --58.0833335 -57.9166665 -28.0833335 -27.9166665 72 0 2670 --57.9166665 -57.7499995 -28.0833335 -27.9166665 65 0 2670 --57.7500005 -57.5833335 -28.0833335 -27.9166665 69 0 2670 --57.5833335 -57.4166665 -28.0833335 -27.9166665 74 0 2670 --57.4166665 -57.2499995 -28.0833335 -27.9166665 66 0 2670 --57.2500005 -57.0833335 -28.0833335 -27.9166665 66 0 2670 --57.0833335 -56.9166665 -28.0833335 -27.9166665 69 0 2670 --56.9166665 -56.7499995 -28.0833335 -27.9166665 69 0 2670 --56.7500005 -56.5833335 -28.0833335 -27.9166665 70 0 2670 --56.5833335 -56.4166665 -28.0833335 -27.9166665 82 0 2670 --56.4166665 -56.2499995 -28.0833335 -27.9166665 82 0 2670 --56.2500005 -56.0833335 -28.0833335 -27.9166665 104 0 2670 --56.0833335 -55.9166665 -28.0833335 -27.9166665 133 0 2670 --55.9166665 -55.7499995 -28.0833335 -27.9166665 153 0 2670 --55.7500005 -55.5833335 -28.0833335 -27.9166665 82 0 2670 --55.5833335 -55.4166665 -28.0833335 -27.9166665 148 0 2670 --55.4166665 -55.2499995 -28.0833335 -27.9166665 116 0 2670 --55.2500005 -55.0833335 -28.0833335 -27.9166665 196 0 2670 --55.0833335 -54.9166665 -28.0833335 -27.9166665 207 0 2670 --54.9166665 -54.7499995 -28.0833335 -27.9166665 205 0 2670 --54.7500005 -54.5833335 -28.0833335 -27.9166665 265 0 2670 --54.5833335 -54.4166665 -28.0833335 -27.9166665 348 0 2670 --54.4166665 -54.2499995 -28.0833335 -27.9166665 372 0 2670 --54.2500005 -54.0833335 -28.0833335 -27.9166665 336 0 2670 --54.0833335 -53.9166665 -28.0833335 -27.9166665 397 0 2670 --53.9166665 -53.7499995 -28.0833335 -27.9166665 454 0 2670 --53.7500005 -53.5833335 -28.0833335 -27.9166665 529 0 2670 --53.5833335 -53.4166665 -28.0833335 -27.9166665 557 0 2670 --53.4166665 -53.2499995 -28.0833335 -27.9166665 566 0 2670 --53.2500005 -53.0833335 -28.0833335 -27.9166665 568 0 2670 --53.0833335 -52.9166665 -28.0833335 -27.9166665 472 0 2670 --52.9166665 -52.7499995 -28.0833335 -27.9166665 615 0 2670 --52.7500005 -52.5833335 -28.0833335 -27.9166665 668 0 2670 --52.5833335 -52.4166665 -28.0833335 -27.9166665 630 0 2670 --52.4166665 -52.2499995 -28.0833335 -27.9166665 688 0 2670 --52.2500005 -52.0833335 -28.0833335 -27.9166665 626 0 2670 --52.0833335 -51.9166665 -28.0833335 -27.9166665 685 0 2670 --51.9166665 -51.7499995 -28.0833335 -27.9166665 667 0 2670 --51.7500005 -51.5833335 -28.0833335 -27.9166665 606 0 2670 --51.5833335 -51.4166665 -28.0833335 -27.9166665 806 0 2670 --51.4166665 -51.2499995 -28.0833335 -27.9166665 800 0 2670 --51.2500005 -51.0833335 -28.0833335 -27.9166665 899 0 2670 --51.0833335 -50.9166665 -28.0833335 -27.9166665 756 0 2670 --50.9166665 -50.7499995 -28.0833335 -27.9166665 913 0 2670 --50.7500005 -50.5833335 -28.0833335 -27.9166665 868 0 2670 --50.5833335 -50.4166665 -28.0833335 -27.9166665 962 0 2670 --50.4166665 -50.2499995 -28.0833335 -27.9166665 1105 0 2670 --50.2500005 -50.0833335 -28.0833335 -27.9166665 1171 0 2670 --50.0833335 -49.9166665 -28.0833335 -27.9166665 1146 0 2670 --49.9166665 -49.7499995 -28.0833335 -27.9166665 1406 0 2670 --49.7500005 -49.5833335 -28.0833335 -27.9166665 1196 0 2670 --49.5833335 -49.4166665 -28.0833335 -27.9166665 1133 0 2670 --49.4166665 -49.2499995 -28.0833335 -27.9166665 1347 0 2670 --49.2500005 -49.0833335 -28.0833335 -27.9166665 336 0 2670 --49.0833335 -48.9166665 -28.0833335 -27.9166665 583 0 2670 --48.9166665 -48.7499995 -28.0833335 -27.9166665 643 0 2670 --48.7500005 -48.5833335 -28.0833335 -27.9166665 278 0 2670 --48.5833335 -48.4166665 -28.0833335 -27.9166665 0 -38 -1670 --48.4166665 -48.2499995 -28.0833335 -27.9166665 0 -68 -1670 --48.2500005 -48.0833335 -28.0833335 -27.9166665 0 -79 -1670 --48.0833335 -47.9166665 -28.0833335 -27.9166665 0 -67 -1670 --47.9166665 -47.7499995 -28.0833335 -27.9166665 0 -133 -1670 --47.7500005 -47.5833335 -28.0833335 -27.9166665 0 -182 -1670 --47.5833335 -47.4166665 -28.0833335 -27.9166665 0 -177 -1670 --47.4166665 -47.2499995 -28.0833335 -27.9166665 0 -218 -1670 --47.2500005 -47.0833335 -28.0833335 -27.9166665 0 -269 -1670 --47.0833335 -46.9166665 -28.0833335 -27.9166665 0 -456 -1670 --46.9166665 -46.7499995 -28.0833335 -27.9166665 0 -580 -1670 --46.7500005 -46.5833335 -28.0833335 -27.9166665 0 -1213 -1670 --46.5833335 -46.4166665 -28.0833335 -27.9166665 0 -1728 -1670 --46.4166665 -46.2499995 -28.0833335 -27.9166665 0 -2209 -1670 --46.2500005 -46.0833335 -28.0833335 -27.9166665 0 -2377 -1670 --46.0833335 -45.9166665 -28.0833335 -27.9166665 0 -2510 -1670 --45.9166665 -45.7499995 -28.0833335 -27.9166665 0 -2644 -1670 --45.7500005 -45.5833335 -28.0833335 -27.9166665 0 -2748 -1670 --45.5833335 -45.4166665 -28.0833335 -27.9166665 0 -2833 -1670 --45.4166665 -45.2499995 -28.0833335 -27.9166665 0 -3039 -1670 --45.2500005 -45.0833335 -28.0833335 -27.9166665 0 -3102 -1670 --45.0833335 -44.9166665 -28.0833335 -27.9166665 0 -3392 -1670 --44.9166665 -44.7499995 -28.0833335 -27.9166665 0 -3397 -1670 --44.7500005 -44.5833335 -28.0833335 -27.9166665 0 -3373 -1670 --44.5833335 -44.4166665 -28.0833335 -27.9166665 0 -3441 -1670 --44.4166665 -44.2499995 -28.0833335 -27.9166665 0 -3366 -1670 --44.2500005 -44.0833335 -28.0833335 -27.9166665 0 -3319 -1670 --44.0833335 -43.9166665 -28.0833335 -27.9166665 0 -3396 -1670 --43.9166665 -43.7499995 -28.0833335 -27.9166665 0 -3487 -1670 --43.7500005 -43.5833335 -28.0833335 -27.9166665 0 -3442 -1670 --43.5833335 -43.4166665 -28.0833335 -27.9166665 0 -3353 -1670 --43.4166665 -43.2499995 -28.0833335 -27.9166665 0 -3555 -1670 --43.2500005 -43.0833335 -28.0833335 -27.9166665 0 -3047 -1670 --43.0833335 -42.9166665 -28.0833335 -27.9166665 0 -2750 -1670 --42.9166665 -42.7499995 -28.0833335 -27.9166665 0 -2982 -1670 --42.7500005 -42.5833335 -28.0833335 -27.9166665 0 -2975 -1670 --42.5833335 -42.4166665 -28.0833335 -27.9166665 0 -2954 -1670 --42.4166665 -42.2499995 -28.0833335 -27.9166665 0 -3074 -1670 --42.2500005 -42.0833335 -28.0833335 -27.9166665 0 -2984 -1670 --42.0833335 -41.9166665 -28.0833335 -27.9166665 0 -3131 -1670 --41.9166665 -41.7499995 -28.0833335 -27.9166665 0 -3027 -1670 --41.7500005 -41.5833335 -28.0833335 -27.9166665 0 -2915 -1670 --41.5833335 -41.4166665 -28.0833335 -27.9166665 0 -3130 -1670 --41.4166665 -41.2499995 -28.0833335 -27.9166665 0 -3215 -1670 --41.2500005 -41.0833335 -28.0833335 -27.9166665 0 -3131 -1670 --41.0833335 -40.9166665 -28.0833335 -27.9166665 0 -3124 -1670 --40.9166665 -40.7499995 -28.0833335 -27.9166665 0 -2985 -1670 --40.7500005 -40.5833335 -28.0833335 -27.9166665 0 -2796 -1670 --40.5833335 -40.4166665 -28.0833335 -27.9166665 0 -2548 -1670 --40.4166665 -40.2499995 -28.0833335 -27.9166665 0 -2613 -1670 --40.2500005 -40.0833335 -28.0833335 -27.9166665 0 -2640 -1670 --40.0833335 -39.9166665 -28.0833335 -27.9166665 0 -3693 -1670 --65.0833335 -64.9166665 -28.2500005 -28.0833335 470 0 2670 --64.9166665 -64.7499995 -28.2500005 -28.0833335 648 0 2670 --64.7500005 -64.5833335 -28.2500005 -28.0833335 338 0 2670 --64.5833335 -64.4166665 -28.2500005 -28.0833335 247 0 2670 --64.4166665 -64.2499995 -28.2500005 -28.0833335 185 0 2670 --64.2500005 -64.0833335 -28.2500005 -28.0833335 151 0 2670 --64.0833335 -63.9166665 -28.2500005 -28.0833335 147 0 2670 --63.9166665 -63.7499995 -28.2500005 -28.0833335 140 0 2670 --63.7500005 -63.5833335 -28.2500005 -28.0833335 134 0 2670 --63.5833335 -63.4166665 -28.2500005 -28.0833335 129 0 2670 --63.4166665 -63.2499995 -28.2500005 -28.0833335 126 0 2670 --63.2500005 -63.0833335 -28.2500005 -28.0833335 123 0 2670 --63.0833335 -62.9166665 -28.2500005 -28.0833335 120 0 2670 --62.9166665 -62.7499995 -28.2500005 -28.0833335 118 0 2670 --62.7500005 -62.5833335 -28.2500005 -28.0833335 121 0 2670 --62.5833335 -62.4166665 -28.2500005 -28.0833335 129 0 2670 --62.4166665 -62.2499995 -28.2500005 -28.0833335 87 0 2670 --62.2500005 -62.0833335 -28.2500005 -28.0833335 84 0 2670 --62.0833335 -61.9166665 -28.2500005 -28.0833335 82 0 2670 --61.9166665 -61.7499995 -28.2500005 -28.0833335 78 0 2670 --61.7500005 -61.5833335 -28.2500005 -28.0833335 73 0 2670 --61.5833335 -61.4166665 -28.2500005 -28.0833335 70 0 2670 --61.4166665 -61.2499995 -28.2500005 -28.0833335 67 0 2670 --61.2500005 -61.0833335 -28.2500005 -28.0833335 66 0 2670 --61.0833335 -60.9166665 -28.2500005 -28.0833335 66 0 2670 --60.9166665 -60.7499995 -28.2500005 -28.0833335 65 0 2670 --60.7500005 -60.5833335 -28.2500005 -28.0833335 63 0 2670 --60.5833335 -60.4166665 -28.2500005 -28.0833335 63 0 2670 --60.4166665 -60.2499995 -28.2500005 -28.0833335 60 0 2670 --60.2500005 -60.0833335 -28.2500005 -28.0833335 60 0 2670 --60.0833335 -59.9166665 -28.2500005 -28.0833335 60 0 2670 --59.9166665 -59.7499995 -28.2500005 -28.0833335 57 0 2670 --59.7500005 -59.5833335 -28.2500005 -28.0833335 58 0 2670 --59.5833335 -59.4166665 -28.2500005 -28.0833335 57 0 2670 --59.4166665 -59.2499995 -28.2500005 -28.0833335 55 0 2670 --59.2500005 -59.0833335 -28.2500005 -28.0833335 41 0 2670 --59.0833335 -58.9166665 -28.2500005 -28.0833335 43 0 2670 --58.9166665 -58.7499995 -28.2500005 -28.0833335 54 0 2670 --58.7500005 -58.5833335 -28.2500005 -28.0833335 65 0 2670 --58.5833335 -58.4166665 -28.2500005 -28.0833335 70 0 2670 --58.4166665 -58.2499995 -28.2500005 -28.0833335 67 0 2670 --58.2500005 -58.0833335 -28.2500005 -28.0833335 68 0 2670 --58.0833335 -57.9166665 -28.2500005 -28.0833335 73 0 2670 --57.9166665 -57.7499995 -28.2500005 -28.0833335 74 0 2670 --57.7500005 -57.5833335 -28.2500005 -28.0833335 71 0 2670 --57.5833335 -57.4166665 -28.2500005 -28.0833335 63 0 2670 --57.4166665 -57.2499995 -28.2500005 -28.0833335 64 0 2670 --57.2500005 -57.0833335 -28.2500005 -28.0833335 65 0 2670 --57.0833335 -56.9166665 -28.2500005 -28.0833335 66 0 2670 --56.9166665 -56.7499995 -28.2500005 -28.0833335 65 0 2670 --56.7500005 -56.5833335 -28.2500005 -28.0833335 77 0 2670 --56.5833335 -56.4166665 -28.2500005 -28.0833335 68 0 2670 --56.4166665 -56.2499995 -28.2500005 -28.0833335 80 0 2670 --56.2500005 -56.0833335 -28.2500005 -28.0833335 87 0 2670 --56.0833335 -55.9166665 -28.2500005 -28.0833335 114 0 2670 --55.9166665 -55.7499995 -28.2500005 -28.0833335 121 0 2670 --55.7500005 -55.5833335 -28.2500005 -28.0833335 97 0 2670 --55.5833335 -55.4166665 -28.2500005 -28.0833335 83 0 2670 --55.4166665 -55.2499995 -28.2500005 -28.0833335 113 0 2670 --55.2500005 -55.0833335 -28.2500005 -28.0833335 183 0 2670 --55.0833335 -54.9166665 -28.2500005 -28.0833335 135 0 2670 --54.9166665 -54.7499995 -28.2500005 -28.0833335 161 0 2670 --54.7500005 -54.5833335 -28.2500005 -28.0833335 240 0 2670 --54.5833335 -54.4166665 -28.2500005 -28.0833335 247 0 2670 --54.4166665 -54.2499995 -28.2500005 -28.0833335 315 0 2670 --54.2500005 -54.0833335 -28.2500005 -28.0833335 371 0 2670 --54.0833335 -53.9166665 -28.2500005 -28.0833335 355 0 2670 --53.9166665 -53.7499995 -28.2500005 -28.0833335 335 0 2670 --53.7500005 -53.5833335 -28.2500005 -28.0833335 456 0 2670 --53.5833335 -53.4166665 -28.2500005 -28.0833335 470 0 2670 --53.4166665 -53.2499995 -28.2500005 -28.0833335 543 0 2670 --53.2500005 -53.0833335 -28.2500005 -28.0833335 565 0 2670 --53.0833335 -52.9166665 -28.2500005 -28.0833335 523 0 2670 --52.9166665 -52.7499995 -28.2500005 -28.0833335 594 0 2670 --52.7500005 -52.5833335 -28.2500005 -28.0833335 575 0 2670 --52.5833335 -52.4166665 -28.2500005 -28.0833335 645 0 2670 --52.4166665 -52.2499995 -28.2500005 -28.0833335 678 0 2670 --52.2500005 -52.0833335 -28.2500005 -28.0833335 649 0 2670 --52.0833335 -51.9166665 -28.2500005 -28.0833335 738 0 2670 --51.9166665 -51.7499995 -28.2500005 -28.0833335 746 0 2670 --51.7500005 -51.5833335 -28.2500005 -28.0833335 724 0 2670 --51.5833335 -51.4166665 -28.2500005 -28.0833335 704 0 2670 --51.4166665 -51.2499995 -28.2500005 -28.0833335 869 0 2670 --51.2500005 -51.0833335 -28.2500005 -28.0833335 938 0 2670 --51.0833335 -50.9166665 -28.2500005 -28.0833335 921 0 2670 --50.9166665 -50.7499995 -28.2500005 -28.0833335 869 0 2670 --50.7500005 -50.5833335 -28.2500005 -28.0833335 985 0 2670 --50.5833335 -50.4166665 -28.2500005 -28.0833335 987 0 2670 --50.4166665 -50.2499995 -28.2500005 -28.0833335 1086 0 2670 --50.2500005 -50.0833335 -28.2500005 -28.0833335 992 0 2670 --50.0833335 -49.9166665 -28.2500005 -28.0833335 1153 0 2670 --49.9166665 -49.7499995 -28.2500005 -28.0833335 1296 0 2670 --49.7500005 -49.5833335 -28.2500005 -28.0833335 1457 0 2670 --49.5833335 -49.4166665 -28.2500005 -28.0833335 1101 0 2670 --49.4166665 -49.2499995 -28.2500005 -28.0833335 352 0 2670 --49.2500005 -49.0833335 -28.2500005 -28.0833335 154 0 2670 --49.0833335 -48.9166665 -28.2500005 -28.0833335 92 0 2670 --48.9166665 -48.7499995 -28.2500005 -28.0833335 211 0 2670 --48.7500005 -48.5833335 -28.2500005 -28.0833335 7 0 2670 --48.5833335 -48.4166665 -28.2500005 -28.0833335 0 -50 -1670 --48.4166665 -48.2499995 -28.2500005 -28.0833335 0 -67 -1670 --48.2500005 -48.0833335 -28.2500005 -28.0833335 0 -94 -1670 --48.0833335 -47.9166665 -28.2500005 -28.0833335 0 -113 -1670 --47.9166665 -47.7499995 -28.2500005 -28.0833335 0 -143 -1670 --47.7500005 -47.5833335 -28.2500005 -28.0833335 0 -185 -1670 --47.5833335 -47.4166665 -28.2500005 -28.0833335 0 -149 -1670 --47.4166665 -47.2499995 -28.2500005 -28.0833335 0 -193 -1670 --47.2500005 -47.0833335 -28.2500005 -28.0833335 0 -325 -1670 --47.0833335 -46.9166665 -28.2500005 -28.0833335 0 -494 -1670 --46.9166665 -46.7499995 -28.2500005 -28.0833335 0 -724 -1670 --46.7500005 -46.5833335 -28.2500005 -28.0833335 0 -1316 -1670 --46.5833335 -46.4166665 -28.2500005 -28.0833335 0 -1906 -1670 --46.4166665 -46.2499995 -28.2500005 -28.0833335 0 -2383 -1670 --46.2500005 -46.0833335 -28.2500005 -28.0833335 0 -2441 -1670 --46.0833335 -45.9166665 -28.2500005 -28.0833335 0 -2578 -1670 --45.9166665 -45.7499995 -28.2500005 -28.0833335 0 -2714 -1670 --45.7500005 -45.5833335 -28.2500005 -28.0833335 0 -2799 -1670 --45.5833335 -45.4166665 -28.2500005 -28.0833335 0 -2870 -1670 --45.4166665 -45.2499995 -28.2500005 -28.0833335 0 -3041 -1670 --45.2500005 -45.0833335 -28.2500005 -28.0833335 0 -3311 -1670 --45.0833335 -44.9166665 -28.2500005 -28.0833335 0 -3452 -1670 --44.9166665 -44.7499995 -28.2500005 -28.0833335 0 -3400 -1670 --44.7500005 -44.5833335 -28.2500005 -28.0833335 0 -3425 -1670 --44.5833335 -44.4166665 -28.2500005 -28.0833335 0 -3500 -1670 --44.4166665 -44.2499995 -28.2500005 -28.0833335 0 -3523 -1670 --44.2500005 -44.0833335 -28.2500005 -28.0833335 0 -3419 -1670 --44.0833335 -43.9166665 -28.2500005 -28.0833335 0 -3516 -1670 --43.9166665 -43.7499995 -28.2500005 -28.0833335 0 -3562 -1670 --43.7500005 -43.5833335 -28.2500005 -28.0833335 0 -3629 -1670 --43.5833335 -43.4166665 -28.2500005 -28.0833335 0 -3503 -1670 --43.4166665 -43.2499995 -28.2500005 -28.0833335 0 -3608 -1670 --43.2500005 -43.0833335 -28.2500005 -28.0833335 0 -3269 -1670 --43.0833335 -42.9166665 -28.2500005 -28.0833335 0 -2957 -1670 --42.9166665 -42.7499995 -28.2500005 -28.0833335 0 -2827 -1670 --42.7500005 -42.5833335 -28.2500005 -28.0833335 0 -2852 -1670 --42.5833335 -42.4166665 -28.2500005 -28.0833335 0 -2875 -1670 --42.4166665 -42.2499995 -28.2500005 -28.0833335 0 -3021 -1670 --42.2500005 -42.0833335 -28.2500005 -28.0833335 0 -3177 -1670 --42.0833335 -41.9166665 -28.2500005 -28.0833335 0 -3088 -1670 --41.9166665 -41.7499995 -28.2500005 -28.0833335 0 -3080 -1670 --41.7500005 -41.5833335 -28.2500005 -28.0833335 0 -3049 -1670 --41.5833335 -41.4166665 -28.2500005 -28.0833335 0 -3073 -1670 --41.4166665 -41.2499995 -28.2500005 -28.0833335 0 -3069 -1670 --41.2500005 -41.0833335 -28.2500005 -28.0833335 0 -3188 -1670 --41.0833335 -40.9166665 -28.2500005 -28.0833335 0 -3185 -1670 --40.9166665 -40.7499995 -28.2500005 -28.0833335 0 -2765 -1670 --40.7500005 -40.5833335 -28.2500005 -28.0833335 0 -2730 -1670 --40.5833335 -40.4166665 -28.2500005 -28.0833335 0 -2609 -1670 --40.4166665 -40.2499995 -28.2500005 -28.0833335 0 -2465 -1670 --40.2500005 -40.0833335 -28.2500005 -28.0833335 0 -2760 -1670 --40.0833335 -39.9166665 -28.2500005 -28.0833335 0 -3922 -1670 --65.0833335 -64.9166665 -28.4166665 -28.2499995 407 0 2670 --64.9166665 -64.7499995 -28.4166665 -28.2499995 581 0 2670 --64.7500005 -64.5833335 -28.4166665 -28.2499995 286 0 2670 --64.5833335 -64.4166665 -28.4166665 -28.2499995 207 0 2670 --64.4166665 -64.2499995 -28.4166665 -28.2499995 156 0 2670 --64.2500005 -64.0833335 -28.4166665 -28.2499995 137 0 2670 --64.0833335 -63.9166665 -28.4166665 -28.2499995 137 0 2670 --63.9166665 -63.7499995 -28.4166665 -28.2499995 131 0 2670 --63.7500005 -63.5833335 -28.4166665 -28.2499995 127 0 2670 --63.5833335 -63.4166665 -28.4166665 -28.2499995 124 0 2670 --63.4166665 -63.2499995 -28.4166665 -28.2499995 120 0 2670 --63.2500005 -63.0833335 -28.4166665 -28.2499995 117 0 2670 --63.0833335 -62.9166665 -28.4166665 -28.2499995 114 0 2670 --62.9166665 -62.7499995 -28.4166665 -28.2499995 115 0 2670 --62.7500005 -62.5833335 -28.4166665 -28.2499995 114 0 2670 --62.5833335 -62.4166665 -28.4166665 -28.2499995 111 0 2670 --62.4166665 -62.2499995 -28.4166665 -28.2499995 123 0 2670 --62.2500005 -62.0833335 -28.4166665 -28.2499995 90 0 2670 --62.0833335 -61.9166665 -28.4166665 -28.2499995 86 0 2670 --61.9166665 -61.7499995 -28.4166665 -28.2499995 82 0 2670 --61.7500005 -61.5833335 -28.4166665 -28.2499995 76 0 2670 --61.5833335 -61.4166665 -28.4166665 -28.2499995 74 0 2670 --61.4166665 -61.2499995 -28.4166665 -28.2499995 69 0 2670 --61.2500005 -61.0833335 -28.4166665 -28.2499995 67 0 2670 --61.0833335 -60.9166665 -28.4166665 -28.2499995 65 0 2670 --60.9166665 -60.7499995 -28.4166665 -28.2499995 63 0 2670 --60.7500005 -60.5833335 -28.4166665 -28.2499995 62 0 2670 --60.5833335 -60.4166665 -28.4166665 -28.2499995 61 0 2670 --60.4166665 -60.2499995 -28.4166665 -28.2499995 59 0 2670 --60.2500005 -60.0833335 -28.4166665 -28.2499995 60 0 2670 --60.0833335 -59.9166665 -28.4166665 -28.2499995 62 0 2670 --59.9166665 -59.7499995 -28.4166665 -28.2499995 61 0 2670 --59.7500005 -59.5833335 -28.4166665 -28.2499995 61 0 2670 --59.5833335 -59.4166665 -28.4166665 -28.2499995 54 0 2670 --59.4166665 -59.2499995 -28.4166665 -28.2499995 52 0 2670 --59.2500005 -59.0833335 -28.4166665 -28.2499995 41 0 2670 --59.0833335 -58.9166665 -28.4166665 -28.2499995 41 0 2670 --58.9166665 -58.7499995 -28.4166665 -28.2499995 67 0 2670 --58.7500005 -58.5833335 -28.4166665 -28.2499995 68 0 2670 --58.5833335 -58.4166665 -28.4166665 -28.2499995 62 0 2670 --58.4166665 -58.2499995 -28.4166665 -28.2499995 72 0 2670 --58.2500005 -58.0833335 -28.4166665 -28.2499995 64 0 2670 --58.0833335 -57.9166665 -28.4166665 -28.2499995 72 0 2670 --57.9166665 -57.7499995 -28.4166665 -28.2499995 64 0 2670 --57.7500005 -57.5833335 -28.4166665 -28.2499995 61 0 2670 --57.5833335 -57.4166665 -28.4166665 -28.2499995 61 0 2670 --57.4166665 -57.2499995 -28.4166665 -28.2499995 61 0 2670 --57.2500005 -57.0833335 -28.4166665 -28.2499995 64 0 2670 --57.0833335 -56.9166665 -28.4166665 -28.2499995 66 0 2670 --56.9166665 -56.7499995 -28.4166665 -28.2499995 68 0 2670 --56.7500005 -56.5833335 -28.4166665 -28.2499995 74 0 2670 --56.5833335 -56.4166665 -28.4166665 -28.2499995 63 0 2670 --56.4166665 -56.2499995 -28.4166665 -28.2499995 79 0 2670 --56.2500005 -56.0833335 -28.4166665 -28.2499995 80 0 2670 --56.0833335 -55.9166665 -28.4166665 -28.2499995 103 0 2670 --55.9166665 -55.7499995 -28.4166665 -28.2499995 79 0 2670 --55.7500005 -55.5833335 -28.4166665 -28.2499995 71 0 2670 --55.5833335 -55.4166665 -28.4166665 -28.2499995 74 0 2670 --55.4166665 -55.2499995 -28.4166665 -28.2499995 141 0 2670 --55.2500005 -55.0833335 -28.4166665 -28.2499995 129 0 2670 --55.0833335 -54.9166665 -28.4166665 -28.2499995 163 0 2670 --54.9166665 -54.7499995 -28.4166665 -28.2499995 293 0 2670 --54.7500005 -54.5833335 -28.4166665 -28.2499995 190 0 2670 --54.5833335 -54.4166665 -28.4166665 -28.2499995 187 0 2670 --54.4166665 -54.2499995 -28.4166665 -28.2499995 216 0 2670 --54.2500005 -54.0833335 -28.4166665 -28.2499995 223 0 2670 --54.0833335 -53.9166665 -28.4166665 -28.2499995 253 0 2670 --53.9166665 -53.7499995 -28.4166665 -28.2499995 346 0 2670 --53.7500005 -53.5833335 -28.4166665 -28.2499995 354 0 2670 --53.5833335 -53.4166665 -28.4166665 -28.2499995 472 0 2670 --53.4166665 -53.2499995 -28.4166665 -28.2499995 498 0 2670 --53.2500005 -53.0833335 -28.4166665 -28.2499995 470 0 2670 --53.0833335 -52.9166665 -28.4166665 -28.2499995 537 0 2670 --52.9166665 -52.7499995 -28.4166665 -28.2499995 527 0 2670 --52.7500005 -52.5833335 -28.4166665 -28.2499995 570 0 2670 --52.5833335 -52.4166665 -28.4166665 -28.2499995 551 0 2670 --52.4166665 -52.2499995 -28.4166665 -28.2499995 686 0 2670 --52.2500005 -52.0833335 -28.4166665 -28.2499995 675 0 2670 --52.0833335 -51.9166665 -28.4166665 -28.2499995 780 0 2670 --51.9166665 -51.7499995 -28.4166665 -28.2499995 796 0 2670 --51.7500005 -51.5833335 -28.4166665 -28.2499995 771 0 2670 --51.5833335 -51.4166665 -28.4166665 -28.2499995 749 0 2670 --51.4166665 -51.2499995 -28.4166665 -28.2499995 757 0 2670 --51.2500005 -51.0833335 -28.4166665 -28.2499995 868 0 2670 --51.0833335 -50.9166665 -28.4166665 -28.2499995 928 0 2670 --50.9166665 -50.7499995 -28.4166665 -28.2499995 947 0 2670 --50.7500005 -50.5833335 -28.4166665 -28.2499995 782 0 2670 --50.5833335 -50.4166665 -28.4166665 -28.2499995 945 0 2670 --50.4166665 -50.2499995 -28.4166665 -28.2499995 981 0 2670 --50.2500005 -50.0833335 -28.4166665 -28.2499995 1142 0 2670 --50.0833335 -49.9166665 -28.4166665 -28.2499995 1265 0 2670 --49.9166665 -49.7499995 -28.4166665 -28.2499995 1360 0 2670 --49.7500005 -49.5833335 -28.4166665 -28.2499995 1218 0 2670 --49.5833335 -49.4166665 -28.4166665 -28.2499995 542 0 2670 --49.4166665 -49.2499995 -28.4166665 -28.2499995 211 0 2670 --49.2500005 -49.0833335 -28.4166665 -28.2499995 56 0 2670 --49.0833335 -48.9166665 -28.4166665 -28.2499995 210 0 2670 --48.9166665 -48.7499995 -28.4166665 -28.2499995 3 0 2670 --48.7500005 -48.5833335 -28.4166665 -28.2499995 0 -14 -1670 --48.5833335 -48.4166665 -28.4166665 -28.2499995 0 -57 -1670 --48.4166665 -48.2499995 -28.4166665 -28.2499995 0 -79 -1670 --48.2500005 -48.0833335 -28.4166665 -28.2499995 0 -99 -1670 --48.0833335 -47.9166665 -28.4166665 -28.2499995 0 -125 -1670 --47.9166665 -47.7499995 -28.4166665 -28.2499995 0 -175 -1670 --47.7500005 -47.5833335 -28.4166665 -28.2499995 0 -146 -1670 --47.5833335 -47.4166665 -28.4166665 -28.2499995 0 -162 -1670 --47.4166665 -47.2499995 -28.4166665 -28.2499995 0 -202 -1670 --47.2500005 -47.0833335 -28.4166665 -28.2499995 0 -373 -1670 --47.0833335 -46.9166665 -28.4166665 -28.2499995 0 -446 -1670 --46.9166665 -46.7499995 -28.4166665 -28.2499995 0 -707 -1670 --46.7500005 -46.5833335 -28.4166665 -28.2499995 0 -1357 -1670 --46.5833335 -46.4166665 -28.4166665 -28.2499995 0 -2004 -1670 --46.4166665 -46.2499995 -28.4166665 -28.2499995 0 -2317 -1670 --46.2500005 -46.0833335 -28.4166665 -28.2499995 0 -2485 -1670 --46.0833335 -45.9166665 -28.4166665 -28.2499995 0 -2647 -1670 --45.9166665 -45.7499995 -28.4166665 -28.2499995 0 -2740 -1670 --45.7500005 -45.5833335 -28.4166665 -28.2499995 0 -2842 -1670 --45.5833335 -45.4166665 -28.4166665 -28.2499995 0 -2966 -1670 --45.4166665 -45.2499995 -28.4166665 -28.2499995 0 -3156 -1670 --45.2500005 -45.0833335 -28.4166665 -28.2499995 0 -3390 -1670 --45.0833335 -44.9166665 -28.4166665 -28.2499995 0 -3381 -1670 --44.9166665 -44.7499995 -28.4166665 -28.2499995 0 -3461 -1670 --44.7500005 -44.5833335 -28.4166665 -28.2499995 0 -3541 -1670 --44.5833335 -44.4166665 -28.4166665 -28.2499995 0 -3598 -1670 --44.4166665 -44.2499995 -28.4166665 -28.2499995 0 -3596 -1670 --44.2500005 -44.0833335 -28.4166665 -28.2499995 0 -3614 -1670 --44.0833335 -43.9166665 -28.4166665 -28.2499995 0 -3643 -1670 --43.9166665 -43.7499995 -28.4166665 -28.2499995 0 -3648 -1670 --43.7500005 -43.5833335 -28.4166665 -28.2499995 0 -3692 -1670 --43.5833335 -43.4166665 -28.4166665 -28.2499995 0 -3588 -1670 --43.4166665 -43.2499995 -28.4166665 -28.2499995 0 -3611 -1670 --43.2500005 -43.0833335 -28.4166665 -28.2499995 0 -3603 -1670 --43.0833335 -42.9166665 -28.4166665 -28.2499995 0 -3234 -1670 --42.9166665 -42.7499995 -28.4166665 -28.2499995 0 -3086 -1670 --42.7500005 -42.5833335 -28.4166665 -28.2499995 0 -2965 -1670 --42.5833335 -42.4166665 -28.4166665 -28.2499995 0 -3006 -1670 --42.4166665 -42.2499995 -28.4166665 -28.2499995 0 -2932 -1670 --42.2500005 -42.0833335 -28.4166665 -28.2499995 0 -3038 -1670 --42.0833335 -41.9166665 -28.4166665 -28.2499995 0 -3142 -1670 --41.9166665 -41.7499995 -28.4166665 -28.2499995 0 -3156 -1670 --41.7500005 -41.5833335 -28.4166665 -28.2499995 0 -3107 -1670 --41.5833335 -41.4166665 -28.4166665 -28.2499995 0 -3144 -1670 --41.4166665 -41.2499995 -28.4166665 -28.2499995 0 -3127 -1670 --41.2500005 -41.0833335 -28.4166665 -28.2499995 0 -3217 -1670 --41.0833335 -40.9166665 -28.4166665 -28.2499995 0 -2632 -1670 --40.9166665 -40.7499995 -28.4166665 -28.2499995 0 -3179 -1670 --40.7500005 -40.5833335 -28.4166665 -28.2499995 0 -3762 -1670 --40.5833335 -40.4166665 -28.4166665 -28.2499995 0 -4236 -1670 --40.4166665 -40.2499995 -28.4166665 -28.2499995 0 -4462 -1670 --40.2500005 -40.0833335 -28.4166665 -28.2499995 0 -4526 -1670 --40.0833335 -39.9166665 -28.4166665 -28.2499995 0 -4470 -1670 --65.0833335 -64.9166665 -28.5833335 -28.4166665 354 0 2670 --64.9166665 -64.7499995 -28.5833335 -28.4166665 400 0 2670 --64.7500005 -64.5833335 -28.5833335 -28.4166665 277 0 2670 --64.5833335 -64.4166665 -28.5833335 -28.4166665 182 0 2670 --64.4166665 -64.2499995 -28.5833335 -28.4166665 130 0 2670 --64.2500005 -64.0833335 -28.5833335 -28.4166665 127 0 2670 --64.0833335 -63.9166665 -28.5833335 -28.4166665 130 0 2670 --63.9166665 -63.7499995 -28.5833335 -28.4166665 122 0 2670 --63.7500005 -63.5833335 -28.5833335 -28.4166665 120 0 2670 --63.5833335 -63.4166665 -28.5833335 -28.4166665 118 0 2670 --63.4166665 -63.2499995 -28.5833335 -28.4166665 114 0 2670 --63.2500005 -63.0833335 -28.5833335 -28.4166665 112 0 2670 --63.0833335 -62.9166665 -28.5833335 -28.4166665 111 0 2670 --62.9166665 -62.7499995 -28.5833335 -28.4166665 109 0 2670 --62.7500005 -62.5833335 -28.5833335 -28.4166665 108 0 2670 --62.5833335 -62.4166665 -28.5833335 -28.4166665 104 0 2670 --62.4166665 -62.2499995 -28.5833335 -28.4166665 104 0 2670 --62.2500005 -62.0833335 -28.5833335 -28.4166665 95 0 2670 --62.0833335 -61.9166665 -28.5833335 -28.4166665 89 0 2670 --61.9166665 -61.7499995 -28.5833335 -28.4166665 84 0 2670 --61.7500005 -61.5833335 -28.5833335 -28.4166665 78 0 2670 --61.5833335 -61.4166665 -28.5833335 -28.4166665 73 0 2670 --61.4166665 -61.2499995 -28.5833335 -28.4166665 69 0 2670 --61.2500005 -61.0833335 -28.5833335 -28.4166665 66 0 2670 --61.0833335 -60.9166665 -28.5833335 -28.4166665 64 0 2670 --60.9166665 -60.7499995 -28.5833335 -28.4166665 61 0 2670 --60.7500005 -60.5833335 -28.5833335 -28.4166665 59 0 2670 --60.5833335 -60.4166665 -28.5833335 -28.4166665 60 0 2670 --60.4166665 -60.2499995 -28.5833335 -28.4166665 59 0 2670 --60.2500005 -60.0833335 -28.5833335 -28.4166665 61 0 2670 --60.0833335 -59.9166665 -28.5833335 -28.4166665 61 0 2670 --59.9166665 -59.7499995 -28.5833335 -28.4166665 62 0 2670 --59.7500005 -59.5833335 -28.5833335 -28.4166665 58 0 2670 --59.5833335 -59.4166665 -28.5833335 -28.4166665 51 0 2670 --59.4166665 -59.2499995 -28.5833335 -28.4166665 50 0 2670 --59.2500005 -59.0833335 -28.5833335 -28.4166665 40 0 2670 --59.0833335 -58.9166665 -28.5833335 -28.4166665 70 0 2670 --58.9166665 -58.7499995 -28.5833335 -28.4166665 65 0 2670 --58.7500005 -58.5833335 -28.5833335 -28.4166665 59 0 2670 --58.5833335 -58.4166665 -28.5833335 -28.4166665 72 0 2670 --58.4166665 -58.2499995 -28.5833335 -28.4166665 63 0 2670 --58.2500005 -58.0833335 -28.5833335 -28.4166665 61 0 2670 --58.0833335 -57.9166665 -28.5833335 -28.4166665 63 0 2670 --57.9166665 -57.7499995 -28.5833335 -28.4166665 58 0 2670 --57.7500005 -57.5833335 -28.5833335 -28.4166665 57 0 2670 --57.5833335 -57.4166665 -28.5833335 -28.4166665 59 0 2670 --57.4166665 -57.2499995 -28.5833335 -28.4166665 61 0 2670 --57.2500005 -57.0833335 -28.5833335 -28.4166665 63 0 2670 --57.0833335 -56.9166665 -28.5833335 -28.4166665 70 0 2670 --56.9166665 -56.7499995 -28.5833335 -28.4166665 72 0 2670 --56.7500005 -56.5833335 -28.5833335 -28.4166665 71 0 2670 --56.5833335 -56.4166665 -28.5833335 -28.4166665 91 0 2670 --56.4166665 -56.2499995 -28.5833335 -28.4166665 74 0 2670 --56.2500005 -56.0833335 -28.5833335 -28.4166665 71 0 2670 --56.0833335 -55.9166665 -28.5833335 -28.4166665 58 0 2670 --55.9166665 -55.7499995 -28.5833335 -28.4166665 99 0 2670 --55.7500005 -55.5833335 -28.5833335 -28.4166665 77 0 2670 --55.5833335 -55.4166665 -28.5833335 -28.4166665 99 0 2670 --55.4166665 -55.2499995 -28.5833335 -28.4166665 129 0 2670 --55.2500005 -55.0833335 -28.5833335 -28.4166665 182 0 2670 --55.0833335 -54.9166665 -28.5833335 -28.4166665 186 0 2670 --54.9166665 -54.7499995 -28.5833335 -28.4166665 244 0 2670 --54.7500005 -54.5833335 -28.5833335 -28.4166665 236 0 2670 --54.5833335 -54.4166665 -28.5833335 -28.4166665 296 0 2670 --54.4166665 -54.2499995 -28.5833335 -28.4166665 317 0 2670 --54.2500005 -54.0833335 -28.5833335 -28.4166665 336 0 2670 --54.0833335 -53.9166665 -28.5833335 -28.4166665 334 0 2670 --53.9166665 -53.7499995 -28.5833335 -28.4166665 384 0 2670 --53.7500005 -53.5833335 -28.5833335 -28.4166665 379 0 2670 --53.5833335 -53.4166665 -28.5833335 -28.4166665 458 0 2670 --53.4166665 -53.2499995 -28.5833335 -28.4166665 452 0 2670 --53.2500005 -53.0833335 -28.5833335 -28.4166665 379 0 2670 --53.0833335 -52.9166665 -28.5833335 -28.4166665 477 0 2670 --52.9166665 -52.7499995 -28.5833335 -28.4166665 490 0 2670 --52.7500005 -52.5833335 -28.5833335 -28.4166665 468 0 2670 --52.5833335 -52.4166665 -28.5833335 -28.4166665 493 0 2670 --52.4166665 -52.2499995 -28.5833335 -28.4166665 540 0 2670 --52.2500005 -52.0833335 -28.5833335 -28.4166665 587 0 2670 --52.0833335 -51.9166665 -28.5833335 -28.4166665 766 0 2670 --51.9166665 -51.7499995 -28.5833335 -28.4166665 688 0 2670 --51.7500005 -51.5833335 -28.5833335 -28.4166665 803 0 2670 --51.5833335 -51.4166665 -28.5833335 -28.4166665 699 0 2670 --51.4166665 -51.2499995 -28.5833335 -28.4166665 717 0 2670 --51.2500005 -51.0833335 -28.5833335 -28.4166665 814 0 2670 --51.0833335 -50.9166665 -28.5833335 -28.4166665 874 0 2670 --50.9166665 -50.7499995 -28.5833335 -28.4166665 950 0 2670 --50.7500005 -50.5833335 -28.5833335 -28.4166665 950 0 2670 --50.5833335 -50.4166665 -28.5833335 -28.4166665 989 0 2670 --50.4166665 -50.2499995 -28.5833335 -28.4166665 1033 0 2670 --50.2500005 -50.0833335 -28.5833335 -28.4166665 992 0 2670 --50.0833335 -49.9166665 -28.5833335 -28.4166665 1031 0 2670 --49.9166665 -49.7499995 -28.5833335 -28.4166665 1060 0 2670 --49.7500005 -49.5833335 -28.5833335 -28.4166665 1295 0 2670 --49.5833335 -49.4166665 -28.5833335 -28.4166665 284 0 2670 --49.4166665 -49.2499995 -28.5833335 -28.4166665 152 0 2670 --49.2500005 -49.0833335 -28.5833335 -28.4166665 366 0 2670 --49.0833335 -48.9166665 -28.5833335 -28.4166665 3 0 2670 --48.9166665 -48.7499995 -28.5833335 -28.4166665 0 -3 -1670 --48.7500005 -48.5833335 -28.5833335 -28.4166665 0 -44 -1670 --48.5833335 -48.4166665 -28.5833335 -28.4166665 0 -67 -1670 --48.4166665 -48.2499995 -28.5833335 -28.4166665 0 -88 -1670 --48.2500005 -48.0833335 -28.5833335 -28.4166665 0 -103 -1670 --48.0833335 -47.9166665 -28.5833335 -28.4166665 0 -149 -1670 --47.9166665 -47.7499995 -28.5833335 -28.4166665 0 -141 -1670 --47.7500005 -47.5833335 -28.5833335 -28.4166665 0 -152 -1670 --47.5833335 -47.4166665 -28.5833335 -28.4166665 0 -151 -1670 --47.4166665 -47.2499995 -28.5833335 -28.4166665 0 -234 -1670 --47.2500005 -47.0833335 -28.5833335 -28.4166665 0 -348 -1670 --47.0833335 -46.9166665 -28.5833335 -28.4166665 0 -430 -1670 --46.9166665 -46.7499995 -28.5833335 -28.4166665 0 -833 -1670 --46.7500005 -46.5833335 -28.5833335 -28.4166665 0 -1629 -1670 --46.5833335 -46.4166665 -28.5833335 -28.4166665 0 -2132 -1670 --46.4166665 -46.2499995 -28.5833335 -28.4166665 0 -2338 -1670 --46.2500005 -46.0833335 -28.5833335 -28.4166665 0 -2528 -1670 --46.0833335 -45.9166665 -28.5833335 -28.4166665 0 -2661 -1670 --45.9166665 -45.7499995 -28.5833335 -28.4166665 0 -2783 -1670 --45.7500005 -45.5833335 -28.5833335 -28.4166665 0 -2874 -1670 --45.5833335 -45.4166665 -28.5833335 -28.4166665 0 -2978 -1670 --45.4166665 -45.2499995 -28.5833335 -28.4166665 0 -3275 -1670 --45.2500005 -45.0833335 -28.5833335 -28.4166665 0 -3334 -1670 --45.0833335 -44.9166665 -28.5833335 -28.4166665 0 -3437 -1670 --44.9166665 -44.7499995 -28.5833335 -28.4166665 0 -3509 -1670 --44.7500005 -44.5833335 -28.5833335 -28.4166665 0 -3620 -1670 --44.5833335 -44.4166665 -28.5833335 -28.4166665 0 -3649 -1670 --44.4166665 -44.2499995 -28.5833335 -28.4166665 0 -3674 -1670 --44.2500005 -44.0833335 -28.5833335 -28.4166665 0 -3713 -1670 --44.0833335 -43.9166665 -28.5833335 -28.4166665 0 -3711 -1670 --43.9166665 -43.7499995 -28.5833335 -28.4166665 0 -3712 -1670 --43.7500005 -43.5833335 -28.5833335 -28.4166665 0 -3703 -1670 --43.5833335 -43.4166665 -28.5833335 -28.4166665 0 -3653 -1670 --43.4166665 -43.2499995 -28.5833335 -28.4166665 0 -3726 -1670 --43.2500005 -43.0833335 -28.5833335 -28.4166665 0 -3770 -1670 --43.0833335 -42.9166665 -28.5833335 -28.4166665 0 -3731 -1670 --42.9166665 -42.7499995 -28.5833335 -28.4166665 0 -3438 -1670 --42.7500005 -42.5833335 -28.5833335 -28.4166665 0 -3481 -1670 --42.5833335 -42.4166665 -28.5833335 -28.4166665 0 -3313 -1670 --42.4166665 -42.2499995 -28.5833335 -28.4166665 0 -3077 -1670 --42.2500005 -42.0833335 -28.5833335 -28.4166665 0 -3103 -1670 --42.0833335 -41.9166665 -28.5833335 -28.4166665 0 -3209 -1670 --41.9166665 -41.7499995 -28.5833335 -28.4166665 0 -3733 -1670 --41.7500005 -41.5833335 -28.5833335 -28.4166665 0 -4016 -1670 --41.5833335 -41.4166665 -28.5833335 -28.4166665 0 -4295 -1670 --41.4166665 -41.2499995 -28.5833335 -28.4166665 0 -4424 -1670 --41.2500005 -41.0833335 -28.5833335 -28.4166665 0 -4229 -1670 --41.0833335 -40.9166665 -28.5833335 -28.4166665 0 -4112 -1670 --40.9166665 -40.7499995 -28.5833335 -28.4166665 0 -4074 -1670 --40.7500005 -40.5833335 -28.5833335 -28.4166665 0 -3989 -1670 --40.5833335 -40.4166665 -28.5833335 -28.4166665 0 -4021 -1670 --40.4166665 -40.2499995 -28.5833335 -28.4166665 0 -4026 -1670 --40.2500005 -40.0833335 -28.5833335 -28.4166665 0 -4091 -1670 --40.0833335 -39.9166665 -28.5833335 -28.4166665 0 -3992 -1670 --65.0833335 -64.9166665 -28.7500005 -28.5833335 306 0 2670 --64.9166665 -64.7499995 -28.7500005 -28.5833335 332 0 2670 --64.7500005 -64.5833335 -28.7500005 -28.5833335 245 0 2670 --64.5833335 -64.4166665 -28.7500005 -28.5833335 162 0 2670 --64.4166665 -64.2499995 -28.7500005 -28.5833335 119 0 2670 --64.2500005 -64.0833335 -28.7500005 -28.5833335 118 0 2670 --64.0833335 -63.9166665 -28.7500005 -28.5833335 119 0 2670 --63.9166665 -63.7499995 -28.7500005 -28.5833335 123 0 2670 --63.7500005 -63.5833335 -28.7500005 -28.5833335 115 0 2670 --63.5833335 -63.4166665 -28.7500005 -28.5833335 113 0 2670 --63.4166665 -63.2499995 -28.7500005 -28.5833335 108 0 2670 --63.2500005 -63.0833335 -28.7500005 -28.5833335 107 0 2670 --63.0833335 -62.9166665 -28.7500005 -28.5833335 106 0 2670 --62.9166665 -62.7499995 -28.7500005 -28.5833335 103 0 2670 --62.7500005 -62.5833335 -28.7500005 -28.5833335 102 0 2670 --62.5833335 -62.4166665 -28.7500005 -28.5833335 99 0 2670 --62.4166665 -62.2499995 -28.7500005 -28.5833335 95 0 2670 --62.2500005 -62.0833335 -28.7500005 -28.5833335 93 0 2670 --62.0833335 -61.9166665 -28.7500005 -28.5833335 86 0 2670 --61.9166665 -61.7499995 -28.7500005 -28.5833335 85 0 2670 --61.7500005 -61.5833335 -28.7500005 -28.5833335 79 0 2670 --61.5833335 -61.4166665 -28.7500005 -28.5833335 73 0 2670 --61.4166665 -61.2499995 -28.7500005 -28.5833335 71 0 2670 --61.2500005 -61.0833335 -28.7500005 -28.5833335 66 0 2670 --61.0833335 -60.9166665 -28.7500005 -28.5833335 63 0 2670 --60.9166665 -60.7499995 -28.7500005 -28.5833335 61 0 2670 --60.7500005 -60.5833335 -28.7500005 -28.5833335 60 0 2670 --60.5833335 -60.4166665 -28.7500005 -28.5833335 58 0 2670 --60.4166665 -60.2499995 -28.7500005 -28.5833335 58 0 2670 --60.2500005 -60.0833335 -28.7500005 -28.5833335 57 0 2670 --60.0833335 -59.9166665 -28.7500005 -28.5833335 61 0 2670 --59.9166665 -59.7499995 -28.7500005 -28.5833335 57 0 2670 --59.7500005 -59.5833335 -28.7500005 -28.5833335 58 0 2670 --59.5833335 -59.4166665 -28.7500005 -28.5833335 52 0 2670 --59.4166665 -59.2499995 -28.7500005 -28.5833335 39 0 2670 --59.2500005 -59.0833335 -28.7500005 -28.5833335 38 0 2670 --59.0833335 -58.9166665 -28.7500005 -28.5833335 63 0 2670 --58.9166665 -58.7499995 -28.7500005 -28.5833335 63 0 2670 --58.7500005 -58.5833335 -28.7500005 -28.5833335 68 0 2670 --58.5833335 -58.4166665 -28.7500005 -28.5833335 59 0 2670 --58.4166665 -58.2499995 -28.7500005 -28.5833335 59 0 2670 --58.2500005 -58.0833335 -28.7500005 -28.5833335 52 0 2670 --58.0833335 -57.9166665 -28.7500005 -28.5833335 53 0 2670 --57.9166665 -57.7499995 -28.7500005 -28.5833335 54 0 2670 --57.7500005 -57.5833335 -28.7500005 -28.5833335 59 0 2670 --57.5833335 -57.4166665 -28.7500005 -28.5833335 72 0 2670 --57.4166665 -57.2499995 -28.7500005 -28.5833335 71 0 2670 --57.2500005 -57.0833335 -28.7500005 -28.5833335 67 0 2670 --57.0833335 -56.9166665 -28.7500005 -28.5833335 70 0 2670 --56.9166665 -56.7499995 -28.7500005 -28.5833335 70 0 2670 --56.7500005 -56.5833335 -28.7500005 -28.5833335 56 0 2670 --56.5833335 -56.4166665 -28.7500005 -28.5833335 69 0 2670 --56.4166665 -56.2499995 -28.7500005 -28.5833335 73 0 2670 --56.2500005 -56.0833335 -28.7500005 -28.5833335 80 0 2670 --56.0833335 -55.9166665 -28.7500005 -28.5833335 84 0 2670 --55.9166665 -55.7499995 -28.7500005 -28.5833335 77 0 2670 --55.7500005 -55.5833335 -28.7500005 -28.5833335 72 0 2670 --55.5833335 -55.4166665 -28.7500005 -28.5833335 82 0 2670 --55.4166665 -55.2499995 -28.7500005 -28.5833335 99 0 2670 --55.2500005 -55.0833335 -28.7500005 -28.5833335 150 0 2670 --55.0833335 -54.9166665 -28.7500005 -28.5833335 222 0 2670 --54.9166665 -54.7499995 -28.7500005 -28.5833335 190 0 2670 --54.7500005 -54.5833335 -28.7500005 -28.5833335 192 0 2670 --54.5833335 -54.4166665 -28.7500005 -28.5833335 229 0 2670 --54.4166665 -54.2499995 -28.7500005 -28.5833335 278 0 2670 --54.2500005 -54.0833335 -28.7500005 -28.5833335 323 0 2670 --54.0833335 -53.9166665 -28.7500005 -28.5833335 346 0 2670 --53.9166665 -53.7499995 -28.7500005 -28.5833335 388 0 2670 --53.7500005 -53.5833335 -28.7500005 -28.5833335 404 0 2670 --53.5833335 -53.4166665 -28.7500005 -28.5833335 398 0 2670 --53.4166665 -53.2499995 -28.7500005 -28.5833335 440 0 2670 --53.2500005 -53.0833335 -28.7500005 -28.5833335 352 0 2670 --53.0833335 -52.9166665 -28.7500005 -28.5833335 408 0 2670 --52.9166665 -52.7499995 -28.7500005 -28.5833335 416 0 2670 --52.7500005 -52.5833335 -28.7500005 -28.5833335 457 0 2670 --52.5833335 -52.4166665 -28.7500005 -28.5833335 610 0 2670 --52.4166665 -52.2499995 -28.7500005 -28.5833335 680 0 2670 --52.2500005 -52.0833335 -28.7500005 -28.5833335 438 0 2670 --52.0833335 -51.9166665 -28.7500005 -28.5833335 595 0 2670 --51.9166665 -51.7499995 -28.7500005 -28.5833335 488 0 2670 --51.7500005 -51.5833335 -28.7500005 -28.5833335 726 0 2670 --51.5833335 -51.4166665 -28.7500005 -28.5833335 671 0 2670 --51.4166665 -51.2499995 -28.7500005 -28.5833335 711 0 2670 --51.2500005 -51.0833335 -28.7500005 -28.5833335 800 0 2670 --51.0833335 -50.9166665 -28.7500005 -28.5833335 682 0 2670 --50.9166665 -50.7499995 -28.7500005 -28.5833335 858 0 2670 --50.7500005 -50.5833335 -28.7500005 -28.5833335 968 0 2670 --50.5833335 -50.4166665 -28.7500005 -28.5833335 1001 0 2670 --50.4166665 -50.2499995 -28.7500005 -28.5833335 1060 0 2670 --50.2500005 -50.0833335 -28.7500005 -28.5833335 1113 0 2670 --50.0833335 -49.9166665 -28.7500005 -28.5833335 1201 0 2670 --49.9166665 -49.7499995 -28.7500005 -28.5833335 1193 0 2670 --49.7500005 -49.5833335 -28.7500005 -28.5833335 351 0 2670 --49.5833335 -49.4166665 -28.7500005 -28.5833335 60 0 2670 --49.4166665 -49.2499995 -28.7500005 -28.5833335 64 0 2670 --49.2500005 -49.0833335 -28.7500005 -28.5833335 13 0 2670 --49.0833335 -48.9166665 -28.7500005 -28.5833335 26 0 2670 --48.9166665 -48.7499995 -28.7500005 -28.5833335 0 -40 -1670 --48.7500005 -48.5833335 -28.7500005 -28.5833335 0 -61 -1670 --48.5833335 -48.4166665 -28.7500005 -28.5833335 0 -79 -1670 --48.4166665 -48.2499995 -28.7500005 -28.5833335 0 -101 -1670 --48.2500005 -48.0833335 -28.7500005 -28.5833335 0 -123 -1670 --48.0833335 -47.9166665 -28.7500005 -28.5833335 0 -126 -1670 --47.9166665 -47.7499995 -28.7500005 -28.5833335 0 -127 -1670 --47.7500005 -47.5833335 -28.7500005 -28.5833335 0 -189 -1670 --47.5833335 -47.4166665 -28.7500005 -28.5833335 0 -279 -1670 --47.4166665 -47.2499995 -28.7500005 -28.5833335 0 -534 -1670 --47.2500005 -47.0833335 -28.7500005 -28.5833335 0 -619 -1670 --47.0833335 -46.9166665 -28.7500005 -28.5833335 0 -827 -1670 --46.9166665 -46.7499995 -28.7500005 -28.5833335 0 -1161 -1670 --46.7500005 -46.5833335 -28.7500005 -28.5833335 0 -1743 -1670 --46.5833335 -46.4166665 -28.7500005 -28.5833335 0 -2026 -1670 --46.4166665 -46.2499995 -28.7500005 -28.5833335 0 -2431 -1670 --46.2500005 -46.0833335 -28.7500005 -28.5833335 0 -2523 -1670 --46.0833335 -45.9166665 -28.7500005 -28.5833335 0 -2671 -1670 --45.9166665 -45.7499995 -28.7500005 -28.5833335 0 -2818 -1670 --45.7500005 -45.5833335 -28.7500005 -28.5833335 0 -2853 -1670 --45.5833335 -45.4166665 -28.7500005 -28.5833335 0 -3036 -1670 --45.4166665 -45.2499995 -28.7500005 -28.5833335 0 -3427 -1670 --45.2500005 -45.0833335 -28.7500005 -28.5833335 0 -3406 -1670 --45.0833335 -44.9166665 -28.7500005 -28.5833335 0 -3543 -1670 --44.9166665 -44.7499995 -28.7500005 -28.5833335 0 -3596 -1670 --44.7500005 -44.5833335 -28.7500005 -28.5833335 0 -3678 -1670 --44.5833335 -44.4166665 -28.7500005 -28.5833335 0 -3674 -1670 --44.4166665 -44.2499995 -28.7500005 -28.5833335 0 -3675 -1670 --44.2500005 -44.0833335 -28.7500005 -28.5833335 0 -3746 -1670 --44.0833335 -43.9166665 -28.7500005 -28.5833335 0 -3748 -1670 --43.9166665 -43.7499995 -28.7500005 -28.5833335 0 -3800 -1670 --43.7500005 -43.5833335 -28.7500005 -28.5833335 0 -3788 -1670 --43.5833335 -43.4166665 -28.7500005 -28.5833335 0 -3960 -1670 --43.4166665 -43.2499995 -28.7500005 -28.5833335 0 -3960 -1670 --43.2500005 -43.0833335 -28.7500005 -28.5833335 0 -4012 -1670 --43.0833335 -42.9166665 -28.7500005 -28.5833335 0 -4071 -1670 --42.9166665 -42.7499995 -28.7500005 -28.5833335 0 -4079 -1670 --42.7500005 -42.5833335 -28.7500005 -28.5833335 0 -3701 -1670 --42.5833335 -42.4166665 -28.7500005 -28.5833335 0 -3463 -1670 --42.4166665 -42.2499995 -28.7500005 -28.5833335 0 -3318 -1670 --42.2500005 -42.0833335 -28.7500005 -28.5833335 0 -3518 -1670 --42.0833335 -41.9166665 -28.7500005 -28.5833335 0 -3856 -1670 --41.9166665 -41.7499995 -28.7500005 -28.5833335 0 -3959 -1670 --41.7500005 -41.5833335 -28.7500005 -28.5833335 0 -3807 -1670 --41.5833335 -41.4166665 -28.7500005 -28.5833335 0 -3731 -1670 --41.4166665 -41.2499995 -28.7500005 -28.5833335 0 -3919 -1670 --41.2500005 -41.0833335 -28.7500005 -28.5833335 0 -3861 -1670 --41.0833335 -40.9166665 -28.7500005 -28.5833335 0 -3884 -1670 --40.9166665 -40.7499995 -28.7500005 -28.5833335 0 -3843 -1670 --40.7500005 -40.5833335 -28.7500005 -28.5833335 0 -3872 -1670 --40.5833335 -40.4166665 -28.7500005 -28.5833335 0 -3850 -1670 --40.4166665 -40.2499995 -28.7500005 -28.5833335 0 -3914 -1670 --40.2500005 -40.0833335 -28.7500005 -28.5833335 0 -3902 -1670 --40.0833335 -39.9166665 -28.7500005 -28.5833335 0 -4108 -1670 --65.0833335 -64.9166665 -28.9166665 -28.7499995 277 0 2670 --64.9166665 -64.7499995 -28.9166665 -28.7499995 301 0 2670 --64.7500005 -64.5833335 -28.9166665 -28.7499995 203 0 2670 --64.5833335 -64.4166665 -28.9166665 -28.7499995 128 0 2670 --64.4166665 -64.2499995 -28.9166665 -28.7499995 113 0 2670 --64.2500005 -64.0833335 -28.9166665 -28.7499995 114 0 2670 --64.0833335 -63.9166665 -28.9166665 -28.7499995 112 0 2670 --63.9166665 -63.7499995 -28.9166665 -28.7499995 113 0 2670 --63.7500005 -63.5833335 -28.9166665 -28.7499995 113 0 2670 --63.5833335 -63.4166665 -28.9166665 -28.7499995 111 0 2670 --63.4166665 -63.2499995 -28.9166665 -28.7499995 104 0 2670 --63.2500005 -63.0833335 -28.9166665 -28.7499995 102 0 2670 --63.0833335 -62.9166665 -28.9166665 -28.7499995 103 0 2670 --62.9166665 -62.7499995 -28.9166665 -28.7499995 97 0 2670 --62.7500005 -62.5833335 -28.9166665 -28.7499995 94 0 2670 --62.5833335 -62.4166665 -28.9166665 -28.7499995 97 0 2670 --62.4166665 -62.2499995 -28.9166665 -28.7499995 92 0 2670 --62.2500005 -62.0833335 -28.9166665 -28.7499995 89 0 2670 --62.0833335 -61.9166665 -28.9166665 -28.7499995 86 0 2670 --61.9166665 -61.7499995 -28.9166665 -28.7499995 81 0 2670 --61.7500005 -61.5833335 -28.9166665 -28.7499995 76 0 2670 --61.5833335 -61.4166665 -28.9166665 -28.7499995 73 0 2670 --61.4166665 -61.2499995 -28.9166665 -28.7499995 68 0 2670 --61.2500005 -61.0833335 -28.9166665 -28.7499995 65 0 2670 --61.0833335 -60.9166665 -28.9166665 -28.7499995 64 0 2670 --60.9166665 -60.7499995 -28.9166665 -28.7499995 61 0 2670 --60.7500005 -60.5833335 -28.9166665 -28.7499995 59 0 2670 --60.5833335 -60.4166665 -28.9166665 -28.7499995 58 0 2670 --60.4166665 -60.2499995 -28.9166665 -28.7499995 56 0 2670 --60.2500005 -60.0833335 -28.9166665 -28.7499995 61 0 2670 --60.0833335 -59.9166665 -28.9166665 -28.7499995 66 0 2670 --59.9166665 -59.7499995 -28.9166665 -28.7499995 60 0 2670 --59.7500005 -59.5833335 -28.9166665 -28.7499995 55 0 2670 --59.5833335 -59.4166665 -28.9166665 -28.7499995 46 0 2670 --59.4166665 -59.2499995 -28.9166665 -28.7499995 36 0 2670 --59.2500005 -59.0833335 -28.9166665 -28.7499995 38 0 2670 --59.0833335 -58.9166665 -28.9166665 -28.7499995 51 0 2670 --58.9166665 -58.7499995 -28.9166665 -28.7499995 67 0 2670 --58.7500005 -58.5833335 -28.9166665 -28.7499995 62 0 2670 --58.5833335 -58.4166665 -28.9166665 -28.7499995 62 0 2670 --58.4166665 -58.2499995 -28.9166665 -28.7499995 49 0 2670 --58.2500005 -58.0833335 -28.9166665 -28.7499995 67 0 2670 --58.0833335 -57.9166665 -28.9166665 -28.7499995 71 0 2670 --57.9166665 -57.7499995 -28.9166665 -28.7499995 74 0 2670 --57.7500005 -57.5833335 -28.9166665 -28.7499995 72 0 2670 --57.5833335 -57.4166665 -28.9166665 -28.7499995 72 0 2670 --57.4166665 -57.2499995 -28.9166665 -28.7499995 69 0 2670 --57.2500005 -57.0833335 -28.9166665 -28.7499995 67 0 2670 --57.0833335 -56.9166665 -28.9166665 -28.7499995 70 0 2670 --56.9166665 -56.7499995 -28.9166665 -28.7499995 68 0 2670 --56.7500005 -56.5833335 -28.9166665 -28.7499995 55 0 2670 --56.5833335 -56.4166665 -28.9166665 -28.7499995 69 0 2670 --56.4166665 -56.2499995 -28.9166665 -28.7499995 73 0 2670 --56.2500005 -56.0833335 -28.9166665 -28.7499995 73 0 2670 --56.0833335 -55.9166665 -28.9166665 -28.7499995 95 0 2670 --55.9166665 -55.7499995 -28.9166665 -28.7499995 86 0 2670 --55.7500005 -55.5833335 -28.9166665 -28.7499995 111 0 2670 --55.5833335 -55.4166665 -28.9166665 -28.7499995 124 0 2670 --55.4166665 -55.2499995 -28.9166665 -28.7499995 147 0 2670 --55.2500005 -55.0833335 -28.9166665 -28.7499995 162 0 2670 --55.0833335 -54.9166665 -28.9166665 -28.7499995 197 0 2670 --54.9166665 -54.7499995 -28.9166665 -28.7499995 189 0 2670 --54.7500005 -54.5833335 -28.9166665 -28.7499995 252 0 2670 --54.5833335 -54.4166665 -28.9166665 -28.7499995 300 0 2670 --54.4166665 -54.2499995 -28.9166665 -28.7499995 285 0 2670 --54.2500005 -54.0833335 -28.9166665 -28.7499995 396 0 2670 --54.0833335 -53.9166665 -28.9166665 -28.7499995 383 0 2670 --53.9166665 -53.7499995 -28.9166665 -28.7499995 398 0 2670 --53.7500005 -53.5833335 -28.9166665 -28.7499995 386 0 2670 --53.5833335 -53.4166665 -28.9166665 -28.7499995 413 0 2670 --53.4166665 -53.2499995 -28.9166665 -28.7499995 380 0 2670 --53.2500005 -53.0833335 -28.9166665 -28.7499995 359 0 2670 --53.0833335 -52.9166665 -28.9166665 -28.7499995 471 0 2670 --52.9166665 -52.7499995 -28.9166665 -28.7499995 398 0 2670 --52.7500005 -52.5833335 -28.9166665 -28.7499995 568 0 2670 --52.5833335 -52.4166665 -28.9166665 -28.7499995 677 0 2670 --52.4166665 -52.2499995 -28.9166665 -28.7499995 644 0 2670 --52.2500005 -52.0833335 -28.9166665 -28.7499995 590 0 2670 --52.0833335 -51.9166665 -28.9166665 -28.7499995 432 0 2670 --51.9166665 -51.7499995 -28.9166665 -28.7499995 412 0 2670 --51.7500005 -51.5833335 -28.9166665 -28.7499995 567 0 2670 --51.5833335 -51.4166665 -28.9166665 -28.7499995 534 0 2670 --51.4166665 -51.2499995 -28.9166665 -28.7499995 764 0 2670 --51.2500005 -51.0833335 -28.9166665 -28.7499995 550 0 2670 --51.0833335 -50.9166665 -28.9166665 -28.7499995 541 0 2670 --50.9166665 -50.7499995 -28.9166665 -28.7499995 578 0 2670 --50.7500005 -50.5833335 -28.9166665 -28.7499995 790 0 2670 --50.5833335 -50.4166665 -28.9166665 -28.7499995 854 0 2670 --50.4166665 -50.2499995 -28.9166665 -28.7499995 896 0 2670 --50.2500005 -50.0833335 -28.9166665 -28.7499995 903 0 2670 --50.0833335 -49.9166665 -28.9166665 -28.7499995 1065 0 2670 --49.9166665 -49.7499995 -28.9166665 -28.7499995 112 0 2670 --49.7500005 -49.5833335 -28.9166665 -28.7499995 45 0 2670 --49.5833335 -49.4166665 -28.9166665 -28.7499995 11 0 2670 --49.4166665 -49.2499995 -28.9166665 -28.7499995 7 0 2670 --49.2500005 -49.0833335 -28.9166665 -28.7499995 0 -27 -1670 --49.0833335 -48.9166665 -28.9166665 -28.7499995 0 -43 -1670 --48.9166665 -48.7499995 -28.9166665 -28.7499995 0 -58 -1670 --48.7500005 -48.5833335 -28.9166665 -28.7499995 0 -70 -1670 --48.5833335 -48.4166665 -28.9166665 -28.7499995 0 -91 -1670 --48.4166665 -48.2499995 -28.9166665 -28.7499995 0 -108 -1670 --48.2500005 -48.0833335 -28.9166665 -28.7499995 0 -129 -1670 --48.0833335 -47.9166665 -28.9166665 -28.7499995 0 -136 -1670 --47.9166665 -47.7499995 -28.9166665 -28.7499995 0 -208 -1670 --47.7500005 -47.5833335 -28.9166665 -28.7499995 0 -411 -1670 --47.5833335 -47.4166665 -28.9166665 -28.7499995 0 -758 -1670 --47.4166665 -47.2499995 -28.9166665 -28.7499995 0 -995 -1670 --47.2500005 -47.0833335 -28.9166665 -28.7499995 0 -1090 -1670 --47.0833335 -46.9166665 -28.9166665 -28.7499995 0 -1242 -1670 --46.9166665 -46.7499995 -28.9166665 -28.7499995 0 -1487 -1670 --46.7500005 -46.5833335 -28.9166665 -28.7499995 0 -1780 -1670 --46.5833335 -46.4166665 -28.9166665 -28.7499995 0 -2164 -1670 --46.4166665 -46.2499995 -28.9166665 -28.7499995 0 -2375 -1670 --46.2500005 -46.0833335 -28.9166665 -28.7499995 0 -2524 -1670 --46.0833335 -45.9166665 -28.9166665 -28.7499995 0 -2654 -1670 --45.9166665 -45.7499995 -28.9166665 -28.7499995 0 -2800 -1670 --45.7500005 -45.5833335 -28.9166665 -28.7499995 0 -2857 -1670 --45.5833335 -45.4166665 -28.9166665 -28.7499995 0 -3064 -1670 --45.4166665 -45.2499995 -28.9166665 -28.7499995 0 -3421 -1670 --45.2500005 -45.0833335 -28.9166665 -28.7499995 0 -3479 -1670 --45.0833335 -44.9166665 -28.9166665 -28.7499995 0 -3577 -1670 --44.9166665 -44.7499995 -28.9166665 -28.7499995 0 -3616 -1670 --44.7500005 -44.5833335 -28.9166665 -28.7499995 0 -3662 -1670 --44.5833335 -44.4166665 -28.9166665 -28.7499995 0 -3706 -1670 --44.4166665 -44.2499995 -28.9166665 -28.7499995 0 -3703 -1670 --44.2500005 -44.0833335 -28.9166665 -28.7499995 0 -3760 -1670 --44.0833335 -43.9166665 -28.9166665 -28.7499995 0 -3754 -1670 --43.9166665 -43.7499995 -28.9166665 -28.7499995 0 -3830 -1670 --43.7500005 -43.5833335 -28.9166665 -28.7499995 0 -3862 -1670 --43.5833335 -43.4166665 -28.9166665 -28.7499995 0 -3943 -1670 --43.4166665 -43.2499995 -28.9166665 -28.7499995 0 -3971 -1670 --43.2500005 -43.0833335 -28.9166665 -28.7499995 0 -3957 -1670 --43.0833335 -42.9166665 -28.9166665 -28.7499995 0 -4016 -1670 --42.9166665 -42.7499995 -28.9166665 -28.7499995 0 -4000 -1670 --42.7500005 -42.5833335 -28.9166665 -28.7499995 0 -3869 -1670 --42.5833335 -42.4166665 -28.9166665 -28.7499995 0 -3739 -1670 --42.4166665 -42.2499995 -28.9166665 -28.7499995 0 -3800 -1670 --42.2500005 -42.0833335 -28.9166665 -28.7499995 0 -3958 -1670 --42.0833335 -41.9166665 -28.9166665 -28.7499995 0 -4070 -1670 --41.9166665 -41.7499995 -28.9166665 -28.7499995 0 -3997 -1670 --41.7500005 -41.5833335 -28.9166665 -28.7499995 0 -3684 -1670 --41.5833335 -41.4166665 -28.9166665 -28.7499995 0 -3639 -1670 --41.4166665 -41.2499995 -28.9166665 -28.7499995 0 -3777 -1670 --41.2500005 -41.0833335 -28.9166665 -28.7499995 0 -3797 -1670 --41.0833335 -40.9166665 -28.9166665 -28.7499995 0 -3786 -1670 --40.9166665 -40.7499995 -28.9166665 -28.7499995 0 -3797 -1670 --40.7500005 -40.5833335 -28.9166665 -28.7499995 0 -3785 -1670 --40.5833335 -40.4166665 -28.9166665 -28.7499995 0 -3808 -1670 --40.4166665 -40.2499995 -28.9166665 -28.7499995 0 -3784 -1670 --40.2500005 -40.0833335 -28.9166665 -28.7499995 0 -3873 -1670 --40.0833335 -39.9166665 -28.9166665 -28.7499995 0 -3954 -1670 --65.0833335 -64.9166665 -29.0833335 -28.9166665 284 0 2670 --64.9166665 -64.7499995 -29.0833335 -28.9166665 235 0 2670 --64.7500005 -64.5833335 -29.0833335 -28.9166665 168 0 2670 --64.5833335 -64.4166665 -29.0833335 -28.9166665 116 0 2670 --64.4166665 -64.2499995 -29.0833335 -28.9166665 114 0 2670 --64.2500005 -64.0833335 -29.0833335 -28.9166665 110 0 2670 --64.0833335 -63.9166665 -29.0833335 -28.9166665 136 0 2670 --63.9166665 -63.7499995 -29.0833335 -28.9166665 158 0 2670 --63.7500005 -63.5833335 -29.0833335 -28.9166665 147 0 2670 --63.5833335 -63.4166665 -29.0833335 -28.9166665 107 0 2670 --63.4166665 -63.2499995 -29.0833335 -28.9166665 102 0 2670 --63.2500005 -63.0833335 -29.0833335 -28.9166665 97 0 2670 --63.0833335 -62.9166665 -29.0833335 -28.9166665 97 0 2670 --62.9166665 -62.7499995 -29.0833335 -28.9166665 95 0 2670 --62.7500005 -62.5833335 -29.0833335 -28.9166665 91 0 2670 --62.5833335 -62.4166665 -29.0833335 -28.9166665 89 0 2670 --62.4166665 -62.2499995 -29.0833335 -28.9166665 87 0 2670 --62.2500005 -62.0833335 -29.0833335 -28.9166665 85 0 2670 --62.0833335 -61.9166665 -29.0833335 -28.9166665 82 0 2670 --61.9166665 -61.7499995 -29.0833335 -28.9166665 79 0 2670 --61.7500005 -61.5833335 -29.0833335 -28.9166665 77 0 2670 --61.5833335 -61.4166665 -29.0833335 -28.9166665 72 0 2670 --61.4166665 -61.2499995 -29.0833335 -28.9166665 68 0 2670 --61.2500005 -61.0833335 -29.0833335 -28.9166665 66 0 2670 --61.0833335 -60.9166665 -29.0833335 -28.9166665 63 0 2670 --60.9166665 -60.7499995 -29.0833335 -28.9166665 61 0 2670 --60.7500005 -60.5833335 -29.0833335 -28.9166665 58 0 2670 --60.5833335 -60.4166665 -29.0833335 -28.9166665 54 0 2670 --60.4166665 -60.2499995 -29.0833335 -28.9166665 61 0 2670 --60.2500005 -60.0833335 -29.0833335 -28.9166665 60 0 2670 --60.0833335 -59.9166665 -29.0833335 -28.9166665 59 0 2670 --59.9166665 -59.7499995 -29.0833335 -28.9166665 56 0 2670 --59.7500005 -59.5833335 -29.0833335 -28.9166665 53 0 2670 --59.5833335 -59.4166665 -29.0833335 -28.9166665 37 0 2670 --59.4166665 -59.2499995 -29.0833335 -28.9166665 35 0 2670 --59.2500005 -59.0833335 -29.0833335 -28.9166665 55 0 2670 --59.0833335 -58.9166665 -29.0833335 -28.9166665 60 0 2670 --58.9166665 -58.7499995 -29.0833335 -28.9166665 59 0 2670 --58.7500005 -58.5833335 -29.0833335 -28.9166665 59 0 2670 --58.5833335 -58.4166665 -29.0833335 -28.9166665 49 0 2670 --58.4166665 -58.2499995 -29.0833335 -28.9166665 62 0 2670 --58.2500005 -58.0833335 -29.0833335 -28.9166665 71 0 2670 --58.0833335 -57.9166665 -29.0833335 -28.9166665 94 0 2670 --57.9166665 -57.7499995 -29.0833335 -28.9166665 75 0 2670 --57.7500005 -57.5833335 -29.0833335 -28.9166665 66 0 2670 --57.5833335 -57.4166665 -29.0833335 -28.9166665 66 0 2670 --57.4166665 -57.2499995 -29.0833335 -28.9166665 65 0 2670 --57.2500005 -57.0833335 -29.0833335 -28.9166665 74 0 2670 --57.0833335 -56.9166665 -29.0833335 -28.9166665 69 0 2670 --56.9166665 -56.7499995 -29.0833335 -28.9166665 65 0 2670 --56.7500005 -56.5833335 -29.0833335 -28.9166665 64 0 2670 --56.5833335 -56.4166665 -29.0833335 -28.9166665 63 0 2670 --56.4166665 -56.2499995 -29.0833335 -28.9166665 66 0 2670 --56.2500005 -56.0833335 -29.0833335 -28.9166665 61 0 2670 --56.0833335 -55.9166665 -29.0833335 -28.9166665 75 0 2670 --55.9166665 -55.7499995 -29.0833335 -28.9166665 91 0 2670 --55.7500005 -55.5833335 -29.0833335 -28.9166665 121 0 2670 --55.5833335 -55.4166665 -29.0833335 -28.9166665 178 0 2670 --55.4166665 -55.2499995 -29.0833335 -28.9166665 235 0 2670 --55.2500005 -55.0833335 -29.0833335 -28.9166665 260 0 2670 --55.0833335 -54.9166665 -29.0833335 -28.9166665 296 0 2670 --54.9166665 -54.7499995 -29.0833335 -28.9166665 279 0 2670 --54.7500005 -54.5833335 -29.0833335 -28.9166665 354 0 2670 --54.5833335 -54.4166665 -29.0833335 -28.9166665 316 0 2670 --54.4166665 -54.2499995 -29.0833335 -28.9166665 375 0 2670 --54.2500005 -54.0833335 -29.0833335 -28.9166665 434 0 2670 --54.0833335 -53.9166665 -29.0833335 -28.9166665 487 0 2670 --53.9166665 -53.7499995 -29.0833335 -28.9166665 400 0 2670 --53.7500005 -53.5833335 -29.0833335 -28.9166665 392 0 2670 --53.5833335 -53.4166665 -29.0833335 -28.9166665 373 0 2670 --53.4166665 -53.2499995 -29.0833335 -28.9166665 365 0 2670 --53.2500005 -53.0833335 -29.0833335 -28.9166665 340 0 2670 --53.0833335 -52.9166665 -29.0833335 -28.9166665 425 0 2670 --52.9166665 -52.7499995 -29.0833335 -28.9166665 596 0 2670 --52.7500005 -52.5833335 -29.0833335 -28.9166665 669 0 2670 --52.5833335 -52.4166665 -29.0833335 -28.9166665 486 0 2670 --52.4166665 -52.2499995 -29.0833335 -28.9166665 676 0 2670 --52.2500005 -52.0833335 -29.0833335 -28.9166665 512 0 2670 --52.0833335 -51.9166665 -29.0833335 -28.9166665 440 0 2670 --51.9166665 -51.7499995 -29.0833335 -28.9166665 576 0 2670 --51.7500005 -51.5833335 -29.0833335 -28.9166665 387 0 2670 --51.5833335 -51.4166665 -29.0833335 -28.9166665 514 0 2670 --51.4166665 -51.2499995 -29.0833335 -28.9166665 579 0 2670 --51.2500005 -51.0833335 -29.0833335 -28.9166665 689 0 2670 --51.0833335 -50.9166665 -29.0833335 -28.9166665 810 0 2670 --50.9166665 -50.7499995 -29.0833335 -28.9166665 864 0 2670 --50.7500005 -50.5833335 -29.0833335 -28.9166665 915 0 2670 --50.5833335 -50.4166665 -29.0833335 -28.9166665 934 0 2670 --50.4166665 -50.2499995 -29.0833335 -28.9166665 864 0 2670 --50.2500005 -50.0833335 -29.0833335 -28.9166665 1029 0 2670 --50.0833335 -49.9166665 -29.0833335 -28.9166665 1043 0 2670 --49.9166665 -49.7499995 -29.0833335 -28.9166665 96 0 2670 --49.7500005 -49.5833335 -29.0833335 -28.9166665 20 0 2670 --49.5833335 -49.4166665 -29.0833335 -28.9166665 6 0 2670 --49.4166665 -49.2499995 -29.0833335 -28.9166665 0 -32 -1670 --49.2500005 -49.0833335 -29.0833335 -28.9166665 0 -44 -1670 --49.0833335 -48.9166665 -29.0833335 -28.9166665 0 -50 -1670 --48.9166665 -48.7499995 -29.0833335 -28.9166665 0 -63 -1670 --48.7500005 -48.5833335 -29.0833335 -28.9166665 0 -86 -1670 --48.5833335 -48.4166665 -29.0833335 -28.9166665 0 -102 -1670 --48.4166665 -48.2499995 -29.0833335 -28.9166665 0 -120 -1670 --48.2500005 -48.0833335 -29.0833335 -28.9166665 0 -127 -1670 --48.0833335 -47.9166665 -29.0833335 -28.9166665 0 -163 -1670 --47.9166665 -47.7499995 -29.0833335 -28.9166665 0 -420 -1670 --47.7500005 -47.5833335 -29.0833335 -28.9166665 0 -758 -1670 --47.5833335 -47.4166665 -29.0833335 -28.9166665 0 -971 -1670 --47.4166665 -47.2499995 -29.0833335 -28.9166665 0 -1200 -1670 --47.2500005 -47.0833335 -29.0833335 -28.9166665 0 -1438 -1670 --47.0833335 -46.9166665 -29.0833335 -28.9166665 0 -1540 -1670 --46.9166665 -46.7499995 -29.0833335 -28.9166665 0 -1770 -1670 --46.7500005 -46.5833335 -29.0833335 -28.9166665 0 -1978 -1670 --46.5833335 -46.4166665 -29.0833335 -28.9166665 0 -2276 -1670 --46.4166665 -46.2499995 -29.0833335 -28.9166665 0 -2420 -1670 --46.2500005 -46.0833335 -29.0833335 -28.9166665 0 -2534 -1670 --46.0833335 -45.9166665 -29.0833335 -28.9166665 0 -2644 -1670 --45.9166665 -45.7499995 -29.0833335 -28.9166665 0 -2749 -1670 --45.7500005 -45.5833335 -29.0833335 -28.9166665 0 -2866 -1670 --45.5833335 -45.4166665 -29.0833335 -28.9166665 0 -3201 -1670 --45.4166665 -45.2499995 -29.0833335 -28.9166665 0 -3388 -1670 --45.2500005 -45.0833335 -29.0833335 -28.9166665 0 -3524 -1670 --45.0833335 -44.9166665 -29.0833335 -28.9166665 0 -3656 -1670 --44.9166665 -44.7499995 -29.0833335 -28.9166665 0 -3654 -1670 --44.7500005 -44.5833335 -29.0833335 -28.9166665 0 -3680 -1670 --44.5833335 -44.4166665 -29.0833335 -28.9166665 0 -3652 -1670 --44.4166665 -44.2499995 -29.0833335 -28.9166665 0 -3696 -1670 --44.2500005 -44.0833335 -29.0833335 -28.9166665 0 -3771 -1670 --44.0833335 -43.9166665 -29.0833335 -28.9166665 0 -3852 -1670 --43.9166665 -43.7499995 -29.0833335 -28.9166665 0 -3848 -1670 --43.7500005 -43.5833335 -29.0833335 -28.9166665 0 -3901 -1670 --43.5833335 -43.4166665 -29.0833335 -28.9166665 0 -3935 -1670 --43.4166665 -43.2499995 -29.0833335 -28.9166665 0 -4012 -1670 --43.2500005 -43.0833335 -29.0833335 -28.9166665 0 -3992 -1670 --43.0833335 -42.9166665 -29.0833335 -28.9166665 0 -4014 -1670 --42.9166665 -42.7499995 -29.0833335 -28.9166665 0 -4023 -1670 --42.7500005 -42.5833335 -29.0833335 -28.9166665 0 -4009 -1670 --42.5833335 -42.4166665 -29.0833335 -28.9166665 0 -3983 -1670 --42.4166665 -42.2499995 -29.0833335 -28.9166665 0 -3969 -1670 --42.2500005 -42.0833335 -29.0833335 -28.9166665 0 -3982 -1670 --42.0833335 -41.9166665 -29.0833335 -28.9166665 0 -4013 -1670 --41.9166665 -41.7499995 -29.0833335 -28.9166665 0 -4085 -1670 --41.7500005 -41.5833335 -29.0833335 -28.9166665 0 -3802 -1670 --41.5833335 -41.4166665 -29.0833335 -28.9166665 0 -3769 -1670 --41.4166665 -41.2499995 -29.0833335 -28.9166665 0 -3758 -1670 --41.2500005 -41.0833335 -29.0833335 -28.9166665 0 -3748 -1670 --41.0833335 -40.9166665 -29.0833335 -28.9166665 0 -3787 -1670 --40.9166665 -40.7499995 -29.0833335 -28.9166665 0 -3782 -1670 --40.7500005 -40.5833335 -29.0833335 -28.9166665 0 -3714 -1670 --40.5833335 -40.4166665 -29.0833335 -28.9166665 0 -3733 -1670 --40.4166665 -40.2499995 -29.0833335 -28.9166665 0 -3777 -1670 --40.2500005 -40.0833335 -29.0833335 -28.9166665 0 -3871 -1670 --40.0833335 -39.9166665 -29.0833335 -28.9166665 0 -3897 -1670 --65.0833335 -64.9166665 -29.2500005 -29.0833335 285 0 2670 --64.9166665 -64.7499995 -29.2500005 -29.0833335 216 0 2670 --64.7500005 -64.5833335 -29.2500005 -29.0833335 136 0 2670 --64.5833335 -64.4166665 -29.2500005 -29.0833335 118 0 2670 --64.4166665 -64.2499995 -29.2500005 -29.0833335 114 0 2670 --64.2500005 -64.0833335 -29.2500005 -29.0833335 114 0 2670 --64.0833335 -63.9166665 -29.2500005 -29.0833335 253 0 2670 --63.9166665 -63.7499995 -29.2500005 -29.0833335 259 0 2670 --63.7500005 -63.5833335 -29.2500005 -29.0833335 253 0 2670 --63.5833335 -63.4166665 -29.2500005 -29.0833335 194 0 2670 --63.4166665 -63.2499995 -29.2500005 -29.0833335 96 0 2670 --63.2500005 -63.0833335 -29.2500005 -29.0833335 92 0 2670 --63.0833335 -62.9166665 -29.2500005 -29.0833335 93 0 2670 --62.9166665 -62.7499995 -29.2500005 -29.0833335 92 0 2670 --62.7500005 -62.5833335 -29.2500005 -29.0833335 90 0 2670 --62.5833335 -62.4166665 -29.2500005 -29.0833335 87 0 2670 --62.4166665 -62.2499995 -29.2500005 -29.0833335 82 0 2670 --62.2500005 -62.0833335 -29.2500005 -29.0833335 80 0 2670 --62.0833335 -61.9166665 -29.2500005 -29.0833335 79 0 2670 --61.9166665 -61.7499995 -29.2500005 -29.0833335 78 0 2670 --61.7500005 -61.5833335 -29.2500005 -29.0833335 75 0 2670 --61.5833335 -61.4166665 -29.2500005 -29.0833335 72 0 2670 --61.4166665 -61.2499995 -29.2500005 -29.0833335 68 0 2670 --61.2500005 -61.0833335 -29.2500005 -29.0833335 65 0 2670 --61.0833335 -60.9166665 -29.2500005 -29.0833335 63 0 2670 --60.9166665 -60.7499995 -29.2500005 -29.0833335 60 0 2670 --60.7500005 -60.5833335 -29.2500005 -29.0833335 56 0 2670 --60.5833335 -60.4166665 -29.2500005 -29.0833335 57 0 2670 --60.4166665 -60.2499995 -29.2500005 -29.0833335 59 0 2670 --60.2500005 -60.0833335 -29.2500005 -29.0833335 63 0 2670 --60.0833335 -59.9166665 -29.2500005 -29.0833335 60 0 2670 --59.9166665 -59.7499995 -29.2500005 -29.0833335 54 0 2670 --59.7500005 -59.5833335 -29.2500005 -29.0833335 49 0 2670 --59.5833335 -59.4166665 -29.2500005 -29.0833335 35 0 2670 --59.4166665 -59.2499995 -29.2500005 -29.0833335 36 0 2670 --59.2500005 -59.0833335 -29.2500005 -29.0833335 63 0 2670 --59.0833335 -58.9166665 -29.2500005 -29.0833335 57 0 2670 --58.9166665 -58.7499995 -29.2500005 -29.0833335 49 0 2670 --58.7500005 -58.5833335 -29.2500005 -29.0833335 47 0 2670 --58.5833335 -58.4166665 -29.2500005 -29.0833335 52 0 2670 --58.4166665 -58.2499995 -29.2500005 -29.0833335 74 0 2670 --58.2500005 -58.0833335 -29.2500005 -29.0833335 88 0 2670 --58.0833335 -57.9166665 -29.2500005 -29.0833335 96 0 2670 --57.9166665 -57.7499995 -29.2500005 -29.0833335 78 0 2670 --57.7500005 -57.5833335 -29.2500005 -29.0833335 66 0 2670 --57.5833335 -57.4166665 -29.2500005 -29.0833335 58 0 2670 --57.4166665 -57.2499995 -29.2500005 -29.0833335 69 0 2670 --57.2500005 -57.0833335 -29.2500005 -29.0833335 71 0 2670 --57.0833335 -56.9166665 -29.2500005 -29.0833335 64 0 2670 --56.9166665 -56.7499995 -29.2500005 -29.0833335 59 0 2670 --56.7500005 -56.5833335 -29.2500005 -29.0833335 66 0 2670 --56.5833335 -56.4166665 -29.2500005 -29.0833335 61 0 2670 --56.4166665 -56.2499995 -29.2500005 -29.0833335 65 0 2670 --56.2500005 -56.0833335 -29.2500005 -29.0833335 76 0 2670 --56.0833335 -55.9166665 -29.2500005 -29.0833335 83 0 2670 --55.9166665 -55.7499995 -29.2500005 -29.0833335 115 0 2670 --55.7500005 -55.5833335 -29.2500005 -29.0833335 156 0 2670 --55.5833335 -55.4166665 -29.2500005 -29.0833335 97 0 2670 --55.4166665 -55.2499995 -29.2500005 -29.0833335 191 0 2670 --55.2500005 -55.0833335 -29.2500005 -29.0833335 181 0 2670 --55.0833335 -54.9166665 -29.2500005 -29.0833335 258 0 2670 --54.9166665 -54.7499995 -29.2500005 -29.0833335 343 0 2670 --54.7500005 -54.5833335 -29.2500005 -29.0833335 338 0 2670 --54.5833335 -54.4166665 -29.2500005 -29.0833335 358 0 2670 --54.4166665 -54.2499995 -29.2500005 -29.0833335 293 0 2670 --54.2500005 -54.0833335 -29.2500005 -29.0833335 436 0 2670 --54.0833335 -53.9166665 -29.2500005 -29.0833335 445 0 2670 --53.9166665 -53.7499995 -29.2500005 -29.0833335 447 0 2670 --53.7500005 -53.5833335 -29.2500005 -29.0833335 460 0 2670 --53.5833335 -53.4166665 -29.2500005 -29.0833335 408 0 2670 --53.4166665 -53.2499995 -29.2500005 -29.0833335 318 0 2670 --53.2500005 -53.0833335 -29.2500005 -29.0833335 364 0 2670 --53.0833335 -52.9166665 -29.2500005 -29.0833335 312 0 2670 --52.9166665 -52.7499995 -29.2500005 -29.0833335 579 0 2670 --52.7500005 -52.5833335 -29.2500005 -29.0833335 464 0 2670 --52.5833335 -52.4166665 -29.2500005 -29.0833335 435 0 2670 --52.4166665 -52.2499995 -29.2500005 -29.0833335 448 0 2670 --52.2500005 -52.0833335 -29.2500005 -29.0833335 235 0 2670 --52.0833335 -51.9166665 -29.2500005 -29.0833335 253 0 2670 --51.9166665 -51.7499995 -29.2500005 -29.0833335 146 0 2670 --51.7500005 -51.5833335 -29.2500005 -29.0833335 385 0 2670 --51.5833335 -51.4166665 -29.2500005 -29.0833335 624 0 2670 --51.4166665 -51.2499995 -29.2500005 -29.0833335 632 0 2670 --51.2500005 -51.0833335 -29.2500005 -29.0833335 784 0 2670 --51.0833335 -50.9166665 -29.2500005 -29.0833335 693 0 2670 --50.9166665 -50.7499995 -29.2500005 -29.0833335 815 0 2670 --50.7500005 -50.5833335 -29.2500005 -29.0833335 902 0 2670 --50.5833335 -50.4166665 -29.2500005 -29.0833335 973 0 2670 --50.4166665 -50.2499995 -29.2500005 -29.0833335 895 0 2670 --50.2500005 -50.0833335 -29.2500005 -29.0833335 970 0 2670 --50.0833335 -49.9166665 -29.2500005 -29.0833335 373 0 2670 --49.9166665 -49.7499995 -29.2500005 -29.0833335 9 0 2670 --49.7500005 -49.5833335 -29.2500005 -29.0833335 0 0 2670 --49.5833335 -49.4166665 -29.2500005 -29.0833335 0 -20 -1670 --49.4166665 -49.2499995 -29.2500005 -29.0833335 0 -38 -1670 --49.2500005 -49.0833335 -29.2500005 -29.0833335 0 -47 -1670 --49.0833335 -48.9166665 -29.2500005 -29.0833335 0 -57 -1670 --48.9166665 -48.7499995 -29.2500005 -29.0833335 0 -73 -1670 --48.7500005 -48.5833335 -29.2500005 -29.0833335 0 -98 -1670 --48.5833335 -48.4166665 -29.2500005 -29.0833335 0 -117 -1670 --48.4166665 -48.2499995 -29.2500005 -29.0833335 0 -129 -1670 --48.2500005 -48.0833335 -29.2500005 -29.0833335 0 -138 -1670 --48.0833335 -47.9166665 -29.2500005 -29.0833335 0 -255 -1670 --47.9166665 -47.7499995 -29.2500005 -29.0833335 0 -485 -1670 --47.7500005 -47.5833335 -29.2500005 -29.0833335 0 -892 -1670 --47.5833335 -47.4166665 -29.2500005 -29.0833335 0 -1123 -1670 --47.4166665 -47.2499995 -29.2500005 -29.0833335 0 -1392 -1670 --47.2500005 -47.0833335 -29.2500005 -29.0833335 0 -1640 -1670 --47.0833335 -46.9166665 -29.2500005 -29.0833335 0 -1733 -1670 --46.9166665 -46.7499995 -29.2500005 -29.0833335 0 -1894 -1670 --46.7500005 -46.5833335 -29.2500005 -29.0833335 0 -2150 -1670 --46.5833335 -46.4166665 -29.2500005 -29.0833335 0 -2228 -1670 --46.4166665 -46.2499995 -29.2500005 -29.0833335 0 -2404 -1670 --46.2500005 -46.0833335 -29.2500005 -29.0833335 0 -2487 -1670 --46.0833335 -45.9166665 -29.2500005 -29.0833335 0 -2638 -1670 --45.9166665 -45.7499995 -29.2500005 -29.0833335 0 -2740 -1670 --45.7500005 -45.5833335 -29.2500005 -29.0833335 0 -2963 -1670 --45.5833335 -45.4166665 -29.2500005 -29.0833335 0 -3323 -1670 --45.4166665 -45.2499995 -29.2500005 -29.0833335 0 -3465 -1670 --45.2500005 -45.0833335 -29.2500005 -29.0833335 0 -3563 -1670 --45.0833335 -44.9166665 -29.2500005 -29.0833335 0 -3646 -1670 --44.9166665 -44.7499995 -29.2500005 -29.0833335 0 -3631 -1670 --44.7500005 -44.5833335 -29.2500005 -29.0833335 0 -3664 -1670 --44.5833335 -44.4166665 -29.2500005 -29.0833335 0 -3690 -1670 --44.4166665 -44.2499995 -29.2500005 -29.0833335 0 -3732 -1670 --44.2500005 -44.0833335 -29.2500005 -29.0833335 0 -3768 -1670 --44.0833335 -43.9166665 -29.2500005 -29.0833335 0 -3820 -1670 --43.9166665 -43.7499995 -29.2500005 -29.0833335 0 -3867 -1670 --43.7500005 -43.5833335 -29.2500005 -29.0833335 0 -3900 -1670 --43.5833335 -43.4166665 -29.2500005 -29.0833335 0 -3974 -1670 --43.4166665 -43.2499995 -29.2500005 -29.0833335 0 -4057 -1670 --43.2500005 -43.0833335 -29.2500005 -29.0833335 0 -4019 -1670 --43.0833335 -42.9166665 -29.2500005 -29.0833335 0 -4019 -1670 --42.9166665 -42.7499995 -29.2500005 -29.0833335 0 -4013 -1670 --42.7500005 -42.5833335 -29.2500005 -29.0833335 0 -4019 -1670 --42.5833335 -42.4166665 -29.2500005 -29.0833335 0 -4019 -1670 --42.4166665 -42.2499995 -29.2500005 -29.0833335 0 -4010 -1670 --42.2500005 -42.0833335 -29.2500005 -29.0833335 0 -3925 -1670 --42.0833335 -41.9166665 -29.2500005 -29.0833335 0 -3888 -1670 --41.9166665 -41.7499995 -29.2500005 -29.0833335 0 -4085 -1670 --41.7500005 -41.5833335 -29.2500005 -29.0833335 0 -3806 -1670 --41.5833335 -41.4166665 -29.2500005 -29.0833335 0 -3795 -1670 --41.4166665 -41.2499995 -29.2500005 -29.0833335 0 -3754 -1670 --41.2500005 -41.0833335 -29.2500005 -29.0833335 0 -3812 -1670 --41.0833335 -40.9166665 -29.2500005 -29.0833335 0 -3788 -1670 --40.9166665 -40.7499995 -29.2500005 -29.0833335 0 -3712 -1670 --40.7500005 -40.5833335 -29.2500005 -29.0833335 0 -3754 -1670 --40.5833335 -40.4166665 -29.2500005 -29.0833335 0 -3744 -1670 --40.4166665 -40.2499995 -29.2500005 -29.0833335 0 -3934 -1670 --40.2500005 -40.0833335 -29.2500005 -29.0833335 0 -3826 -1670 --40.0833335 -39.9166665 -29.2500005 -29.0833335 0 -3901 -1670 --65.0833335 -64.9166665 -29.4166665 -29.2499995 206 0 2670 --64.9166665 -64.7499995 -29.4166665 -29.2499995 233 0 2670 --64.7500005 -64.5833335 -29.4166665 -29.2499995 134 0 2670 --64.5833335 -64.4166665 -29.4166665 -29.2499995 119 0 2670 --64.4166665 -64.2499995 -29.4166665 -29.2499995 115 0 2670 --64.2500005 -64.0833335 -29.4166665 -29.2499995 172 0 2670 --64.0833335 -63.9166665 -29.4166665 -29.2499995 349 0 2670 --63.9166665 -63.7499995 -29.4166665 -29.2499995 399 0 2670 --63.7500005 -63.5833335 -29.4166665 -29.2499995 434 0 2670 --63.5833335 -63.4166665 -29.4166665 -29.2499995 257 0 2670 --63.4166665 -63.2499995 -29.4166665 -29.2499995 93 0 2670 --63.2500005 -63.0833335 -29.4166665 -29.2499995 90 0 2670 --63.0833335 -62.9166665 -29.4166665 -29.2499995 88 0 2670 --62.9166665 -62.7499995 -29.4166665 -29.2499995 88 0 2670 --62.7500005 -62.5833335 -29.4166665 -29.2499995 84 0 2670 --62.5833335 -62.4166665 -29.4166665 -29.2499995 83 0 2670 --62.4166665 -62.2499995 -29.4166665 -29.2499995 83 0 2670 --62.2500005 -62.0833335 -29.4166665 -29.2499995 81 0 2670 --62.0833335 -61.9166665 -29.4166665 -29.2499995 76 0 2670 --61.9166665 -61.7499995 -29.4166665 -29.2499995 74 0 2670 --61.7500005 -61.5833335 -29.4166665 -29.2499995 73 0 2670 --61.5833335 -61.4166665 -29.4166665 -29.2499995 71 0 2670 --61.4166665 -61.2499995 -29.4166665 -29.2499995 67 0 2670 --61.2500005 -61.0833335 -29.4166665 -29.2499995 65 0 2670 --61.0833335 -60.9166665 -29.4166665 -29.2499995 61 0 2670 --60.9166665 -60.7499995 -29.4166665 -29.2499995 58 0 2670 --60.7500005 -60.5833335 -29.4166665 -29.2499995 55 0 2670 --60.5833335 -60.4166665 -29.4166665 -29.2499995 54 0 2670 --60.4166665 -60.2499995 -29.4166665 -29.2499995 60 0 2670 --60.2500005 -60.0833335 -29.4166665 -29.2499995 58 0 2670 --60.0833335 -59.9166665 -29.4166665 -29.2499995 58 0 2670 --59.9166665 -59.7499995 -29.4166665 -29.2499995 50 0 2670 --59.7500005 -59.5833335 -29.4166665 -29.2499995 36 0 2670 --59.5833335 -59.4166665 -29.4166665 -29.2499995 33 0 2670 --59.4166665 -59.2499995 -29.4166665 -29.2499995 37 0 2670 --59.2500005 -59.0833335 -29.4166665 -29.2499995 59 0 2670 --59.0833335 -58.9166665 -29.4166665 -29.2499995 49 0 2670 --58.9166665 -58.7499995 -29.4166665 -29.2499995 43 0 2670 --58.7500005 -58.5833335 -29.4166665 -29.2499995 46 0 2670 --58.5833335 -58.4166665 -29.4166665 -29.2499995 73 0 2670 --58.4166665 -58.2499995 -29.4166665 -29.2499995 92 0 2670 --58.2500005 -58.0833335 -29.4166665 -29.2499995 114 0 2670 --58.0833335 -57.9166665 -29.4166665 -29.2499995 115 0 2670 --57.9166665 -57.7499995 -29.4166665 -29.2499995 90 0 2670 --57.7500005 -57.5833335 -29.4166665 -29.2499995 85 0 2670 --57.5833335 -57.4166665 -29.4166665 -29.2499995 65 0 2670 --57.4166665 -57.2499995 -29.4166665 -29.2499995 69 0 2670 --57.2500005 -57.0833335 -29.4166665 -29.2499995 70 0 2670 --57.0833335 -56.9166665 -29.4166665 -29.2499995 70 0 2670 --56.9166665 -56.7499995 -29.4166665 -29.2499995 61 0 2670 --56.7500005 -56.5833335 -29.4166665 -29.2499995 50 0 2670 --56.5833335 -56.4166665 -29.4166665 -29.2499995 59 0 2670 --56.4166665 -56.2499995 -29.4166665 -29.2499995 64 0 2670 --56.2500005 -56.0833335 -29.4166665 -29.2499995 58 0 2670 --56.0833335 -55.9166665 -29.4166665 -29.2499995 62 0 2670 --55.9166665 -55.7499995 -29.4166665 -29.2499995 82 0 2670 --55.7500005 -55.5833335 -29.4166665 -29.2499995 105 0 2670 --55.5833335 -55.4166665 -29.4166665 -29.2499995 159 0 2670 --55.4166665 -55.2499995 -29.4166665 -29.2499995 180 0 2670 --55.2500005 -55.0833335 -29.4166665 -29.2499995 229 0 2670 --55.0833335 -54.9166665 -29.4166665 -29.2499995 412 0 2670 --54.9166665 -54.7499995 -29.4166665 -29.2499995 272 0 2670 --54.7500005 -54.5833335 -29.4166665 -29.2499995 263 0 2670 --54.5833335 -54.4166665 -29.4166665 -29.2499995 192 0 2670 --54.4166665 -54.2499995 -29.4166665 -29.2499995 374 0 2670 --54.2500005 -54.0833335 -29.4166665 -29.2499995 316 0 2670 --54.0833335 -53.9166665 -29.4166665 -29.2499995 336 0 2670 --53.9166665 -53.7499995 -29.4166665 -29.2499995 419 0 2670 --53.7500005 -53.5833335 -29.4166665 -29.2499995 451 0 2670 --53.5833335 -53.4166665 -29.4166665 -29.2499995 385 0 2670 --53.4166665 -53.2499995 -29.4166665 -29.2499995 430 0 2670 --53.2500005 -53.0833335 -29.4166665 -29.2499995 168 0 2670 --53.0833335 -52.9166665 -29.4166665 -29.2499995 371 0 2670 --52.9166665 -52.7499995 -29.4166665 -29.2499995 506 0 2670 --52.7500005 -52.5833335 -29.4166665 -29.2499995 555 0 2670 --52.5833335 -52.4166665 -29.4166665 -29.2499995 618 0 2670 --52.4166665 -52.2499995 -29.4166665 -29.2499995 571 0 2670 --52.2500005 -52.0833335 -29.4166665 -29.2499995 165 0 2670 --52.0833335 -51.9166665 -29.4166665 -29.2499995 337 0 2670 --51.9166665 -51.7499995 -29.4166665 -29.2499995 374 0 2670 --51.7500005 -51.5833335 -29.4166665 -29.2499995 519 0 2670 --51.5833335 -51.4166665 -29.4166665 -29.2499995 683 0 2670 --51.4166665 -51.2499995 -29.4166665 -29.2499995 554 0 2670 --51.2500005 -51.0833335 -29.4166665 -29.2499995 116 0 2670 --51.0833335 -50.9166665 -29.4166665 -29.2499995 455 0 2670 --50.9166665 -50.7499995 -29.4166665 -29.2499995 799 0 2670 --50.7500005 -50.5833335 -29.4166665 -29.2499995 840 0 2670 --50.5833335 -50.4166665 -29.4166665 -29.2499995 892 0 2670 --50.4166665 -50.2499995 -29.4166665 -29.2499995 920 0 2670 --50.2500005 -50.0833335 -29.4166665 -29.2499995 921 0 2670 --50.0833335 -49.9166665 -29.4166665 -29.2499995 508 0 2670 --49.9166665 -49.7499995 -29.4166665 -29.2499995 12 0 2670 --49.7500005 -49.5833335 -29.4166665 -29.2499995 0 -22 -1670 --49.5833335 -49.4166665 -29.4166665 -29.2499995 0 -27 -1670 --49.4166665 -49.2499995 -29.4166665 -29.2499995 0 -44 -1670 --49.2500005 -49.0833335 -29.4166665 -29.2499995 0 -51 -1670 --49.0833335 -48.9166665 -29.4166665 -29.2499995 0 -68 -1670 --48.9166665 -48.7499995 -29.4166665 -29.2499995 0 -94 -1670 --48.7500005 -48.5833335 -29.4166665 -29.2499995 0 -114 -1670 --48.5833335 -48.4166665 -29.4166665 -29.2499995 0 -129 -1670 --48.4166665 -48.2499995 -29.4166665 -29.2499995 0 -131 -1670 --48.2500005 -48.0833335 -29.4166665 -29.2499995 0 -185 -1670 --48.0833335 -47.9166665 -29.4166665 -29.2499995 0 -330 -1670 --47.9166665 -47.7499995 -29.4166665 -29.2499995 0 -523 -1670 --47.7500005 -47.5833335 -29.4166665 -29.2499995 0 -928 -1670 --47.5833335 -47.4166665 -29.4166665 -29.2499995 0 -1207 -1670 --47.4166665 -47.2499995 -29.4166665 -29.2499995 0 -1472 -1670 --47.2500005 -47.0833335 -29.4166665 -29.2499995 0 -1833 -1670 --47.0833335 -46.9166665 -29.4166665 -29.2499995 0 -1870 -1670 --46.9166665 -46.7499995 -29.4166665 -29.2499995 0 -1991 -1670 --46.7500005 -46.5833335 -29.4166665 -29.2499995 0 -2156 -1670 --46.5833335 -46.4166665 -29.4166665 -29.2499995 0 -2340 -1670 --46.4166665 -46.2499995 -29.4166665 -29.2499995 0 -2365 -1670 --46.2500005 -46.0833335 -29.4166665 -29.2499995 0 -2476 -1670 --46.0833335 -45.9166665 -29.4166665 -29.2499995 0 -2556 -1670 --45.9166665 -45.7499995 -29.4166665 -29.2499995 0 -2769 -1670 --45.7500005 -45.5833335 -29.4166665 -29.2499995 0 -3079 -1670 --45.5833335 -45.4166665 -29.4166665 -29.2499995 0 -3410 -1670 --45.4166665 -45.2499995 -29.4166665 -29.2499995 0 -3516 -1670 --45.2500005 -45.0833335 -29.4166665 -29.2499995 0 -3586 -1670 --45.0833335 -44.9166665 -29.4166665 -29.2499995 0 -3618 -1670 --44.9166665 -44.7499995 -29.4166665 -29.2499995 0 -3648 -1670 --44.7500005 -44.5833335 -29.4166665 -29.2499995 0 -3679 -1670 --44.5833335 -44.4166665 -29.4166665 -29.2499995 0 -3720 -1670 --44.4166665 -44.2499995 -29.4166665 -29.2499995 0 -3679 -1670 --44.2500005 -44.0833335 -29.4166665 -29.2499995 0 -3741 -1670 --44.0833335 -43.9166665 -29.4166665 -29.2499995 0 -3836 -1670 --43.9166665 -43.7499995 -29.4166665 -29.2499995 0 -3847 -1670 --43.7500005 -43.5833335 -29.4166665 -29.2499995 0 -3905 -1670 --43.5833335 -43.4166665 -29.4166665 -29.2499995 0 -3945 -1670 --43.4166665 -43.2499995 -29.4166665 -29.2499995 0 -3999 -1670 --43.2500005 -43.0833335 -29.4166665 -29.2499995 0 -4022 -1670 --43.0833335 -42.9166665 -29.4166665 -29.2499995 0 -4032 -1670 --42.9166665 -42.7499995 -29.4166665 -29.2499995 0 -4044 -1670 --42.7500005 -42.5833335 -29.4166665 -29.2499995 0 -3998 -1670 --42.5833335 -42.4166665 -29.4166665 -29.2499995 0 -3965 -1670 --42.4166665 -42.2499995 -29.4166665 -29.2499995 0 -4008 -1670 --42.2500005 -42.0833335 -29.4166665 -29.2499995 0 -3971 -1670 --42.0833335 -41.9166665 -29.4166665 -29.2499995 0 -3893 -1670 --41.9166665 -41.7499995 -29.4166665 -29.2499995 0 -4137 -1670 --41.7500005 -41.5833335 -29.4166665 -29.2499995 0 -3812 -1670 --41.5833335 -41.4166665 -29.4166665 -29.2499995 0 -3801 -1670 --41.4166665 -41.2499995 -29.4166665 -29.2499995 0 -3700 -1670 --41.2500005 -41.0833335 -29.4166665 -29.2499995 0 -3775 -1670 --41.0833335 -40.9166665 -29.4166665 -29.2499995 0 -3710 -1670 --40.9166665 -40.7499995 -29.4166665 -29.2499995 0 -3825 -1670 --40.7500005 -40.5833335 -29.4166665 -29.2499995 0 -3735 -1670 --40.5833335 -40.4166665 -29.4166665 -29.2499995 0 -3766 -1670 --40.4166665 -40.2499995 -29.4166665 -29.2499995 0 -3887 -1670 --40.2500005 -40.0833335 -29.4166665 -29.2499995 0 -4170 -1670 --40.0833335 -39.9166665 -29.4166665 -29.2499995 0 -3981 -1670 --65.0833335 -64.9166665 -29.5833335 -29.4166665 187 0 2670 --64.9166665 -64.7499995 -29.5833335 -29.4166665 180 0 2670 --64.7500005 -64.5833335 -29.5833335 -29.4166665 153 0 2670 --64.5833335 -64.4166665 -29.5833335 -29.4166665 119 0 2670 --64.4166665 -64.2499995 -29.5833335 -29.4166665 123 0 2670 --64.2500005 -64.0833335 -29.5833335 -29.4166665 271 0 2670 --64.0833335 -63.9166665 -29.5833335 -29.4166665 443 0 2670 --63.9166665 -63.7499995 -29.5833335 -29.4166665 533 0 2670 --63.7500005 -63.5833335 -29.5833335 -29.4166665 504 0 2670 --63.5833335 -63.4166665 -29.5833335 -29.4166665 284 0 2670 --63.4166665 -63.2499995 -29.5833335 -29.4166665 130 0 2670 --63.2500005 -63.0833335 -29.5833335 -29.4166665 87 0 2670 --63.0833335 -62.9166665 -29.5833335 -29.4166665 84 0 2670 --62.9166665 -62.7499995 -29.5833335 -29.4166665 81 0 2670 --62.7500005 -62.5833335 -29.5833335 -29.4166665 83 0 2670 --62.5833335 -62.4166665 -29.5833335 -29.4166665 81 0 2670 --62.4166665 -62.2499995 -29.5833335 -29.4166665 79 0 2670 --62.2500005 -62.0833335 -29.5833335 -29.4166665 78 0 2670 --62.0833335 -61.9166665 -29.5833335 -29.4166665 75 0 2670 --61.9166665 -61.7499995 -29.5833335 -29.4166665 82 0 2670 --61.7500005 -61.5833335 -29.5833335 -29.4166665 69 0 2670 --61.5833335 -61.4166665 -29.5833335 -29.4166665 68 0 2670 --61.4166665 -61.2499995 -29.5833335 -29.4166665 65 0 2670 --61.2500005 -61.0833335 -29.5833335 -29.4166665 62 0 2670 --61.0833335 -60.9166665 -29.5833335 -29.4166665 59 0 2670 --60.9166665 -60.7499995 -29.5833335 -29.4166665 57 0 2670 --60.7500005 -60.5833335 -29.5833335 -29.4166665 53 0 2670 --60.5833335 -60.4166665 -29.5833335 -29.4166665 56 0 2670 --60.4166665 -60.2499995 -29.5833335 -29.4166665 61 0 2670 --60.2500005 -60.0833335 -29.5833335 -29.4166665 59 0 2670 --60.0833335 -59.9166665 -29.5833335 -29.4166665 57 0 2670 --59.9166665 -59.7499995 -29.5833335 -29.4166665 43 0 2670 --59.7500005 -59.5833335 -29.5833335 -29.4166665 30 0 2670 --59.5833335 -59.4166665 -29.5833335 -29.4166665 30 0 2670 --59.4166665 -59.2499995 -29.5833335 -29.4166665 36 0 2670 --59.2500005 -59.0833335 -29.5833335 -29.4166665 43 0 2670 --59.0833335 -58.9166665 -29.5833335 -29.4166665 44 0 2670 --58.9166665 -58.7499995 -29.5833335 -29.4166665 43 0 2670 --58.7500005 -58.5833335 -29.5833335 -29.4166665 67 0 2670 --58.5833335 -58.4166665 -29.5833335 -29.4166665 77 0 2670 --58.4166665 -58.2499995 -29.5833335 -29.4166665 83 0 2670 --58.2500005 -58.0833335 -29.5833335 -29.4166665 109 0 2670 --58.0833335 -57.9166665 -29.5833335 -29.4166665 70 0 2670 --57.9166665 -57.7499995 -29.5833335 -29.4166665 71 0 2670 --57.7500005 -57.5833335 -29.5833335 -29.4166665 73 0 2670 --57.5833335 -57.4166665 -29.5833335 -29.4166665 53 0 2670 --57.4166665 -57.2499995 -29.5833335 -29.4166665 65 0 2670 --57.2500005 -57.0833335 -29.5833335 -29.4166665 72 0 2670 --57.0833335 -56.9166665 -29.5833335 -29.4166665 68 0 2670 --56.9166665 -56.7499995 -29.5833335 -29.4166665 47 0 2670 --56.7500005 -56.5833335 -29.5833335 -29.4166665 81 0 2670 --56.5833335 -56.4166665 -29.5833335 -29.4166665 62 0 2670 --56.4166665 -56.2499995 -29.5833335 -29.4166665 67 0 2670 --56.2500005 -56.0833335 -29.5833335 -29.4166665 89 0 2670 --56.0833335 -55.9166665 -29.5833335 -29.4166665 91 0 2670 --55.9166665 -55.7499995 -29.5833335 -29.4166665 119 0 2670 --55.7500005 -55.5833335 -29.5833335 -29.4166665 67 0 2670 --55.5833335 -55.4166665 -29.5833335 -29.4166665 156 0 2670 --55.4166665 -55.2499995 -29.5833335 -29.4166665 128 0 2670 --55.2500005 -55.0833335 -29.5833335 -29.4166665 104 0 2670 --55.0833335 -54.9166665 -29.5833335 -29.4166665 261 0 2670 --54.9166665 -54.7499995 -29.5833335 -29.4166665 131 0 2670 --54.7500005 -54.5833335 -29.5833335 -29.4166665 118 0 2670 --54.5833335 -54.4166665 -29.5833335 -29.4166665 292 0 2670 --54.4166665 -54.2499995 -29.5833335 -29.4166665 208 0 2670 --54.2500005 -54.0833335 -29.5833335 -29.4166665 263 0 2670 --54.0833335 -53.9166665 -29.5833335 -29.4166665 339 0 2670 --53.9166665 -53.7499995 -29.5833335 -29.4166665 479 0 2670 --53.7500005 -53.5833335 -29.5833335 -29.4166665 491 0 2670 --53.5833335 -53.4166665 -29.5833335 -29.4166665 288 0 2670 --53.4166665 -53.2499995 -29.5833335 -29.4166665 236 0 2670 --53.2500005 -53.0833335 -29.5833335 -29.4166665 251 0 2670 --53.0833335 -52.9166665 -29.5833335 -29.4166665 569 0 2670 --52.9166665 -52.7499995 -29.5833335 -29.4166665 440 0 2670 --52.7500005 -52.5833335 -29.5833335 -29.4166665 524 0 2670 --52.5833335 -52.4166665 -29.5833335 -29.4166665 270 0 2670 --52.4166665 -52.2499995 -29.5833335 -29.4166665 260 0 2670 --52.2500005 -52.0833335 -29.5833335 -29.4166665 144 0 2670 --52.0833335 -51.9166665 -29.5833335 -29.4166665 61 0 2670 --51.9166665 -51.7499995 -29.5833335 -29.4166665 84 0 2670 --51.7500005 -51.5833335 -29.5833335 -29.4166665 458 0 2670 --51.5833335 -51.4166665 -29.5833335 -29.4166665 373 0 2670 --51.4166665 -51.2499995 -29.5833335 -29.4166665 33 0 2670 --51.2500005 -51.0833335 -29.5833335 -29.4166665 157 0 2670 --51.0833335 -50.9166665 -29.5833335 -29.4166665 466 0 2670 --50.9166665 -50.7499995 -29.5833335 -29.4166665 361 0 2670 --50.7500005 -50.5833335 -29.5833335 -29.4166665 292 0 2670 --50.5833335 -50.4166665 -29.5833335 -29.4166665 667 0 2670 --50.4166665 -50.2499995 -29.5833335 -29.4166665 855 0 2670 --50.2500005 -50.0833335 -29.5833335 -29.4166665 437 0 2670 --50.0833335 -49.9166665 -29.5833335 -29.4166665 252 0 2670 --49.9166665 -49.7499995 -29.5833335 -29.4166665 0 -8 -1670 --49.7500005 -49.5833335 -29.5833335 -29.4166665 0 -33 -1670 --49.5833335 -49.4166665 -29.5833335 -29.4166665 0 -41 -1670 --49.4166665 -49.2499995 -29.5833335 -29.4166665 0 -51 -1670 --49.2500005 -49.0833335 -29.5833335 -29.4166665 0 -53 -1670 --49.0833335 -48.9166665 -29.5833335 -29.4166665 0 -86 -1670 --48.9166665 -48.7499995 -29.5833335 -29.4166665 0 -96 -1670 --48.7500005 -48.5833335 -29.5833335 -29.4166665 0 -124 -1670 --48.5833335 -48.4166665 -29.5833335 -29.4166665 0 -125 -1670 --48.4166665 -48.2499995 -29.5833335 -29.4166665 0 -151 -1670 --48.2500005 -48.0833335 -29.5833335 -29.4166665 0 -205 -1670 --48.0833335 -47.9166665 -29.5833335 -29.4166665 0 -359 -1670 --47.9166665 -47.7499995 -29.5833335 -29.4166665 0 -556 -1670 --47.7500005 -47.5833335 -29.5833335 -29.4166665 0 -948 -1670 --47.5833335 -47.4166665 -29.5833335 -29.4166665 0 -1230 -1670 --47.4166665 -47.2499995 -29.5833335 -29.4166665 0 -1539 -1670 --47.2500005 -47.0833335 -29.5833335 -29.4166665 0 -1840 -1670 --47.0833335 -46.9166665 -29.5833335 -29.4166665 0 -1956 -1670 --46.9166665 -46.7499995 -29.5833335 -29.4166665 0 -2085 -1670 --46.7500005 -46.5833335 -29.5833335 -29.4166665 0 -2198 -1670 --46.5833335 -46.4166665 -29.5833335 -29.4166665 0 -2361 -1670 --46.4166665 -46.2499995 -29.5833335 -29.4166665 0 -2432 -1670 --46.2500005 -46.0833335 -29.5833335 -29.4166665 0 -2402 -1670 --46.0833335 -45.9166665 -29.5833335 -29.4166665 0 -2650 -1670 --45.9166665 -45.7499995 -29.5833335 -29.4166665 0 -2795 -1670 --45.7500005 -45.5833335 -29.5833335 -29.4166665 0 -3280 -1670 --45.5833335 -45.4166665 -29.5833335 -29.4166665 0 -3470 -1670 --45.4166665 -45.2499995 -29.5833335 -29.4166665 0 -3526 -1670 --45.2500005 -45.0833335 -29.5833335 -29.4166665 0 -3566 -1670 --45.0833335 -44.9166665 -29.5833335 -29.4166665 0 -3604 -1670 --44.9166665 -44.7499995 -29.5833335 -29.4166665 0 -3650 -1670 --44.7500005 -44.5833335 -29.5833335 -29.4166665 0 -3644 -1670 --44.5833335 -44.4166665 -29.5833335 -29.4166665 0 -3629 -1670 --44.4166665 -44.2499995 -29.5833335 -29.4166665 0 -3644 -1670 --44.2500005 -44.0833335 -29.5833335 -29.4166665 0 -3731 -1670 --44.0833335 -43.9166665 -29.5833335 -29.4166665 0 -3791 -1670 --43.9166665 -43.7499995 -29.5833335 -29.4166665 0 -3822 -1670 --43.7500005 -43.5833335 -29.5833335 -29.4166665 0 -3869 -1670 --43.5833335 -43.4166665 -29.5833335 -29.4166665 0 -3949 -1670 --43.4166665 -43.2499995 -29.5833335 -29.4166665 0 -4004 -1670 --43.2500005 -43.0833335 -29.5833335 -29.4166665 0 -4123 -1670 --43.0833335 -42.9166665 -29.5833335 -29.4166665 0 -4002 -1670 --42.9166665 -42.7499995 -29.5833335 -29.4166665 0 -4026 -1670 --42.7500005 -42.5833335 -29.5833335 -29.4166665 0 -4027 -1670 --42.5833335 -42.4166665 -29.5833335 -29.4166665 0 -4012 -1670 --42.4166665 -42.2499995 -29.5833335 -29.4166665 0 -4019 -1670 --42.2500005 -42.0833335 -29.5833335 -29.4166665 0 -3962 -1670 --42.0833335 -41.9166665 -29.5833335 -29.4166665 0 -3957 -1670 --41.9166665 -41.7499995 -29.5833335 -29.4166665 0 -4001 -1670 --41.7500005 -41.5833335 -29.5833335 -29.4166665 0 -3775 -1670 --41.5833335 -41.4166665 -29.5833335 -29.4166665 0 -3737 -1670 --41.4166665 -41.2499995 -29.5833335 -29.4166665 0 -3777 -1670 --41.2500005 -41.0833335 -29.5833335 -29.4166665 0 -3949 -1670 --41.0833335 -40.9166665 -29.5833335 -29.4166665 0 -3977 -1670 --40.9166665 -40.7499995 -29.5833335 -29.4166665 0 -4040 -1670 --40.7500005 -40.5833335 -29.5833335 -29.4166665 0 -3800 -1670 --40.5833335 -40.4166665 -29.5833335 -29.4166665 0 -4014 -1670 --40.4166665 -40.2499995 -29.5833335 -29.4166665 0 -4121 -1670 --40.2500005 -40.0833335 -29.5833335 -29.4166665 0 -3714 -1670 --40.0833335 -39.9166665 -29.5833335 -29.4166665 0 -3696 -1670 --65.0833335 -64.9166665 -29.7500005 -29.5833335 181 0 2670 --64.9166665 -64.7499995 -29.7500005 -29.5833335 180 0 2670 --64.7500005 -64.5833335 -29.7500005 -29.5833335 194 0 2670 --64.5833335 -64.4166665 -29.7500005 -29.5833335 126 0 2670 --64.4166665 -64.2499995 -29.7500005 -29.5833335 179 0 2670 --64.2500005 -64.0833335 -29.7500005 -29.5833335 404 0 2670 --64.0833335 -63.9166665 -29.7500005 -29.5833335 618 0 2670 --63.9166665 -63.7499995 -29.7500005 -29.5833335 632 0 2670 --63.7500005 -63.5833335 -29.7500005 -29.5833335 514 0 2670 --63.5833335 -63.4166665 -29.7500005 -29.5833335 253 0 2670 --63.4166665 -63.2499995 -29.7500005 -29.5833335 100 0 2670 --63.2500005 -63.0833335 -29.7500005 -29.5833335 83 0 2670 --63.0833335 -62.9166665 -29.7500005 -29.5833335 81 0 2670 --62.9166665 -62.7499995 -29.7500005 -29.5833335 80 0 2670 --62.7500005 -62.5833335 -29.7500005 -29.5833335 79 0 2670 --62.5833335 -62.4166665 -29.7500005 -29.5833335 77 0 2670 --62.4166665 -62.2499995 -29.7500005 -29.5833335 75 0 2670 --62.2500005 -62.0833335 -29.7500005 -29.5833335 78 0 2670 --62.0833335 -61.9166665 -29.7500005 -29.5833335 84 0 2670 --61.9166665 -61.7499995 -29.7500005 -29.5833335 84 0 2670 --61.7500005 -61.5833335 -29.7500005 -29.5833335 70 0 2670 --61.5833335 -61.4166665 -29.7500005 -29.5833335 64 0 2670 --61.4166665 -61.2499995 -29.7500005 -29.5833335 63 0 2670 --61.2500005 -61.0833335 -29.7500005 -29.5833335 60 0 2670 --61.0833335 -60.9166665 -29.7500005 -29.5833335 58 0 2670 --60.9166665 -60.7499995 -29.7500005 -29.5833335 55 0 2670 --60.7500005 -60.5833335 -29.7500005 -29.5833335 55 0 2670 --60.5833335 -60.4166665 -29.7500005 -29.5833335 60 0 2670 --60.4166665 -60.2499995 -29.7500005 -29.5833335 59 0 2670 --60.2500005 -60.0833335 -29.7500005 -29.5833335 63 0 2670 --60.0833335 -59.9166665 -29.7500005 -29.5833335 42 0 2670 --59.9166665 -59.7499995 -29.7500005 -29.5833335 34 0 2670 --59.7500005 -59.5833335 -29.7500005 -29.5833335 31 0 2670 --59.5833335 -59.4166665 -29.7500005 -29.5833335 29 0 2670 --59.4166665 -59.2499995 -29.7500005 -29.5833335 39 0 2670 --59.2500005 -59.0833335 -29.7500005 -29.5833335 41 0 2670 --59.0833335 -58.9166665 -29.7500005 -29.5833335 44 0 2670 --58.9166665 -58.7499995 -29.7500005 -29.5833335 42 0 2670 --58.7500005 -58.5833335 -29.7500005 -29.5833335 60 0 2670 --58.5833335 -58.4166665 -29.7500005 -29.5833335 79 0 2670 --58.4166665 -58.2499995 -29.7500005 -29.5833335 86 0 2670 --58.2500005 -58.0833335 -29.7500005 -29.5833335 95 0 2670 --58.0833335 -57.9166665 -29.7500005 -29.5833335 81 0 2670 --57.9166665 -57.7499995 -29.7500005 -29.5833335 56 0 2670 --57.7500005 -57.5833335 -29.7500005 -29.5833335 67 0 2670 --57.5833335 -57.4166665 -29.7500005 -29.5833335 68 0 2670 --57.4166665 -57.2499995 -29.7500005 -29.5833335 76 0 2670 --57.2500005 -57.0833335 -29.7500005 -29.5833335 66 0 2670 --57.0833335 -56.9166665 -29.7500005 -29.5833335 48 0 2670 --56.9166665 -56.7499995 -29.7500005 -29.5833335 62 0 2670 --56.7500005 -56.5833335 -29.7500005 -29.5833335 81 0 2670 --56.5833335 -56.4166665 -29.7500005 -29.5833335 104 0 2670 --56.4166665 -56.2499995 -29.7500005 -29.5833335 71 0 2670 --56.2500005 -56.0833335 -29.7500005 -29.5833335 88 0 2670 --56.0833335 -55.9166665 -29.7500005 -29.5833335 120 0 2670 --55.9166665 -55.7499995 -29.7500005 -29.5833335 84 0 2670 --55.7500005 -55.5833335 -29.7500005 -29.5833335 124 0 2670 --55.5833335 -55.4166665 -29.7500005 -29.5833335 120 0 2670 --55.4166665 -55.2499995 -29.7500005 -29.5833335 119 0 2670 --55.2500005 -55.0833335 -29.7500005 -29.5833335 136 0 2670 --55.0833335 -54.9166665 -29.7500005 -29.5833335 93 0 2670 --54.9166665 -54.7499995 -29.7500005 -29.5833335 87 0 2670 --54.7500005 -54.5833335 -29.7500005 -29.5833335 112 0 2670 --54.5833335 -54.4166665 -29.7500005 -29.5833335 94 0 2670 --54.4166665 -54.2499995 -29.7500005 -29.5833335 127 0 2670 --54.2500005 -54.0833335 -29.7500005 -29.5833335 135 0 2670 --54.0833335 -53.9166665 -29.7500005 -29.5833335 149 0 2670 --53.9166665 -53.7499995 -29.7500005 -29.5833335 134 0 2670 --53.7500005 -53.5833335 -29.7500005 -29.5833335 83 0 2670 --53.5833335 -53.4166665 -29.7500005 -29.5833335 275 0 2670 --53.4166665 -53.2499995 -29.7500005 -29.5833335 38 0 2670 --53.2500005 -53.0833335 -29.7500005 -29.5833335 122 0 2670 --53.0833335 -52.9166665 -29.7500005 -29.5833335 328 0 2670 --52.9166665 -52.7499995 -29.7500005 -29.5833335 93 0 2670 --52.7500005 -52.5833335 -29.7500005 -29.5833335 73 0 2670 --52.5833335 -52.4166665 -29.7500005 -29.5833335 112 0 2670 --52.4166665 -52.2499995 -29.7500005 -29.5833335 56 0 2670 --52.2500005 -52.0833335 -29.7500005 -29.5833335 47 0 2670 --52.0833335 -51.9166665 -29.7500005 -29.5833335 16 0 2670 --51.9166665 -51.7499995 -29.7500005 -29.5833335 81 0 2670 --51.7500005 -51.5833335 -29.7500005 -29.5833335 74 0 2670 --51.5833335 -51.4166665 -29.7500005 -29.5833335 131 0 2670 --51.4166665 -51.2499995 -29.7500005 -29.5833335 69 0 2670 --51.2500005 -51.0833335 -29.7500005 -29.5833335 92 0 2670 --51.0833335 -50.9166665 -29.7500005 -29.5833335 30 0 2670 --50.9166665 -50.7499995 -29.7500005 -29.5833335 37 0 2670 --50.7500005 -50.5833335 -29.7500005 -29.5833335 34 0 2670 --50.5833335 -50.4166665 -29.7500005 -29.5833335 343 0 2670 --50.4166665 -50.2499995 -29.7500005 -29.5833335 809 0 2670 --50.2500005 -50.0833335 -29.7500005 -29.5833335 127 0 2670 --50.0833335 -49.9166665 -29.7500005 -29.5833335 7 0 2670 --49.9166665 -49.7499995 -29.7500005 -29.5833335 0 -34 -1670 --49.7500005 -49.5833335 -29.7500005 -29.5833335 0 -42 -1670 --49.5833335 -49.4166665 -29.7500005 -29.5833335 0 -48 -1670 --49.4166665 -49.2499995 -29.7500005 -29.5833335 0 -59 -1670 --49.2500005 -49.0833335 -29.7500005 -29.5833335 0 -83 -1670 --49.0833335 -48.9166665 -29.7500005 -29.5833335 0 -104 -1670 --48.9166665 -48.7499995 -29.7500005 -29.5833335 0 -121 -1670 --48.7500005 -48.5833335 -29.7500005 -29.5833335 0 -119 -1670 --48.5833335 -48.4166665 -29.7500005 -29.5833335 0 -145 -1670 --48.4166665 -48.2499995 -29.7500005 -29.5833335 0 -169 -1670 --48.2500005 -48.0833335 -29.7500005 -29.5833335 0 -247 -1670 --48.0833335 -47.9166665 -29.7500005 -29.5833335 0 -359 -1670 --47.9166665 -47.7499995 -29.7500005 -29.5833335 0 -493 -1670 --47.7500005 -47.5833335 -29.7500005 -29.5833335 0 -938 -1670 --47.5833335 -47.4166665 -29.7500005 -29.5833335 0 -1223 -1670 --47.4166665 -47.2499995 -29.7500005 -29.5833335 0 -1563 -1670 --47.2500005 -47.0833335 -29.7500005 -29.5833335 0 -1832 -1670 --47.0833335 -46.9166665 -29.7500005 -29.5833335 0 -2053 -1670 --46.9166665 -46.7499995 -29.7500005 -29.5833335 0 -2212 -1670 --46.7500005 -46.5833335 -29.7500005 -29.5833335 0 -2273 -1670 --46.5833335 -46.4166665 -29.7500005 -29.5833335 0 -2298 -1670 --46.4166665 -46.2499995 -29.7500005 -29.5833335 0 -2411 -1670 --46.2500005 -46.0833335 -29.7500005 -29.5833335 0 -2568 -1670 --46.0833335 -45.9166665 -29.7500005 -29.5833335 0 -2626 -1670 --45.9166665 -45.7499995 -29.7500005 -29.5833335 0 -3050 -1670 --45.7500005 -45.5833335 -29.7500005 -29.5833335 0 -3258 -1670 --45.5833335 -45.4166665 -29.7500005 -29.5833335 0 -3409 -1670 --45.4166665 -45.2499995 -29.7500005 -29.5833335 0 -3541 -1670 --45.2500005 -45.0833335 -29.7500005 -29.5833335 0 -3500 -1670 --45.0833335 -44.9166665 -29.7500005 -29.5833335 0 -3583 -1670 --44.9166665 -44.7499995 -29.7500005 -29.5833335 0 -3604 -1670 --44.7500005 -44.5833335 -29.7500005 -29.5833335 0 -3626 -1670 --44.5833335 -44.4166665 -29.7500005 -29.5833335 0 -3594 -1670 --44.4166665 -44.2499995 -29.7500005 -29.5833335 0 -3623 -1670 --44.2500005 -44.0833335 -29.7500005 -29.5833335 0 -3680 -1670 --44.0833335 -43.9166665 -29.7500005 -29.5833335 0 -3755 -1670 --43.9166665 -43.7499995 -29.7500005 -29.5833335 0 -3796 -1670 --43.7500005 -43.5833335 -29.7500005 -29.5833335 0 -3872 -1670 --43.5833335 -43.4166665 -29.7500005 -29.5833335 0 -3914 -1670 --43.4166665 -43.2499995 -29.7500005 -29.5833335 0 -4021 -1670 --43.2500005 -43.0833335 -29.7500005 -29.5833335 0 -4139 -1670 --43.0833335 -42.9166665 -29.7500005 -29.5833335 0 -4017 -1670 --42.9166665 -42.7499995 -29.7500005 -29.5833335 0 -4013 -1670 --42.7500005 -42.5833335 -29.7500005 -29.5833335 0 -4017 -1670 --42.5833335 -42.4166665 -29.7500005 -29.5833335 0 -4018 -1670 --42.4166665 -42.2499995 -29.7500005 -29.5833335 0 -4005 -1670 --42.2500005 -42.0833335 -29.7500005 -29.5833335 0 -3950 -1670 --42.0833335 -41.9166665 -29.7500005 -29.5833335 0 -3901 -1670 --41.9166665 -41.7499995 -29.7500005 -29.5833335 0 -3961 -1670 --41.7500005 -41.5833335 -29.7500005 -29.5833335 0 -3738 -1670 --41.5833335 -41.4166665 -29.7500005 -29.5833335 0 -3728 -1670 --41.4166665 -41.2499995 -29.7500005 -29.5833335 0 -3803 -1670 --41.2500005 -41.0833335 -29.7500005 -29.5833335 0 -3718 -1670 --41.0833335 -40.9166665 -29.7500005 -29.5833335 0 -3669 -1670 --40.9166665 -40.7499995 -29.7500005 -29.5833335 0 -3629 -1670 --40.7500005 -40.5833335 -29.7500005 -29.5833335 0 -3743 -1670 --40.5833335 -40.4166665 -29.7500005 -29.5833335 0 -4180 -1670 --40.4166665 -40.2499995 -29.7500005 -29.5833335 0 -3725 -1670 --40.2500005 -40.0833335 -29.7500005 -29.5833335 0 -3514 -1670 --40.0833335 -39.9166665 -29.7500005 -29.5833335 0 -3502 -1670 --65.0833335 -64.9166665 -29.9166665 -29.7499995 182 0 2670 --64.9166665 -64.7499995 -29.9166665 -29.7499995 178 0 2670 --64.7500005 -64.5833335 -29.9166665 -29.7499995 191 0 2670 --64.5833335 -64.4166665 -29.9166665 -29.7499995 233 0 2670 --64.4166665 -64.2499995 -29.9166665 -29.7499995 276 0 2670 --64.2500005 -64.0833335 -29.9166665 -29.7499995 726 0 2670 --64.0833335 -63.9166665 -29.9166665 -29.7499995 708 0 2670 --63.9166665 -63.7499995 -29.9166665 -29.7499995 614 0 2670 --63.7500005 -63.5833335 -29.9166665 -29.7499995 387 0 2670 --63.5833335 -63.4166665 -29.9166665 -29.7499995 196 0 2670 --63.4166665 -63.2499995 -29.9166665 -29.7499995 95 0 2670 --63.2500005 -63.0833335 -29.9166665 -29.7499995 79 0 2670 --63.0833335 -62.9166665 -29.9166665 -29.7499995 79 0 2670 --62.9166665 -62.7499995 -29.9166665 -29.7499995 78 0 2670 --62.7500005 -62.5833335 -29.9166665 -29.7499995 77 0 2670 --62.5833335 -62.4166665 -29.9166665 -29.7499995 74 0 2670 --62.4166665 -62.2499995 -29.9166665 -29.7499995 74 0 2670 --62.2500005 -62.0833335 -29.9166665 -29.7499995 94 0 2670 --62.0833335 -61.9166665 -29.9166665 -29.7499995 90 0 2670 --61.9166665 -61.7499995 -29.9166665 -29.7499995 82 0 2670 --61.7500005 -61.5833335 -29.9166665 -29.7499995 78 0 2670 --61.5833335 -61.4166665 -29.9166665 -29.7499995 68 0 2670 --61.4166665 -61.2499995 -29.9166665 -29.7499995 67 0 2670 --61.2500005 -61.0833335 -29.9166665 -29.7499995 63 0 2670 --61.0833335 -60.9166665 -29.9166665 -29.7499995 55 0 2670 --60.9166665 -60.7499995 -29.9166665 -29.7499995 56 0 2670 --60.7500005 -60.5833335 -29.9166665 -29.7499995 53 0 2670 --60.5833335 -60.4166665 -29.9166665 -29.7499995 55 0 2670 --60.4166665 -60.2499995 -29.9166665 -29.7499995 58 0 2670 --60.2500005 -60.0833335 -29.9166665 -29.7499995 58 0 2670 --60.0833335 -59.9166665 -29.9166665 -29.7499995 35 0 2670 --59.9166665 -59.7499995 -29.9166665 -29.7499995 34 0 2670 --59.7500005 -59.5833335 -29.9166665 -29.7499995 29 0 2670 --59.5833335 -59.4166665 -29.9166665 -29.7499995 28 0 2670 --59.4166665 -59.2499995 -29.9166665 -29.7499995 39 0 2670 --59.2500005 -59.0833335 -29.9166665 -29.7499995 42 0 2670 --59.0833335 -58.9166665 -29.9166665 -29.7499995 40 0 2670 --58.9166665 -58.7499995 -29.9166665 -29.7499995 50 0 2670 --58.7500005 -58.5833335 -29.9166665 -29.7499995 60 0 2670 --58.5833335 -58.4166665 -29.9166665 -29.7499995 74 0 2670 --58.4166665 -58.2499995 -29.9166665 -29.7499995 86 0 2670 --58.2500005 -58.0833335 -29.9166665 -29.7499995 92 0 2670 --58.0833335 -57.9166665 -29.9166665 -29.7499995 66 0 2670 --57.9166665 -57.7499995 -29.9166665 -29.7499995 67 0 2670 --57.7500005 -57.5833335 -29.9166665 -29.7499995 48 0 2670 --57.5833335 -57.4166665 -29.9166665 -29.7499995 62 0 2670 --57.4166665 -57.2499995 -29.9166665 -29.7499995 50 0 2670 --57.2500005 -57.0833335 -29.9166665 -29.7499995 52 0 2670 --57.0833335 -56.9166665 -29.9166665 -29.7499995 91 0 2670 --56.9166665 -56.7499995 -29.9166665 -29.7499995 155 0 2670 --56.7500005 -56.5833335 -29.9166665 -29.7499995 104 0 2670 --56.5833335 -56.4166665 -29.9166665 -29.7499995 119 0 2670 --56.4166665 -56.2499995 -29.9166665 -29.7499995 93 0 2670 --56.2500005 -56.0833335 -29.9166665 -29.7499995 129 0 2670 --56.0833335 -55.9166665 -29.9166665 -29.7499995 118 0 2670 --55.9166665 -55.7499995 -29.9166665 -29.7499995 106 0 2670 --55.7500005 -55.5833335 -29.9166665 -29.7499995 106 0 2670 --55.5833335 -55.4166665 -29.9166665 -29.7499995 104 0 2670 --55.4166665 -55.2499995 -29.9166665 -29.7499995 148 0 2670 --55.2500005 -55.0833335 -29.9166665 -29.7499995 97 0 2670 --55.0833335 -54.9166665 -29.9166665 -29.7499995 108 0 2670 --54.9166665 -54.7499995 -29.9166665 -29.7499995 85 0 2670 --54.7500005 -54.5833335 -29.9166665 -29.7499995 88 0 2670 --54.5833335 -54.4166665 -29.9166665 -29.7499995 131 0 2670 --54.4166665 -54.2499995 -29.9166665 -29.7499995 132 0 2670 --54.2500005 -54.0833335 -29.9166665 -29.7499995 88 0 2670 --54.0833335 -53.9166665 -29.9166665 -29.7499995 105 0 2670 --53.9166665 -53.7499995 -29.9166665 -29.7499995 80 0 2670 --53.7500005 -53.5833335 -29.9166665 -29.7499995 53 0 2670 --53.5833335 -53.4166665 -29.9166665 -29.7499995 89 0 2670 --53.4166665 -53.2499995 -29.9166665 -29.7499995 53 0 2670 --53.2500005 -53.0833335 -29.9166665 -29.7499995 62 0 2670 --53.0833335 -52.9166665 -29.9166665 -29.7499995 63 0 2670 --52.9166665 -52.7499995 -29.9166665 -29.7499995 80 0 2670 --52.7500005 -52.5833335 -29.9166665 -29.7499995 44 0 2670 --52.5833335 -52.4166665 -29.9166665 -29.7499995 39 0 2670 --52.4166665 -52.2499995 -29.9166665 -29.7499995 65 0 2670 --52.2500005 -52.0833335 -29.9166665 -29.7499995 53 0 2670 --52.0833335 -51.9166665 -29.9166665 -29.7499995 71 0 2670 --51.9166665 -51.7499995 -29.9166665 -29.7499995 11 0 2670 --51.7500005 -51.5833335 -29.9166665 -29.7499995 39 0 2670 --51.5833335 -51.4166665 -29.9166665 -29.7499995 70 0 2670 --51.4166665 -51.2499995 -29.9166665 -29.7499995 6 0 2670 --51.2500005 -51.0833335 -29.9166665 -29.7499995 18 0 2670 --51.0833335 -50.9166665 -29.9166665 -29.7499995 87 0 2670 --50.9166665 -50.7499995 -29.9166665 -29.7499995 81 0 2670 --50.7500005 -50.5833335 -29.9166665 -29.7499995 48 0 2670 --50.5833335 -50.4166665 -29.9166665 -29.7499995 62 0 2670 --50.4166665 -50.2499995 -29.9166665 -29.7499995 268 0 2670 --50.2500005 -50.0833335 -29.9166665 -29.7499995 2 0 2670 --50.0833335 -49.9166665 -29.9166665 -29.7499995 0 -28 -1670 --49.9166665 -49.7499995 -29.9166665 -29.7499995 0 -40 -1670 --49.7500005 -49.5833335 -29.9166665 -29.7499995 0 -47 -1670 --49.5833335 -49.4166665 -29.9166665 -29.7499995 0 -59 -1670 --49.4166665 -49.2499995 -29.9166665 -29.7499995 0 -79 -1670 --49.2500005 -49.0833335 -29.9166665 -29.7499995 0 -88 -1670 --49.0833335 -48.9166665 -29.9166665 -29.7499995 0 -118 -1670 --48.9166665 -48.7499995 -29.9166665 -29.7499995 0 -110 -1670 --48.7500005 -48.5833335 -29.9166665 -29.7499995 0 -139 -1670 --48.5833335 -48.4166665 -29.9166665 -29.7499995 0 -104 -1670 --48.4166665 -48.2499995 -29.9166665 -29.7499995 0 -206 -1670 --48.2500005 -48.0833335 -29.9166665 -29.7499995 0 -358 -1670 --48.0833335 -47.9166665 -29.9166665 -29.7499995 0 -368 -1670 --47.9166665 -47.7499995 -29.9166665 -29.7499995 0 -451 -1670 --47.7500005 -47.5833335 -29.9166665 -29.7499995 0 -830 -1670 --47.5833335 -47.4166665 -29.9166665 -29.7499995 0 -1250 -1670 --47.4166665 -47.2499995 -29.9166665 -29.7499995 0 -1517 -1670 --47.2500005 -47.0833335 -29.9166665 -29.7499995 0 -1809 -1670 --47.0833335 -46.9166665 -29.9166665 -29.7499995 0 -2044 -1670 --46.9166665 -46.7499995 -29.9166665 -29.7499995 0 -2248 -1670 --46.7500005 -46.5833335 -29.9166665 -29.7499995 0 -2367 -1670 --46.5833335 -46.4166665 -29.9166665 -29.7499995 0 -2394 -1670 --46.4166665 -46.2499995 -29.9166665 -29.7499995 0 -2498 -1670 --46.2500005 -46.0833335 -29.9166665 -29.7499995 0 -2317 -1670 --46.0833335 -45.9166665 -29.9166665 -29.7499995 0 -2772 -1670 --45.9166665 -45.7499995 -29.9166665 -29.7499995 0 -3172 -1670 --45.7500005 -45.5833335 -29.9166665 -29.7499995 0 -3352 -1670 --45.5833335 -45.4166665 -29.9166665 -29.7499995 0 -3393 -1670 --45.4166665 -45.2499995 -29.9166665 -29.7499995 0 -3532 -1670 --45.2500005 -45.0833335 -29.9166665 -29.7499995 0 -3550 -1670 --45.0833335 -44.9166665 -29.9166665 -29.7499995 0 -3538 -1670 --44.9166665 -44.7499995 -29.9166665 -29.7499995 0 -3559 -1670 --44.7500005 -44.5833335 -29.9166665 -29.7499995 0 -3566 -1670 --44.5833335 -44.4166665 -29.9166665 -29.7499995 0 -3560 -1670 --44.4166665 -44.2499995 -29.9166665 -29.7499995 0 -3582 -1670 --44.2500005 -44.0833335 -29.9166665 -29.7499995 0 -3614 -1670 --44.0833335 -43.9166665 -29.9166665 -29.7499995 0 -3684 -1670 --43.9166665 -43.7499995 -29.9166665 -29.7499995 0 -3759 -1670 --43.7500005 -43.5833335 -29.9166665 -29.7499995 0 -3899 -1670 --43.5833335 -43.4166665 -29.9166665 -29.7499995 0 -3906 -1670 --43.4166665 -43.2499995 -29.9166665 -29.7499995 0 -3950 -1670 --43.2500005 -43.0833335 -29.9166665 -29.7499995 0 -3933 -1670 --43.0833335 -42.9166665 -29.9166665 -29.7499995 0 -4010 -1670 --42.9166665 -42.7499995 -29.9166665 -29.7499995 0 -4032 -1670 --42.7500005 -42.5833335 -29.9166665 -29.7499995 0 -3987 -1670 --42.5833335 -42.4166665 -29.9166665 -29.7499995 0 -3947 -1670 --42.4166665 -42.2499995 -29.9166665 -29.7499995 0 -3922 -1670 --42.2500005 -42.0833335 -29.9166665 -29.7499995 0 -3905 -1670 --42.0833335 -41.9166665 -29.9166665 -29.7499995 0 -3871 -1670 --41.9166665 -41.7499995 -29.9166665 -29.7499995 0 -3855 -1670 --41.7500005 -41.5833335 -29.9166665 -29.7499995 0 -3745 -1670 --41.5833335 -41.4166665 -29.9166665 -29.7499995 0 -3653 -1670 --41.4166665 -41.2499995 -29.9166665 -29.7499995 0 -3884 -1670 --41.2500005 -41.0833335 -29.9166665 -29.7499995 0 -3562 -1670 --41.0833335 -40.9166665 -29.9166665 -29.7499995 0 -3450 -1670 --40.9166665 -40.7499995 -29.9166665 -29.7499995 0 -3318 -1670 --40.7500005 -40.5833335 -29.9166665 -29.7499995 0 -3478 -1670 --40.5833335 -40.4166665 -29.9166665 -29.7499995 0 -4139 -1670 --40.4166665 -40.2499995 -29.9166665 -29.7499995 0 -4028 -1670 --40.2500005 -40.0833335 -29.9166665 -29.7499995 0 -3428 -1670 --40.0833335 -39.9166665 -29.9166665 -29.7499995 0 -3141 -1670 --65.0833335 -64.9166665 -30.0833335 -29.9166665 179 0 2670 --64.9166665 -64.7499995 -30.0833335 -29.9166665 179 0 2670 --64.7500005 -64.5833335 -30.0833335 -29.9166665 178 0 2670 --64.5833335 -64.4166665 -30.0833335 -29.9166665 304 0 2670 --64.4166665 -64.2499995 -30.0833335 -29.9166665 492 0 2670 --64.2500005 -64.0833335 -30.0833335 -29.9166665 891 0 2670 --64.0833335 -63.9166665 -30.0833335 -29.9166665 737 0 2670 --63.9166665 -63.7499995 -30.0833335 -29.9166665 534 0 2670 --63.7500005 -63.5833335 -30.0833335 -29.9166665 278 0 2670 --63.5833335 -63.4166665 -30.0833335 -29.9166665 183 0 2670 --63.4166665 -63.2499995 -30.0833335 -29.9166665 94 0 2670 --63.2500005 -63.0833335 -30.0833335 -29.9166665 77 0 2670 --63.0833335 -62.9166665 -30.0833335 -29.9166665 76 0 2670 --62.9166665 -62.7499995 -30.0833335 -29.9166665 75 0 2670 --62.7500005 -62.5833335 -30.0833335 -29.9166665 74 0 2670 --62.5833335 -62.4166665 -30.0833335 -29.9166665 74 0 2670 --62.4166665 -62.2499995 -30.0833335 -29.9166665 73 0 2670 --62.2500005 -62.0833335 -30.0833335 -29.9166665 92 0 2670 --62.0833335 -61.9166665 -30.0833335 -29.9166665 89 0 2670 --61.9166665 -61.7499995 -30.0833335 -29.9166665 90 0 2670 --61.7500005 -61.5833335 -30.0833335 -29.9166665 86 0 2670 --61.5833335 -61.4166665 -30.0833335 -29.9166665 78 0 2670 --61.4166665 -61.2499995 -30.0833335 -29.9166665 64 0 2670 --61.2500005 -61.0833335 -30.0833335 -29.9166665 67 0 2670 --61.0833335 -60.9166665 -30.0833335 -29.9166665 55 0 2670 --60.9166665 -60.7499995 -30.0833335 -29.9166665 62 0 2670 --60.7500005 -60.5833335 -30.0833335 -29.9166665 51 0 2670 --60.5833335 -60.4166665 -30.0833335 -29.9166665 56 0 2670 --60.4166665 -60.2499995 -30.0833335 -29.9166665 63 0 2670 --60.2500005 -60.0833335 -30.0833335 -29.9166665 46 0 2670 --60.0833335 -59.9166665 -30.0833335 -29.9166665 33 0 2670 --59.9166665 -59.7499995 -30.0833335 -29.9166665 30 0 2670 --59.7500005 -59.5833335 -30.0833335 -29.9166665 28 0 2670 --59.5833335 -59.4166665 -30.0833335 -29.9166665 41 0 2670 --59.4166665 -59.2499995 -30.0833335 -29.9166665 39 0 2670 --59.2500005 -59.0833335 -30.0833335 -29.9166665 36 0 2670 --59.0833335 -58.9166665 -30.0833335 -29.9166665 42 0 2670 --58.9166665 -58.7499995 -30.0833335 -29.9166665 67 0 2670 --58.7500005 -58.5833335 -30.0833335 -29.9166665 71 0 2670 --58.5833335 -58.4166665 -30.0833335 -29.9166665 74 0 2670 --58.4166665 -58.2499995 -30.0833335 -29.9166665 78 0 2670 --58.2500005 -58.0833335 -30.0833335 -29.9166665 69 0 2670 --58.0833335 -57.9166665 -30.0833335 -29.9166665 92 0 2670 --57.9166665 -57.7499995 -30.0833335 -29.9166665 77 0 2670 --57.7500005 -57.5833335 -30.0833335 -29.9166665 44 0 2670 --57.5833335 -57.4166665 -30.0833335 -29.9166665 60 0 2670 --57.4166665 -57.2499995 -30.0833335 -29.9166665 44 0 2670 --57.2500005 -57.0833335 -30.0833335 -29.9166665 80 0 2670 --57.0833335 -56.9166665 -30.0833335 -29.9166665 78 0 2670 --56.9166665 -56.7499995 -30.0833335 -29.9166665 72 0 2670 --56.7500005 -56.5833335 -30.0833335 -29.9166665 137 0 2670 --56.5833335 -56.4166665 -30.0833335 -29.9166665 149 0 2670 --56.4166665 -56.2499995 -30.0833335 -29.9166665 183 0 2670 --56.2500005 -56.0833335 -30.0833335 -29.9166665 174 0 2670 --56.0833335 -55.9166665 -30.0833335 -29.9166665 163 0 2670 --55.9166665 -55.7499995 -30.0833335 -29.9166665 96 0 2670 --55.7500005 -55.5833335 -30.0833335 -29.9166665 127 0 2670 --55.5833335 -55.4166665 -30.0833335 -29.9166665 140 0 2670 --55.4166665 -55.2499995 -30.0833335 -29.9166665 155 0 2670 --55.2500005 -55.0833335 -30.0833335 -29.9166665 162 0 2670 --55.0833335 -54.9166665 -30.0833335 -29.9166665 120 0 2670 --54.9166665 -54.7499995 -30.0833335 -29.9166665 126 0 2670 --54.7500005 -54.5833335 -30.0833335 -29.9166665 124 0 2670 --54.5833335 -54.4166665 -30.0833335 -29.9166665 168 0 2670 --54.4166665 -54.2499995 -30.0833335 -29.9166665 149 0 2670 --54.2500005 -54.0833335 -30.0833335 -29.9166665 131 0 2670 --54.0833335 -53.9166665 -30.0833335 -29.9166665 70 0 2670 --53.9166665 -53.7499995 -30.0833335 -29.9166665 54 0 2670 --53.7500005 -53.5833335 -30.0833335 -29.9166665 81 0 2670 --53.5833335 -53.4166665 -30.0833335 -29.9166665 106 0 2670 --53.4166665 -53.2499995 -30.0833335 -29.9166665 37 0 2670 --53.2500005 -53.0833335 -30.0833335 -29.9166665 34 0 2670 --53.0833335 -52.9166665 -30.0833335 -29.9166665 30 0 2670 --52.9166665 -52.7499995 -30.0833335 -29.9166665 59 0 2670 --52.7500005 -52.5833335 -30.0833335 -29.9166665 18 0 2670 --52.5833335 -52.4166665 -30.0833335 -29.9166665 94 0 2670 --52.4166665 -52.2499995 -30.0833335 -29.9166665 49 0 2670 --52.2500005 -52.0833335 -30.0833335 -29.9166665 37 0 2670 --52.0833335 -51.9166665 -30.0833335 -29.9166665 41 0 2670 --51.9166665 -51.7499995 -30.0833335 -29.9166665 42 0 2670 --51.7500005 -51.5833335 -30.0833335 -29.9166665 23 0 2670 --51.5833335 -51.4166665 -30.0833335 -29.9166665 21 0 2670 --51.4166665 -51.2499995 -30.0833335 -29.9166665 6 0 2670 --51.2500005 -51.0833335 -30.0833335 -29.9166665 11 0 2670 --51.0833335 -50.9166665 -30.0833335 -29.9166665 34 0 2670 --50.9166665 -50.7499995 -30.0833335 -29.9166665 5 0 2670 --50.7500005 -50.5833335 -30.0833335 -29.9166665 56 0 2670 --50.5833335 -50.4166665 -30.0833335 -29.9166665 8 0 2670 --50.4166665 -50.2499995 -30.0833335 -29.9166665 15 0 2670 --50.2500005 -50.0833335 -30.0833335 -29.9166665 2 0 2670 --50.0833335 -49.9166665 -30.0833335 -29.9166665 0 -31 -1670 --49.9166665 -49.7499995 -30.0833335 -29.9166665 0 -43 -1670 --49.7500005 -49.5833335 -30.0833335 -29.9166665 0 -51 -1670 --49.5833335 -49.4166665 -30.0833335 -29.9166665 0 -61 -1670 --49.4166665 -49.2499995 -30.0833335 -29.9166665 0 -91 -1670 --49.2500005 -49.0833335 -30.0833335 -29.9166665 0 -111 -1670 --49.0833335 -48.9166665 -30.0833335 -29.9166665 0 -116 -1670 --48.9166665 -48.7499995 -30.0833335 -29.9166665 0 -136 -1670 --48.7500005 -48.5833335 -30.0833335 -29.9166665 0 -146 -1670 --48.5833335 -48.4166665 -30.0833335 -29.9166665 0 -176 -1670 --48.4166665 -48.2499995 -30.0833335 -29.9166665 0 -197 -1670 --48.2500005 -48.0833335 -30.0833335 -29.9166665 0 -305 -1670 --48.0833335 -47.9166665 -30.0833335 -29.9166665 0 -340 -1670 --47.9166665 -47.7499995 -30.0833335 -29.9166665 0 -517 -1670 --47.7500005 -47.5833335 -30.0833335 -29.9166665 0 -839 -1670 --47.5833335 -47.4166665 -30.0833335 -29.9166665 0 -1362 -1670 --47.4166665 -47.2499995 -30.0833335 -29.9166665 0 -1557 -1670 --47.2500005 -47.0833335 -30.0833335 -29.9166665 0 -1787 -1670 --47.0833335 -46.9166665 -30.0833335 -29.9166665 0 -2081 -1670 --46.9166665 -46.7499995 -30.0833335 -29.9166665 0 -2289 -1670 --46.7500005 -46.5833335 -30.0833335 -29.9166665 0 -2425 -1670 --46.5833335 -46.4166665 -30.0833335 -29.9166665 0 -2472 -1670 --46.4166665 -46.2499995 -30.0833335 -29.9166665 0 -2490 -1670 --46.2500005 -46.0833335 -30.0833335 -29.9166665 0 -2597 -1670 --46.0833335 -45.9166665 -30.0833335 -29.9166665 0 -2920 -1670 --45.9166665 -45.7499995 -30.0833335 -29.9166665 0 -3194 -1670 --45.7500005 -45.5833335 -30.0833335 -29.9166665 0 -3453 -1670 --45.5833335 -45.4166665 -30.0833335 -29.9166665 0 -3521 -1670 --45.4166665 -45.2499995 -30.0833335 -29.9166665 0 -3595 -1670 --45.2500005 -45.0833335 -30.0833335 -29.9166665 0 -3501 -1670 --45.0833335 -44.9166665 -30.0833335 -29.9166665 0 -3509 -1670 --44.9166665 -44.7499995 -30.0833335 -29.9166665 0 -3526 -1670 --44.7500005 -44.5833335 -30.0833335 -29.9166665 0 -3547 -1670 --44.5833335 -44.4166665 -30.0833335 -29.9166665 0 -3534 -1670 --44.4166665 -44.2499995 -30.0833335 -29.9166665 0 -3543 -1670 --44.2500005 -44.0833335 -30.0833335 -29.9166665 0 -3585 -1670 --44.0833335 -43.9166665 -30.0833335 -29.9166665 0 -3632 -1670 --43.9166665 -43.7499995 -30.0833335 -29.9166665 0 -3683 -1670 --43.7500005 -43.5833335 -30.0833335 -29.9166665 0 -3828 -1670 --43.5833335 -43.4166665 -30.0833335 -29.9166665 0 -3944 -1670 --43.4166665 -43.2499995 -30.0833335 -29.9166665 0 -3860 -1670 --43.2500005 -43.0833335 -30.0833335 -29.9166665 0 -3885 -1670 --43.0833335 -42.9166665 -30.0833335 -29.9166665 0 -3993 -1670 --42.9166665 -42.7499995 -30.0833335 -29.9166665 0 -3902 -1670 --42.7500005 -42.5833335 -30.0833335 -29.9166665 0 -3889 -1670 --42.5833335 -42.4166665 -30.0833335 -29.9166665 0 -3929 -1670 --42.4166665 -42.2499995 -30.0833335 -29.9166665 0 -3876 -1670 --42.2500005 -42.0833335 -30.0833335 -29.9166665 0 -3875 -1670 --42.0833335 -41.9166665 -30.0833335 -29.9166665 0 -3893 -1670 --41.9166665 -41.7499995 -30.0833335 -29.9166665 0 -3851 -1670 --41.7500005 -41.5833335 -30.0833335 -29.9166665 0 -3755 -1670 --41.5833335 -41.4166665 -30.0833335 -29.9166665 0 -3642 -1670 --41.4166665 -41.2499995 -30.0833335 -29.9166665 0 -3705 -1670 --41.2500005 -41.0833335 -30.0833335 -29.9166665 0 -3658 -1670 --41.0833335 -40.9166665 -30.0833335 -29.9166665 0 -3218 -1670 --40.9166665 -40.7499995 -30.0833335 -29.9166665 0 -3322 -1670 --40.7500005 -40.5833335 -30.0833335 -29.9166665 0 -2966 -1670 --40.5833335 -40.4166665 -30.0833335 -29.9166665 0 -3783 -1670 --40.4166665 -40.2499995 -30.0833335 -29.9166665 0 -4147 -1670 --40.2500005 -40.0833335 -30.0833335 -29.9166665 0 -3529 -1670 --40.0833335 -39.9166665 -30.0833335 -29.9166665 0 -3195 -1670 --65.0833335 -64.9166665 -30.2500005 -30.0833335 179 0 2670 --64.9166665 -64.7499995 -30.2500005 -30.0833335 189 0 2670 --64.7500005 -64.5833335 -30.2500005 -30.0833335 227 0 2670 --64.5833335 -64.4166665 -30.2500005 -30.0833335 379 0 2670 --64.4166665 -64.2499995 -30.2500005 -30.0833335 650 0 2670 --64.2500005 -64.0833335 -30.2500005 -30.0833335 880 0 2670 --64.0833335 -63.9166665 -30.2500005 -30.0833335 696 0 2670 --63.9166665 -63.7499995 -30.2500005 -30.0833335 405 0 2670 --63.7500005 -63.5833335 -30.2500005 -30.0833335 263 0 2670 --63.5833335 -63.4166665 -30.2500005 -30.0833335 153 0 2670 --63.4166665 -63.2499995 -30.2500005 -30.0833335 76 0 2670 --63.2500005 -63.0833335 -30.2500005 -30.0833335 75 0 2670 --63.0833335 -62.9166665 -30.2500005 -30.0833335 75 0 2670 --62.9166665 -62.7499995 -30.2500005 -30.0833335 73 0 2670 --62.7500005 -62.5833335 -30.2500005 -30.0833335 72 0 2670 --62.5833335 -62.4166665 -30.2500005 -30.0833335 71 0 2670 --62.4166665 -62.2499995 -30.2500005 -30.0833335 69 0 2670 --62.2500005 -62.0833335 -30.2500005 -30.0833335 80 0 2670 --62.0833335 -61.9166665 -30.2500005 -30.0833335 89 0 2670 --61.9166665 -61.7499995 -30.2500005 -30.0833335 92 0 2670 --61.7500005 -61.5833335 -30.2500005 -30.0833335 89 0 2670 --61.5833335 -61.4166665 -30.2500005 -30.0833335 85 0 2670 --61.4166665 -61.2499995 -30.2500005 -30.0833335 75 0 2670 --61.2500005 -61.0833335 -30.2500005 -30.0833335 70 0 2670 --61.0833335 -60.9166665 -30.2500005 -30.0833335 47 0 2670 --60.9166665 -60.7499995 -30.2500005 -30.0833335 59 0 2670 --60.7500005 -60.5833335 -30.2500005 -30.0833335 48 0 2670 --60.5833335 -60.4166665 -30.2500005 -30.0833335 56 0 2670 --60.4166665 -60.2499995 -30.2500005 -30.0833335 56 0 2670 --60.2500005 -60.0833335 -30.2500005 -30.0833335 28 0 2670 --60.0833335 -59.9166665 -30.2500005 -30.0833335 27 0 2670 --59.9166665 -59.7499995 -30.2500005 -30.0833335 24 0 2670 --59.7500005 -59.5833335 -30.2500005 -30.0833335 27 0 2670 --59.5833335 -59.4166665 -30.2500005 -30.0833335 36 0 2670 --59.4166665 -59.2499995 -30.2500005 -30.0833335 36 0 2670 --59.2500005 -59.0833335 -30.2500005 -30.0833335 35 0 2670 --59.0833335 -58.9166665 -30.2500005 -30.0833335 52 0 2670 --58.9166665 -58.7499995 -30.2500005 -30.0833335 66 0 2670 --58.7500005 -58.5833335 -30.2500005 -30.0833335 56 0 2670 --58.5833335 -58.4166665 -30.2500005 -30.0833335 68 0 2670 --58.4166665 -58.2499995 -30.2500005 -30.0833335 78 0 2670 --58.2500005 -58.0833335 -30.2500005 -30.0833335 77 0 2670 --58.0833335 -57.9166665 -30.2500005 -30.0833335 66 0 2670 --57.9166665 -57.7499995 -30.2500005 -30.0833335 68 0 2670 --57.7500005 -57.5833335 -30.2500005 -30.0833335 51 0 2670 --57.5833335 -57.4166665 -30.2500005 -30.0833335 48 0 2670 --57.4166665 -57.2499995 -30.2500005 -30.0833335 64 0 2670 --57.2500005 -57.0833335 -30.2500005 -30.0833335 56 0 2670 --57.0833335 -56.9166665 -30.2500005 -30.0833335 68 0 2670 --56.9166665 -56.7499995 -30.2500005 -30.0833335 90 0 2670 --56.7500005 -56.5833335 -30.2500005 -30.0833335 106 0 2670 --56.5833335 -56.4166665 -30.2500005 -30.0833335 120 0 2670 --56.4166665 -56.2499995 -30.2500005 -30.0833335 163 0 2670 --56.2500005 -56.0833335 -30.2500005 -30.0833335 166 0 2670 --56.0833335 -55.9166665 -30.2500005 -30.0833335 210 0 2670 --55.9166665 -55.7499995 -30.2500005 -30.0833335 155 0 2670 --55.7500005 -55.5833335 -30.2500005 -30.0833335 102 0 2670 --55.5833335 -55.4166665 -30.2500005 -30.0833335 154 0 2670 --55.4166665 -55.2499995 -30.2500005 -30.0833335 130 0 2670 --55.2500005 -55.0833335 -30.2500005 -30.0833335 133 0 2670 --55.0833335 -54.9166665 -30.2500005 -30.0833335 118 0 2670 --54.9166665 -54.7499995 -30.2500005 -30.0833335 124 0 2670 --54.7500005 -54.5833335 -30.2500005 -30.0833335 126 0 2670 --54.5833335 -54.4166665 -30.2500005 -30.0833335 146 0 2670 --54.4166665 -54.2499995 -30.2500005 -30.0833335 110 0 2670 --54.2500005 -54.0833335 -30.2500005 -30.0833335 84 0 2670 --54.0833335 -53.9166665 -30.2500005 -30.0833335 69 0 2670 --53.9166665 -53.7499995 -30.2500005 -30.0833335 139 0 2670 --53.7500005 -53.5833335 -30.2500005 -30.0833335 110 0 2670 --53.5833335 -53.4166665 -30.2500005 -30.0833335 96 0 2670 --53.4166665 -53.2499995 -30.2500005 -30.0833335 49 0 2670 --53.2500005 -53.0833335 -30.2500005 -30.0833335 62 0 2670 --53.0833335 -52.9166665 -30.2500005 -30.0833335 44 0 2670 --52.9166665 -52.7499995 -30.2500005 -30.0833335 48 0 2670 --52.7500005 -52.5833335 -30.2500005 -30.0833335 44 0 2670 --52.5833335 -52.4166665 -30.2500005 -30.0833335 24 0 2670 --52.4166665 -52.2499995 -30.2500005 -30.0833335 66 0 2670 --52.2500005 -52.0833335 -30.2500005 -30.0833335 58 0 2670 --52.0833335 -51.9166665 -30.2500005 -30.0833335 108 0 2670 --51.9166665 -51.7499995 -30.2500005 -30.0833335 66 0 2670 --51.7500005 -51.5833335 -30.2500005 -30.0833335 125 0 2670 --51.5833335 -51.4166665 -30.2500005 -30.0833335 86 0 2670 --51.4166665 -51.2499995 -30.2500005 -30.0833335 8 0 2670 --51.2500005 -51.0833335 -30.2500005 -30.0833335 12 0 2670 --51.0833335 -50.9166665 -30.2500005 -30.0833335 117 0 2670 --50.9166665 -50.7499995 -30.2500005 -30.0833335 38 0 2670 --50.7500005 -50.5833335 -30.2500005 -30.0833335 2 0 2670 --50.5833335 -50.4166665 -30.2500005 -30.0833335 9 0 2670 --50.4166665 -50.2499995 -30.2500005 -30.0833335 15 0 2670 --50.2500005 -50.0833335 -30.2500005 -30.0833335 0 -15 -1670 --50.0833335 -49.9166665 -30.2500005 -30.0833335 0 -36 -1670 --49.9166665 -49.7499995 -30.2500005 -30.0833335 0 -45 -1670 --49.7500005 -49.5833335 -30.2500005 -30.0833335 0 -57 -1670 --49.5833335 -49.4166665 -30.2500005 -30.0833335 0 -84 -1670 --49.4166665 -49.2499995 -30.2500005 -30.0833335 0 -107 -1670 --49.2500005 -49.0833335 -30.2500005 -30.0833335 0 -123 -1670 --49.0833335 -48.9166665 -30.2500005 -30.0833335 0 -171 -1670 --48.9166665 -48.7499995 -30.2500005 -30.0833335 0 -166 -1670 --48.7500005 -48.5833335 -30.2500005 -30.0833335 0 -243 -1670 --48.5833335 -48.4166665 -30.2500005 -30.0833335 0 -272 -1670 --48.4166665 -48.2499995 -30.2500005 -30.0833335 0 -228 -1670 --48.2500005 -48.0833335 -30.2500005 -30.0833335 0 -313 -1670 --48.0833335 -47.9166665 -30.2500005 -30.0833335 0 -396 -1670 --47.9166665 -47.7499995 -30.2500005 -30.0833335 0 -539 -1670 --47.7500005 -47.5833335 -30.2500005 -30.0833335 0 -905 -1670 --47.5833335 -47.4166665 -30.2500005 -30.0833335 0 -1292 -1670 --47.4166665 -47.2499995 -30.2500005 -30.0833335 0 -1553 -1670 --47.2500005 -47.0833335 -30.2500005 -30.0833335 0 -2033 -1670 --47.0833335 -46.9166665 -30.2500005 -30.0833335 0 -2275 -1670 --46.9166665 -46.7499995 -30.2500005 -30.0833335 0 -2383 -1670 --46.7500005 -46.5833335 -30.2500005 -30.0833335 0 -2373 -1670 --46.5833335 -46.4166665 -30.2500005 -30.0833335 0 -2457 -1670 --46.4166665 -46.2499995 -30.2500005 -30.0833335 0 -2540 -1670 --46.2500005 -46.0833335 -30.2500005 -30.0833335 0 -2721 -1670 --46.0833335 -45.9166665 -30.2500005 -30.0833335 0 -3050 -1670 --45.9166665 -45.7499995 -30.2500005 -30.0833335 0 -3224 -1670 --45.7500005 -45.5833335 -30.2500005 -30.0833335 0 -3308 -1670 --45.5833335 -45.4166665 -30.2500005 -30.0833335 0 -3542 -1670 --45.4166665 -45.2499995 -30.2500005 -30.0833335 0 -3507 -1670 --45.2500005 -45.0833335 -30.2500005 -30.0833335 0 -3490 -1670 --45.0833335 -44.9166665 -30.2500005 -30.0833335 0 -3462 -1670 --44.9166665 -44.7499995 -30.2500005 -30.0833335 0 -3502 -1670 --44.7500005 -44.5833335 -30.2500005 -30.0833335 0 -3515 -1670 --44.5833335 -44.4166665 -30.2500005 -30.0833335 0 -3510 -1670 --44.4166665 -44.2499995 -30.2500005 -30.0833335 0 -3506 -1670 --44.2500005 -44.0833335 -30.2500005 -30.0833335 0 -3532 -1670 --44.0833335 -43.9166665 -30.2500005 -30.0833335 0 -3585 -1670 --43.9166665 -43.7499995 -30.2500005 -30.0833335 0 -3598 -1670 --43.7500005 -43.5833335 -30.2500005 -30.0833335 0 -3751 -1670 --43.5833335 -43.4166665 -30.2500005 -30.0833335 0 -3972 -1670 --43.4166665 -43.2499995 -30.2500005 -30.0833335 0 -3841 -1670 --43.2500005 -43.0833335 -30.2500005 -30.0833335 0 -3844 -1670 --43.0833335 -42.9166665 -30.2500005 -30.0833335 0 -3874 -1670 --42.9166665 -42.7499995 -30.2500005 -30.0833335 0 -3876 -1670 --42.7500005 -42.5833335 -30.2500005 -30.0833335 0 -3893 -1670 --42.5833335 -42.4166665 -30.2500005 -30.0833335 0 -3893 -1670 --42.4166665 -42.2499995 -30.2500005 -30.0833335 0 -3877 -1670 --42.2500005 -42.0833335 -30.2500005 -30.0833335 0 -3864 -1670 --42.0833335 -41.9166665 -30.2500005 -30.0833335 0 -3846 -1670 --41.9166665 -41.7499995 -30.2500005 -30.0833335 0 -3797 -1670 --41.7500005 -41.5833335 -30.2500005 -30.0833335 0 -3769 -1670 --41.5833335 -41.4166665 -30.2500005 -30.0833335 0 -3837 -1670 --41.4166665 -41.2499995 -30.2500005 -30.0833335 0 -3749 -1670 --41.2500005 -41.0833335 -30.2500005 -30.0833335 0 -3884 -1670 --41.0833335 -40.9166665 -30.2500005 -30.0833335 0 -3443 -1670 --40.9166665 -40.7499995 -30.2500005 -30.0833335 0 -3159 -1670 --40.7500005 -40.5833335 -30.2500005 -30.0833335 0 -3477 -1670 --40.5833335 -40.4166665 -30.2500005 -30.0833335 0 -4214 -1670 --40.4166665 -40.2499995 -30.2500005 -30.0833335 0 -3730 -1670 --40.2500005 -40.0833335 -30.2500005 -30.0833335 0 -3110 -1670 --40.0833335 -39.9166665 -30.2500005 -30.0833335 0 -3429 -1670 --65.0833335 -64.9166665 -30.4166665 -30.2499995 246 0 2670 --64.9166665 -64.7499995 -30.4166665 -30.2499995 269 0 2670 --64.7500005 -64.5833335 -30.4166665 -30.2499995 347 0 2670 --64.5833335 -64.4166665 -30.4166665 -30.2499995 493 0 2670 --64.4166665 -64.2499995 -30.4166665 -30.2499995 671 0 2670 --64.2500005 -64.0833335 -30.4166665 -30.2499995 844 0 2670 --64.0833335 -63.9166665 -30.4166665 -30.2499995 546 0 2670 --63.9166665 -63.7499995 -30.4166665 -30.2499995 380 0 2670 --63.7500005 -63.5833335 -30.4166665 -30.2499995 239 0 2670 --63.5833335 -63.4166665 -30.4166665 -30.2499995 136 0 2670 --63.4166665 -63.2499995 -30.4166665 -30.2499995 69 0 2670 --63.2500005 -63.0833335 -30.4166665 -30.2499995 71 0 2670 --63.0833335 -62.9166665 -30.4166665 -30.2499995 72 0 2670 --62.9166665 -62.7499995 -30.4166665 -30.2499995 70 0 2670 --62.7500005 -62.5833335 -30.4166665 -30.2499995 69 0 2670 --62.5833335 -62.4166665 -30.4166665 -30.2499995 69 0 2670 --62.4166665 -62.2499995 -30.4166665 -30.2499995 69 0 2670 --62.2500005 -62.0833335 -30.4166665 -30.2499995 79 0 2670 --62.0833335 -61.9166665 -30.4166665 -30.2499995 93 0 2670 --61.9166665 -61.7499995 -30.4166665 -30.2499995 91 0 2670 --61.7500005 -61.5833335 -30.4166665 -30.2499995 91 0 2670 --61.5833335 -61.4166665 -30.4166665 -30.2499995 85 0 2670 --61.4166665 -61.2499995 -30.4166665 -30.2499995 78 0 2670 --61.2500005 -61.0833335 -30.4166665 -30.2499995 69 0 2670 --61.0833335 -60.9166665 -30.4166665 -30.2499995 65 0 2670 --60.9166665 -60.7499995 -30.4166665 -30.2499995 58 0 2670 --60.7500005 -60.5833335 -30.4166665 -30.2499995 52 0 2670 --60.5833335 -60.4166665 -30.4166665 -30.2499995 51 0 2670 --60.4166665 -60.2499995 -30.4166665 -30.2499995 58 0 2670 --60.2500005 -60.0833335 -30.4166665 -30.2499995 29 0 2670 --60.0833335 -59.9166665 -30.4166665 -30.2499995 26 0 2670 --59.9166665 -59.7499995 -30.4166665 -30.2499995 22 0 2670 --59.7500005 -59.5833335 -30.4166665 -30.2499995 23 0 2670 --59.5833335 -59.4166665 -30.4166665 -30.2499995 29 0 2670 --59.4166665 -59.2499995 -30.4166665 -30.2499995 33 0 2670 --59.2500005 -59.0833335 -30.4166665 -30.2499995 41 0 2670 --59.0833335 -58.9166665 -30.4166665 -30.2499995 63 0 2670 --58.9166665 -58.7499995 -30.4166665 -30.2499995 64 0 2670 --58.7500005 -58.5833335 -30.4166665 -30.2499995 66 0 2670 --58.5833335 -58.4166665 -30.4166665 -30.2499995 70 0 2670 --58.4166665 -58.2499995 -30.4166665 -30.2499995 77 0 2670 --58.2500005 -58.0833335 -30.4166665 -30.2499995 67 0 2670 --58.0833335 -57.9166665 -30.4166665 -30.2499995 55 0 2670 --57.9166665 -57.7499995 -30.4166665 -30.2499995 62 0 2670 --57.7500005 -57.5833335 -30.4166665 -30.2499995 52 0 2670 --57.5833335 -57.4166665 -30.4166665 -30.2499995 72 0 2670 --57.4166665 -57.2499995 -30.4166665 -30.2499995 49 0 2670 --57.2500005 -57.0833335 -30.4166665 -30.2499995 61 0 2670 --57.0833335 -56.9166665 -30.4166665 -30.2499995 72 0 2670 --56.9166665 -56.7499995 -30.4166665 -30.2499995 117 0 2670 --56.7500005 -56.5833335 -30.4166665 -30.2499995 122 0 2670 --56.5833335 -56.4166665 -30.4166665 -30.2499995 114 0 2670 --56.4166665 -56.2499995 -30.4166665 -30.2499995 177 0 2670 --56.2500005 -56.0833335 -30.4166665 -30.2499995 226 0 2670 --56.0833335 -55.9166665 -30.4166665 -30.2499995 218 0 2670 --55.9166665 -55.7499995 -30.4166665 -30.2499995 209 0 2670 --55.7500005 -55.5833335 -30.4166665 -30.2499995 130 0 2670 --55.5833335 -55.4166665 -30.4166665 -30.2499995 183 0 2670 --55.4166665 -55.2499995 -30.4166665 -30.2499995 155 0 2670 --55.2500005 -55.0833335 -30.4166665 -30.2499995 154 0 2670 --55.0833335 -54.9166665 -30.4166665 -30.2499995 134 0 2670 --54.9166665 -54.7499995 -30.4166665 -30.2499995 99 0 2670 --54.7500005 -54.5833335 -30.4166665 -30.2499995 139 0 2670 --54.5833335 -54.4166665 -30.4166665 -30.2499995 122 0 2670 --54.4166665 -54.2499995 -30.4166665 -30.2499995 113 0 2670 --54.2500005 -54.0833335 -30.4166665 -30.2499995 150 0 2670 --54.0833335 -53.9166665 -30.4166665 -30.2499995 139 0 2670 --53.9166665 -53.7499995 -30.4166665 -30.2499995 202 0 2670 --53.7500005 -53.5833335 -30.4166665 -30.2499995 214 0 2670 --53.5833335 -53.4166665 -30.4166665 -30.2499995 121 0 2670 --53.4166665 -53.2499995 -30.4166665 -30.2499995 142 0 2670 --53.2500005 -53.0833335 -30.4166665 -30.2499995 51 0 2670 --53.0833335 -52.9166665 -30.4166665 -30.2499995 91 0 2670 --52.9166665 -52.7499995 -30.4166665 -30.2499995 74 0 2670 --52.7500005 -52.5833335 -30.4166665 -30.2499995 136 0 2670 --52.5833335 -52.4166665 -30.4166665 -30.2499995 100 0 2670 --52.4166665 -52.2499995 -30.4166665 -30.2499995 91 0 2670 --52.2500005 -52.0833335 -30.4166665 -30.2499995 208 0 2670 --52.0833335 -51.9166665 -30.4166665 -30.2499995 206 0 2670 --51.9166665 -51.7499995 -30.4166665 -30.2499995 250 0 2670 --51.7500005 -51.5833335 -30.4166665 -30.2499995 258 0 2670 --51.5833335 -51.4166665 -30.4166665 -30.2499995 111 0 2670 --51.4166665 -51.2499995 -30.4166665 -30.2499995 11 0 2670 --51.2500005 -51.0833335 -30.4166665 -30.2499995 0 -1 -1670 --51.0833335 -50.9166665 -30.4166665 -30.2499995 70 0 2670 --50.9166665 -50.7499995 -30.4166665 -30.2499995 0 -1 -1670 --50.7500005 -50.5833335 -30.4166665 -30.2499995 0 -1 -1670 --50.5833335 -50.4166665 -30.4166665 -30.2499995 5 0 2670 --50.4166665 -50.2499995 -30.4166665 -30.2499995 7 0 2670 --50.2500005 -50.0833335 -30.4166665 -30.2499995 0 -20 -1670 --50.0833335 -49.9166665 -30.4166665 -30.2499995 0 -39 -1670 --49.9166665 -49.7499995 -30.4166665 -30.2499995 0 -59 -1670 --49.7500005 -49.5833335 -30.4166665 -30.2499995 0 -76 -1670 --49.5833335 -49.4166665 -30.4166665 -30.2499995 0 -102 -1670 --49.4166665 -49.2499995 -30.4166665 -30.2499995 0 -122 -1670 --49.2500005 -49.0833335 -30.4166665 -30.2499995 0 -117 -1670 --49.0833335 -48.9166665 -30.4166665 -30.2499995 0 -144 -1670 --48.9166665 -48.7499995 -30.4166665 -30.2499995 0 -164 -1670 --48.7500005 -48.5833335 -30.4166665 -30.2499995 0 -198 -1670 --48.5833335 -48.4166665 -30.4166665 -30.2499995 0 -244 -1670 --48.4166665 -48.2499995 -30.4166665 -30.2499995 0 -272 -1670 --48.2500005 -48.0833335 -30.4166665 -30.2499995 0 -352 -1670 --48.0833335 -47.9166665 -30.4166665 -30.2499995 0 -443 -1670 --47.9166665 -47.7499995 -30.4166665 -30.2499995 0 -655 -1670 --47.7500005 -47.5833335 -30.4166665 -30.2499995 0 -1046 -1670 --47.5833335 -47.4166665 -30.4166665 -30.2499995 0 -1405 -1670 --47.4166665 -47.2499995 -30.4166665 -30.2499995 0 -1723 -1670 --47.2500005 -47.0833335 -30.4166665 -30.2499995 0 -2103 -1670 --47.0833335 -46.9166665 -30.4166665 -30.2499995 0 -2124 -1670 --46.9166665 -46.7499995 -30.4166665 -30.2499995 0 -2276 -1670 --46.7500005 -46.5833335 -30.4166665 -30.2499995 0 -2518 -1670 --46.5833335 -46.4166665 -30.4166665 -30.2499995 0 -2591 -1670 --46.4166665 -46.2499995 -30.4166665 -30.2499995 0 -2678 -1670 --46.2500005 -46.0833335 -30.4166665 -30.2499995 0 -2911 -1670 --46.0833335 -45.9166665 -30.4166665 -30.2499995 0 -3142 -1670 --45.9166665 -45.7499995 -30.4166665 -30.2499995 0 -3282 -1670 --45.7500005 -45.5833335 -30.4166665 -30.2499995 0 -3341 -1670 --45.5833335 -45.4166665 -30.4166665 -30.2499995 0 -3522 -1670 --45.4166665 -45.2499995 -30.4166665 -30.2499995 0 -3486 -1670 --45.2500005 -45.0833335 -30.4166665 -30.2499995 0 -3430 -1670 --45.0833335 -44.9166665 -30.4166665 -30.2499995 0 -3434 -1670 --44.9166665 -44.7499995 -30.4166665 -30.2499995 0 -3438 -1670 --44.7500005 -44.5833335 -30.4166665 -30.2499995 0 -3466 -1670 --44.5833335 -44.4166665 -30.4166665 -30.2499995 0 -3466 -1670 --44.4166665 -44.2499995 -30.4166665 -30.2499995 0 -3446 -1670 --44.2500005 -44.0833335 -30.4166665 -30.2499995 0 -3468 -1670 --44.0833335 -43.9166665 -30.4166665 -30.2499995 0 -3493 -1670 --43.9166665 -43.7499995 -30.4166665 -30.2499995 0 -3532 -1670 --43.7500005 -43.5833335 -30.4166665 -30.2499995 0 -3663 -1670 --43.5833335 -43.4166665 -30.4166665 -30.2499995 0 -3846 -1670 --43.4166665 -43.2499995 -30.4166665 -30.2499995 0 -3805 -1670 --43.2500005 -43.0833335 -30.4166665 -30.2499995 0 -3900 -1670 --43.0833335 -42.9166665 -30.4166665 -30.2499995 0 -3859 -1670 --42.9166665 -42.7499995 -30.4166665 -30.2499995 0 -3877 -1670 --42.7500005 -42.5833335 -30.4166665 -30.2499995 0 -3862 -1670 --42.5833335 -42.4166665 -30.4166665 -30.2499995 0 -3951 -1670 --42.4166665 -42.2499995 -30.4166665 -30.2499995 0 -3873 -1670 --42.2500005 -42.0833335 -30.4166665 -30.2499995 0 -3836 -1670 --42.0833335 -41.9166665 -30.4166665 -30.2499995 0 -3827 -1670 --41.9166665 -41.7499995 -30.4166665 -30.2499995 0 -3816 -1670 --41.7500005 -41.5833335 -30.4166665 -30.2499995 0 -3784 -1670 --41.5833335 -41.4166665 -30.4166665 -30.2499995 0 -3801 -1670 --41.4166665 -41.2499995 -30.4166665 -30.2499995 0 -3636 -1670 --41.2500005 -41.0833335 -30.4166665 -30.2499995 0 -3824 -1670 --41.0833335 -40.9166665 -30.4166665 -30.2499995 0 -3729 -1670 --40.9166665 -40.7499995 -30.4166665 -30.2499995 0 -3865 -1670 --40.7500005 -40.5833335 -30.4166665 -30.2499995 0 -4338 -1670 --40.5833335 -40.4166665 -30.4166665 -30.2499995 0 -3741 -1670 --40.4166665 -40.2499995 -30.4166665 -30.2499995 0 -3461 -1670 --40.2500005 -40.0833335 -30.4166665 -30.2499995 0 -3231 -1670 --40.0833335 -39.9166665 -30.4166665 -30.2499995 0 -3004 -1670 --65.0833335 -64.9166665 -30.5833335 -30.4166665 322 0 2670 --64.9166665 -64.7499995 -30.5833335 -30.4166665 376 0 2670 --64.7500005 -64.5833335 -30.5833335 -30.4166665 536 0 2670 --64.5833335 -64.4166665 -30.5833335 -30.4166665 746 0 2670 --64.4166665 -64.2499995 -30.5833335 -30.4166665 845 0 2670 --64.2500005 -64.0833335 -30.5833335 -30.4166665 730 0 2670 --64.0833335 -63.9166665 -30.5833335 -30.4166665 488 0 2670 --63.9166665 -63.7499995 -30.5833335 -30.4166665 348 0 2670 --63.7500005 -63.5833335 -30.5833335 -30.4166665 224 0 2670 --63.5833335 -63.4166665 -30.5833335 -30.4166665 130 0 2670 --63.4166665 -63.2499995 -30.5833335 -30.4166665 74 0 2670 --63.2500005 -63.0833335 -30.5833335 -30.4166665 69 0 2670 --63.0833335 -62.9166665 -30.5833335 -30.4166665 69 0 2670 --62.9166665 -62.7499995 -30.5833335 -30.4166665 69 0 2670 --62.7500005 -62.5833335 -30.5833335 -30.4166665 69 0 2670 --62.5833335 -62.4166665 -30.5833335 -30.4166665 69 0 2670 --62.4166665 -62.2499995 -30.5833335 -30.4166665 69 0 2670 --62.2500005 -62.0833335 -30.5833335 -30.4166665 95 0 2670 --62.0833335 -61.9166665 -30.5833335 -30.4166665 94 0 2670 --61.9166665 -61.7499995 -30.5833335 -30.4166665 95 0 2670 --61.7500005 -61.5833335 -30.5833335 -30.4166665 94 0 2670 --61.5833335 -61.4166665 -30.5833335 -30.4166665 88 0 2670 --61.4166665 -61.2499995 -30.5833335 -30.4166665 76 0 2670 --61.2500005 -61.0833335 -30.5833335 -30.4166665 59 0 2670 --61.0833335 -60.9166665 -30.5833335 -30.4166665 52 0 2670 --60.9166665 -60.7499995 -30.5833335 -30.4166665 62 0 2670 --60.7500005 -60.5833335 -30.5833335 -30.4166665 42 0 2670 --60.5833335 -60.4166665 -30.5833335 -30.4166665 52 0 2670 --60.4166665 -60.2499995 -30.5833335 -30.4166665 27 0 2670 --60.2500005 -60.0833335 -30.5833335 -30.4166665 25 0 2670 --60.0833335 -59.9166665 -30.5833335 -30.4166665 26 0 2670 --59.9166665 -59.7499995 -30.5833335 -30.4166665 22 0 2670 --59.7500005 -59.5833335 -30.5833335 -30.4166665 23 0 2670 --59.5833335 -59.4166665 -30.5833335 -30.4166665 32 0 2670 --59.4166665 -59.2499995 -30.5833335 -30.4166665 54 0 2670 --59.2500005 -59.0833335 -30.5833335 -30.4166665 68 0 2670 --59.0833335 -58.9166665 -30.5833335 -30.4166665 63 0 2670 --58.9166665 -58.7499995 -30.5833335 -30.4166665 56 0 2670 --58.7500005 -58.5833335 -30.5833335 -30.4166665 62 0 2670 --58.5833335 -58.4166665 -30.5833335 -30.4166665 69 0 2670 --58.4166665 -58.2499995 -30.5833335 -30.4166665 70 0 2670 --58.2500005 -58.0833335 -30.5833335 -30.4166665 59 0 2670 --58.0833335 -57.9166665 -30.5833335 -30.4166665 63 0 2670 --57.9166665 -57.7499995 -30.5833335 -30.4166665 40 0 2670 --57.7500005 -57.5833335 -30.5833335 -30.4166665 72 0 2670 --57.5833335 -57.4166665 -30.5833335 -30.4166665 86 0 2670 --57.4166665 -57.2499995 -30.5833335 -30.4166665 86 0 2670 --57.2500005 -57.0833335 -30.5833335 -30.4166665 89 0 2670 --57.0833335 -56.9166665 -30.5833335 -30.4166665 103 0 2670 --56.9166665 -56.7499995 -30.5833335 -30.4166665 148 0 2670 --56.7500005 -56.5833335 -30.5833335 -30.4166665 134 0 2670 --56.5833335 -56.4166665 -30.5833335 -30.4166665 189 0 2670 --56.4166665 -56.2499995 -30.5833335 -30.4166665 105 0 2670 --56.2500005 -56.0833335 -30.5833335 -30.4166665 168 0 2670 --56.0833335 -55.9166665 -30.5833335 -30.4166665 179 0 2670 --55.9166665 -55.7499995 -30.5833335 -30.4166665 238 0 2670 --55.7500005 -55.5833335 -30.5833335 -30.4166665 234 0 2670 --55.5833335 -55.4166665 -30.5833335 -30.4166665 188 0 2670 --55.4166665 -55.2499995 -30.5833335 -30.4166665 180 0 2670 --55.2500005 -55.0833335 -30.5833335 -30.4166665 133 0 2670 --55.0833335 -54.9166665 -30.5833335 -30.4166665 108 0 2670 --54.9166665 -54.7499995 -30.5833335 -30.4166665 169 0 2670 --54.7500005 -54.5833335 -30.5833335 -30.4166665 113 0 2670 --54.5833335 -54.4166665 -30.5833335 -30.4166665 152 0 2670 --54.4166665 -54.2499995 -30.5833335 -30.4166665 136 0 2670 --54.2500005 -54.0833335 -30.5833335 -30.4166665 267 0 2670 --54.0833335 -53.9166665 -30.5833335 -30.4166665 336 0 2670 --53.9166665 -53.7499995 -30.5833335 -30.4166665 425 0 2670 --53.7500005 -53.5833335 -30.5833335 -30.4166665 300 0 2670 --53.5833335 -53.4166665 -30.5833335 -30.4166665 364 0 2670 --53.4166665 -53.2499995 -30.5833335 -30.4166665 158 0 2670 --53.2500005 -53.0833335 -30.5833335 -30.4166665 96 0 2670 --53.0833335 -52.9166665 -30.5833335 -30.4166665 322 0 2670 --52.9166665 -52.7499995 -30.5833335 -30.4166665 154 0 2670 --52.7500005 -52.5833335 -30.5833335 -30.4166665 289 0 2670 --52.5833335 -52.4166665 -30.5833335 -30.4166665 353 0 2670 --52.4166665 -52.2499995 -30.5833335 -30.4166665 347 0 2670 --52.2500005 -52.0833335 -30.5833335 -30.4166665 367 0 2670 --52.0833335 -51.9166665 -30.5833335 -30.4166665 505 0 2670 --51.9166665 -51.7499995 -30.5833335 -30.4166665 357 0 2670 --51.7500005 -51.5833335 -30.5833335 -30.4166665 131 0 2670 --51.5833335 -51.4166665 -30.5833335 -30.4166665 106 0 2670 --51.4166665 -51.2499995 -30.5833335 -30.4166665 53 0 2670 --51.2500005 -51.0833335 -30.5833335 -30.4166665 0 -1 -1670 --51.0833335 -50.9166665 -30.5833335 -30.4166665 0 -4 -1670 --50.9166665 -50.7499995 -30.5833335 -30.4166665 0 -2 -1670 --50.7500005 -50.5833335 -30.5833335 -30.4166665 1 0 2670 --50.5833335 -50.4166665 -30.5833335 -30.4166665 9 0 2670 --50.4166665 -50.2499995 -30.5833335 -30.4166665 0 0 2670 --50.2500005 -50.0833335 -30.5833335 -30.4166665 0 -25 -1670 --50.0833335 -49.9166665 -30.5833335 -30.4166665 0 -50 -1670 --49.9166665 -49.7499995 -30.5833335 -30.4166665 0 -71 -1670 --49.7500005 -49.5833335 -30.5833335 -30.4166665 0 -98 -1670 --49.5833335 -49.4166665 -30.5833335 -30.4166665 0 -129 -1670 --49.4166665 -49.2499995 -30.5833335 -30.4166665 0 -123 -1670 --49.2500005 -49.0833335 -30.5833335 -30.4166665 0 -129 -1670 --49.0833335 -48.9166665 -30.5833335 -30.4166665 0 -144 -1670 --48.9166665 -48.7499995 -30.5833335 -30.4166665 0 -103 -1670 --48.7500005 -48.5833335 -30.5833335 -30.4166665 0 -206 -1670 --48.5833335 -48.4166665 -30.5833335 -30.4166665 0 -407 -1670 --48.4166665 -48.2499995 -30.5833335 -30.4166665 0 -418 -1670 --48.2500005 -48.0833335 -30.5833335 -30.4166665 0 -485 -1670 --48.0833335 -47.9166665 -30.5833335 -30.4166665 0 -581 -1670 --47.9166665 -47.7499995 -30.5833335 -30.4166665 0 -815 -1670 --47.7500005 -47.5833335 -30.5833335 -30.4166665 0 -1149 -1670 --47.5833335 -47.4166665 -30.5833335 -30.4166665 0 -1714 -1670 --47.4166665 -47.2499995 -30.5833335 -30.4166665 0 -2021 -1670 --47.2500005 -47.0833335 -30.5833335 -30.4166665 0 -2219 -1670 --47.0833335 -46.9166665 -30.5833335 -30.4166665 0 -2396 -1670 --46.9166665 -46.7499995 -30.5833335 -30.4166665 0 -2741 -1670 --46.7500005 -46.5833335 -30.5833335 -30.4166665 0 -3081 -1670 --46.5833335 -46.4166665 -30.5833335 -30.4166665 0 -3172 -1670 --46.4166665 -46.2499995 -30.5833335 -30.4166665 0 -3080 -1670 --46.2500005 -46.0833335 -30.5833335 -30.4166665 0 -3210 -1670 --46.0833335 -45.9166665 -30.5833335 -30.4166665 0 -3207 -1670 --45.9166665 -45.7499995 -30.5833335 -30.4166665 0 -3246 -1670 --45.7500005 -45.5833335 -30.5833335 -30.4166665 0 -3369 -1670 --45.5833335 -45.4166665 -30.5833335 -30.4166665 0 -3492 -1670 --45.4166665 -45.2499995 -30.5833335 -30.4166665 0 -3457 -1670 --45.2500005 -45.0833335 -30.5833335 -30.4166665 0 -3497 -1670 --45.0833335 -44.9166665 -30.5833335 -30.4166665 0 -3416 -1670 --44.9166665 -44.7499995 -30.5833335 -30.4166665 0 -3401 -1670 --44.7500005 -44.5833335 -30.5833335 -30.4166665 0 -3440 -1670 --44.5833335 -44.4166665 -30.5833335 -30.4166665 0 -3456 -1670 --44.4166665 -44.2499995 -30.5833335 -30.4166665 0 -3444 -1670 --44.2500005 -44.0833335 -30.5833335 -30.4166665 0 -3440 -1670 --44.0833335 -43.9166665 -30.5833335 -30.4166665 0 -3489 -1670 --43.9166665 -43.7499995 -30.5833335 -30.4166665 0 -3470 -1670 --43.7500005 -43.5833335 -30.5833335 -30.4166665 0 -3523 -1670 --43.5833335 -43.4166665 -30.5833335 -30.4166665 0 -3810 -1670 --43.4166665 -43.2499995 -30.5833335 -30.4166665 0 -3846 -1670 --43.2500005 -43.0833335 -30.5833335 -30.4166665 0 -3888 -1670 --43.0833335 -42.9166665 -30.5833335 -30.4166665 0 -3889 -1670 --42.9166665 -42.7499995 -30.5833335 -30.4166665 0 -3833 -1670 --42.7500005 -42.5833335 -30.5833335 -30.4166665 0 -3829 -1670 --42.5833335 -42.4166665 -30.5833335 -30.4166665 0 -3874 -1670 --42.4166665 -42.2499995 -30.5833335 -30.4166665 0 -3869 -1670 --42.2500005 -42.0833335 -30.5833335 -30.4166665 0 -3831 -1670 --42.0833335 -41.9166665 -30.5833335 -30.4166665 0 -3842 -1670 --41.9166665 -41.7499995 -30.5833335 -30.4166665 0 -3735 -1670 --41.7500005 -41.5833335 -30.5833335 -30.4166665 0 -3758 -1670 --41.5833335 -41.4166665 -30.5833335 -30.4166665 0 -3673 -1670 --41.4166665 -41.2499995 -30.5833335 -30.4166665 0 -3684 -1670 --41.2500005 -41.0833335 -30.5833335 -30.4166665 0 -3906 -1670 --41.0833335 -40.9166665 -30.5833335 -30.4166665 0 -3711 -1670 --40.9166665 -40.7499995 -30.5833335 -30.4166665 0 -3785 -1670 --40.7500005 -40.5833335 -30.5833335 -30.4166665 0 -3913 -1670 --40.5833335 -40.4166665 -30.5833335 -30.4166665 0 -3858 -1670 --40.4166665 -40.2499995 -30.5833335 -30.4166665 0 -3889 -1670 --40.2500005 -40.0833335 -30.5833335 -30.4166665 0 -3960 -1670 --40.0833335 -39.9166665 -30.5833335 -30.4166665 0 -3979 -1670 --65.0833335 -64.9166665 -30.7500005 -30.5833335 413 0 2670 --64.9166665 -64.7499995 -30.7500005 -30.5833335 451 0 2670 --64.7500005 -64.5833335 -30.7500005 -30.5833335 621 0 2670 --64.5833335 -64.4166665 -30.7500005 -30.5833335 952 0 2670 --64.4166665 -64.2499995 -30.7500005 -30.5833335 1027 0 2670 --64.2500005 -64.0833335 -30.7500005 -30.5833335 657 0 2670 --64.0833335 -63.9166665 -30.7500005 -30.5833335 469 0 2670 --63.9166665 -63.7499995 -30.7500005 -30.5833335 329 0 2670 --63.7500005 -63.5833335 -30.7500005 -30.5833335 214 0 2670 --63.5833335 -63.4166665 -30.7500005 -30.5833335 119 0 2670 --63.4166665 -63.2499995 -30.7500005 -30.5833335 86 0 2670 --63.2500005 -63.0833335 -30.7500005 -30.5833335 77 0 2670 --63.0833335 -62.9166665 -30.7500005 -30.5833335 69 0 2670 --62.9166665 -62.7499995 -30.7500005 -30.5833335 69 0 2670 --62.7500005 -62.5833335 -30.7500005 -30.5833335 69 0 2670 --62.5833335 -62.4166665 -30.7500005 -30.5833335 69 0 2670 --62.4166665 -62.2499995 -30.7500005 -30.5833335 69 0 2670 --62.2500005 -62.0833335 -30.7500005 -30.5833335 97 0 2670 --62.0833335 -61.9166665 -30.7500005 -30.5833335 97 0 2670 --61.9166665 -61.7499995 -30.7500005 -30.5833335 97 0 2670 --61.7500005 -61.5833335 -30.7500005 -30.5833335 94 0 2670 --61.5833335 -61.4166665 -30.7500005 -30.5833335 87 0 2670 --61.4166665 -61.2499995 -30.7500005 -30.5833335 76 0 2670 --61.2500005 -61.0833335 -30.7500005 -30.5833335 66 0 2670 --61.0833335 -60.9166665 -30.7500005 -30.5833335 46 0 2670 --60.9166665 -60.7499995 -30.7500005 -30.5833335 55 0 2670 --60.7500005 -60.5833335 -30.7500005 -30.5833335 51 0 2670 --60.5833335 -60.4166665 -30.7500005 -30.5833335 57 0 2670 --60.4166665 -60.2499995 -30.7500005 -30.5833335 23 0 2670 --60.2500005 -60.0833335 -30.7500005 -30.5833335 23 0 2670 --60.0833335 -59.9166665 -30.7500005 -30.5833335 24 0 2670 --59.9166665 -59.7499995 -30.7500005 -30.5833335 21 0 2670 --59.7500005 -59.5833335 -30.7500005 -30.5833335 22 0 2670 --59.5833335 -59.4166665 -30.7500005 -30.5833335 53 0 2670 --59.4166665 -59.2499995 -30.7500005 -30.5833335 59 0 2670 --59.2500005 -59.0833335 -30.7500005 -30.5833335 64 0 2670 --59.0833335 -58.9166665 -30.7500005 -30.5833335 54 0 2670 --58.9166665 -58.7499995 -30.7500005 -30.5833335 55 0 2670 --58.7500005 -58.5833335 -30.7500005 -30.5833335 74 0 2670 --58.5833335 -58.4166665 -30.7500005 -30.5833335 73 0 2670 --58.4166665 -58.2499995 -30.7500005 -30.5833335 73 0 2670 --58.2500005 -58.0833335 -30.7500005 -30.5833335 67 0 2670 --58.0833335 -57.9166665 -30.7500005 -30.5833335 44 0 2670 --57.9166665 -57.7499995 -30.7500005 -30.5833335 32 0 2670 --57.7500005 -57.5833335 -30.7500005 -30.5833335 73 0 2670 --57.5833335 -57.4166665 -30.7500005 -30.5833335 90 0 2670 --57.4166665 -57.2499995 -30.7500005 -30.5833335 136 0 2670 --57.2500005 -57.0833335 -30.7500005 -30.5833335 116 0 2670 --57.0833335 -56.9166665 -30.7500005 -30.5833335 112 0 2670 --56.9166665 -56.7499995 -30.7500005 -30.5833335 139 0 2670 --56.7500005 -56.5833335 -30.7500005 -30.5833335 214 0 2670 --56.5833335 -56.4166665 -30.7500005 -30.5833335 290 0 2670 --56.4166665 -56.2499995 -30.7500005 -30.5833335 145 0 2670 --56.2500005 -56.0833335 -30.7500005 -30.5833335 132 0 2670 --56.0833335 -55.9166665 -30.7500005 -30.5833335 212 0 2670 --55.9166665 -55.7499995 -30.7500005 -30.5833335 281 0 2670 --55.7500005 -55.5833335 -30.7500005 -30.5833335 201 0 2670 --55.5833335 -55.4166665 -30.7500005 -30.5833335 248 0 2670 --55.4166665 -55.2499995 -30.7500005 -30.5833335 173 0 2670 --55.2500005 -55.0833335 -30.7500005 -30.5833335 119 0 2670 --55.0833335 -54.9166665 -30.7500005 -30.5833335 164 0 2670 --54.9166665 -54.7499995 -30.7500005 -30.5833335 145 0 2670 --54.7500005 -54.5833335 -30.7500005 -30.5833335 115 0 2670 --54.5833335 -54.4166665 -30.7500005 -30.5833335 144 0 2670 --54.4166665 -54.2499995 -30.7500005 -30.5833335 201 0 2670 --54.2500005 -54.0833335 -30.7500005 -30.5833335 241 0 2670 --54.0833335 -53.9166665 -30.7500005 -30.5833335 301 0 2670 --53.9166665 -53.7499995 -30.7500005 -30.5833335 248 0 2670 --53.7500005 -53.5833335 -30.7500005 -30.5833335 274 0 2670 --53.5833335 -53.4166665 -30.7500005 -30.5833335 281 0 2670 --53.4166665 -53.2499995 -30.7500005 -30.5833335 119 0 2670 --53.2500005 -53.0833335 -30.7500005 -30.5833335 141 0 2670 --53.0833335 -52.9166665 -30.7500005 -30.5833335 265 0 2670 --52.9166665 -52.7499995 -30.7500005 -30.5833335 372 0 2670 --52.7500005 -52.5833335 -30.7500005 -30.5833335 315 0 2670 --52.5833335 -52.4166665 -30.7500005 -30.5833335 394 0 2670 --52.4166665 -52.2499995 -30.7500005 -30.5833335 202 0 2670 --52.2500005 -52.0833335 -30.7500005 -30.5833335 274 0 2670 --52.0833335 -51.9166665 -30.7500005 -30.5833335 271 0 2670 --51.9166665 -51.7499995 -30.7500005 -30.5833335 187 0 2670 --51.7500005 -51.5833335 -30.7500005 -30.5833335 90 0 2670 --51.5833335 -51.4166665 -30.7500005 -30.5833335 27 0 2670 --51.4166665 -51.2499995 -30.7500005 -30.5833335 0 -1 -1670 --51.2500005 -51.0833335 -30.7500005 -30.5833335 0 -6 -1670 --51.0833335 -50.9166665 -30.7500005 -30.5833335 0 -6 -1670 --50.9166665 -50.7499995 -30.7500005 -30.5833335 0 -5 -1670 --50.7500005 -50.5833335 -30.7500005 -30.5833335 5 0 2670 --50.5833335 -50.4166665 -30.7500005 -30.5833335 14 0 2670 --50.4166665 -50.2499995 -30.7500005 -30.5833335 0 -21 -1670 --50.2500005 -50.0833335 -30.7500005 -30.5833335 0 -45 -1670 --50.0833335 -49.9166665 -30.7500005 -30.5833335 0 -71 -1670 --49.9166665 -49.7499995 -30.7500005 -30.5833335 0 -105 -1670 --49.7500005 -49.5833335 -30.7500005 -30.5833335 0 -105 -1670 --49.5833335 -49.4166665 -30.7500005 -30.5833335 0 -130 -1670 --49.4166665 -49.2499995 -30.7500005 -30.5833335 0 -149 -1670 --49.2500005 -49.0833335 -30.7500005 -30.5833335 0 -167 -1670 --49.0833335 -48.9166665 -30.7500005 -30.5833335 0 -89 -1670 --48.9166665 -48.7499995 -30.7500005 -30.5833335 0 -331 -1670 --48.7500005 -48.5833335 -30.7500005 -30.5833335 0 -981 -1670 --48.5833335 -48.4166665 -30.7500005 -30.5833335 0 -1106 -1670 --48.4166665 -48.2499995 -30.7500005 -30.5833335 0 -1222 -1670 --48.2500005 -48.0833335 -30.7500005 -30.5833335 0 -1466 -1670 --48.0833335 -47.9166665 -30.7500005 -30.5833335 0 -1730 -1670 --47.9166665 -47.7499995 -30.7500005 -30.5833335 0 -2170 -1670 --47.7500005 -47.5833335 -30.7500005 -30.5833335 0 -2446 -1670 --47.5833335 -47.4166665 -30.7500005 -30.5833335 0 -2460 -1670 --47.4166665 -47.2499995 -30.7500005 -30.5833335 0 -2664 -1670 --47.2500005 -47.0833335 -30.7500005 -30.5833335 0 -2818 -1670 --47.0833335 -46.9166665 -30.7500005 -30.5833335 0 -3092 -1670 --46.9166665 -46.7499995 -30.7500005 -30.5833335 0 -3099 -1670 --46.7500005 -46.5833335 -30.7500005 -30.5833335 0 -3064 -1670 --46.5833335 -46.4166665 -30.7500005 -30.5833335 0 -3207 -1670 --46.4166665 -46.2499995 -30.7500005 -30.5833335 0 -3242 -1670 --46.2500005 -46.0833335 -30.7500005 -30.5833335 0 -3264 -1670 --46.0833335 -45.9166665 -30.7500005 -30.5833335 0 -3267 -1670 --45.9166665 -45.7499995 -30.7500005 -30.5833335 0 -3313 -1670 --45.7500005 -45.5833335 -30.7500005 -30.5833335 0 -3440 -1670 --45.5833335 -45.4166665 -30.7500005 -30.5833335 0 -3471 -1670 --45.4166665 -45.2499995 -30.7500005 -30.5833335 0 -3499 -1670 --45.2500005 -45.0833335 -30.7500005 -30.5833335 0 -3384 -1670 --45.0833335 -44.9166665 -30.7500005 -30.5833335 0 -3422 -1670 --44.9166665 -44.7499995 -30.7500005 -30.5833335 0 -3416 -1670 --44.7500005 -44.5833335 -30.7500005 -30.5833335 0 -3429 -1670 --44.5833335 -44.4166665 -30.7500005 -30.5833335 0 -3381 -1670 --44.4166665 -44.2499995 -30.7500005 -30.5833335 0 -3407 -1670 --44.2500005 -44.0833335 -30.7500005 -30.5833335 0 -3378 -1670 --44.0833335 -43.9166665 -30.7500005 -30.5833335 0 -3463 -1670 --43.9166665 -43.7499995 -30.7500005 -30.5833335 0 -3438 -1670 --43.7500005 -43.5833335 -30.7500005 -30.5833335 0 -3465 -1670 --43.5833335 -43.4166665 -30.7500005 -30.5833335 0 -3544 -1670 --43.4166665 -43.2499995 -30.7500005 -30.5833335 0 -3842 -1670 --43.2500005 -43.0833335 -30.7500005 -30.5833335 0 -3961 -1670 --43.0833335 -42.9166665 -30.7500005 -30.5833335 0 -3919 -1670 --42.9166665 -42.7499995 -30.7500005 -30.5833335 0 -3915 -1670 --42.7500005 -42.5833335 -30.7500005 -30.5833335 0 -3760 -1670 --42.5833335 -42.4166665 -30.7500005 -30.5833335 0 -3832 -1670 --42.4166665 -42.2499995 -30.7500005 -30.5833335 0 -3844 -1670 --42.2500005 -42.0833335 -30.7500005 -30.5833335 0 -3818 -1670 --42.0833335 -41.9166665 -30.7500005 -30.5833335 0 -3815 -1670 --41.9166665 -41.7499995 -30.7500005 -30.5833335 0 -3818 -1670 --41.7500005 -41.5833335 -30.7500005 -30.5833335 0 -3735 -1670 --41.5833335 -41.4166665 -30.7500005 -30.5833335 0 -3664 -1670 --41.4166665 -41.2499995 -30.7500005 -30.5833335 0 -3606 -1670 --41.2500005 -41.0833335 -30.7500005 -30.5833335 0 -3790 -1670 --41.0833335 -40.9166665 -30.7500005 -30.5833335 0 -3681 -1670 --40.9166665 -40.7499995 -30.7500005 -30.5833335 0 -3733 -1670 --40.7500005 -40.5833335 -30.7500005 -30.5833335 0 -3601 -1670 --40.5833335 -40.4166665 -30.7500005 -30.5833335 0 -3749 -1670 --40.4166665 -40.2499995 -30.7500005 -30.5833335 0 -4111 -1670 --40.2500005 -40.0833335 -30.7500005 -30.5833335 0 -4006 -1670 --40.0833335 -39.9166665 -30.7500005 -30.5833335 0 -3875 -1670 --65.0833335 -64.9166665 -30.9166665 -30.7499995 545 0 2670 --64.9166665 -64.7499995 -30.9166665 -30.7499995 684 0 2670 --64.7500005 -64.5833335 -30.9166665 -30.7499995 594 0 2670 --64.5833335 -64.4166665 -30.9166665 -30.7499995 1163 0 2670 --64.4166665 -64.2499995 -30.9166665 -30.7499995 1078 0 2670 --64.2500005 -64.0833335 -30.9166665 -30.7499995 697 0 2670 --64.0833335 -63.9166665 -30.9166665 -30.7499995 467 0 2670 --63.9166665 -63.7499995 -30.9166665 -30.7499995 305 0 2670 --63.7500005 -63.5833335 -30.9166665 -30.7499995 198 0 2670 --63.5833335 -63.4166665 -30.9166665 -30.7499995 127 0 2670 --63.4166665 -63.2499995 -30.9166665 -30.7499995 103 0 2670 --63.2500005 -63.0833335 -30.9166665 -30.7499995 97 0 2670 --63.0833335 -62.9166665 -30.9166665 -30.7499995 88 0 2670 --62.9166665 -62.7499995 -30.9166665 -30.7499995 69 0 2670 --62.7500005 -62.5833335 -30.9166665 -30.7499995 69 0 2670 --62.5833335 -62.4166665 -30.9166665 -30.7499995 69 0 2670 --62.4166665 -62.2499995 -30.9166665 -30.7499995 69 0 2670 --62.2500005 -62.0833335 -30.9166665 -30.7499995 102 0 2670 --62.0833335 -61.9166665 -30.9166665 -30.7499995 99 0 2670 --61.9166665 -61.7499995 -30.9166665 -30.7499995 99 0 2670 --61.7500005 -61.5833335 -30.9166665 -30.7499995 98 0 2670 --61.5833335 -61.4166665 -30.9166665 -30.7499995 93 0 2670 --61.4166665 -61.2499995 -30.9166665 -30.7499995 79 0 2670 --61.2500005 -61.0833335 -30.9166665 -30.7499995 61 0 2670 --61.0833335 -60.9166665 -30.9166665 -30.7499995 54 0 2670 --60.9166665 -60.7499995 -30.9166665 -30.7499995 37 0 2670 --60.7500005 -60.5833335 -30.9166665 -30.7499995 55 0 2670 --60.5833335 -60.4166665 -30.9166665 -30.7499995 32 0 2670 --60.4166665 -60.2499995 -30.9166665 -30.7499995 21 0 2670 --60.2500005 -60.0833335 -30.9166665 -30.7499995 21 0 2670 --60.0833335 -59.9166665 -30.9166665 -30.7499995 23 0 2670 --59.9166665 -59.7499995 -30.9166665 -30.7499995 15 0 2670 --59.7500005 -59.5833335 -30.9166665 -30.7499995 57 0 2670 --59.5833335 -59.4166665 -30.9166665 -30.7499995 48 0 2670 --59.4166665 -59.2499995 -30.9166665 -30.7499995 43 0 2670 --59.2500005 -59.0833335 -30.9166665 -30.7499995 58 0 2670 --59.0833335 -58.9166665 -30.9166665 -30.7499995 51 0 2670 --58.9166665 -58.7499995 -30.9166665 -30.7499995 71 0 2670 --58.7500005 -58.5833335 -30.9166665 -30.7499995 75 0 2670 --58.5833335 -58.4166665 -30.9166665 -30.7499995 63 0 2670 --58.4166665 -58.2499995 -30.9166665 -30.7499995 64 0 2670 --58.2500005 -58.0833335 -30.9166665 -30.7499995 62 0 2670 --58.0833335 -57.9166665 -30.9166665 -30.7499995 62 0 2670 --57.9166665 -57.7499995 -30.9166665 -30.7499995 39 0 2670 --57.7500005 -57.5833335 -30.9166665 -30.7499995 66 0 2670 --57.5833335 -57.4166665 -30.9166665 -30.7499995 84 0 2670 --57.4166665 -57.2499995 -30.9166665 -30.7499995 114 0 2670 --57.2500005 -57.0833335 -30.9166665 -30.7499995 126 0 2670 --57.0833335 -56.9166665 -30.9166665 -30.7499995 148 0 2670 --56.9166665 -56.7499995 -30.9166665 -30.7499995 157 0 2670 --56.7500005 -56.5833335 -30.9166665 -30.7499995 168 0 2670 --56.5833335 -56.4166665 -30.9166665 -30.7499995 211 0 2670 --56.4166665 -56.2499995 -30.9166665 -30.7499995 193 0 2670 --56.2500005 -56.0833335 -30.9166665 -30.7499995 234 0 2670 --56.0833335 -55.9166665 -30.9166665 -30.7499995 205 0 2670 --55.9166665 -55.7499995 -30.9166665 -30.7499995 252 0 2670 --55.7500005 -55.5833335 -30.9166665 -30.7499995 320 0 2670 --55.5833335 -55.4166665 -30.9166665 -30.7499995 218 0 2670 --55.4166665 -55.2499995 -30.9166665 -30.7499995 160 0 2670 --55.2500005 -55.0833335 -30.9166665 -30.7499995 154 0 2670 --55.0833335 -54.9166665 -30.9166665 -30.7499995 149 0 2670 --54.9166665 -54.7499995 -30.9166665 -30.7499995 160 0 2670 --54.7500005 -54.5833335 -30.9166665 -30.7499995 127 0 2670 --54.5833335 -54.4166665 -30.9166665 -30.7499995 280 0 2670 --54.4166665 -54.2499995 -30.9166665 -30.7499995 269 0 2670 --54.2500005 -54.0833335 -30.9166665 -30.7499995 318 0 2670 --54.0833335 -53.9166665 -30.9166665 -30.7499995 356 0 2670 --53.9166665 -53.7499995 -30.9166665 -30.7499995 240 0 2670 --53.7500005 -53.5833335 -30.9166665 -30.7499995 154 0 2670 --53.5833335 -53.4166665 -30.9166665 -30.7499995 235 0 2670 --53.4166665 -53.2499995 -30.9166665 -30.7499995 240 0 2670 --53.2500005 -53.0833335 -30.9166665 -30.7499995 327 0 2670 --53.0833335 -52.9166665 -30.9166665 -30.7499995 255 0 2670 --52.9166665 -52.7499995 -30.9166665 -30.7499995 251 0 2670 --52.7500005 -52.5833335 -30.9166665 -30.7499995 290 0 2670 --52.5833335 -52.4166665 -30.9166665 -30.7499995 90 0 2670 --52.4166665 -52.2499995 -30.9166665 -30.7499995 166 0 2670 --52.2500005 -52.0833335 -30.9166665 -30.7499995 122 0 2670 --52.0833335 -51.9166665 -30.9166665 -30.7499995 155 0 2670 --51.9166665 -51.7499995 -30.9166665 -30.7499995 43 0 2670 --51.7500005 -51.5833335 -30.9166665 -30.7499995 20 0 2670 --51.5833335 -51.4166665 -30.9166665 -30.7499995 9 0 2670 --51.4166665 -51.2499995 -30.9166665 -30.7499995 0 -5 -1670 --51.2500005 -51.0833335 -30.9166665 -30.7499995 0 -6 -1670 --51.0833335 -50.9166665 -30.9166665 -30.7499995 0 -6 -1670 --50.9166665 -50.7499995 -30.9166665 -30.7499995 0 -1 -1670 --50.7500005 -50.5833335 -30.9166665 -30.7499995 17 0 2670 --50.5833335 -50.4166665 -30.9166665 -30.7499995 0 -18 -1670 --50.4166665 -50.2499995 -30.9166665 -30.7499995 0 -43 -1670 --50.2500005 -50.0833335 -30.9166665 -30.7499995 0 -73 -1670 --50.0833335 -49.9166665 -30.9166665 -30.7499995 0 -100 -1670 --49.9166665 -49.7499995 -30.9166665 -30.7499995 0 -115 -1670 --49.7500005 -49.5833335 -30.9166665 -30.7499995 0 -112 -1670 --49.5833335 -49.4166665 -30.9166665 -30.7499995 0 -89 -1670 --49.4166665 -49.2499995 -30.9166665 -30.7499995 0 -170 -1670 --49.2500005 -49.0833335 -30.9166665 -30.7499995 0 -211 -1670 --49.0833335 -48.9166665 -30.9166665 -30.7499995 0 -862 -1670 --48.9166665 -48.7499995 -30.9166665 -30.7499995 0 -1384 -1670 --48.7500005 -48.5833335 -30.9166665 -30.7499995 0 -1476 -1670 --48.5833335 -48.4166665 -30.9166665 -30.7499995 0 -1725 -1670 --48.4166665 -48.2499995 -30.9166665 -30.7499995 0 -2029 -1670 --48.2500005 -48.0833335 -30.9166665 -30.7499995 0 -2309 -1670 --48.0833335 -47.9166665 -30.9166665 -30.7499995 0 -2526 -1670 --47.9166665 -47.7499995 -30.9166665 -30.7499995 0 -2607 -1670 --47.7500005 -47.5833335 -30.9166665 -30.7499995 0 -2771 -1670 --47.5833335 -47.4166665 -30.9166665 -30.7499995 0 -2880 -1670 --47.4166665 -47.2499995 -30.9166665 -30.7499995 0 -2947 -1670 --47.2500005 -47.0833335 -30.9166665 -30.7499995 0 -3105 -1670 --47.0833335 -46.9166665 -30.9166665 -30.7499995 0 -3181 -1670 --46.9166665 -46.7499995 -30.9166665 -30.7499995 0 -3103 -1670 --46.7500005 -46.5833335 -30.9166665 -30.7499995 0 -3225 -1670 --46.5833335 -46.4166665 -30.9166665 -30.7499995 0 -3294 -1670 --46.4166665 -46.2499995 -30.9166665 -30.7499995 0 -3344 -1670 --46.2500005 -46.0833335 -30.9166665 -30.7499995 0 -3258 -1670 --46.0833335 -45.9166665 -30.9166665 -30.7499995 0 -3330 -1670 --45.9166665 -45.7499995 -30.9166665 -30.7499995 0 -3396 -1670 --45.7500005 -45.5833335 -30.9166665 -30.7499995 0 -3475 -1670 --45.5833335 -45.4166665 -30.9166665 -30.7499995 0 -3489 -1670 --45.4166665 -45.2499995 -30.9166665 -30.7499995 0 -3533 -1670 --45.2500005 -45.0833335 -30.9166665 -30.7499995 0 -3472 -1670 --45.0833335 -44.9166665 -30.9166665 -30.7499995 0 -3451 -1670 --44.9166665 -44.7499995 -30.9166665 -30.7499995 0 -3429 -1670 --44.7500005 -44.5833335 -30.9166665 -30.7499995 0 -3374 -1670 --44.5833335 -44.4166665 -30.9166665 -30.7499995 0 -3422 -1670 --44.4166665 -44.2499995 -30.9166665 -30.7499995 0 -3450 -1670 --44.2500005 -44.0833335 -30.9166665 -30.7499995 0 -3374 -1670 --44.0833335 -43.9166665 -30.9166665 -30.7499995 0 -3463 -1670 --43.9166665 -43.7499995 -30.9166665 -30.7499995 0 -3398 -1670 --43.7500005 -43.5833335 -30.9166665 -30.7499995 0 -3406 -1670 --43.5833335 -43.4166665 -30.9166665 -30.7499995 0 -3573 -1670 --43.4166665 -43.2499995 -30.9166665 -30.7499995 0 -3812 -1670 --43.2500005 -43.0833335 -30.9166665 -30.7499995 0 -3937 -1670 --43.0833335 -42.9166665 -30.9166665 -30.7499995 0 -3943 -1670 --42.9166665 -42.7499995 -30.9166665 -30.7499995 0 -3812 -1670 --42.7500005 -42.5833335 -30.9166665 -30.7499995 0 -3815 -1670 --42.5833335 -42.4166665 -30.9166665 -30.7499995 0 -3839 -1670 --42.4166665 -42.2499995 -30.9166665 -30.7499995 0 -3792 -1670 --42.2500005 -42.0833335 -30.9166665 -30.7499995 0 -3804 -1670 --42.0833335 -41.9166665 -30.9166665 -30.7499995 0 -3803 -1670 --41.9166665 -41.7499995 -30.9166665 -30.7499995 0 -3783 -1670 --41.7500005 -41.5833335 -30.9166665 -30.7499995 0 -3724 -1670 --41.5833335 -41.4166665 -30.9166665 -30.7499995 0 -3611 -1670 --41.4166665 -41.2499995 -30.9166665 -30.7499995 0 -3590 -1670 --41.2500005 -41.0833335 -30.9166665 -30.7499995 0 -3806 -1670 --41.0833335 -40.9166665 -30.9166665 -30.7499995 0 -3219 -1670 --40.9166665 -40.7499995 -30.9166665 -30.7499995 0 -3591 -1670 --40.7500005 -40.5833335 -30.9166665 -30.7499995 0 -3838 -1670 --40.5833335 -40.4166665 -30.9166665 -30.7499995 0 -4088 -1670 --40.4166665 -40.2499995 -30.9166665 -30.7499995 0 -4089 -1670 --40.2500005 -40.0833335 -30.9166665 -30.7499995 0 -3784 -1670 --40.0833335 -39.9166665 -30.9166665 -30.7499995 0 -3854 -1670 --65.0833335 -64.9166665 -31.0833335 -30.9166665 721 0 2670 --64.9166665 -64.7499995 -31.0833335 -30.9166665 1019 0 2670 --64.7500005 -64.5833335 -31.0833335 -30.9166665 925 0 2670 --64.5833335 -64.4166665 -31.0833335 -30.9166665 1123 0 2670 --64.4166665 -64.2499995 -31.0833335 -30.9166665 1007 0 2670 --64.2500005 -64.0833335 -31.0833335 -30.9166665 571 0 2670 --64.0833335 -63.9166665 -31.0833335 -30.9166665 444 0 2670 --63.9166665 -63.7499995 -31.0833335 -30.9166665 319 0 2670 --63.7500005 -63.5833335 -31.0833335 -30.9166665 218 0 2670 --63.5833335 -63.4166665 -31.0833335 -30.9166665 160 0 2670 --63.4166665 -63.2499995 -31.0833335 -30.9166665 133 0 2670 --63.2500005 -63.0833335 -31.0833335 -30.9166665 120 0 2670 --63.0833335 -62.9166665 -31.0833335 -30.9166665 99 0 2670 --62.9166665 -62.7499995 -31.0833335 -30.9166665 90 0 2670 --62.7500005 -62.5833335 -31.0833335 -30.9166665 84 0 2670 --62.5833335 -62.4166665 -31.0833335 -30.9166665 80 0 2670 --62.4166665 -62.2499995 -31.0833335 -30.9166665 105 0 2670 --62.2500005 -62.0833335 -31.0833335 -30.9166665 103 0 2670 --62.0833335 -61.9166665 -31.0833335 -30.9166665 103 0 2670 --61.9166665 -61.7499995 -31.0833335 -30.9166665 102 0 2670 --61.7500005 -61.5833335 -31.0833335 -30.9166665 98 0 2670 --61.5833335 -61.4166665 -31.0833335 -30.9166665 94 0 2670 --61.4166665 -61.2499995 -31.0833335 -30.9166665 77 0 2670 --61.2500005 -61.0833335 -31.0833335 -30.9166665 61 0 2670 --61.0833335 -60.9166665 -31.0833335 -30.9166665 51 0 2670 --60.9166665 -60.7499995 -31.0833335 -30.9166665 29 0 2670 --60.7500005 -60.5833335 -31.0833335 -30.9166665 50 0 2670 --60.5833335 -60.4166665 -31.0833335 -30.9166665 26 0 2670 --60.4166665 -60.2499995 -31.0833335 -30.9166665 18 0 2670 --60.2500005 -60.0833335 -31.0833335 -30.9166665 19 0 2670 --60.0833335 -59.9166665 -31.0833335 -30.9166665 15 0 2670 --59.9166665 -59.7499995 -31.0833335 -30.9166665 57 0 2670 --59.7500005 -59.5833335 -31.0833335 -30.9166665 28 0 2670 --59.5833335 -59.4166665 -31.0833335 -30.9166665 57 0 2670 --59.4166665 -59.2499995 -31.0833335 -30.9166665 55 0 2670 --59.2500005 -59.0833335 -31.0833335 -30.9166665 64 0 2670 --59.0833335 -58.9166665 -31.0833335 -30.9166665 70 0 2670 --58.9166665 -58.7499995 -31.0833335 -30.9166665 64 0 2670 --58.7500005 -58.5833335 -31.0833335 -30.9166665 66 0 2670 --58.5833335 -58.4166665 -31.0833335 -30.9166665 57 0 2670 --58.4166665 -58.2499995 -31.0833335 -30.9166665 61 0 2670 --58.2500005 -58.0833335 -31.0833335 -30.9166665 57 0 2670 --58.0833335 -57.9166665 -31.0833335 -30.9166665 53 0 2670 --57.9166665 -57.7499995 -31.0833335 -30.9166665 42 0 2670 --57.7500005 -57.5833335 -31.0833335 -30.9166665 67 0 2670 --57.5833335 -57.4166665 -31.0833335 -30.9166665 47 0 2670 --57.4166665 -57.2499995 -31.0833335 -30.9166665 94 0 2670 --57.2500005 -57.0833335 -31.0833335 -30.9166665 73 0 2670 --57.0833335 -56.9166665 -31.0833335 -30.9166665 140 0 2670 --56.9166665 -56.7499995 -31.0833335 -30.9166665 140 0 2670 --56.7500005 -56.5833335 -31.0833335 -30.9166665 184 0 2670 --56.5833335 -56.4166665 -31.0833335 -30.9166665 184 0 2670 --56.4166665 -56.2499995 -31.0833335 -30.9166665 220 0 2670 --56.2500005 -56.0833335 -31.0833335 -30.9166665 292 0 2670 --56.0833335 -55.9166665 -31.0833335 -30.9166665 262 0 2670 --55.9166665 -55.7499995 -31.0833335 -30.9166665 331 0 2670 --55.7500005 -55.5833335 -31.0833335 -30.9166665 214 0 2670 --55.5833335 -55.4166665 -31.0833335 -30.9166665 212 0 2670 --55.4166665 -55.2499995 -31.0833335 -30.9166665 155 0 2670 --55.2500005 -55.0833335 -31.0833335 -30.9166665 133 0 2670 --55.0833335 -54.9166665 -31.0833335 -30.9166665 145 0 2670 --54.9166665 -54.7499995 -31.0833335 -30.9166665 155 0 2670 --54.7500005 -54.5833335 -31.0833335 -30.9166665 133 0 2670 --54.5833335 -54.4166665 -31.0833335 -30.9166665 222 0 2670 --54.4166665 -54.2499995 -31.0833335 -30.9166665 306 0 2670 --54.2500005 -54.0833335 -31.0833335 -30.9166665 361 0 2670 --54.0833335 -53.9166665 -31.0833335 -30.9166665 317 0 2670 --53.9166665 -53.7499995 -31.0833335 -30.9166665 323 0 2670 --53.7500005 -53.5833335 -31.0833335 -30.9166665 285 0 2670 --53.5833335 -53.4166665 -31.0833335 -30.9166665 214 0 2670 --53.4166665 -53.2499995 -31.0833335 -30.9166665 133 0 2670 --53.2500005 -53.0833335 -31.0833335 -30.9166665 159 0 2670 --53.0833335 -52.9166665 -31.0833335 -30.9166665 235 0 2670 --52.9166665 -52.7499995 -31.0833335 -30.9166665 226 0 2670 --52.7500005 -52.5833335 -31.0833335 -30.9166665 70 0 2670 --52.5833335 -52.4166665 -31.0833335 -30.9166665 85 0 2670 --52.4166665 -52.2499995 -31.0833335 -30.9166665 61 0 2670 --52.2500005 -52.0833335 -31.0833335 -30.9166665 31 0 2670 --52.0833335 -51.9166665 -31.0833335 -30.9166665 22 0 2670 --51.9166665 -51.7499995 -31.0833335 -30.9166665 18 0 2670 --51.7500005 -51.5833335 -31.0833335 -30.9166665 12 0 2670 --51.5833335 -51.4166665 -31.0833335 -30.9166665 3 0 2670 --51.4166665 -51.2499995 -31.0833335 -30.9166665 0 -6 -1670 --51.2500005 -51.0833335 -31.0833335 -30.9166665 0 -5 -1670 --51.0833335 -50.9166665 -31.0833335 -30.9166665 0 -1 -1670 --50.9166665 -50.7499995 -31.0833335 -30.9166665 12 0 2670 --50.7500005 -50.5833335 -31.0833335 -30.9166665 0 -6 -1670 --50.5833335 -50.4166665 -31.0833335 -30.9166665 0 -40 -1670 --50.4166665 -50.2499995 -31.0833335 -30.9166665 0 -73 -1670 --50.2500005 -50.0833335 -31.0833335 -30.9166665 0 -97 -1670 --50.0833335 -49.9166665 -31.0833335 -30.9166665 0 -110 -1670 --49.9166665 -49.7499995 -31.0833335 -30.9166665 0 -130 -1670 --49.7500005 -49.5833335 -31.0833335 -30.9166665 0 -171 -1670 --49.5833335 -49.4166665 -31.0833335 -30.9166665 0 -157 -1670 --49.4166665 -49.2499995 -31.0833335 -30.9166665 0 -340 -1670 --49.2500005 -49.0833335 -31.0833335 -30.9166665 0 -1096 -1670 --49.0833335 -48.9166665 -31.0833335 -30.9166665 0 -1567 -1670 --48.9166665 -48.7499995 -31.0833335 -30.9166665 0 -1759 -1670 --48.7500005 -48.5833335 -31.0833335 -30.9166665 0 -2002 -1670 --48.5833335 -48.4166665 -31.0833335 -30.9166665 0 -2264 -1670 --48.4166665 -48.2499995 -31.0833335 -30.9166665 0 -2518 -1670 --48.2500005 -48.0833335 -31.0833335 -30.9166665 0 -2606 -1670 --48.0833335 -47.9166665 -31.0833335 -30.9166665 0 -2768 -1670 --47.9166665 -47.7499995 -31.0833335 -30.9166665 0 -2662 -1670 --47.7500005 -47.5833335 -31.0833335 -30.9166665 0 -2817 -1670 --47.5833335 -47.4166665 -31.0833335 -30.9166665 0 -2941 -1670 --47.4166665 -47.2499995 -31.0833335 -30.9166665 0 -3094 -1670 --47.2500005 -47.0833335 -31.0833335 -30.9166665 0 -3239 -1670 --47.0833335 -46.9166665 -31.0833335 -30.9166665 0 -3312 -1670 --46.9166665 -46.7499995 -31.0833335 -30.9166665 0 -3204 -1670 --46.7500005 -46.5833335 -31.0833335 -30.9166665 0 -3363 -1670 --46.5833335 -46.4166665 -31.0833335 -30.9166665 0 -3384 -1670 --46.4166665 -46.2499995 -31.0833335 -30.9166665 0 -3388 -1670 --46.2500005 -46.0833335 -31.0833335 -30.9166665 0 -3299 -1670 --46.0833335 -45.9166665 -31.0833335 -30.9166665 0 -3375 -1670 --45.9166665 -45.7499995 -31.0833335 -30.9166665 0 -3468 -1670 --45.7500005 -45.5833335 -31.0833335 -30.9166665 0 -3465 -1670 --45.5833335 -45.4166665 -31.0833335 -30.9166665 0 -3512 -1670 --45.4166665 -45.2499995 -31.0833335 -30.9166665 0 -3544 -1670 --45.2500005 -45.0833335 -31.0833335 -30.9166665 0 -3512 -1670 --45.0833335 -44.9166665 -31.0833335 -30.9166665 0 -3497 -1670 --44.9166665 -44.7499995 -31.0833335 -30.9166665 0 -3504 -1670 --44.7500005 -44.5833335 -31.0833335 -30.9166665 0 -3432 -1670 --44.5833335 -44.4166665 -31.0833335 -30.9166665 0 -3453 -1670 --44.4166665 -44.2499995 -31.0833335 -30.9166665 0 -3451 -1670 --44.2500005 -44.0833335 -31.0833335 -30.9166665 0 -3394 -1670 --44.0833335 -43.9166665 -31.0833335 -30.9166665 0 -3352 -1670 --43.9166665 -43.7499995 -31.0833335 -30.9166665 0 -3461 -1670 --43.7500005 -43.5833335 -31.0833335 -30.9166665 0 -3384 -1670 --43.5833335 -43.4166665 -31.0833335 -30.9166665 0 -3592 -1670 --43.4166665 -43.2499995 -31.0833335 -30.9166665 0 -3838 -1670 --43.2500005 -43.0833335 -31.0833335 -30.9166665 0 -3956 -1670 --43.0833335 -42.9166665 -31.0833335 -30.9166665 0 -3848 -1670 --42.9166665 -42.7499995 -31.0833335 -30.9166665 0 -3902 -1670 --42.7500005 -42.5833335 -31.0833335 -30.9166665 0 -3786 -1670 --42.5833335 -42.4166665 -31.0833335 -30.9166665 0 -3771 -1670 --42.4166665 -42.2499995 -31.0833335 -30.9166665 0 -3726 -1670 --42.2500005 -42.0833335 -31.0833335 -30.9166665 0 -3762 -1670 --42.0833335 -41.9166665 -31.0833335 -30.9166665 0 -3765 -1670 --41.9166665 -41.7499995 -31.0833335 -30.9166665 0 -3732 -1670 --41.7500005 -41.5833335 -31.0833335 -30.9166665 0 -3794 -1670 --41.5833335 -41.4166665 -31.0833335 -30.9166665 0 -3697 -1670 --41.4166665 -41.2499995 -31.0833335 -30.9166665 0 -3707 -1670 --41.2500005 -41.0833335 -31.0833335 -30.9166665 0 -3902 -1670 --41.0833335 -40.9166665 -31.0833335 -30.9166665 0 -3651 -1670 --40.9166665 -40.7499995 -31.0833335 -30.9166665 0 -3748 -1670 --40.7500005 -40.5833335 -31.0833335 -30.9166665 0 -3991 -1670 --40.5833335 -40.4166665 -31.0833335 -30.9166665 0 -3858 -1670 --40.4166665 -40.2499995 -31.0833335 -30.9166665 0 -3782 -1670 --40.2500005 -40.0833335 -31.0833335 -30.9166665 0 -3702 -1670 --40.0833335 -39.9166665 -31.0833335 -30.9166665 0 -3744 -1670 --65.0833335 -64.9166665 -31.2500005 -31.0833335 980 0 2670 --64.9166665 -64.7499995 -31.2500005 -31.0833335 1592 0 2670 --64.7500005 -64.5833335 -31.2500005 -31.0833335 1327 0 2670 --64.5833335 -64.4166665 -31.2500005 -31.0833335 839 0 2670 --64.4166665 -64.2499995 -31.2500005 -31.0833335 783 0 2670 --64.2500005 -64.0833335 -31.2500005 -31.0833335 533 0 2670 --64.0833335 -63.9166665 -31.2500005 -31.0833335 398 0 2670 --63.9166665 -63.7499995 -31.2500005 -31.0833335 305 0 2670 --63.7500005 -63.5833335 -31.2500005 -31.0833335 234 0 2670 --63.5833335 -63.4166665 -31.2500005 -31.0833335 184 0 2670 --63.4166665 -63.2499995 -31.2500005 -31.0833335 162 0 2670 --63.2500005 -63.0833335 -31.2500005 -31.0833335 138 0 2670 --63.0833335 -62.9166665 -31.2500005 -31.0833335 123 0 2670 --62.9166665 -62.7499995 -31.2500005 -31.0833335 106 0 2670 --62.7500005 -62.5833335 -31.2500005 -31.0833335 96 0 2670 --62.5833335 -62.4166665 -31.2500005 -31.0833335 89 0 2670 --62.4166665 -62.2499995 -31.2500005 -31.0833335 109 0 2670 --62.2500005 -62.0833335 -31.2500005 -31.0833335 109 0 2670 --62.0833335 -61.9166665 -31.2500005 -31.0833335 106 0 2670 --61.9166665 -61.7499995 -31.2500005 -31.0833335 100 0 2670 --61.7500005 -61.5833335 -31.2500005 -31.0833335 103 0 2670 --61.5833335 -61.4166665 -31.2500005 -31.0833335 97 0 2670 --61.4166665 -61.2499995 -31.2500005 -31.0833335 69 0 2670 --61.2500005 -61.0833335 -31.2500005 -31.0833335 57 0 2670 --61.0833335 -60.9166665 -31.2500005 -31.0833335 49 0 2670 --60.9166665 -60.7499995 -31.2500005 -31.0833335 26 0 2670 --60.7500005 -60.5833335 -31.2500005 -31.0833335 25 0 2670 --60.5833335 -60.4166665 -31.2500005 -31.0833335 19 0 2670 --60.4166665 -60.2499995 -31.2500005 -31.0833335 17 0 2670 --60.2500005 -60.0833335 -31.2500005 -31.0833335 20 0 2670 --60.0833335 -59.9166665 -31.2500005 -31.0833335 16 0 2670 --59.9166665 -59.7499995 -31.2500005 -31.0833335 61 0 2670 --59.7500005 -59.5833335 -31.2500005 -31.0833335 58 0 2670 --59.5833335 -59.4166665 -31.2500005 -31.0833335 57 0 2670 --59.4166665 -59.2499995 -31.2500005 -31.0833335 66 0 2670 --59.2500005 -59.0833335 -31.2500005 -31.0833335 72 0 2670 --59.0833335 -58.9166665 -31.2500005 -31.0833335 60 0 2670 --58.9166665 -58.7499995 -31.2500005 -31.0833335 50 0 2670 --58.7500005 -58.5833335 -31.2500005 -31.0833335 59 0 2670 --58.5833335 -58.4166665 -31.2500005 -31.0833335 60 0 2670 --58.4166665 -58.2499995 -31.2500005 -31.0833335 64 0 2670 --58.2500005 -58.0833335 -31.2500005 -31.0833335 53 0 2670 --58.0833335 -57.9166665 -31.2500005 -31.0833335 34 0 2670 --57.9166665 -57.7499995 -31.2500005 -31.0833335 50 0 2670 --57.7500005 -57.5833335 -31.2500005 -31.0833335 69 0 2670 --57.5833335 -57.4166665 -31.2500005 -31.0833335 79 0 2670 --57.4166665 -57.2499995 -31.2500005 -31.0833335 65 0 2670 --57.2500005 -57.0833335 -31.2500005 -31.0833335 70 0 2670 --57.0833335 -56.9166665 -31.2500005 -31.0833335 97 0 2670 --56.9166665 -56.7499995 -31.2500005 -31.0833335 90 0 2670 --56.7500005 -56.5833335 -31.2500005 -31.0833335 109 0 2670 --56.5833335 -56.4166665 -31.2500005 -31.0833335 200 0 2670 --56.4166665 -56.2499995 -31.2500005 -31.0833335 224 0 2670 --56.2500005 -56.0833335 -31.2500005 -31.0833335 252 0 2670 --56.0833335 -55.9166665 -31.2500005 -31.0833335 295 0 2670 --55.9166665 -55.7499995 -31.2500005 -31.0833335 219 0 2670 --55.7500005 -55.5833335 -31.2500005 -31.0833335 198 0 2670 --55.5833335 -55.4166665 -31.2500005 -31.0833335 170 0 2670 --55.4166665 -55.2499995 -31.2500005 -31.0833335 182 0 2670 --55.2500005 -55.0833335 -31.2500005 -31.0833335 144 0 2670 --55.0833335 -54.9166665 -31.2500005 -31.0833335 168 0 2670 --54.9166665 -54.7499995 -31.2500005 -31.0833335 166 0 2670 --54.7500005 -54.5833335 -31.2500005 -31.0833335 148 0 2670 --54.5833335 -54.4166665 -31.2500005 -31.0833335 200 0 2670 --54.4166665 -54.2499995 -31.2500005 -31.0833335 283 0 2670 --54.2500005 -54.0833335 -31.2500005 -31.0833335 353 0 2670 --54.0833335 -53.9166665 -31.2500005 -31.0833335 350 0 2670 --53.9166665 -53.7499995 -31.2500005 -31.0833335 307 0 2670 --53.7500005 -53.5833335 -31.2500005 -31.0833335 331 0 2670 --53.5833335 -53.4166665 -31.2500005 -31.0833335 215 0 2670 --53.4166665 -53.2499995 -31.2500005 -31.0833335 203 0 2670 --53.2500005 -53.0833335 -31.2500005 -31.0833335 217 0 2670 --53.0833335 -52.9166665 -31.2500005 -31.0833335 159 0 2670 --52.9166665 -52.7499995 -31.2500005 -31.0833335 316 0 2670 --52.7500005 -52.5833335 -31.2500005 -31.0833335 297 0 2670 --52.5833335 -52.4166665 -31.2500005 -31.0833335 281 0 2670 --52.4166665 -52.2499995 -31.2500005 -31.0833335 227 0 2670 --52.2500005 -52.0833335 -31.2500005 -31.0833335 94 0 2670 --52.0833335 -51.9166665 -31.2500005 -31.0833335 49 0 2670 --51.9166665 -51.7499995 -31.2500005 -31.0833335 12 0 2670 --51.7500005 -51.5833335 -31.2500005 -31.0833335 4 0 2670 --51.5833335 -51.4166665 -31.2500005 -31.0833335 0 -5 -1670 --51.4166665 -51.2499995 -31.2500005 -31.0833335 0 -6 -1670 --51.2500005 -51.0833335 -31.2500005 -31.0833335 4 0 2670 --51.0833335 -50.9166665 -31.2500005 -31.0833335 2 0 2670 --50.9166665 -50.7499995 -31.2500005 -31.0833335 9 0 2670 --50.7500005 -50.5833335 -31.2500005 -31.0833335 0 -30 -1670 --50.5833335 -50.4166665 -31.2500005 -31.0833335 0 -64 -1670 --50.4166665 -50.2499995 -31.2500005 -31.0833335 0 -97 -1670 --50.2500005 -50.0833335 -31.2500005 -31.0833335 0 -113 -1670 --50.0833335 -49.9166665 -31.2500005 -31.0833335 0 -133 -1670 --49.9166665 -49.7499995 -31.2500005 -31.0833335 0 -146 -1670 --49.7500005 -49.5833335 -31.2500005 -31.0833335 0 -134 -1670 --49.5833335 -49.4166665 -31.2500005 -31.0833335 0 -199 -1670 --49.4166665 -49.2499995 -31.2500005 -31.0833335 0 -1252 -1670 --49.2500005 -49.0833335 -31.2500005 -31.0833335 0 -1609 -1670 --49.0833335 -48.9166665 -31.2500005 -31.0833335 0 -1905 -1670 --48.9166665 -48.7499995 -31.2500005 -31.0833335 0 -2143 -1670 --48.7500005 -48.5833335 -31.2500005 -31.0833335 0 -2335 -1670 --48.5833335 -48.4166665 -31.2500005 -31.0833335 0 -2582 -1670 --48.4166665 -48.2499995 -31.2500005 -31.0833335 0 -2667 -1670 --48.2500005 -48.0833335 -31.2500005 -31.0833335 0 -2811 -1670 --48.0833335 -47.9166665 -31.2500005 -31.0833335 0 -2722 -1670 --47.9166665 -47.7499995 -31.2500005 -31.0833335 0 -2815 -1670 --47.7500005 -47.5833335 -31.2500005 -31.0833335 0 -2966 -1670 --47.5833335 -47.4166665 -31.2500005 -31.0833335 0 -3086 -1670 --47.4166665 -47.2499995 -31.2500005 -31.0833335 0 -3122 -1670 --47.2500005 -47.0833335 -31.2500005 -31.0833335 0 -3160 -1670 --47.0833335 -46.9166665 -31.2500005 -31.0833335 0 -3239 -1670 --46.9166665 -46.7499995 -31.2500005 -31.0833335 0 -3428 -1670 --46.7500005 -46.5833335 -31.2500005 -31.0833335 0 -3436 -1670 --46.5833335 -46.4166665 -31.2500005 -31.0833335 0 -3388 -1670 --46.4166665 -46.2499995 -31.2500005 -31.0833335 0 -3301 -1670 --46.2500005 -46.0833335 -31.2500005 -31.0833335 0 -3365 -1670 --46.0833335 -45.9166665 -31.2500005 -31.0833335 0 -3413 -1670 --45.9166665 -45.7499995 -31.2500005 -31.0833335 0 -3485 -1670 --45.7500005 -45.5833335 -31.2500005 -31.0833335 0 -3546 -1670 --45.5833335 -45.4166665 -31.2500005 -31.0833335 0 -3531 -1670 --45.4166665 -45.2499995 -31.2500005 -31.0833335 0 -3548 -1670 --45.2500005 -45.0833335 -31.2500005 -31.0833335 0 -3538 -1670 --45.0833335 -44.9166665 -31.2500005 -31.0833335 0 -3527 -1670 --44.9166665 -44.7499995 -31.2500005 -31.0833335 0 -3568 -1670 --44.7500005 -44.5833335 -31.2500005 -31.0833335 0 -3519 -1670 --44.5833335 -44.4166665 -31.2500005 -31.0833335 0 -3553 -1670 --44.4166665 -44.2499995 -31.2500005 -31.0833335 0 -3575 -1670 --44.2500005 -44.0833335 -31.2500005 -31.0833335 0 -3512 -1670 --44.0833335 -43.9166665 -31.2500005 -31.0833335 0 -3446 -1670 --43.9166665 -43.7499995 -31.2500005 -31.0833335 0 -3385 -1670 --43.7500005 -43.5833335 -31.2500005 -31.0833335 0 -3414 -1670 --43.5833335 -43.4166665 -31.2500005 -31.0833335 0 -3704 -1670 --43.4166665 -43.2499995 -31.2500005 -31.0833335 0 -3931 -1670 --43.2500005 -43.0833335 -31.2500005 -31.0833335 0 -3970 -1670 --43.0833335 -42.9166665 -31.2500005 -31.0833335 0 -3873 -1670 --42.9166665 -42.7499995 -31.2500005 -31.0833335 0 -3854 -1670 --42.7500005 -42.5833335 -31.2500005 -31.0833335 0 -3891 -1670 --42.5833335 -42.4166665 -31.2500005 -31.0833335 0 -3816 -1670 --42.4166665 -42.2499995 -31.2500005 -31.0833335 0 -3677 -1670 --42.2500005 -42.0833335 -31.2500005 -31.0833335 0 -3751 -1670 --42.0833335 -41.9166665 -31.2500005 -31.0833335 0 -3816 -1670 --41.9166665 -41.7499995 -31.2500005 -31.0833335 0 -3750 -1670 --41.7500005 -41.5833335 -31.2500005 -31.0833335 0 -3701 -1670 --41.5833335 -41.4166665 -31.2500005 -31.0833335 0 -3827 -1670 --41.4166665 -41.2499995 -31.2500005 -31.0833335 0 -3845 -1670 --41.2500005 -41.0833335 -31.2500005 -31.0833335 0 -4058 -1670 --41.0833335 -40.9166665 -31.2500005 -31.0833335 0 -3994 -1670 --40.9166665 -40.7499995 -31.2500005 -31.0833335 0 -3861 -1670 --40.7500005 -40.5833335 -31.2500005 -31.0833335 0 -3790 -1670 --40.5833335 -40.4166665 -31.2500005 -31.0833335 0 -3761 -1670 --40.4166665 -40.2499995 -31.2500005 -31.0833335 0 -3762 -1670 --40.2500005 -40.0833335 -31.2500005 -31.0833335 0 -3748 -1670 --40.0833335 -39.9166665 -31.2500005 -31.0833335 0 -3697 -1670 --65.0833335 -64.9166665 -31.4166665 -31.2499995 1161 0 2670 --64.9166665 -64.7499995 -31.4166665 -31.2499995 1740 0 2670 --64.7500005 -64.5833335 -31.4166665 -31.2499995 1299 0 2670 --64.5833335 -64.4166665 -31.4166665 -31.2499995 691 0 2670 --64.4166665 -64.2499995 -31.4166665 -31.2499995 496 0 2670 --64.2500005 -64.0833335 -31.4166665 -31.2499995 443 0 2670 --64.0833335 -63.9166665 -31.4166665 -31.2499995 371 0 2670 --63.9166665 -63.7499995 -31.4166665 -31.2499995 312 0 2670 --63.7500005 -63.5833335 -31.4166665 -31.2499995 258 0 2670 --63.5833335 -63.4166665 -31.4166665 -31.2499995 218 0 2670 --63.4166665 -63.2499995 -31.4166665 -31.2499995 187 0 2670 --63.2500005 -63.0833335 -31.4166665 -31.2499995 161 0 2670 --63.0833335 -62.9166665 -31.4166665 -31.2499995 138 0 2670 --62.9166665 -62.7499995 -31.4166665 -31.2499995 123 0 2670 --62.7500005 -62.5833335 -31.4166665 -31.2499995 107 0 2670 --62.5833335 -62.4166665 -31.4166665 -31.2499995 98 0 2670 --62.4166665 -62.2499995 -31.4166665 -31.2499995 111 0 2670 --62.2500005 -62.0833335 -31.4166665 -31.2499995 116 0 2670 --62.0833335 -61.9166665 -31.4166665 -31.2499995 106 0 2670 --61.9166665 -61.7499995 -31.4166665 -31.2499995 106 0 2670 --61.7500005 -61.5833335 -31.4166665 -31.2499995 100 0 2670 --61.5833335 -61.4166665 -31.4166665 -31.2499995 91 0 2670 --61.4166665 -61.2499995 -31.4166665 -31.2499995 63 0 2670 --61.2500005 -61.0833335 -31.4166665 -31.2499995 48 0 2670 --61.0833335 -60.9166665 -31.4166665 -31.2499995 32 0 2670 --60.9166665 -60.7499995 -31.4166665 -31.2499995 34 0 2670 --60.7500005 -60.5833335 -31.4166665 -31.2499995 21 0 2670 --60.5833335 -60.4166665 -31.4166665 -31.2499995 15 0 2670 --60.4166665 -60.2499995 -31.4166665 -31.2499995 16 0 2670 --60.2500005 -60.0833335 -31.4166665 -31.2499995 17 0 2670 --60.0833335 -59.9166665 -31.4166665 -31.2499995 76 0 2670 --59.9166665 -59.7499995 -31.4166665 -31.2499995 68 0 2670 --59.7500005 -59.5833335 -31.4166665 -31.2499995 61 0 2670 --59.5833335 -59.4166665 -31.4166665 -31.2499995 71 0 2670 --59.4166665 -59.2499995 -31.4166665 -31.2499995 67 0 2670 --59.2500005 -59.0833335 -31.4166665 -31.2499995 65 0 2670 --59.0833335 -58.9166665 -31.4166665 -31.2499995 50 0 2670 --58.9166665 -58.7499995 -31.4166665 -31.2499995 66 0 2670 --58.7500005 -58.5833335 -31.4166665 -31.2499995 65 0 2670 --58.5833335 -58.4166665 -31.4166665 -31.2499995 61 0 2670 --58.4166665 -58.2499995 -31.4166665 -31.2499995 45 0 2670 --58.2500005 -58.0833335 -31.4166665 -31.2499995 46 0 2670 --58.0833335 -57.9166665 -31.4166665 -31.2499995 21 0 2670 --57.9166665 -57.7499995 -31.4166665 -31.2499995 53 0 2670 --57.7500005 -57.5833335 -31.4166665 -31.2499995 62 0 2670 --57.5833335 -57.4166665 -31.4166665 -31.2499995 93 0 2670 --57.4166665 -57.2499995 -31.4166665 -31.2499995 104 0 2670 --57.2500005 -57.0833335 -31.4166665 -31.2499995 82 0 2670 --57.0833335 -56.9166665 -31.4166665 -31.2499995 87 0 2670 --56.9166665 -56.7499995 -31.4166665 -31.2499995 103 0 2670 --56.7500005 -56.5833335 -31.4166665 -31.2499995 221 0 2670 --56.5833335 -56.4166665 -31.4166665 -31.2499995 176 0 2670 --56.4166665 -56.2499995 -31.4166665 -31.2499995 189 0 2670 --56.2500005 -56.0833335 -31.4166665 -31.2499995 378 0 2670 --56.0833335 -55.9166665 -31.4166665 -31.2499995 255 0 2670 --55.9166665 -55.7499995 -31.4166665 -31.2499995 159 0 2670 --55.7500005 -55.5833335 -31.4166665 -31.2499995 169 0 2670 --55.5833335 -55.4166665 -31.4166665 -31.2499995 159 0 2670 --55.4166665 -55.2499995 -31.4166665 -31.2499995 188 0 2670 --55.2500005 -55.0833335 -31.4166665 -31.2499995 172 0 2670 --55.0833335 -54.9166665 -31.4166665 -31.2499995 198 0 2670 --54.9166665 -54.7499995 -31.4166665 -31.2499995 165 0 2670 --54.7500005 -54.5833335 -31.4166665 -31.2499995 185 0 2670 --54.5833335 -54.4166665 -31.4166665 -31.2499995 167 0 2670 --54.4166665 -54.2499995 -31.4166665 -31.2499995 158 0 2670 --54.2500005 -54.0833335 -31.4166665 -31.2499995 248 0 2670 --54.0833335 -53.9166665 -31.4166665 -31.2499995 225 0 2670 --53.9166665 -53.7499995 -31.4166665 -31.2499995 339 0 2670 --53.7500005 -53.5833335 -31.4166665 -31.2499995 350 0 2670 --53.5833335 -53.4166665 -31.4166665 -31.2499995 362 0 2670 --53.4166665 -53.2499995 -31.4166665 -31.2499995 283 0 2670 --53.2500005 -53.0833335 -31.4166665 -31.2499995 325 0 2670 --53.0833335 -52.9166665 -31.4166665 -31.2499995 396 0 2670 --52.9166665 -52.7499995 -31.4166665 -31.2499995 399 0 2670 --52.7500005 -52.5833335 -31.4166665 -31.2499995 405 0 2670 --52.5833335 -52.4166665 -31.4166665 -31.2499995 184 0 2670 --52.4166665 -52.2499995 -31.4166665 -31.2499995 110 0 2670 --52.2500005 -52.0833335 -31.4166665 -31.2499995 105 0 2670 --52.0833335 -51.9166665 -31.4166665 -31.2499995 17 0 2670 --51.9166665 -51.7499995 -31.4166665 -31.2499995 0 -2 -1670 --51.7500005 -51.5833335 -31.4166665 -31.2499995 0 -6 -1670 --51.5833335 -51.4166665 -31.4166665 -31.2499995 0 -6 -1670 --51.4166665 -51.2499995 -31.4166665 -31.2499995 0 -5 -1670 --51.2500005 -51.0833335 -31.4166665 -31.2499995 4 0 2670 --51.0833335 -50.9166665 -31.4166665 -31.2499995 0 -1 -1670 --50.9166665 -50.7499995 -31.4166665 -31.2499995 0 -26 -1670 --50.7500005 -50.5833335 -31.4166665 -31.2499995 0 -62 -1670 --50.5833335 -50.4166665 -31.4166665 -31.2499995 0 -99 -1670 --50.4166665 -50.2499995 -31.4166665 -31.2499995 0 -98 -1670 --50.2500005 -50.0833335 -31.4166665 -31.2499995 0 -109 -1670 --50.0833335 -49.9166665 -31.4166665 -31.2499995 0 -148 -1670 --49.9166665 -49.7499995 -31.4166665 -31.2499995 0 -120 -1670 --49.7500005 -49.5833335 -31.4166665 -31.2499995 0 -452 -1670 --49.5833335 -49.4166665 -31.4166665 -31.2499995 0 -1250 -1670 --49.4166665 -49.2499995 -31.4166665 -31.2499995 0 -1662 -1670 --49.2500005 -49.0833335 -31.4166665 -31.2499995 0 -1850 -1670 --49.0833335 -48.9166665 -31.4166665 -31.2499995 0 -2170 -1670 --48.9166665 -48.7499995 -31.4166665 -31.2499995 0 -2359 -1670 --48.7500005 -48.5833335 -31.4166665 -31.2499995 0 -2526 -1670 --48.5833335 -48.4166665 -31.4166665 -31.2499995 0 -2717 -1670 --48.4166665 -48.2499995 -31.4166665 -31.2499995 0 -2850 -1670 --48.2500005 -48.0833335 -31.4166665 -31.2499995 0 -2828 -1670 --48.0833335 -47.9166665 -31.4166665 -31.2499995 0 -2814 -1670 --47.9166665 -47.7499995 -31.4166665 -31.2499995 0 -2911 -1670 --47.7500005 -47.5833335 -31.4166665 -31.2499995 0 -3157 -1670 --47.5833335 -47.4166665 -31.4166665 -31.2499995 0 -3236 -1670 --47.4166665 -47.2499995 -31.4166665 -31.2499995 0 -3240 -1670 --47.2500005 -47.0833335 -31.4166665 -31.2499995 0 -3244 -1670 --47.0833335 -46.9166665 -31.4166665 -31.2499995 0 -3378 -1670 --46.9166665 -46.7499995 -31.4166665 -31.2499995 0 -3367 -1670 --46.7500005 -46.5833335 -31.4166665 -31.2499995 0 -3370 -1670 --46.5833335 -46.4166665 -31.4166665 -31.2499995 0 -3304 -1670 --46.4166665 -46.2499995 -31.4166665 -31.2499995 0 -3388 -1670 --46.2500005 -46.0833335 -31.4166665 -31.2499995 0 -3416 -1670 --46.0833335 -45.9166665 -31.4166665 -31.2499995 0 -3459 -1670 --45.9166665 -45.7499995 -31.4166665 -31.2499995 0 -3494 -1670 --45.7500005 -45.5833335 -31.4166665 -31.2499995 0 -3566 -1670 --45.5833335 -45.4166665 -31.4166665 -31.2499995 0 -3572 -1670 --45.4166665 -45.2499995 -31.4166665 -31.2499995 0 -3560 -1670 --45.2500005 -45.0833335 -31.4166665 -31.2499995 0 -3548 -1670 --45.0833335 -44.9166665 -31.4166665 -31.2499995 0 -3550 -1670 --44.9166665 -44.7499995 -31.4166665 -31.2499995 0 -3569 -1670 --44.7500005 -44.5833335 -31.4166665 -31.2499995 0 -3590 -1670 --44.5833335 -44.4166665 -31.4166665 -31.2499995 0 -3599 -1670 --44.4166665 -44.2499995 -31.4166665 -31.2499995 0 -3612 -1670 --44.2500005 -44.0833335 -31.4166665 -31.2499995 0 -3572 -1670 --44.0833335 -43.9166665 -31.4166665 -31.2499995 0 -3515 -1670 --43.9166665 -43.7499995 -31.4166665 -31.2499995 0 -3499 -1670 --43.7500005 -43.5833335 -31.4166665 -31.2499995 0 -3420 -1670 --43.5833335 -43.4166665 -31.4166665 -31.2499995 0 -3592 -1670 --43.4166665 -43.2499995 -31.4166665 -31.2499995 0 -3810 -1670 --43.2500005 -43.0833335 -31.4166665 -31.2499995 0 -3694 -1670 --43.0833335 -42.9166665 -31.4166665 -31.2499995 0 -3839 -1670 --42.9166665 -42.7499995 -31.4166665 -31.2499995 0 -3791 -1670 --42.7500005 -42.5833335 -31.4166665 -31.2499995 0 -3759 -1670 --42.5833335 -42.4166665 -31.4166665 -31.2499995 0 -3894 -1670 --42.4166665 -42.2499995 -31.4166665 -31.2499995 0 -3740 -1670 --42.2500005 -42.0833335 -31.4166665 -31.2499995 0 -3707 -1670 --42.0833335 -41.9166665 -31.4166665 -31.2499995 0 -3685 -1670 --41.9166665 -41.7499995 -31.4166665 -31.2499995 0 -3763 -1670 --41.7500005 -41.5833335 -31.4166665 -31.2499995 0 -3639 -1670 --41.5833335 -41.4166665 -31.4166665 -31.2499995 0 -3845 -1670 --41.4166665 -41.2499995 -31.4166665 -31.2499995 0 -3847 -1670 --41.2500005 -41.0833335 -31.4166665 -31.2499995 0 -3957 -1670 --41.0833335 -40.9166665 -31.4166665 -31.2499995 0 -3700 -1670 --40.9166665 -40.7499995 -31.4166665 -31.2499995 0 -3868 -1670 --40.7500005 -40.5833335 -31.4166665 -31.2499995 0 -3727 -1670 --40.5833335 -40.4166665 -31.4166665 -31.2499995 0 -3699 -1670 --40.4166665 -40.2499995 -31.4166665 -31.2499995 0 -3675 -1670 --40.2500005 -40.0833335 -31.4166665 -31.2499995 0 -3654 -1670 --40.0833335 -39.9166665 -31.4166665 -31.2499995 0 -3675 -1670 --65.0833335 -64.9166665 -31.5833335 -31.4166665 1384 0 2670 --64.9166665 -64.7499995 -31.5833335 -31.4166665 2294 0 2670 --64.7500005 -64.5833335 -31.5833335 -31.4166665 1174 0 2670 --64.5833335 -64.4166665 -31.5833335 -31.4166665 875 0 2670 --64.4166665 -64.2499995 -31.5833335 -31.4166665 557 0 2670 --64.2500005 -64.0833335 -31.5833335 -31.4166665 439 0 2670 --64.0833335 -63.9166665 -31.5833335 -31.4166665 369 0 2670 --63.9166665 -63.7499995 -31.5833335 -31.4166665 320 0 2670 --63.7500005 -63.5833335 -31.5833335 -31.4166665 274 0 2670 --63.5833335 -63.4166665 -31.5833335 -31.4166665 237 0 2670 --63.4166665 -63.2499995 -31.5833335 -31.4166665 202 0 2670 --63.2500005 -63.0833335 -31.5833335 -31.4166665 171 0 2670 --63.0833335 -62.9166665 -31.5833335 -31.4166665 150 0 2670 --62.9166665 -62.7499995 -31.5833335 -31.4166665 129 0 2670 --62.7500005 -62.5833335 -31.5833335 -31.4166665 117 0 2670 --62.5833335 -62.4166665 -31.5833335 -31.4166665 107 0 2670 --62.4166665 -62.2499995 -31.5833335 -31.4166665 110 0 2670 --62.2500005 -62.0833335 -31.5833335 -31.4166665 108 0 2670 --62.0833335 -61.9166665 -31.5833335 -31.4166665 114 0 2670 --61.9166665 -61.7499995 -31.5833335 -31.4166665 106 0 2670 --61.7500005 -61.5833335 -31.5833335 -31.4166665 89 0 2670 --61.5833335 -61.4166665 -31.5833335 -31.4166665 76 0 2670 --61.4166665 -61.2499995 -31.5833335 -31.4166665 64 0 2670 --61.2500005 -61.0833335 -31.5833335 -31.4166665 51 0 2670 --61.0833335 -60.9166665 -31.5833335 -31.4166665 41 0 2670 --60.9166665 -60.7499995 -31.5833335 -31.4166665 27 0 2670 --60.7500005 -60.5833335 -31.5833335 -31.4166665 17 0 2670 --60.5833335 -60.4166665 -31.5833335 -31.4166665 15 0 2670 --60.4166665 -60.2499995 -31.5833335 -31.4166665 15 0 2670 --60.2500005 -60.0833335 -31.5833335 -31.4166665 68 0 2670 --60.0833335 -59.9166665 -31.5833335 -31.4166665 76 0 2670 --59.9166665 -59.7499995 -31.5833335 -31.4166665 85 0 2670 --59.7500005 -59.5833335 -31.5833335 -31.4166665 67 0 2670 --59.5833335 -59.4166665 -31.5833335 -31.4166665 68 0 2670 --59.4166665 -59.2499995 -31.5833335 -31.4166665 56 0 2670 --59.2500005 -59.0833335 -31.5833335 -31.4166665 62 0 2670 --59.0833335 -58.9166665 -31.5833335 -31.4166665 52 0 2670 --58.9166665 -58.7499995 -31.5833335 -31.4166665 69 0 2670 --58.7500005 -58.5833335 -31.5833335 -31.4166665 69 0 2670 --58.5833335 -58.4166665 -31.5833335 -31.4166665 67 0 2670 --58.4166665 -58.2499995 -31.5833335 -31.4166665 47 0 2670 --58.2500005 -58.0833335 -31.5833335 -31.4166665 38 0 2670 --58.0833335 -57.9166665 -31.5833335 -31.4166665 17 0 2670 --57.9166665 -57.7499995 -31.5833335 -31.4166665 45 0 2670 --57.7500005 -57.5833335 -31.5833335 -31.4166665 57 0 2670 --57.5833335 -57.4166665 -31.5833335 -31.4166665 81 0 2670 --57.4166665 -57.2499995 -31.5833335 -31.4166665 117 0 2670 --57.2500005 -57.0833335 -31.5833335 -31.4166665 123 0 2670 --57.0833335 -56.9166665 -31.5833335 -31.4166665 122 0 2670 --56.9166665 -56.7499995 -31.5833335 -31.4166665 133 0 2670 --56.7500005 -56.5833335 -31.5833335 -31.4166665 208 0 2670 --56.5833335 -56.4166665 -31.5833335 -31.4166665 164 0 2670 --56.4166665 -56.2499995 -31.5833335 -31.4166665 267 0 2670 --56.2500005 -56.0833335 -31.5833335 -31.4166665 203 0 2670 --56.0833335 -55.9166665 -31.5833335 -31.4166665 165 0 2670 --55.9166665 -55.7499995 -31.5833335 -31.4166665 165 0 2670 --55.7500005 -55.5833335 -31.5833335 -31.4166665 153 0 2670 --55.5833335 -55.4166665 -31.5833335 -31.4166665 165 0 2670 --55.4166665 -55.2499995 -31.5833335 -31.4166665 149 0 2670 --55.2500005 -55.0833335 -31.5833335 -31.4166665 173 0 2670 --55.0833335 -54.9166665 -31.5833335 -31.4166665 203 0 2670 --54.9166665 -54.7499995 -31.5833335 -31.4166665 198 0 2670 --54.7500005 -54.5833335 -31.5833335 -31.4166665 172 0 2670 --54.5833335 -54.4166665 -31.5833335 -31.4166665 150 0 2670 --54.4166665 -54.2499995 -31.5833335 -31.4166665 162 0 2670 --54.2500005 -54.0833335 -31.5833335 -31.4166665 151 0 2670 --54.0833335 -53.9166665 -31.5833335 -31.4166665 182 0 2670 --53.9166665 -53.7499995 -31.5833335 -31.4166665 168 0 2670 --53.7500005 -53.5833335 -31.5833335 -31.4166665 213 0 2670 --53.5833335 -53.4166665 -31.5833335 -31.4166665 332 0 2670 --53.4166665 -53.2499995 -31.5833335 -31.4166665 387 0 2670 --53.2500005 -53.0833335 -31.5833335 -31.4166665 314 0 2670 --53.0833335 -52.9166665 -31.5833335 -31.4166665 248 0 2670 --52.9166665 -52.7499995 -31.5833335 -31.4166665 287 0 2670 --52.7500005 -52.5833335 -31.5833335 -31.4166665 257 0 2670 --52.5833335 -52.4166665 -31.5833335 -31.4166665 152 0 2670 --52.4166665 -52.2499995 -31.5833335 -31.4166665 77 0 2670 --52.2500005 -52.0833335 -31.5833335 -31.4166665 13 0 2670 --52.0833335 -51.9166665 -31.5833335 -31.4166665 0 -1 -1670 --51.9166665 -51.7499995 -31.5833335 -31.4166665 0 -5 -1670 --51.7500005 -51.5833335 -31.5833335 -31.4166665 0 -6 -1670 --51.5833335 -51.4166665 -31.5833335 -31.4166665 0 -3 -1670 --51.4166665 -51.2499995 -31.5833335 -31.4166665 0 -1 -1670 --51.2500005 -51.0833335 -31.5833335 -31.4166665 0 -2 -1670 --51.0833335 -50.9166665 -31.5833335 -31.4166665 0 -21 -1670 --50.9166665 -50.7499995 -31.5833335 -31.4166665 0 -49 -1670 --50.7500005 -50.5833335 -31.5833335 -31.4166665 0 -69 -1670 --50.5833335 -50.4166665 -31.5833335 -31.4166665 0 -93 -1670 --50.4166665 -50.2499995 -31.5833335 -31.4166665 0 -116 -1670 --50.2500005 -50.0833335 -31.5833335 -31.4166665 0 -67 -1670 --50.0833335 -49.9166665 -31.5833335 -31.4166665 0 -157 -1670 --49.9166665 -49.7499995 -31.5833335 -31.4166665 0 -261 -1670 --49.7500005 -49.5833335 -31.5833335 -31.4166665 0 -1035 -1670 --49.5833335 -49.4166665 -31.5833335 -31.4166665 0 -1685 -1670 --49.4166665 -49.2499995 -31.5833335 -31.4166665 0 -2001 -1670 --49.2500005 -49.0833335 -31.5833335 -31.4166665 0 -2210 -1670 --49.0833335 -48.9166665 -31.5833335 -31.4166665 0 -2315 -1670 --48.9166665 -48.7499995 -31.5833335 -31.4166665 0 -2415 -1670 --48.7500005 -48.5833335 -31.5833335 -31.4166665 0 -2658 -1670 --48.5833335 -48.4166665 -31.5833335 -31.4166665 0 -2800 -1670 --48.4166665 -48.2499995 -31.5833335 -31.4166665 0 -2833 -1670 --48.2500005 -48.0833335 -31.5833335 -31.4166665 0 -2914 -1670 --48.0833335 -47.9166665 -31.5833335 -31.4166665 0 -2989 -1670 --47.9166665 -47.7499995 -31.5833335 -31.4166665 0 -3020 -1670 --47.7500005 -47.5833335 -31.5833335 -31.4166665 0 -3167 -1670 --47.5833335 -47.4166665 -31.5833335 -31.4166665 0 -3355 -1670 --47.4166665 -47.2499995 -31.5833335 -31.4166665 0 -3224 -1670 --47.2500005 -47.0833335 -31.5833335 -31.4166665 0 -3299 -1670 --47.0833335 -46.9166665 -31.5833335 -31.4166665 0 -3336 -1670 --46.9166665 -46.7499995 -31.5833335 -31.4166665 0 -3385 -1670 --46.7500005 -46.5833335 -31.5833335 -31.4166665 0 -3398 -1670 --46.5833335 -46.4166665 -31.5833335 -31.4166665 0 -3393 -1670 --46.4166665 -46.2499995 -31.5833335 -31.4166665 0 -3479 -1670 --46.2500005 -46.0833335 -31.5833335 -31.4166665 0 -3528 -1670 --46.0833335 -45.9166665 -31.5833335 -31.4166665 0 -3528 -1670 --45.9166665 -45.7499995 -31.5833335 -31.4166665 0 -3568 -1670 --45.7500005 -45.5833335 -31.5833335 -31.4166665 0 -3600 -1670 --45.5833335 -45.4166665 -31.5833335 -31.4166665 0 -3610 -1670 --45.4166665 -45.2499995 -31.5833335 -31.4166665 0 -3595 -1670 --45.2500005 -45.0833335 -31.5833335 -31.4166665 0 -3589 -1670 --45.0833335 -44.9166665 -31.5833335 -31.4166665 0 -3587 -1670 --44.9166665 -44.7499995 -31.5833335 -31.4166665 0 -3592 -1670 --44.7500005 -44.5833335 -31.5833335 -31.4166665 0 -3590 -1670 --44.5833335 -44.4166665 -31.5833335 -31.4166665 0 -3652 -1670 --44.4166665 -44.2499995 -31.5833335 -31.4166665 0 -3588 -1670 --44.2500005 -44.0833335 -31.5833335 -31.4166665 0 -3643 -1670 --44.0833335 -43.9166665 -31.5833335 -31.4166665 0 -3683 -1670 --43.9166665 -43.7499995 -31.5833335 -31.4166665 0 -3679 -1670 --43.7500005 -43.5833335 -31.5833335 -31.4166665 0 -3634 -1670 --43.5833335 -43.4166665 -31.5833335 -31.4166665 0 -3763 -1670 --43.4166665 -43.2499995 -31.5833335 -31.4166665 0 -3772 -1670 --43.2500005 -43.0833335 -31.5833335 -31.4166665 0 -3797 -1670 --43.0833335 -42.9166665 -31.5833335 -31.4166665 0 -3871 -1670 --42.9166665 -42.7499995 -31.5833335 -31.4166665 0 -3805 -1670 --42.7500005 -42.5833335 -31.5833335 -31.4166665 0 -3762 -1670 --42.5833335 -42.4166665 -31.5833335 -31.4166665 0 -3712 -1670 --42.4166665 -42.2499995 -31.5833335 -31.4166665 0 -3892 -1670 --42.2500005 -42.0833335 -31.5833335 -31.4166665 0 -3669 -1670 --42.0833335 -41.9166665 -31.5833335 -31.4166665 0 -3716 -1670 --41.9166665 -41.7499995 -31.5833335 -31.4166665 0 -3613 -1670 --41.7500005 -41.5833335 -31.5833335 -31.4166665 0 -3680 -1670 --41.5833335 -41.4166665 -31.5833335 -31.4166665 0 -3699 -1670 --41.4166665 -41.2499995 -31.5833335 -31.4166665 0 -4031 -1670 --41.2500005 -41.0833335 -31.5833335 -31.4166665 0 -3834 -1670 --41.0833335 -40.9166665 -31.5833335 -31.4166665 0 -3713 -1670 --40.9166665 -40.7499995 -31.5833335 -31.4166665 0 -3674 -1670 --40.7500005 -40.5833335 -31.5833335 -31.4166665 0 -3719 -1670 --40.5833335 -40.4166665 -31.5833335 -31.4166665 0 -3680 -1670 --40.4166665 -40.2499995 -31.5833335 -31.4166665 0 -3807 -1670 --40.2500005 -40.0833335 -31.5833335 -31.4166665 0 -3683 -1670 --40.0833335 -39.9166665 -31.5833335 -31.4166665 0 -3686 -1670 --65.0833335 -64.9166665 -31.7500005 -31.5833335 1017 0 2670 --64.9166665 -64.7499995 -31.7500005 -31.5833335 2069 0 2670 --64.7500005 -64.5833335 -31.7500005 -31.5833335 1349 0 2670 --64.5833335 -64.4166665 -31.7500005 -31.5833335 848 0 2670 --64.4166665 -64.2499995 -31.7500005 -31.5833335 523 0 2670 --64.2500005 -64.0833335 -31.7500005 -31.5833335 401 0 2670 --64.0833335 -63.9166665 -31.7500005 -31.5833335 363 0 2670 --63.9166665 -63.7499995 -31.7500005 -31.5833335 322 0 2670 --63.7500005 -63.5833335 -31.7500005 -31.5833335 284 0 2670 --63.5833335 -63.4166665 -31.7500005 -31.5833335 247 0 2670 --63.4166665 -63.2499995 -31.7500005 -31.5833335 215 0 2670 --63.2500005 -63.0833335 -31.7500005 -31.5833335 184 0 2670 --63.0833335 -62.9166665 -31.7500005 -31.5833335 158 0 2670 --62.9166665 -62.7499995 -31.7500005 -31.5833335 141 0 2670 --62.7500005 -62.5833335 -31.7500005 -31.5833335 124 0 2670 --62.5833335 -62.4166665 -31.7500005 -31.5833335 114 0 2670 --62.4166665 -62.2499995 -31.7500005 -31.5833335 106 0 2670 --62.2500005 -62.0833335 -31.7500005 -31.5833335 108 0 2670 --62.0833335 -61.9166665 -31.7500005 -31.5833335 105 0 2670 --61.9166665 -61.7499995 -31.7500005 -31.5833335 115 0 2670 --61.7500005 -61.5833335 -31.7500005 -31.5833335 90 0 2670 --61.5833335 -61.4166665 -31.7500005 -31.5833335 62 0 2670 --61.4166665 -61.2499995 -31.7500005 -31.5833335 55 0 2670 --61.2500005 -61.0833335 -31.7500005 -31.5833335 43 0 2670 --61.0833335 -60.9166665 -31.7500005 -31.5833335 35 0 2670 --60.9166665 -60.7499995 -31.7500005 -31.5833335 20 0 2670 --60.7500005 -60.5833335 -31.7500005 -31.5833335 11 0 2670 --60.5833335 -60.4166665 -31.7500005 -31.5833335 12 0 2670 --60.4166665 -60.2499995 -31.7500005 -31.5833335 49 0 2670 --60.2500005 -60.0833335 -31.7500005 -31.5833335 91 0 2670 --60.0833335 -59.9166665 -31.7500005 -31.5833335 64 0 2670 --59.9166665 -59.7499995 -31.7500005 -31.5833335 85 0 2670 --59.7500005 -59.5833335 -31.7500005 -31.5833335 77 0 2670 --59.5833335 -59.4166665 -31.7500005 -31.5833335 52 0 2670 --59.4166665 -59.2499995 -31.7500005 -31.5833335 48 0 2670 --59.2500005 -59.0833335 -31.7500005 -31.5833335 42 0 2670 --59.0833335 -58.9166665 -31.7500005 -31.5833335 61 0 2670 --58.9166665 -58.7499995 -31.7500005 -31.5833335 50 0 2670 --58.7500005 -58.5833335 -31.7500005 -31.5833335 62 0 2670 --58.5833335 -58.4166665 -31.7500005 -31.5833335 66 0 2670 --58.4166665 -58.2499995 -31.7500005 -31.5833335 41 0 2670 --58.2500005 -58.0833335 -31.7500005 -31.5833335 30 0 2670 --58.0833335 -57.9166665 -31.7500005 -31.5833335 8 0 2670 --57.9166665 -57.7499995 -31.7500005 -31.5833335 60 0 2670 --57.7500005 -57.5833335 -31.7500005 -31.5833335 64 0 2670 --57.5833335 -57.4166665 -31.7500005 -31.5833335 67 0 2670 --57.4166665 -57.2499995 -31.7500005 -31.5833335 88 0 2670 --57.2500005 -57.0833335 -31.7500005 -31.5833335 134 0 2670 --57.0833335 -56.9166665 -31.7500005 -31.5833335 220 0 2670 --56.9166665 -56.7499995 -31.7500005 -31.5833335 245 0 2670 --56.7500005 -56.5833335 -31.7500005 -31.5833335 164 0 2670 --56.5833335 -56.4166665 -31.7500005 -31.5833335 209 0 2670 --56.4166665 -56.2499995 -31.7500005 -31.5833335 249 0 2670 --56.2500005 -56.0833335 -31.7500005 -31.5833335 167 0 2670 --56.0833335 -55.9166665 -31.7500005 -31.5833335 162 0 2670 --55.9166665 -55.7499995 -31.7500005 -31.5833335 141 0 2670 --55.7500005 -55.5833335 -31.7500005 -31.5833335 131 0 2670 --55.5833335 -55.4166665 -31.7500005 -31.5833335 112 0 2670 --55.4166665 -55.2499995 -31.7500005 -31.5833335 249 0 2670 --55.2500005 -55.0833335 -31.7500005 -31.5833335 249 0 2670 --55.0833335 -54.9166665 -31.7500005 -31.5833335 215 0 2670 --54.9166665 -54.7499995 -31.7500005 -31.5833335 174 0 2670 --54.7500005 -54.5833335 -31.7500005 -31.5833335 155 0 2670 --54.5833335 -54.4166665 -31.7500005 -31.5833335 136 0 2670 --54.4166665 -54.2499995 -31.7500005 -31.5833335 138 0 2670 --54.2500005 -54.0833335 -31.7500005 -31.5833335 169 0 2670 --54.0833335 -53.9166665 -31.7500005 -31.5833335 138 0 2670 --53.9166665 -53.7499995 -31.7500005 -31.5833335 160 0 2670 --53.7500005 -53.5833335 -31.7500005 -31.5833335 169 0 2670 --53.5833335 -53.4166665 -31.7500005 -31.5833335 339 0 2670 --53.4166665 -53.2499995 -31.7500005 -31.5833335 331 0 2670 --53.2500005 -53.0833335 -31.7500005 -31.5833335 242 0 2670 --53.0833335 -52.9166665 -31.7500005 -31.5833335 213 0 2670 --52.9166665 -52.7499995 -31.7500005 -31.5833335 168 0 2670 --52.7500005 -52.5833335 -31.7500005 -31.5833335 82 0 2670 --52.5833335 -52.4166665 -31.7500005 -31.5833335 69 0 2670 --52.4166665 -52.2499995 -31.7500005 -31.5833335 23 0 2670 --52.2500005 -52.0833335 -31.7500005 -31.5833335 7 0 2670 --52.0833335 -51.9166665 -31.7500005 -31.5833335 0 -3 -1670 --51.9166665 -51.7499995 -31.7500005 -31.5833335 0 -6 -1670 --51.7500005 -51.5833335 -31.7500005 -31.5833335 0 -4 -1670 --51.5833335 -51.4166665 -31.7500005 -31.5833335 5 0 2670 --51.4166665 -51.2499995 -31.7500005 -31.5833335 0 -3 -1670 --51.2500005 -51.0833335 -31.7500005 -31.5833335 0 -18 -1670 --51.0833335 -50.9166665 -31.7500005 -31.5833335 0 -39 -1670 --50.9166665 -50.7499995 -31.7500005 -31.5833335 0 -59 -1670 --50.7500005 -50.5833335 -31.7500005 -31.5833335 0 -81 -1670 --50.5833335 -50.4166665 -31.7500005 -31.5833335 0 -91 -1670 --50.4166665 -50.2499995 -31.7500005 -31.5833335 0 -129 -1670 --50.2500005 -50.0833335 -31.7500005 -31.5833335 0 -139 -1670 --50.0833335 -49.9166665 -31.7500005 -31.5833335 0 -135 -1670 --49.9166665 -49.7499995 -31.7500005 -31.5833335 0 -755 -1670 --49.7500005 -49.5833335 -31.7500005 -31.5833335 0 -1425 -1670 --49.5833335 -49.4166665 -31.7500005 -31.5833335 0 -1844 -1670 --49.4166665 -49.2499995 -31.7500005 -31.5833335 0 -2065 -1670 --49.2500005 -49.0833335 -31.7500005 -31.5833335 0 -2157 -1670 --49.0833335 -48.9166665 -31.7500005 -31.5833335 0 -2437 -1670 --48.9166665 -48.7499995 -31.7500005 -31.5833335 0 -2649 -1670 --48.7500005 -48.5833335 -31.7500005 -31.5833335 0 -2670 -1670 --48.5833335 -48.4166665 -31.7500005 -31.5833335 0 -2752 -1670 --48.4166665 -48.2499995 -31.7500005 -31.5833335 0 -2886 -1670 --48.2500005 -48.0833335 -31.7500005 -31.5833335 0 -3035 -1670 --48.0833335 -47.9166665 -31.7500005 -31.5833335 0 -3060 -1670 --47.9166665 -47.7499995 -31.7500005 -31.5833335 0 -3125 -1670 --47.7500005 -47.5833335 -31.7500005 -31.5833335 0 -3233 -1670 --47.5833335 -47.4166665 -31.7500005 -31.5833335 0 -3208 -1670 --47.4166665 -47.2499995 -31.7500005 -31.5833335 0 -3276 -1670 --47.2500005 -47.0833335 -31.7500005 -31.5833335 0 -3293 -1670 --47.0833335 -46.9166665 -31.7500005 -31.5833335 0 -3358 -1670 --46.9166665 -46.7499995 -31.7500005 -31.5833335 0 -3405 -1670 --46.7500005 -46.5833335 -31.7500005 -31.5833335 0 -3420 -1670 --46.5833335 -46.4166665 -31.7500005 -31.5833335 0 -3478 -1670 --46.4166665 -46.2499995 -31.7500005 -31.5833335 0 -3524 -1670 --46.2500005 -46.0833335 -31.7500005 -31.5833335 0 -3610 -1670 --46.0833335 -45.9166665 -31.7500005 -31.5833335 0 -3605 -1670 --45.9166665 -45.7499995 -31.7500005 -31.5833335 0 -3645 -1670 --45.7500005 -45.5833335 -31.7500005 -31.5833335 0 -3657 -1670 --45.5833335 -45.4166665 -31.7500005 -31.5833335 0 -3646 -1670 --45.4166665 -45.2499995 -31.7500005 -31.5833335 0 -3623 -1670 --45.2500005 -45.0833335 -31.7500005 -31.5833335 0 -3617 -1670 --45.0833335 -44.9166665 -31.7500005 -31.5833335 0 -3608 -1670 --44.9166665 -44.7499995 -31.7500005 -31.5833335 0 -3621 -1670 --44.7500005 -44.5833335 -31.7500005 -31.5833335 0 -3636 -1670 --44.5833335 -44.4166665 -31.7500005 -31.5833335 0 -3663 -1670 --44.4166665 -44.2499995 -31.7500005 -31.5833335 0 -3646 -1670 --44.2500005 -44.0833335 -31.7500005 -31.5833335 0 -3658 -1670 --44.0833335 -43.9166665 -31.7500005 -31.5833335 0 -3625 -1670 --43.9166665 -43.7499995 -31.7500005 -31.5833335 0 -3722 -1670 --43.7500005 -43.5833335 -31.7500005 -31.5833335 0 -3671 -1670 --43.5833335 -43.4166665 -31.7500005 -31.5833335 0 -3776 -1670 --43.4166665 -43.2499995 -31.7500005 -31.5833335 0 -3709 -1670 --43.2500005 -43.0833335 -31.7500005 -31.5833335 0 -3585 -1670 --43.0833335 -42.9166665 -31.7500005 -31.5833335 0 -3735 -1670 --42.9166665 -42.7499995 -31.7500005 -31.5833335 0 -3287 -1670 --42.7500005 -42.5833335 -31.7500005 -31.5833335 0 -3826 -1670 --42.5833335 -42.4166665 -31.7500005 -31.5833335 0 -3642 -1670 --42.4166665 -42.2499995 -31.7500005 -31.5833335 0 -3774 -1670 --42.2500005 -42.0833335 -31.7500005 -31.5833335 0 -3773 -1670 --42.0833335 -41.9166665 -31.7500005 -31.5833335 0 -3719 -1670 --41.9166665 -41.7499995 -31.7500005 -31.5833335 0 -3660 -1670 --41.7500005 -41.5833335 -31.7500005 -31.5833335 0 -3686 -1670 --41.5833335 -41.4166665 -31.7500005 -31.5833335 0 -3678 -1670 --41.4166665 -41.2499995 -31.7500005 -31.5833335 0 -3834 -1670 --41.2500005 -41.0833335 -31.7500005 -31.5833335 0 -3660 -1670 --41.0833335 -40.9166665 -31.7500005 -31.5833335 0 -3809 -1670 --40.9166665 -40.7499995 -31.7500005 -31.5833335 0 -3695 -1670 --40.7500005 -40.5833335 -31.7500005 -31.5833335 0 -3808 -1670 --40.5833335 -40.4166665 -31.7500005 -31.5833335 0 -3711 -1670 --40.4166665 -40.2499995 -31.7500005 -31.5833335 0 -3798 -1670 --40.2500005 -40.0833335 -31.7500005 -31.5833335 0 -3701 -1670 --40.0833335 -39.9166665 -31.7500005 -31.5833335 0 -3692 -1670 --65.0833335 -64.9166665 -31.9166665 -31.7499995 863 0 2670 --64.9166665 -64.7499995 -31.9166665 -31.7499995 2152 0 2670 --64.7500005 -64.5833335 -31.9166665 -31.7499995 1039 0 2670 --64.5833335 -64.4166665 -31.9166665 -31.7499995 786 0 2670 --64.4166665 -64.2499995 -31.9166665 -31.7499995 467 0 2670 --64.2500005 -64.0833335 -31.9166665 -31.7499995 418 0 2670 --64.0833335 -63.9166665 -31.9166665 -31.7499995 366 0 2670 --63.9166665 -63.7499995 -31.9166665 -31.7499995 314 0 2670 --63.7500005 -63.5833335 -31.9166665 -31.7499995 275 0 2670 --63.5833335 -63.4166665 -31.9166665 -31.7499995 243 0 2670 --63.4166665 -63.2499995 -31.9166665 -31.7499995 212 0 2670 --63.2500005 -63.0833335 -31.9166665 -31.7499995 188 0 2670 --63.0833335 -62.9166665 -31.9166665 -31.7499995 162 0 2670 --62.9166665 -62.7499995 -31.9166665 -31.7499995 145 0 2670 --62.7500005 -62.5833335 -31.9166665 -31.7499995 129 0 2670 --62.5833335 -62.4166665 -31.9166665 -31.7499995 118 0 2670 --62.4166665 -62.2499995 -31.9166665 -31.7499995 106 0 2670 --62.2500005 -62.0833335 -31.9166665 -31.7499995 105 0 2670 --62.0833335 -61.9166665 -31.9166665 -31.7499995 104 0 2670 --61.9166665 -61.7499995 -31.9166665 -31.7499995 104 0 2670 --61.7500005 -61.5833335 -31.9166665 -31.7499995 84 0 2670 --61.5833335 -61.4166665 -31.9166665 -31.7499995 53 0 2670 --61.4166665 -61.2499995 -31.9166665 -31.7499995 53 0 2670 --61.2500005 -61.0833335 -31.9166665 -31.7499995 44 0 2670 --61.0833335 -60.9166665 -31.9166665 -31.7499995 34 0 2670 --60.9166665 -60.7499995 -31.9166665 -31.7499995 12 0 2670 --60.7500005 -60.5833335 -31.9166665 -31.7499995 12 0 2670 --60.5833335 -60.4166665 -31.9166665 -31.7499995 85 0 2670 --60.4166665 -60.2499995 -31.9166665 -31.7499995 59 0 2670 --60.2500005 -60.0833335 -31.9166665 -31.7499995 59 0 2670 --60.0833335 -59.9166665 -31.9166665 -31.7499995 85 0 2670 --59.9166665 -59.7499995 -31.9166665 -31.7499995 87 0 2670 --59.7500005 -59.5833335 -31.9166665 -31.7499995 69 0 2670 --59.5833335 -59.4166665 -31.9166665 -31.7499995 63 0 2670 --59.4166665 -59.2499995 -31.9166665 -31.7499995 68 0 2670 --59.2500005 -59.0833335 -31.9166665 -31.7499995 41 0 2670 --59.0833335 -58.9166665 -31.9166665 -31.7499995 47 0 2670 --58.9166665 -58.7499995 -31.9166665 -31.7499995 64 0 2670 --58.7500005 -58.5833335 -31.9166665 -31.7499995 70 0 2670 --58.5833335 -58.4166665 -31.9166665 -31.7499995 52 0 2670 --58.4166665 -58.2499995 -31.9166665 -31.7499995 31 0 2670 --58.2500005 -58.0833335 -31.9166665 -31.7499995 11 0 2670 --58.0833335 -57.9166665 -31.9166665 -31.7499995 34 0 2670 --57.9166665 -57.7499995 -31.9166665 -31.7499995 45 0 2670 --57.7500005 -57.5833335 -31.9166665 -31.7499995 70 0 2670 --57.5833335 -57.4166665 -31.9166665 -31.7499995 101 0 2670 --57.4166665 -57.2499995 -31.9166665 -31.7499995 127 0 2670 --57.2500005 -57.0833335 -31.9166665 -31.7499995 145 0 2670 --57.0833335 -56.9166665 -31.9166665 -31.7499995 163 0 2670 --56.9166665 -56.7499995 -31.9166665 -31.7499995 215 0 2670 --56.7500005 -56.5833335 -31.9166665 -31.7499995 235 0 2670 --56.5833335 -56.4166665 -31.9166665 -31.7499995 235 0 2670 --56.4166665 -56.2499995 -31.9166665 -31.7499995 229 0 2670 --56.2500005 -56.0833335 -31.9166665 -31.7499995 195 0 2670 --56.0833335 -55.9166665 -31.9166665 -31.7499995 154 0 2670 --55.9166665 -55.7499995 -31.9166665 -31.7499995 125 0 2670 --55.7500005 -55.5833335 -31.9166665 -31.7499995 133 0 2670 --55.5833335 -55.4166665 -31.9166665 -31.7499995 106 0 2670 --55.4166665 -55.2499995 -31.9166665 -31.7499995 133 0 2670 --55.2500005 -55.0833335 -31.9166665 -31.7499995 118 0 2670 --55.0833335 -54.9166665 -31.9166665 -31.7499995 151 0 2670 --54.9166665 -54.7499995 -31.9166665 -31.7499995 137 0 2670 --54.7500005 -54.5833335 -31.9166665 -31.7499995 149 0 2670 --54.5833335 -54.4166665 -31.9166665 -31.7499995 121 0 2670 --54.4166665 -54.2499995 -31.9166665 -31.7499995 144 0 2670 --54.2500005 -54.0833335 -31.9166665 -31.7499995 160 0 2670 --54.0833335 -53.9166665 -31.9166665 -31.7499995 155 0 2670 --53.9166665 -53.7499995 -31.9166665 -31.7499995 121 0 2670 --53.7500005 -53.5833335 -31.9166665 -31.7499995 248 0 2670 --53.5833335 -53.4166665 -31.9166665 -31.7499995 226 0 2670 --53.4166665 -53.2499995 -31.9166665 -31.7499995 153 0 2670 --53.2500005 -53.0833335 -31.9166665 -31.7499995 223 0 2670 --53.0833335 -52.9166665 -31.9166665 -31.7499995 63 0 2670 --52.9166665 -52.7499995 -31.9166665 -31.7499995 62 0 2670 --52.7500005 -52.5833335 -31.9166665 -31.7499995 56 0 2670 --52.5833335 -52.4166665 -31.9166665 -31.7499995 11 0 2670 --52.4166665 -52.2499995 -31.9166665 -31.7499995 1 0 2670 --52.2500005 -52.0833335 -31.9166665 -31.7499995 0 -1 -1670 --52.0833335 -51.9166665 -31.9166665 -31.7499995 11 0 2670 --51.9166665 -51.7499995 -31.9166665 -31.7499995 0 -1 -1670 --51.7500005 -51.5833335 -31.9166665 -31.7499995 0 -1 -1670 --51.5833335 -51.4166665 -31.9166665 -31.7499995 0 -6 -1670 --51.4166665 -51.2499995 -31.9166665 -31.7499995 0 -15 -1670 --51.2500005 -51.0833335 -31.9166665 -31.7499995 0 -26 -1670 --51.0833335 -50.9166665 -31.9166665 -31.7499995 0 -52 -1670 --50.9166665 -50.7499995 -31.9166665 -31.7499995 0 -66 -1670 --50.7500005 -50.5833335 -31.9166665 -31.7499995 0 -81 -1670 --50.5833335 -50.4166665 -31.9166665 -31.7499995 0 -98 -1670 --50.4166665 -50.2499995 -31.9166665 -31.7499995 0 -119 -1670 --50.2500005 -50.0833335 -31.9166665 -31.7499995 0 -87 -1670 --50.0833335 -49.9166665 -31.9166665 -31.7499995 0 -208 -1670 --49.9166665 -49.7499995 -31.9166665 -31.7499995 0 -1310 -1670 --49.7500005 -49.5833335 -31.9166665 -31.7499995 0 -1636 -1670 --49.5833335 -49.4166665 -31.9166665 -31.7499995 0 -1952 -1670 --49.4166665 -49.2499995 -31.9166665 -31.7499995 0 -2044 -1670 --49.2500005 -49.0833335 -31.9166665 -31.7499995 0 -2275 -1670 --49.0833335 -48.9166665 -31.9166665 -31.7499995 0 -2403 -1670 --48.9166665 -48.7499995 -31.9166665 -31.7499995 0 -2672 -1670 --48.7500005 -48.5833335 -31.9166665 -31.7499995 0 -2716 -1670 --48.5833335 -48.4166665 -31.9166665 -31.7499995 0 -2835 -1670 --48.4166665 -48.2499995 -31.9166665 -31.7499995 0 -2909 -1670 --48.2500005 -48.0833335 -31.9166665 -31.7499995 0 -3026 -1670 --48.0833335 -47.9166665 -31.9166665 -31.7499995 0 -3069 -1670 --47.9166665 -47.7499995 -31.9166665 -31.7499995 0 -3141 -1670 --47.7500005 -47.5833335 -31.9166665 -31.7499995 0 -3176 -1670 --47.5833335 -47.4166665 -31.9166665 -31.7499995 0 -3246 -1670 --47.4166665 -47.2499995 -31.9166665 -31.7499995 0 -3295 -1670 --47.2500005 -47.0833335 -31.9166665 -31.7499995 0 -3366 -1670 --47.0833335 -46.9166665 -31.9166665 -31.7499995 0 -3414 -1670 --46.9166665 -46.7499995 -31.9166665 -31.7499995 0 -3474 -1670 --46.7500005 -46.5833335 -31.9166665 -31.7499995 0 -3500 -1670 --46.5833335 -46.4166665 -31.9166665 -31.7499995 0 -3567 -1670 --46.4166665 -46.2499995 -31.9166665 -31.7499995 0 -3615 -1670 --46.2500005 -46.0833335 -31.9166665 -31.7499995 0 -3658 -1670 --46.0833335 -45.9166665 -31.9166665 -31.7499995 0 -3704 -1670 --45.9166665 -45.7499995 -31.9166665 -31.7499995 0 -3732 -1670 --45.7500005 -45.5833335 -31.9166665 -31.7499995 0 -3743 -1670 --45.5833335 -45.4166665 -31.9166665 -31.7499995 0 -3745 -1670 --45.4166665 -45.2499995 -31.9166665 -31.7499995 0 -3727 -1670 --45.2500005 -45.0833335 -31.9166665 -31.7499995 0 -3692 -1670 --45.0833335 -44.9166665 -31.9166665 -31.7499995 0 -3676 -1670 --44.9166665 -44.7499995 -31.9166665 -31.7499995 0 -3675 -1670 --44.7500005 -44.5833335 -31.9166665 -31.7499995 0 -3688 -1670 --44.5833335 -44.4166665 -31.9166665 -31.7499995 0 -3651 -1670 --44.4166665 -44.2499995 -31.9166665 -31.7499995 0 -3647 -1670 --44.2500005 -44.0833335 -31.9166665 -31.7499995 0 -3696 -1670 --44.0833335 -43.9166665 -31.9166665 -31.7499995 0 -3735 -1670 --43.9166665 -43.7499995 -31.9166665 -31.7499995 0 -3773 -1670 --43.7500005 -43.5833335 -31.9166665 -31.7499995 0 -3668 -1670 --43.5833335 -43.4166665 -31.9166665 -31.7499995 0 -3792 -1670 --43.4166665 -43.2499995 -31.9166665 -31.7499995 0 -3801 -1670 --43.2500005 -43.0833335 -31.9166665 -31.7499995 0 -3750 -1670 --43.0833335 -42.9166665 -31.9166665 -31.7499995 0 -3977 -1670 --42.9166665 -42.7499995 -31.9166665 -31.7499995 0 -3806 -1670 --42.7500005 -42.5833335 -31.9166665 -31.7499995 0 -3734 -1670 --42.5833335 -42.4166665 -31.9166665 -31.7499995 0 -3667 -1670 --42.4166665 -42.2499995 -31.9166665 -31.7499995 0 -3672 -1670 --42.2500005 -42.0833335 -31.9166665 -31.7499995 0 -3957 -1670 --42.0833335 -41.9166665 -31.9166665 -31.7499995 0 -3880 -1670 --41.9166665 -41.7499995 -31.9166665 -31.7499995 0 -3809 -1670 --41.7500005 -41.5833335 -31.9166665 -31.7499995 0 -3798 -1670 --41.5833335 -41.4166665 -31.9166665 -31.7499995 0 -3828 -1670 --41.4166665 -41.2499995 -31.9166665 -31.7499995 0 -3875 -1670 --41.2500005 -41.0833335 -31.9166665 -31.7499995 0 -3907 -1670 --41.0833335 -40.9166665 -31.9166665 -31.7499995 0 -3985 -1670 --40.9166665 -40.7499995 -31.9166665 -31.7499995 0 -3895 -1670 --40.7500005 -40.5833335 -31.9166665 -31.7499995 0 -3979 -1670 --40.5833335 -40.4166665 -31.9166665 -31.7499995 0 -3958 -1670 --40.4166665 -40.2499995 -31.9166665 -31.7499995 0 -4096 -1670 --40.2500005 -40.0833335 -31.9166665 -31.7499995 0 -3756 -1670 --40.0833335 -39.9166665 -31.9166665 -31.7499995 0 -3848 -1670 --65.0833335 -64.9166665 -32.0833335 -31.9166665 1072 0 2670 --64.9166665 -64.7499995 -32.0833335 -31.9166665 1448 0 2670 --64.7500005 -64.5833335 -32.0833335 -31.9166665 978 0 2670 --64.5833335 -64.4166665 -32.0833335 -31.9166665 1120 0 2670 --64.4166665 -64.2499995 -32.0833335 -31.9166665 553 0 2670 --64.2500005 -64.0833335 -32.0833335 -31.9166665 453 0 2670 --64.0833335 -63.9166665 -32.0833335 -31.9166665 371 0 2670 --63.9166665 -63.7499995 -32.0833335 -31.9166665 317 0 2670 --63.7500005 -63.5833335 -32.0833335 -31.9166665 283 0 2670 --63.5833335 -63.4166665 -32.0833335 -31.9166665 247 0 2670 --63.4166665 -63.2499995 -32.0833335 -31.9166665 218 0 2670 --63.2500005 -63.0833335 -32.0833335 -31.9166665 193 0 2670 --63.0833335 -62.9166665 -32.0833335 -31.9166665 167 0 2670 --62.9166665 -62.7499995 -32.0833335 -31.9166665 145 0 2670 --62.7500005 -62.5833335 -32.0833335 -31.9166665 129 0 2670 --62.5833335 -62.4166665 -32.0833335 -31.9166665 116 0 2670 --62.4166665 -62.2499995 -32.0833335 -31.9166665 106 0 2670 --62.2500005 -62.0833335 -32.0833335 -31.9166665 99 0 2670 --62.0833335 -61.9166665 -32.0833335 -31.9166665 112 0 2670 --61.9166665 -61.7499995 -32.0833335 -31.9166665 109 0 2670 --61.7500005 -61.5833335 -32.0833335 -31.9166665 76 0 2670 --61.5833335 -61.4166665 -32.0833335 -31.9166665 51 0 2670 --61.4166665 -61.2499995 -32.0833335 -31.9166665 56 0 2670 --61.2500005 -61.0833335 -32.0833335 -31.9166665 43 0 2670 --61.0833335 -60.9166665 -32.0833335 -31.9166665 27 0 2670 --60.9166665 -60.7499995 -32.0833335 -31.9166665 9 0 2670 --60.7500005 -60.5833335 -32.0833335 -31.9166665 11 0 2670 --60.5833335 -60.4166665 -32.0833335 -31.9166665 58 0 2670 --60.4166665 -60.2499995 -32.0833335 -31.9166665 95 0 2670 --60.2500005 -60.0833335 -32.0833335 -31.9166665 102 0 2670 --60.0833335 -59.9166665 -32.0833335 -31.9166665 96 0 2670 --59.9166665 -59.7499995 -32.0833335 -31.9166665 73 0 2670 --59.7500005 -59.5833335 -32.0833335 -31.9166665 77 0 2670 --59.5833335 -59.4166665 -32.0833335 -31.9166665 64 0 2670 --59.4166665 -59.2499995 -32.0833335 -31.9166665 56 0 2670 --59.2500005 -59.0833335 -32.0833335 -31.9166665 45 0 2670 --59.0833335 -58.9166665 -32.0833335 -31.9166665 53 0 2670 --58.9166665 -58.7499995 -32.0833335 -31.9166665 62 0 2670 --58.7500005 -58.5833335 -32.0833335 -31.9166665 57 0 2670 --58.5833335 -58.4166665 -32.0833335 -31.9166665 55 0 2670 --58.4166665 -58.2499995 -32.0833335 -31.9166665 36 0 2670 --58.2500005 -58.0833335 -32.0833335 -31.9166665 8 0 2670 --58.0833335 -57.9166665 -32.0833335 -31.9166665 34 0 2670 --57.9166665 -57.7499995 -32.0833335 -31.9166665 68 0 2670 --57.7500005 -57.5833335 -32.0833335 -31.9166665 83 0 2670 --57.5833335 -57.4166665 -32.0833335 -31.9166665 72 0 2670 --57.4166665 -57.2499995 -32.0833335 -31.9166665 80 0 2670 --57.2500005 -57.0833335 -32.0833335 -31.9166665 80 0 2670 --57.0833335 -56.9166665 -32.0833335 -31.9166665 135 0 2670 --56.9166665 -56.7499995 -32.0833335 -31.9166665 166 0 2670 --56.7500005 -56.5833335 -32.0833335 -31.9166665 136 0 2670 --56.5833335 -56.4166665 -32.0833335 -31.9166665 202 0 2670 --56.4166665 -56.2499995 -32.0833335 -31.9166665 211 0 2670 --56.2500005 -56.0833335 -32.0833335 -31.9166665 256 0 2670 --56.0833335 -55.9166665 -32.0833335 -31.9166665 153 0 2670 --55.9166665 -55.7499995 -32.0833335 -31.9166665 142 0 2670 --55.7500005 -55.5833335 -32.0833335 -31.9166665 111 0 2670 --55.5833335 -55.4166665 -32.0833335 -31.9166665 101 0 2670 --55.4166665 -55.2499995 -32.0833335 -31.9166665 103 0 2670 --55.2500005 -55.0833335 -32.0833335 -31.9166665 141 0 2670 --55.0833335 -54.9166665 -32.0833335 -31.9166665 145 0 2670 --54.9166665 -54.7499995 -32.0833335 -31.9166665 138 0 2670 --54.7500005 -54.5833335 -32.0833335 -31.9166665 127 0 2670 --54.5833335 -54.4166665 -32.0833335 -31.9166665 116 0 2670 --54.4166665 -54.2499995 -32.0833335 -31.9166665 122 0 2670 --54.2500005 -54.0833335 -32.0833335 -31.9166665 132 0 2670 --54.0833335 -53.9166665 -32.0833335 -31.9166665 104 0 2670 --53.9166665 -53.7499995 -32.0833335 -31.9166665 94 0 2670 --53.7500005 -53.5833335 -32.0833335 -31.9166665 119 0 2670 --53.5833335 -53.4166665 -32.0833335 -31.9166665 312 0 2670 --53.4166665 -53.2499995 -32.0833335 -31.9166665 217 0 2670 --53.2500005 -53.0833335 -32.0833335 -31.9166665 180 0 2670 --53.0833335 -52.9166665 -32.0833335 -31.9166665 131 0 2670 --52.9166665 -52.7499995 -32.0833335 -31.9166665 81 0 2670 --52.7500005 -52.5833335 -32.0833335 -31.9166665 16 0 2670 --52.5833335 -52.4166665 -32.0833335 -31.9166665 2 0 2670 --52.4166665 -52.2499995 -32.0833335 -31.9166665 8 0 2670 --52.2500005 -52.0833335 -32.0833335 -31.9166665 8 0 2670 --52.0833335 -51.9166665 -32.0833335 -31.9166665 9 0 2670 --51.9166665 -51.7499995 -32.0833335 -31.9166665 0 -6 -1670 --51.7500005 -51.5833335 -32.0833335 -31.9166665 0 -11 -1670 --51.5833335 -51.4166665 -32.0833335 -31.9166665 0 -16 -1670 --51.4166665 -51.2499995 -32.0833335 -31.9166665 0 -22 -1670 --51.2500005 -51.0833335 -32.0833335 -31.9166665 0 -51 -1670 --51.0833335 -50.9166665 -32.0833335 -31.9166665 0 -62 -1670 --50.9166665 -50.7499995 -32.0833335 -31.9166665 0 -71 -1670 --50.7500005 -50.5833335 -32.0833335 -31.9166665 0 -89 -1670 --50.5833335 -50.4166665 -32.0833335 -31.9166665 0 -100 -1670 --50.4166665 -50.2499995 -32.0833335 -31.9166665 0 -115 -1670 --50.2500005 -50.0833335 -32.0833335 -31.9166665 0 -158 -1670 --50.0833335 -49.9166665 -32.0833335 -31.9166665 0 -822 -1670 --49.9166665 -49.7499995 -32.0833335 -31.9166665 0 -1434 -1670 --49.7500005 -49.5833335 -32.0833335 -31.9166665 0 -1823 -1670 --49.5833335 -49.4166665 -32.0833335 -31.9166665 0 -2060 -1670 --49.4166665 -49.2499995 -32.0833335 -31.9166665 0 -2233 -1670 --49.2500005 -49.0833335 -32.0833335 -31.9166665 0 -2387 -1670 --49.0833335 -48.9166665 -32.0833335 -31.9166665 0 -2553 -1670 --48.9166665 -48.7499995 -32.0833335 -31.9166665 0 -2671 -1670 --48.7500005 -48.5833335 -32.0833335 -31.9166665 0 -2804 -1670 --48.5833335 -48.4166665 -32.0833335 -31.9166665 0 -2908 -1670 --48.4166665 -48.2499995 -32.0833335 -31.9166665 0 -2988 -1670 --48.2500005 -48.0833335 -32.0833335 -31.9166665 0 -3034 -1670 --48.0833335 -47.9166665 -32.0833335 -31.9166665 0 -3110 -1670 --47.9166665 -47.7499995 -32.0833335 -31.9166665 0 -3167 -1670 --47.7500005 -47.5833335 -32.0833335 -31.9166665 0 -3228 -1670 --47.5833335 -47.4166665 -32.0833335 -31.9166665 0 -3301 -1670 --47.4166665 -47.2499995 -32.0833335 -31.9166665 0 -3350 -1670 --47.2500005 -47.0833335 -32.0833335 -31.9166665 0 -3426 -1670 --47.0833335 -46.9166665 -32.0833335 -31.9166665 0 -3484 -1670 --46.9166665 -46.7499995 -32.0833335 -31.9166665 0 -3542 -1670 --46.7500005 -46.5833335 -32.0833335 -31.9166665 0 -3603 -1670 --46.5833335 -46.4166665 -32.0833335 -31.9166665 0 -3649 -1670 --46.4166665 -46.2499995 -32.0833335 -31.9166665 0 -3698 -1670 --46.2500005 -46.0833335 -32.0833335 -31.9166665 0 -3739 -1670 --46.0833335 -45.9166665 -32.0833335 -31.9166665 0 -3779 -1670 --45.9166665 -45.7499995 -32.0833335 -31.9166665 0 -3823 -1670 --45.7500005 -45.5833335 -32.0833335 -31.9166665 0 -3858 -1670 --45.5833335 -45.4166665 -32.0833335 -31.9166665 0 -3878 -1670 --45.4166665 -45.2499995 -32.0833335 -31.9166665 0 -3878 -1670 --45.2500005 -45.0833335 -32.0833335 -31.9166665 0 -3870 -1670 --45.0833335 -44.9166665 -32.0833335 -31.9166665 0 -3833 -1670 --44.9166665 -44.7499995 -32.0833335 -31.9166665 0 -3822 -1670 --44.7500005 -44.5833335 -32.0833335 -31.9166665 0 -3799 -1670 --44.5833335 -44.4166665 -32.0833335 -31.9166665 0 -3752 -1670 --44.4166665 -44.2499995 -32.0833335 -31.9166665 0 -3717 -1670 --44.2500005 -44.0833335 -32.0833335 -31.9166665 0 -3717 -1670 --44.0833335 -43.9166665 -32.0833335 -31.9166665 0 -3697 -1670 --43.9166665 -43.7499995 -32.0833335 -31.9166665 0 -3722 -1670 --43.7500005 -43.5833335 -32.0833335 -31.9166665 0 -3847 -1670 --43.5833335 -43.4166665 -32.0833335 -31.9166665 0 -3847 -1670 --43.4166665 -43.2499995 -32.0833335 -31.9166665 0 -3746 -1670 --43.2500005 -43.0833335 -32.0833335 -31.9166665 0 -3858 -1670 --43.0833335 -42.9166665 -32.0833335 -31.9166665 0 -3856 -1670 --42.9166665 -42.7499995 -32.0833335 -31.9166665 0 -3804 -1670 --42.7500005 -42.5833335 -32.0833335 -31.9166665 0 -3839 -1670 --42.5833335 -42.4166665 -32.0833335 -31.9166665 0 -3769 -1670 --42.4166665 -42.2499995 -32.0833335 -31.9166665 0 -3781 -1670 --42.2500005 -42.0833335 -32.0833335 -31.9166665 0 -3839 -1670 --42.0833335 -41.9166665 -32.0833335 -31.9166665 0 -3880 -1670 --41.9166665 -41.7499995 -32.0833335 -31.9166665 0 -3746 -1670 --41.7500005 -41.5833335 -32.0833335 -31.9166665 0 -3664 -1670 --41.5833335 -41.4166665 -32.0833335 -31.9166665 0 -3717 -1670 --41.4166665 -41.2499995 -32.0833335 -31.9166665 0 -3869 -1670 --41.2500005 -41.0833335 -32.0833335 -31.9166665 0 -3974 -1670 --41.0833335 -40.9166665 -32.0833335 -31.9166665 0 -4029 -1670 --40.9166665 -40.7499995 -32.0833335 -31.9166665 0 -4082 -1670 --40.7500005 -40.5833335 -32.0833335 -31.9166665 0 -4039 -1670 --40.5833335 -40.4166665 -32.0833335 -31.9166665 0 -4345 -1670 --40.4166665 -40.2499995 -32.0833335 -31.9166665 0 -4280 -1670 --40.2500005 -40.0833335 -32.0833335 -31.9166665 0 -3959 -1670 --40.0833335 -39.9166665 -32.0833335 -31.9166665 0 -3996 -1670 --65.0833335 -64.9166665 -32.2500005 -32.0833335 1090 0 2670 --64.9166665 -64.7499995 -32.2500005 -32.0833335 1326 0 2670 --64.7500005 -64.5833335 -32.2500005 -32.0833335 880 0 2670 --64.5833335 -64.4166665 -32.2500005 -32.0833335 544 0 2670 --64.4166665 -64.2499995 -32.2500005 -32.0833335 487 0 2670 --64.2500005 -64.0833335 -32.2500005 -32.0833335 392 0 2670 --64.0833335 -63.9166665 -32.2500005 -32.0833335 354 0 2670 --63.9166665 -63.7499995 -32.2500005 -32.0833335 324 0 2670 --63.7500005 -63.5833335 -32.2500005 -32.0833335 284 0 2670 --63.5833335 -63.4166665 -32.2500005 -32.0833335 252 0 2670 --63.4166665 -63.2499995 -32.2500005 -32.0833335 221 0 2670 --63.2500005 -63.0833335 -32.2500005 -32.0833335 193 0 2670 --63.0833335 -62.9166665 -32.2500005 -32.0833335 167 0 2670 --62.9166665 -62.7499995 -32.2500005 -32.0833335 147 0 2670 --62.7500005 -62.5833335 -32.2500005 -32.0833335 132 0 2670 --62.5833335 -62.4166665 -32.2500005 -32.0833335 116 0 2670 --62.4166665 -62.2499995 -32.2500005 -32.0833335 104 0 2670 --62.2500005 -62.0833335 -32.2500005 -32.0833335 96 0 2670 --62.0833335 -61.9166665 -32.2500005 -32.0833335 119 0 2670 --61.9166665 -61.7499995 -32.2500005 -32.0833335 110 0 2670 --61.7500005 -61.5833335 -32.2500005 -32.0833335 79 0 2670 --61.5833335 -61.4166665 -32.2500005 -32.0833335 52 0 2670 --61.4166665 -61.2499995 -32.2500005 -32.0833335 38 0 2670 --61.2500005 -61.0833335 -32.2500005 -32.0833335 42 0 2670 --61.0833335 -60.9166665 -32.2500005 -32.0833335 29 0 2670 --60.9166665 -60.7499995 -32.2500005 -32.0833335 9 0 2670 --60.7500005 -60.5833335 -32.2500005 -32.0833335 11 0 2670 --60.5833335 -60.4166665 -32.2500005 -32.0833335 98 0 2670 --60.4166665 -60.2499995 -32.2500005 -32.0833335 85 0 2670 --60.2500005 -60.0833335 -32.2500005 -32.0833335 103 0 2670 --60.0833335 -59.9166665 -32.2500005 -32.0833335 62 0 2670 --59.9166665 -59.7499995 -32.2500005 -32.0833335 70 0 2670 --59.7500005 -59.5833335 -32.2500005 -32.0833335 59 0 2670 --59.5833335 -59.4166665 -32.2500005 -32.0833335 67 0 2670 --59.4166665 -59.2499995 -32.2500005 -32.0833335 68 0 2670 --59.2500005 -59.0833335 -32.2500005 -32.0833335 55 0 2670 --59.0833335 -58.9166665 -32.2500005 -32.0833335 38 0 2670 --58.9166665 -58.7499995 -32.2500005 -32.0833335 64 0 2670 --58.7500005 -58.5833335 -32.2500005 -32.0833335 42 0 2670 --58.5833335 -58.4166665 -32.2500005 -32.0833335 45 0 2670 --58.4166665 -58.2499995 -32.2500005 -32.0833335 28 0 2670 --58.2500005 -58.0833335 -32.2500005 -32.0833335 6 0 2670 --58.0833335 -57.9166665 -32.2500005 -32.0833335 33 0 2670 --57.9166665 -57.7499995 -32.2500005 -32.0833335 39 0 2670 --57.7500005 -57.5833335 -32.2500005 -32.0833335 31 0 2670 --57.5833335 -57.4166665 -32.2500005 -32.0833335 37 0 2670 --57.4166665 -57.2499995 -32.2500005 -32.0833335 47 0 2670 --57.2500005 -57.0833335 -32.2500005 -32.0833335 50 0 2670 --57.0833335 -56.9166665 -32.2500005 -32.0833335 87 0 2670 --56.9166665 -56.7499995 -32.2500005 -32.0833335 97 0 2670 --56.7500005 -56.5833335 -32.2500005 -32.0833335 156 0 2670 --56.5833335 -56.4166665 -32.2500005 -32.0833335 141 0 2670 --56.4166665 -56.2499995 -32.2500005 -32.0833335 162 0 2670 --56.2500005 -56.0833335 -32.2500005 -32.0833335 134 0 2670 --56.0833335 -55.9166665 -32.2500005 -32.0833335 114 0 2670 --55.9166665 -55.7499995 -32.2500005 -32.0833335 114 0 2670 --55.7500005 -55.5833335 -32.2500005 -32.0833335 114 0 2670 --55.5833335 -55.4166665 -32.2500005 -32.0833335 94 0 2670 --55.4166665 -55.2499995 -32.2500005 -32.0833335 117 0 2670 --55.2500005 -55.0833335 -32.2500005 -32.0833335 106 0 2670 --55.0833335 -54.9166665 -32.2500005 -32.0833335 113 0 2670 --54.9166665 -54.7499995 -32.2500005 -32.0833335 117 0 2670 --54.7500005 -54.5833335 -32.2500005 -32.0833335 132 0 2670 --54.5833335 -54.4166665 -32.2500005 -32.0833335 144 0 2670 --54.4166665 -54.2499995 -32.2500005 -32.0833335 155 0 2670 --54.2500005 -54.0833335 -32.2500005 -32.0833335 172 0 2670 --54.0833335 -53.9166665 -32.2500005 -32.0833335 119 0 2670 --53.9166665 -53.7499995 -32.2500005 -32.0833335 185 0 2670 --53.7500005 -53.5833335 -32.2500005 -32.0833335 154 0 2670 --53.5833335 -53.4166665 -32.2500005 -32.0833335 114 0 2670 --53.4166665 -53.2499995 -32.2500005 -32.0833335 160 0 2670 --53.2500005 -53.0833335 -32.2500005 -32.0833335 71 0 2670 --53.0833335 -52.9166665 -32.2500005 -32.0833335 37 0 2670 --52.9166665 -52.7499995 -32.2500005 -32.0833335 5 0 2670 --52.7500005 -52.5833335 -32.2500005 -32.0833335 0 -1 -1670 --52.5833335 -52.4166665 -32.2500005 -32.0833335 1 0 2670 --52.4166665 -52.2499995 -32.2500005 -32.0833335 10 0 2670 --52.2500005 -52.0833335 -32.2500005 -32.0833335 6 0 2670 --52.0833335 -51.9166665 -32.2500005 -32.0833335 0 -9 -1670 --51.9166665 -51.7499995 -32.2500005 -32.0833335 0 -20 -1670 --51.7500005 -51.5833335 -32.2500005 -32.0833335 0 -19 -1670 --51.5833335 -51.4166665 -32.2500005 -32.0833335 0 -19 -1670 --51.4166665 -51.2499995 -32.2500005 -32.0833335 0 -45 -1670 --51.2500005 -51.0833335 -32.2500005 -32.0833335 0 -59 -1670 --51.0833335 -50.9166665 -32.2500005 -32.0833335 0 -67 -1670 --50.9166665 -50.7499995 -32.2500005 -32.0833335 0 -79 -1670 --50.7500005 -50.5833335 -32.2500005 -32.0833335 0 -85 -1670 --50.5833335 -50.4166665 -32.2500005 -32.0833335 0 -92 -1670 --50.4166665 -50.2499995 -32.2500005 -32.0833335 0 -92 -1670 --50.2500005 -50.0833335 -32.2500005 -32.0833335 0 -280 -1670 --50.0833335 -49.9166665 -32.2500005 -32.0833335 0 -648 -1670 --49.9166665 -49.7499995 -32.2500005 -32.0833335 0 -1532 -1670 --49.7500005 -49.5833335 -32.2500005 -32.0833335 0 -1882 -1670 --49.5833335 -49.4166665 -32.2500005 -32.0833335 0 -2066 -1670 --49.4166665 -49.2499995 -32.2500005 -32.0833335 0 -2284 -1670 --49.2500005 -49.0833335 -32.2500005 -32.0833335 0 -2396 -1670 --49.0833335 -48.9166665 -32.2500005 -32.0833335 0 -2646 -1670 --48.9166665 -48.7499995 -32.2500005 -32.0833335 0 -2752 -1670 --48.7500005 -48.5833335 -32.2500005 -32.0833335 0 -2798 -1670 --48.5833335 -48.4166665 -32.2500005 -32.0833335 0 -2915 -1670 --48.4166665 -48.2499995 -32.2500005 -32.0833335 0 -2996 -1670 --48.2500005 -48.0833335 -32.2500005 -32.0833335 0 -3073 -1670 --48.0833335 -47.9166665 -32.2500005 -32.0833335 0 -3147 -1670 --47.9166665 -47.7499995 -32.2500005 -32.0833335 0 -3245 -1670 --47.7500005 -47.5833335 -32.2500005 -32.0833335 0 -3325 -1670 --47.5833335 -47.4166665 -32.2500005 -32.0833335 0 -3391 -1670 --47.4166665 -47.2499995 -32.2500005 -32.0833335 0 -3462 -1670 --47.2500005 -47.0833335 -32.2500005 -32.0833335 0 -3526 -1670 --47.0833335 -46.9166665 -32.2500005 -32.0833335 0 -3599 -1670 --46.9166665 -46.7499995 -32.2500005 -32.0833335 0 -3658 -1670 --46.7500005 -46.5833335 -32.2500005 -32.0833335 0 -3706 -1670 --46.5833335 -46.4166665 -32.2500005 -32.0833335 0 -3762 -1670 --46.4166665 -46.2499995 -32.2500005 -32.0833335 0 -3809 -1670 --46.2500005 -46.0833335 -32.2500005 -32.0833335 0 -3855 -1670 --46.0833335 -45.9166665 -32.2500005 -32.0833335 0 -3897 -1670 --45.9166665 -45.7499995 -32.2500005 -32.0833335 0 -3916 -1670 --45.7500005 -45.5833335 -32.2500005 -32.0833335 0 -3943 -1670 --45.5833335 -45.4166665 -32.2500005 -32.0833335 0 -3954 -1670 --45.4166665 -45.2499995 -32.2500005 -32.0833335 0 -3996 -1670 --45.2500005 -45.0833335 -32.2500005 -32.0833335 0 -4014 -1670 --45.0833335 -44.9166665 -32.2500005 -32.0833335 0 -4005 -1670 --44.9166665 -44.7499995 -32.2500005 -32.0833335 0 -3963 -1670 --44.7500005 -44.5833335 -32.2500005 -32.0833335 0 -3939 -1670 --44.5833335 -44.4166665 -32.2500005 -32.0833335 0 -3890 -1670 --44.4166665 -44.2499995 -32.2500005 -32.0833335 0 -3875 -1670 --44.2500005 -44.0833335 -32.2500005 -32.0833335 0 -3805 -1670 --44.0833335 -43.9166665 -32.2500005 -32.0833335 0 -3804 -1670 --43.9166665 -43.7499995 -32.2500005 -32.0833335 0 -3746 -1670 --43.7500005 -43.5833335 -32.2500005 -32.0833335 0 -3757 -1670 --43.5833335 -43.4166665 -32.2500005 -32.0833335 0 -3830 -1670 --43.4166665 -43.2499995 -32.2500005 -32.0833335 0 -3845 -1670 --43.2500005 -43.0833335 -32.2500005 -32.0833335 0 -3854 -1670 --43.0833335 -42.9166665 -32.2500005 -32.0833335 0 -3970 -1670 --42.9166665 -42.7499995 -32.2500005 -32.0833335 0 -3949 -1670 --42.7500005 -42.5833335 -32.2500005 -32.0833335 0 -3934 -1670 --42.5833335 -42.4166665 -32.2500005 -32.0833335 0 -3774 -1670 --42.4166665 -42.2499995 -32.2500005 -32.0833335 0 -3755 -1670 --42.2500005 -42.0833335 -32.2500005 -32.0833335 0 -3821 -1670 --42.0833335 -41.9166665 -32.2500005 -32.0833335 0 -3819 -1670 --41.9166665 -41.7499995 -32.2500005 -32.0833335 0 -3759 -1670 --41.7500005 -41.5833335 -32.2500005 -32.0833335 0 -3842 -1670 --41.5833335 -41.4166665 -32.2500005 -32.0833335 0 -3918 -1670 --41.4166665 -41.2499995 -32.2500005 -32.0833335 0 -4107 -1670 --41.2500005 -41.0833335 -32.2500005 -32.0833335 0 -4339 -1670 --41.0833335 -40.9166665 -32.2500005 -32.0833335 0 -4267 -1670 --40.9166665 -40.7499995 -32.2500005 -32.0833335 0 -4327 -1670 --40.7500005 -40.5833335 -32.2500005 -32.0833335 0 -4161 -1670 --40.5833335 -40.4166665 -32.2500005 -32.0833335 0 -4192 -1670 --40.4166665 -40.2499995 -32.2500005 -32.0833335 0 -4250 -1670 --40.2500005 -40.0833335 -32.2500005 -32.0833335 0 -4219 -1670 --40.0833335 -39.9166665 -32.2500005 -32.0833335 0 -4231 -1670 --65.0833335 -64.9166665 -32.4166665 -32.2499995 928 0 2670 --64.9166665 -64.7499995 -32.4166665 -32.2499995 1451 0 2670 --64.7500005 -64.5833335 -32.4166665 -32.2499995 904 0 2670 --64.5833335 -64.4166665 -32.4166665 -32.2499995 601 0 2670 --64.4166665 -64.2499995 -32.4166665 -32.2499995 616 0 2670 --64.2500005 -64.0833335 -32.4166665 -32.2499995 460 0 2670 --64.0833335 -63.9166665 -32.4166665 -32.2499995 359 0 2670 --63.9166665 -63.7499995 -32.4166665 -32.2499995 313 0 2670 --63.7500005 -63.5833335 -32.4166665 -32.2499995 282 0 2670 --63.5833335 -63.4166665 -32.4166665 -32.2499995 250 0 2670 --63.4166665 -63.2499995 -32.4166665 -32.2499995 220 0 2670 --63.2500005 -63.0833335 -32.4166665 -32.2499995 192 0 2670 --63.0833335 -62.9166665 -32.4166665 -32.2499995 164 0 2670 --62.9166665 -62.7499995 -32.4166665 -32.2499995 145 0 2670 --62.7500005 -62.5833335 -32.4166665 -32.2499995 130 0 2670 --62.5833335 -62.4166665 -32.4166665 -32.2499995 119 0 2670 --62.4166665 -62.2499995 -32.4166665 -32.2499995 111 0 2670 --62.2500005 -62.0833335 -32.4166665 -32.2499995 98 0 2670 --62.0833335 -61.9166665 -32.4166665 -32.2499995 96 0 2670 --61.9166665 -61.7499995 -32.4166665 -32.2499995 111 0 2670 --61.7500005 -61.5833335 -32.4166665 -32.2499995 106 0 2670 --61.5833335 -61.4166665 -32.4166665 -32.2499995 71 0 2670 --61.4166665 -61.2499995 -32.4166665 -32.2499995 54 0 2670 --61.2500005 -61.0833335 -32.4166665 -32.2499995 28 0 2670 --61.0833335 -60.9166665 -32.4166665 -32.2499995 29 0 2670 --60.9166665 -60.7499995 -32.4166665 -32.2499995 5 0 2670 --60.7500005 -60.5833335 -32.4166665 -32.2499995 11 0 2670 --60.5833335 -60.4166665 -32.4166665 -32.2499995 10 0 2670 --60.4166665 -60.2499995 -32.4166665 -32.2499995 82 0 2670 --60.2500005 -60.0833335 -32.4166665 -32.2499995 97 0 2670 --60.0833335 -59.9166665 -32.4166665 -32.2499995 92 0 2670 --59.9166665 -59.7499995 -32.4166665 -32.2499995 65 0 2670 --59.7500005 -59.5833335 -32.4166665 -32.2499995 53 0 2670 --59.5833335 -59.4166665 -32.4166665 -32.2499995 73 0 2670 --59.4166665 -59.2499995 -32.4166665 -32.2499995 67 0 2670 --59.2500005 -59.0833335 -32.4166665 -32.2499995 49 0 2670 --59.0833335 -58.9166665 -32.4166665 -32.2499995 54 0 2670 --58.9166665 -58.7499995 -32.4166665 -32.2499995 50 0 2670 --58.7500005 -58.5833335 -32.4166665 -32.2499995 47 0 2670 --58.5833335 -58.4166665 -32.4166665 -32.2499995 35 0 2670 --58.4166665 -58.2499995 -32.4166665 -32.2499995 26 0 2670 --58.2500005 -58.0833335 -32.4166665 -32.2499995 17 0 2670 --58.0833335 -57.9166665 -32.4166665 -32.2499995 52 0 2670 --57.9166665 -57.7499995 -32.4166665 -32.2499995 63 0 2670 --57.7500005 -57.5833335 -32.4166665 -32.2499995 80 0 2670 --57.5833335 -57.4166665 -32.4166665 -32.2499995 85 0 2670 --57.4166665 -57.2499995 -32.4166665 -32.2499995 76 0 2670 --57.2500005 -57.0833335 -32.4166665 -32.2499995 85 0 2670 --57.0833335 -56.9166665 -32.4166665 -32.2499995 146 0 2670 --56.9166665 -56.7499995 -32.4166665 -32.2499995 131 0 2670 --56.7500005 -56.5833335 -32.4166665 -32.2499995 135 0 2670 --56.5833335 -56.4166665 -32.4166665 -32.2499995 118 0 2670 --56.4166665 -56.2499995 -32.4166665 -32.2499995 159 0 2670 --56.2500005 -56.0833335 -32.4166665 -32.2499995 176 0 2670 --56.0833335 -55.9166665 -32.4166665 -32.2499995 112 0 2670 --55.9166665 -55.7499995 -32.4166665 -32.2499995 94 0 2670 --55.7500005 -55.5833335 -32.4166665 -32.2499995 104 0 2670 --55.5833335 -55.4166665 -32.4166665 -32.2499995 95 0 2670 --55.4166665 -55.2499995 -32.4166665 -32.2499995 107 0 2670 --55.2500005 -55.0833335 -32.4166665 -32.2499995 127 0 2670 --55.0833335 -54.9166665 -32.4166665 -32.2499995 122 0 2670 --54.9166665 -54.7499995 -32.4166665 -32.2499995 101 0 2670 --54.7500005 -54.5833335 -32.4166665 -32.2499995 128 0 2670 --54.5833335 -54.4166665 -32.4166665 -32.2499995 145 0 2670 --54.4166665 -54.2499995 -32.4166665 -32.2499995 147 0 2670 --54.2500005 -54.0833335 -32.4166665 -32.2499995 108 0 2670 --54.0833335 -53.9166665 -32.4166665 -32.2499995 102 0 2670 --53.9166665 -53.7499995 -32.4166665 -32.2499995 110 0 2670 --53.7500005 -53.5833335 -32.4166665 -32.2499995 46 0 2670 --53.5833335 -53.4166665 -32.4166665 -32.2499995 45 0 2670 --53.4166665 -53.2499995 -32.4166665 -32.2499995 81 0 2670 --53.2500005 -53.0833335 -32.4166665 -32.2499995 55 0 2670 --53.0833335 -52.9166665 -32.4166665 -32.2499995 13 0 2670 --52.9166665 -52.7499995 -32.4166665 -32.2499995 6 0 2670 --52.7500005 -52.5833335 -32.4166665 -32.2499995 4 0 2670 --52.5833335 -52.4166665 -32.4166665 -32.2499995 6 0 2670 --52.4166665 -52.2499995 -32.4166665 -32.2499995 6 0 2670 --52.2500005 -52.0833335 -32.4166665 -32.2499995 0 -7 -1670 --52.0833335 -51.9166665 -32.4166665 -32.2499995 0 -21 -1670 --51.9166665 -51.7499995 -32.4166665 -32.2499995 0 -22 -1670 --51.7500005 -51.5833335 -32.4166665 -32.2499995 0 -24 -1670 --51.5833335 -51.4166665 -32.4166665 -32.2499995 0 -36 -1670 --51.4166665 -51.2499995 -32.4166665 -32.2499995 0 -56 -1670 --51.2500005 -51.0833335 -32.4166665 -32.2499995 0 -60 -1670 --51.0833335 -50.9166665 -32.4166665 -32.2499995 0 -78 -1670 --50.9166665 -50.7499995 -32.4166665 -32.2499995 0 -72 -1670 --50.7500005 -50.5833335 -32.4166665 -32.2499995 0 -79 -1670 --50.5833335 -50.4166665 -32.4166665 -32.2499995 0 -98 -1670 --50.4166665 -50.2499995 -32.4166665 -32.2499995 0 -145 -1670 --50.2500005 -50.0833335 -32.4166665 -32.2499995 0 -721 -1670 --50.0833335 -49.9166665 -32.4166665 -32.2499995 0 -1177 -1670 --49.9166665 -49.7499995 -32.4166665 -32.2499995 0 -1606 -1670 --49.7500005 -49.5833335 -32.4166665 -32.2499995 0 -1831 -1670 --49.5833335 -49.4166665 -32.4166665 -32.2499995 0 -2022 -1670 --49.4166665 -49.2499995 -32.4166665 -32.2499995 0 -2251 -1670 --49.2500005 -49.0833335 -32.4166665 -32.2499995 0 -2316 -1670 --49.0833335 -48.9166665 -32.4166665 -32.2499995 0 -2506 -1670 --48.9166665 -48.7499995 -32.4166665 -32.2499995 0 -2782 -1670 --48.7500005 -48.5833335 -32.4166665 -32.2499995 0 -2845 -1670 --48.5833335 -48.4166665 -32.4166665 -32.2499995 0 -2931 -1670 --48.4166665 -48.2499995 -32.4166665 -32.2499995 0 -3026 -1670 --48.2500005 -48.0833335 -32.4166665 -32.2499995 0 -3113 -1670 --48.0833335 -47.9166665 -32.4166665 -32.2499995 0 -3257 -1670 --47.9166665 -47.7499995 -32.4166665 -32.2499995 0 -3304 -1670 --47.7500005 -47.5833335 -32.4166665 -32.2499995 0 -3395 -1670 --47.5833335 -47.4166665 -32.4166665 -32.2499995 0 -3475 -1670 --47.4166665 -47.2499995 -32.4166665 -32.2499995 0 -3554 -1670 --47.2500005 -47.0833335 -32.4166665 -32.2499995 0 -3626 -1670 --47.0833335 -46.9166665 -32.4166665 -32.2499995 0 -3695 -1670 --46.9166665 -46.7499995 -32.4166665 -32.2499995 0 -3757 -1670 --46.7500005 -46.5833335 -32.4166665 -32.2499995 0 -3800 -1670 --46.5833335 -46.4166665 -32.4166665 -32.2499995 0 -3862 -1670 --46.4166665 -46.2499995 -32.4166665 -32.2499995 0 -3894 -1670 --46.2500005 -46.0833335 -32.4166665 -32.2499995 0 -3929 -1670 --46.0833335 -45.9166665 -32.4166665 -32.2499995 0 -3967 -1670 --45.9166665 -45.7499995 -32.4166665 -32.2499995 0 -3978 -1670 --45.7500005 -45.5833335 -32.4166665 -32.2499995 0 -3997 -1670 --45.5833335 -45.4166665 -32.4166665 -32.2499995 0 -4016 -1670 --45.4166665 -45.2499995 -32.4166665 -32.2499995 0 -4049 -1670 --45.2500005 -45.0833335 -32.4166665 -32.2499995 0 -4071 -1670 --45.0833335 -44.9166665 -32.4166665 -32.2499995 0 -4072 -1670 --44.9166665 -44.7499995 -32.4166665 -32.2499995 0 -4065 -1670 --44.7500005 -44.5833335 -32.4166665 -32.2499995 0 -4061 -1670 --44.5833335 -44.4166665 -32.4166665 -32.2499995 0 -4079 -1670 --44.4166665 -44.2499995 -32.4166665 -32.2499995 0 -4073 -1670 --44.2500005 -44.0833335 -32.4166665 -32.2499995 0 -4026 -1670 --44.0833335 -43.9166665 -32.4166665 -32.2499995 0 -3938 -1670 --43.9166665 -43.7499995 -32.4166665 -32.2499995 0 -3847 -1670 --43.7500005 -43.5833335 -32.4166665 -32.2499995 0 -3906 -1670 --43.5833335 -43.4166665 -32.4166665 -32.2499995 0 -3893 -1670 --43.4166665 -43.2499995 -32.4166665 -32.2499995 0 -3922 -1670 --43.2500005 -43.0833335 -32.4166665 -32.2499995 0 -3916 -1670 --43.0833335 -42.9166665 -32.4166665 -32.2499995 0 -3906 -1670 --42.9166665 -42.7499995 -32.4166665 -32.2499995 0 -4036 -1670 --42.7500005 -42.5833335 -32.4166665 -32.2499995 0 -3992 -1670 --42.5833335 -42.4166665 -32.4166665 -32.2499995 0 -3937 -1670 --42.4166665 -42.2499995 -32.4166665 -32.2499995 0 -3987 -1670 --42.2500005 -42.0833335 -32.4166665 -32.2499995 0 -3951 -1670 --42.0833335 -41.9166665 -32.4166665 -32.2499995 0 -3875 -1670 --41.9166665 -41.7499995 -32.4166665 -32.2499995 0 -4006 -1670 --41.7500005 -41.5833335 -32.4166665 -32.2499995 0 -4178 -1670 --41.5833335 -41.4166665 -32.4166665 -32.2499995 0 -4228 -1670 --41.4166665 -41.2499995 -32.4166665 -32.2499995 0 -4324 -1670 --41.2500005 -41.0833335 -32.4166665 -32.2499995 0 -4362 -1670 --41.0833335 -40.9166665 -32.4166665 -32.2499995 0 -4469 -1670 --40.9166665 -40.7499995 -32.4166665 -32.2499995 0 -4481 -1670 --40.7500005 -40.5833335 -32.4166665 -32.2499995 0 -4414 -1670 --40.5833335 -40.4166665 -32.4166665 -32.2499995 0 -3788 -1670 --40.4166665 -40.2499995 -32.4166665 -32.2499995 0 -4526 -1670 --40.2500005 -40.0833335 -32.4166665 -32.2499995 0 -4317 -1670 --40.0833335 -39.9166665 -32.4166665 -32.2499995 0 -4381 -1670 --65.0833335 -64.9166665 -32.5833335 -32.4166665 917 0 2670 --64.9166665 -64.7499995 -32.5833335 -32.4166665 1575 0 2670 --64.7500005 -64.5833335 -32.5833335 -32.4166665 902 0 2670 --64.5833335 -64.4166665 -32.5833335 -32.4166665 688 0 2670 --64.4166665 -64.2499995 -32.5833335 -32.4166665 672 0 2670 --64.2500005 -64.0833335 -32.5833335 -32.4166665 488 0 2670 --64.0833335 -63.9166665 -32.5833335 -32.4166665 382 0 2670 --63.9166665 -63.7499995 -32.5833335 -32.4166665 288 0 2670 --63.7500005 -63.5833335 -32.5833335 -32.4166665 256 0 2670 --63.5833335 -63.4166665 -32.5833335 -32.4166665 233 0 2670 --63.4166665 -63.2499995 -32.5833335 -32.4166665 207 0 2670 --63.2500005 -63.0833335 -32.5833335 -32.4166665 186 0 2670 --63.0833335 -62.9166665 -32.5833335 -32.4166665 163 0 2670 --62.9166665 -62.7499995 -32.5833335 -32.4166665 144 0 2670 --62.7500005 -62.5833335 -32.5833335 -32.4166665 128 0 2670 --62.5833335 -62.4166665 -32.5833335 -32.4166665 118 0 2670 --62.4166665 -62.2499995 -32.5833335 -32.4166665 115 0 2670 --62.2500005 -62.0833335 -32.5833335 -32.4166665 113 0 2670 --62.0833335 -61.9166665 -32.5833335 -32.4166665 88 0 2670 --61.9166665 -61.7499995 -32.5833335 -32.4166665 119 0 2670 --61.7500005 -61.5833335 -32.5833335 -32.4166665 109 0 2670 --61.5833335 -61.4166665 -32.5833335 -32.4166665 94 0 2670 --61.4166665 -61.2499995 -32.5833335 -32.4166665 65 0 2670 --61.2500005 -61.0833335 -32.5833335 -32.4166665 37 0 2670 --61.0833335 -60.9166665 -32.5833335 -32.4166665 38 0 2670 --60.9166665 -60.7499995 -32.5833335 -32.4166665 23 0 2670 --60.7500005 -60.5833335 -32.5833335 -32.4166665 8 0 2670 --60.5833335 -60.4166665 -32.5833335 -32.4166665 7 0 2670 --60.4166665 -60.2499995 -32.5833335 -32.4166665 12 0 2670 --60.2500005 -60.0833335 -32.5833335 -32.4166665 47 0 2670 --60.0833335 -59.9166665 -32.5833335 -32.4166665 89 0 2670 --59.9166665 -59.7499995 -32.5833335 -32.4166665 57 0 2670 --59.7500005 -59.5833335 -32.5833335 -32.4166665 57 0 2670 --59.5833335 -59.4166665 -32.5833335 -32.4166665 52 0 2670 --59.4166665 -59.2499995 -32.5833335 -32.4166665 55 0 2670 --59.2500005 -59.0833335 -32.5833335 -32.4166665 49 0 2670 --59.0833335 -58.9166665 -32.5833335 -32.4166665 51 0 2670 --58.9166665 -58.7499995 -32.5833335 -32.4166665 53 0 2670 --58.7500005 -58.5833335 -32.5833335 -32.4166665 27 0 2670 --58.5833335 -58.4166665 -32.5833335 -32.4166665 27 0 2670 --58.4166665 -58.2499995 -32.5833335 -32.4166665 18 0 2670 --58.2500005 -58.0833335 -32.5833335 -32.4166665 16 0 2670 --58.0833335 -57.9166665 -32.5833335 -32.4166665 38 0 2670 --57.9166665 -57.7499995 -32.5833335 -32.4166665 66 0 2670 --57.7500005 -57.5833335 -32.5833335 -32.4166665 79 0 2670 --57.5833335 -57.4166665 -32.5833335 -32.4166665 79 0 2670 --57.4166665 -57.2499995 -32.5833335 -32.4166665 94 0 2670 --57.2500005 -57.0833335 -32.5833335 -32.4166665 88 0 2670 --57.0833335 -56.9166665 -32.5833335 -32.4166665 137 0 2670 --56.9166665 -56.7499995 -32.5833335 -32.4166665 144 0 2670 --56.7500005 -56.5833335 -32.5833335 -32.4166665 132 0 2670 --56.5833335 -56.4166665 -32.5833335 -32.4166665 104 0 2670 --56.4166665 -56.2499995 -32.5833335 -32.4166665 125 0 2670 --56.2500005 -56.0833335 -32.5833335 -32.4166665 159 0 2670 --56.0833335 -55.9166665 -32.5833335 -32.4166665 133 0 2670 --55.9166665 -55.7499995 -32.5833335 -32.4166665 95 0 2670 --55.7500005 -55.5833335 -32.5833335 -32.4166665 77 0 2670 --55.5833335 -55.4166665 -32.5833335 -32.4166665 80 0 2670 --55.4166665 -55.2499995 -32.5833335 -32.4166665 90 0 2670 --55.2500005 -55.0833335 -32.5833335 -32.4166665 105 0 2670 --55.0833335 -54.9166665 -32.5833335 -32.4166665 112 0 2670 --54.9166665 -54.7499995 -32.5833335 -32.4166665 127 0 2670 --54.7500005 -54.5833335 -32.5833335 -32.4166665 144 0 2670 --54.5833335 -54.4166665 -32.5833335 -32.4166665 147 0 2670 --54.4166665 -54.2499995 -32.5833335 -32.4166665 108 0 2670 --54.2500005 -54.0833335 -32.5833335 -32.4166665 103 0 2670 --54.0833335 -53.9166665 -32.5833335 -32.4166665 114 0 2670 --53.9166665 -53.7499995 -32.5833335 -32.4166665 144 0 2670 --53.7500005 -53.5833335 -32.5833335 -32.4166665 59 0 2670 --53.5833335 -53.4166665 -32.5833335 -32.4166665 16 0 2670 --53.4166665 -53.2499995 -32.5833335 -32.4166665 53 0 2670 --53.2500005 -53.0833335 -32.5833335 -32.4166665 16 0 2670 --53.0833335 -52.9166665 -32.5833335 -32.4166665 4 0 2670 --52.9166665 -52.7499995 -32.5833335 -32.4166665 0 -18 -1670 --52.7500005 -52.5833335 -32.5833335 -32.4166665 0 -9 -1670 --52.5833335 -52.4166665 -32.5833335 -32.4166665 5 0 2670 --52.4166665 -52.2499995 -32.5833335 -32.4166665 0 -2 -1670 --52.2500005 -52.0833335 -32.5833335 -32.4166665 0 -12 -1670 --52.0833335 -51.9166665 -32.5833335 -32.4166665 0 -22 -1670 --51.9166665 -51.7499995 -32.5833335 -32.4166665 0 -28 -1670 --51.7500005 -51.5833335 -32.5833335 -32.4166665 0 -35 -1670 --51.5833335 -51.4166665 -32.5833335 -32.4166665 0 -48 -1670 --51.4166665 -51.2499995 -32.5833335 -32.4166665 0 -53 -1670 --51.2500005 -51.0833335 -32.5833335 -32.4166665 0 -63 -1670 --51.0833335 -50.9166665 -32.5833335 -32.4166665 0 -65 -1670 --50.9166665 -50.7499995 -32.5833335 -32.4166665 0 -68 -1670 --50.7500005 -50.5833335 -32.5833335 -32.4166665 0 -81 -1670 --50.5833335 -50.4166665 -32.5833335 -32.4166665 0 -96 -1670 --50.4166665 -50.2499995 -32.5833335 -32.4166665 0 -232 -1670 --50.2500005 -50.0833335 -32.5833335 -32.4166665 0 -916 -1670 --50.0833335 -49.9166665 -32.5833335 -32.4166665 0 -1219 -1670 --49.9166665 -49.7499995 -32.5833335 -32.4166665 0 -1485 -1670 --49.7500005 -49.5833335 -32.5833335 -32.4166665 0 -1736 -1670 --49.5833335 -49.4166665 -32.5833335 -32.4166665 0 -1861 -1670 --49.4166665 -49.2499995 -32.5833335 -32.4166665 0 -2048 -1670 --49.2500005 -49.0833335 -32.5833335 -32.4166665 0 -2292 -1670 --49.0833335 -48.9166665 -32.5833335 -32.4166665 0 -2461 -1670 --48.9166665 -48.7499995 -32.5833335 -32.4166665 0 -2899 -1670 --48.7500005 -48.5833335 -32.5833335 -32.4166665 0 -2889 -1670 --48.5833335 -48.4166665 -32.5833335 -32.4166665 0 -2942 -1670 --48.4166665 -48.2499995 -32.5833335 -32.4166665 0 -3083 -1670 --48.2500005 -48.0833335 -32.5833335 -32.4166665 0 -3213 -1670 --48.0833335 -47.9166665 -32.5833335 -32.4166665 0 -3284 -1670 --47.9166665 -47.7499995 -32.5833335 -32.4166665 0 -3388 -1670 --47.7500005 -47.5833335 -32.5833335 -32.4166665 0 -3453 -1670 --47.5833335 -47.4166665 -32.5833335 -32.4166665 0 -3541 -1670 --47.4166665 -47.2499995 -32.5833335 -32.4166665 0 -3626 -1670 --47.2500005 -47.0833335 -32.5833335 -32.4166665 0 -3692 -1670 --47.0833335 -46.9166665 -32.5833335 -32.4166665 0 -3762 -1670 --46.9166665 -46.7499995 -32.5833335 -32.4166665 0 -3811 -1670 --46.7500005 -46.5833335 -32.5833335 -32.4166665 0 -3848 -1670 --46.5833335 -46.4166665 -32.5833335 -32.4166665 0 -3885 -1670 --46.4166665 -46.2499995 -32.5833335 -32.4166665 0 -3925 -1670 --46.2500005 -46.0833335 -32.5833335 -32.4166665 0 -3945 -1670 --46.0833335 -45.9166665 -32.5833335 -32.4166665 0 -3980 -1670 --45.9166665 -45.7499995 -32.5833335 -32.4166665 0 -4011 -1670 --45.7500005 -45.5833335 -32.5833335 -32.4166665 0 -4031 -1670 --45.5833335 -45.4166665 -32.5833335 -32.4166665 0 -4083 -1670 --45.4166665 -45.2499995 -32.5833335 -32.4166665 0 -4103 -1670 --45.2500005 -45.0833335 -32.5833335 -32.4166665 0 -4102 -1670 --45.0833335 -44.9166665 -32.5833335 -32.4166665 0 -4127 -1670 --44.9166665 -44.7499995 -32.5833335 -32.4166665 0 -4164 -1670 --44.7500005 -44.5833335 -32.5833335 -32.4166665 0 -4117 -1670 --44.5833335 -44.4166665 -32.5833335 -32.4166665 0 -4240 -1670 --44.4166665 -44.2499995 -32.5833335 -32.4166665 0 -4096 -1670 --44.2500005 -44.0833335 -32.5833335 -32.4166665 0 -4144 -1670 --44.0833335 -43.9166665 -32.5833335 -32.4166665 0 -4141 -1670 --43.9166665 -43.7499995 -32.5833335 -32.4166665 0 -4093 -1670 --43.7500005 -43.5833335 -32.5833335 -32.4166665 0 -4061 -1670 --43.5833335 -43.4166665 -32.5833335 -32.4166665 0 -4101 -1670 --43.4166665 -43.2499995 -32.5833335 -32.4166665 0 -4002 -1670 --43.2500005 -43.0833335 -32.5833335 -32.4166665 0 -4164 -1670 --43.0833335 -42.9166665 -32.5833335 -32.4166665 0 -4125 -1670 --42.9166665 -42.7499995 -32.5833335 -32.4166665 0 -4182 -1670 --42.7500005 -42.5833335 -32.5833335 -32.4166665 0 -4116 -1670 --42.5833335 -42.4166665 -32.5833335 -32.4166665 0 -4146 -1670 --42.4166665 -42.2499995 -32.5833335 -32.4166665 0 -4124 -1670 --42.2500005 -42.0833335 -32.5833335 -32.4166665 0 -4096 -1670 --42.0833335 -41.9166665 -32.5833335 -32.4166665 0 -4087 -1670 --41.9166665 -41.7499995 -32.5833335 -32.4166665 0 -4167 -1670 --41.7500005 -41.5833335 -32.5833335 -32.4166665 0 -4277 -1670 --41.5833335 -41.4166665 -32.5833335 -32.4166665 0 -4401 -1670 --41.4166665 -41.2499995 -32.5833335 -32.4166665 0 -4400 -1670 --41.2500005 -41.0833335 -32.5833335 -32.4166665 0 -4420 -1670 --41.0833335 -40.9166665 -32.5833335 -32.4166665 0 -4472 -1670 --40.9166665 -40.7499995 -32.5833335 -32.4166665 0 -4411 -1670 --40.7500005 -40.5833335 -32.5833335 -32.4166665 0 -4514 -1670 --40.5833335 -40.4166665 -32.5833335 -32.4166665 0 -4105 -1670 --40.4166665 -40.2499995 -32.5833335 -32.4166665 0 -4196 -1670 --40.2500005 -40.0833335 -32.5833335 -32.4166665 0 -4402 -1670 --40.0833335 -39.9166665 -32.5833335 -32.4166665 0 -4337 -1670 --65.0833335 -64.9166665 -32.7500005 -32.5833335 1001 0 2670 --64.9166665 -64.7499995 -32.7500005 -32.5833335 1203 0 2670 --64.7500005 -64.5833335 -32.7500005 -32.5833335 820 0 2670 --64.5833335 -64.4166665 -32.7500005 -32.5833335 684 0 2670 --64.4166665 -64.2499995 -32.7500005 -32.5833335 579 0 2670 --64.2500005 -64.0833335 -32.7500005 -32.5833335 458 0 2670 --64.0833335 -63.9166665 -32.7500005 -32.5833335 364 0 2670 --63.9166665 -63.7499995 -32.7500005 -32.5833335 295 0 2670 --63.7500005 -63.5833335 -32.7500005 -32.5833335 244 0 2670 --63.5833335 -63.4166665 -32.7500005 -32.5833335 211 0 2670 --63.4166665 -63.2499995 -32.7500005 -32.5833335 190 0 2670 --63.2500005 -63.0833335 -32.7500005 -32.5833335 172 0 2670 --63.0833335 -62.9166665 -32.7500005 -32.5833335 157 0 2670 --62.9166665 -62.7499995 -32.7500005 -32.5833335 140 0 2670 --62.7500005 -62.5833335 -32.7500005 -32.5833335 126 0 2670 --62.5833335 -62.4166665 -32.7500005 -32.5833335 116 0 2670 --62.4166665 -62.2499995 -32.7500005 -32.5833335 115 0 2670 --62.2500005 -62.0833335 -32.7500005 -32.5833335 111 0 2670 --62.0833335 -61.9166665 -32.7500005 -32.5833335 89 0 2670 --61.9166665 -61.7499995 -32.7500005 -32.5833335 91 0 2670 --61.7500005 -61.5833335 -32.7500005 -32.5833335 113 0 2670 --61.5833335 -61.4166665 -32.7500005 -32.5833335 94 0 2670 --61.4166665 -61.2499995 -32.7500005 -32.5833335 73 0 2670 --61.2500005 -61.0833335 -32.7500005 -32.5833335 53 0 2670 --61.0833335 -60.9166665 -32.7500005 -32.5833335 38 0 2670 --60.9166665 -60.7499995 -32.7500005 -32.5833335 31 0 2670 --60.7500005 -60.5833335 -32.7500005 -32.5833335 9 0 2670 --60.5833335 -60.4166665 -32.7500005 -32.5833335 7 0 2670 --60.4166665 -60.2499995 -32.7500005 -32.5833335 5 0 2670 --60.2500005 -60.0833335 -32.7500005 -32.5833335 5 0 2670 --60.0833335 -59.9166665 -32.7500005 -32.5833335 70 0 2670 --59.9166665 -59.7499995 -32.7500005 -32.5833335 42 0 2670 --59.7500005 -59.5833335 -32.7500005 -32.5833335 74 0 2670 --59.5833335 -59.4166665 -32.7500005 -32.5833335 49 0 2670 --59.4166665 -59.2499995 -32.7500005 -32.5833335 58 0 2670 --59.2500005 -59.0833335 -32.7500005 -32.5833335 34 0 2670 --59.0833335 -58.9166665 -32.7500005 -32.5833335 32 0 2670 --58.9166665 -58.7499995 -32.7500005 -32.5833335 57 0 2670 --58.7500005 -58.5833335 -32.7500005 -32.5833335 39 0 2670 --58.5833335 -58.4166665 -32.7500005 -32.5833335 20 0 2670 --58.4166665 -58.2499995 -32.7500005 -32.5833335 37 0 2670 --58.2500005 -58.0833335 -32.7500005 -32.5833335 3 0 2670 --58.0833335 -57.9166665 -32.7500005 -32.5833335 36 0 2670 --57.9166665 -57.7499995 -32.7500005 -32.5833335 43 0 2670 --57.7500005 -57.5833335 -32.7500005 -32.5833335 68 0 2670 --57.5833335 -57.4166665 -32.7500005 -32.5833335 85 0 2670 --57.4166665 -57.2499995 -32.7500005 -32.5833335 84 0 2670 --57.2500005 -57.0833335 -32.7500005 -32.5833335 57 0 2670 --57.0833335 -56.9166665 -32.7500005 -32.5833335 105 0 2670 --56.9166665 -56.7499995 -32.7500005 -32.5833335 118 0 2670 --56.7500005 -56.5833335 -32.7500005 -32.5833335 85 0 2670 --56.5833335 -56.4166665 -32.7500005 -32.5833335 117 0 2670 --56.4166665 -56.2499995 -32.7500005 -32.5833335 78 0 2670 --56.2500005 -56.0833335 -32.7500005 -32.5833335 90 0 2670 --56.0833335 -55.9166665 -32.7500005 -32.5833335 73 0 2670 --55.9166665 -55.7499995 -32.7500005 -32.5833335 76 0 2670 --55.7500005 -55.5833335 -32.7500005 -32.5833335 102 0 2670 --55.5833335 -55.4166665 -32.7500005 -32.5833335 129 0 2670 --55.4166665 -55.2499995 -32.7500005 -32.5833335 105 0 2670 --55.2500005 -55.0833335 -32.7500005 -32.5833335 155 0 2670 --55.0833335 -54.9166665 -32.7500005 -32.5833335 156 0 2670 --54.9166665 -54.7499995 -32.7500005 -32.5833335 157 0 2670 --54.7500005 -54.5833335 -32.7500005 -32.5833335 263 0 2670 --54.5833335 -54.4166665 -32.7500005 -32.5833335 226 0 2670 --54.4166665 -54.2499995 -32.7500005 -32.5833335 229 0 2670 --54.2500005 -54.0833335 -32.7500005 -32.5833335 144 0 2670 --54.0833335 -53.9166665 -32.7500005 -32.5833335 55 0 2670 --53.9166665 -53.7499995 -32.7500005 -32.5833335 46 0 2670 --53.7500005 -53.5833335 -32.7500005 -32.5833335 50 0 2670 --53.5833335 -53.4166665 -32.7500005 -32.5833335 16 0 2670 --53.4166665 -53.2499995 -32.7500005 -32.5833335 13 0 2670 --53.2500005 -53.0833335 -32.7500005 -32.5833335 0 -12 -1670 --53.0833335 -52.9166665 -32.7500005 -32.5833335 0 -12 -1670 --52.9166665 -52.7499995 -32.7500005 -32.5833335 0 -6 -1670 --52.7500005 -52.5833335 -32.7500005 -32.5833335 0 -7 -1670 --52.5833335 -52.4166665 -32.7500005 -32.5833335 5 0 2670 --52.4166665 -52.2499995 -32.7500005 -32.5833335 0 -5 -1670 --52.2500005 -52.0833335 -32.7500005 -32.5833335 0 -14 -1670 --52.0833335 -51.9166665 -32.7500005 -32.5833335 0 -22 -1670 --51.9166665 -51.7499995 -32.7500005 -32.5833335 0 -33 -1670 --51.7500005 -51.5833335 -32.7500005 -32.5833335 0 -42 -1670 --51.5833335 -51.4166665 -32.7500005 -32.5833335 0 -49 -1670 --51.4166665 -51.2499995 -32.7500005 -32.5833335 0 -58 -1670 --51.2500005 -51.0833335 -32.7500005 -32.5833335 0 -60 -1670 --51.0833335 -50.9166665 -32.7500005 -32.5833335 0 -63 -1670 --50.9166665 -50.7499995 -32.7500005 -32.5833335 0 -103 -1670 --50.7500005 -50.5833335 -32.7500005 -32.5833335 0 -186 -1670 --50.5833335 -50.4166665 -32.7500005 -32.5833335 0 -129 -1670 --50.4166665 -50.2499995 -32.7500005 -32.5833335 0 -464 -1670 --50.2500005 -50.0833335 -32.7500005 -32.5833335 0 -926 -1670 --50.0833335 -49.9166665 -32.7500005 -32.5833335 0 -1148 -1670 --49.9166665 -49.7499995 -32.7500005 -32.5833335 0 -1342 -1670 --49.7500005 -49.5833335 -32.7500005 -32.5833335 0 -1599 -1670 --49.5833335 -49.4166665 -32.7500005 -32.5833335 0 -1782 -1670 --49.4166665 -49.2499995 -32.7500005 -32.5833335 0 -1960 -1670 --49.2500005 -49.0833335 -32.7500005 -32.5833335 0 -2186 -1670 --49.0833335 -48.9166665 -32.7500005 -32.5833335 0 -2638 -1670 --48.9166665 -48.7499995 -32.7500005 -32.5833335 0 -2864 -1670 --48.7500005 -48.5833335 -32.7500005 -32.5833335 0 -2869 -1670 --48.5833335 -48.4166665 -32.7500005 -32.5833335 0 -3090 -1670 --48.4166665 -48.2499995 -32.7500005 -32.5833335 0 -3129 -1670 --48.2500005 -48.0833335 -32.7500005 -32.5833335 0 -3219 -1670 --48.0833335 -47.9166665 -32.7500005 -32.5833335 0 -3358 -1670 --47.9166665 -47.7499995 -32.7500005 -32.5833335 0 -3411 -1670 --47.7500005 -47.5833335 -32.7500005 -32.5833335 0 -3490 -1670 --47.5833335 -47.4166665 -32.7500005 -32.5833335 0 -3573 -1670 --47.4166665 -47.2499995 -32.7500005 -32.5833335 0 -3656 -1670 --47.2500005 -47.0833335 -32.7500005 -32.5833335 0 -3720 -1670 --47.0833335 -46.9166665 -32.7500005 -32.5833335 0 -3773 -1670 --46.9166665 -46.7499995 -32.7500005 -32.5833335 0 -3802 -1670 --46.7500005 -46.5833335 -32.7500005 -32.5833335 0 -3841 -1670 --46.5833335 -46.4166665 -32.7500005 -32.5833335 0 -3889 -1670 --46.4166665 -46.2499995 -32.7500005 -32.5833335 0 -3942 -1670 --46.2500005 -46.0833335 -32.7500005 -32.5833335 0 -3968 -1670 --46.0833335 -45.9166665 -32.7500005 -32.5833335 0 -4002 -1670 --45.9166665 -45.7499995 -32.7500005 -32.5833335 0 -4031 -1670 --45.7500005 -45.5833335 -32.7500005 -32.5833335 0 -4079 -1670 --45.5833335 -45.4166665 -32.7500005 -32.5833335 0 -4093 -1670 --45.4166665 -45.2499995 -32.7500005 -32.5833335 0 -4101 -1670 --45.2500005 -45.0833335 -32.7500005 -32.5833335 0 -4124 -1670 --45.0833335 -44.9166665 -32.7500005 -32.5833335 0 -4140 -1670 --44.9166665 -44.7499995 -32.7500005 -32.5833335 0 -4179 -1670 --44.7500005 -44.5833335 -32.7500005 -32.5833335 0 -4171 -1670 --44.5833335 -44.4166665 -32.7500005 -32.5833335 0 -4233 -1670 --44.4166665 -44.2499995 -32.7500005 -32.5833335 0 -4179 -1670 --44.2500005 -44.0833335 -32.7500005 -32.5833335 0 -4235 -1670 --44.0833335 -43.9166665 -32.7500005 -32.5833335 0 -4228 -1670 --43.9166665 -43.7499995 -32.7500005 -32.5833335 0 -4220 -1670 --43.7500005 -43.5833335 -32.7500005 -32.5833335 0 -4224 -1670 --43.5833335 -43.4166665 -32.7500005 -32.5833335 0 -4175 -1670 --43.4166665 -43.2499995 -32.7500005 -32.5833335 0 -4240 -1670 --43.2500005 -43.0833335 -32.7500005 -32.5833335 0 -4252 -1670 --43.0833335 -42.9166665 -32.7500005 -32.5833335 0 -4293 -1670 --42.9166665 -42.7499995 -32.7500005 -32.5833335 0 -4313 -1670 --42.7500005 -42.5833335 -32.7500005 -32.5833335 0 -4261 -1670 --42.5833335 -42.4166665 -32.7500005 -32.5833335 0 -4247 -1670 --42.4166665 -42.2499995 -32.7500005 -32.5833335 0 -4294 -1670 --42.2500005 -42.0833335 -32.7500005 -32.5833335 0 -4293 -1670 --42.0833335 -41.9166665 -32.7500005 -32.5833335 0 -4315 -1670 --41.9166665 -41.7499995 -32.7500005 -32.5833335 0 -4341 -1670 --41.7500005 -41.5833335 -32.7500005 -32.5833335 0 -4384 -1670 --41.5833335 -41.4166665 -32.7500005 -32.5833335 0 -4417 -1670 --41.4166665 -41.2499995 -32.7500005 -32.5833335 0 -4492 -1670 --41.2500005 -41.0833335 -32.7500005 -32.5833335 0 -4467 -1670 --41.0833335 -40.9166665 -32.7500005 -32.5833335 0 -4509 -1670 --40.9166665 -40.7499995 -32.7500005 -32.5833335 0 -4462 -1670 --40.7500005 -40.5833335 -32.7500005 -32.5833335 0 -4567 -1670 --40.5833335 -40.4166665 -32.7500005 -32.5833335 0 -4535 -1670 --40.4166665 -40.2499995 -32.7500005 -32.5833335 0 -4396 -1670 --40.2500005 -40.0833335 -32.7500005 -32.5833335 0 -4484 -1670 --40.0833335 -39.9166665 -32.7500005 -32.5833335 0 -4591 -1670 --65.0833335 -64.9166665 -32.9166665 -32.7499995 1002 0 2670 --64.9166665 -64.7499995 -32.9166665 -32.7499995 896 0 2670 --64.7500005 -64.5833335 -32.9166665 -32.7499995 691 0 2670 --64.5833335 -64.4166665 -32.9166665 -32.7499995 649 0 2670 --64.4166665 -64.2499995 -32.9166665 -32.7499995 533 0 2670 --64.2500005 -64.0833335 -32.9166665 -32.7499995 429 0 2670 --64.0833335 -63.9166665 -32.9166665 -32.7499995 343 0 2670 --63.9166665 -63.7499995 -32.9166665 -32.7499995 282 0 2670 --63.7500005 -63.5833335 -32.9166665 -32.7499995 231 0 2670 --63.5833335 -63.4166665 -32.9166665 -32.7499995 191 0 2670 --63.4166665 -63.2499995 -32.9166665 -32.7499995 180 0 2670 --63.2500005 -63.0833335 -32.9166665 -32.7499995 162 0 2670 --63.0833335 -62.9166665 -32.9166665 -32.7499995 146 0 2670 --62.9166665 -62.7499995 -32.9166665 -32.7499995 133 0 2670 --62.7500005 -62.5833335 -32.9166665 -32.7499995 121 0 2670 --62.5833335 -62.4166665 -32.9166665 -32.7499995 115 0 2670 --62.4166665 -62.2499995 -32.9166665 -32.7499995 109 0 2670 --62.2500005 -62.0833335 -32.9166665 -32.7499995 108 0 2670 --62.0833335 -61.9166665 -32.9166665 -32.7499995 102 0 2670 --61.9166665 -61.7499995 -32.9166665 -32.7499995 86 0 2670 --61.7500005 -61.5833335 -32.9166665 -32.7499995 116 0 2670 --61.5833335 -61.4166665 -32.9166665 -32.7499995 100 0 2670 --61.4166665 -61.2499995 -32.9166665 -32.7499995 76 0 2670 --61.2500005 -61.0833335 -32.9166665 -32.7499995 48 0 2670 --61.0833335 -60.9166665 -32.9166665 -32.7499995 43 0 2670 --60.9166665 -60.7499995 -32.9166665 -32.7499995 29 0 2670 --60.7500005 -60.5833335 -32.9166665 -32.7499995 8 0 2670 --60.5833335 -60.4166665 -32.9166665 -32.7499995 6 0 2670 --60.4166665 -60.2499995 -32.9166665 -32.7499995 6 0 2670 --60.2500005 -60.0833335 -32.9166665 -32.7499995 4 0 2670 --60.0833335 -59.9166665 -32.9166665 -32.7499995 5 0 2670 --59.9166665 -59.7499995 -32.9166665 -32.7499995 11 0 2670 --59.7500005 -59.5833335 -32.9166665 -32.7499995 57 0 2670 --59.5833335 -59.4166665 -32.9166665 -32.7499995 29 0 2670 --59.4166665 -59.2499995 -32.9166665 -32.7499995 61 0 2670 --59.2500005 -59.0833335 -32.9166665 -32.7499995 19 0 2670 --59.0833335 -58.9166665 -32.9166665 -32.7499995 43 0 2670 --58.9166665 -58.7499995 -32.9166665 -32.7499995 46 0 2670 --58.7500005 -58.5833335 -32.9166665 -32.7499995 43 0 2670 --58.5833335 -58.4166665 -32.9166665 -32.7499995 9 0 2670 --58.4166665 -58.2499995 -32.9166665 -32.7499995 40 0 2670 --58.2500005 -58.0833335 -32.9166665 -32.7499995 1 0 2670 --58.0833335 -57.9166665 -32.9166665 -32.7499995 27 0 2670 --57.9166665 -57.7499995 -32.9166665 -32.7499995 66 0 2670 --57.7500005 -57.5833335 -32.9166665 -32.7499995 53 0 2670 --57.5833335 -57.4166665 -32.9166665 -32.7499995 37 0 2670 --57.4166665 -57.2499995 -32.9166665 -32.7499995 41 0 2670 --57.2500005 -57.0833335 -32.9166665 -32.7499995 104 0 2670 --57.0833335 -56.9166665 -32.9166665 -32.7499995 120 0 2670 --56.9166665 -56.7499995 -32.9166665 -32.7499995 74 0 2670 --56.7500005 -56.5833335 -32.9166665 -32.7499995 59 0 2670 --56.5833335 -56.4166665 -32.9166665 -32.7499995 70 0 2670 --56.4166665 -56.2499995 -32.9166665 -32.7499995 78 0 2670 --56.2500005 -56.0833335 -32.9166665 -32.7499995 82 0 2670 --56.0833335 -55.9166665 -32.9166665 -32.7499995 113 0 2670 --55.9166665 -55.7499995 -32.9166665 -32.7499995 112 0 2670 --55.7500005 -55.5833335 -32.9166665 -32.7499995 120 0 2670 --55.5833335 -55.4166665 -32.9166665 -32.7499995 103 0 2670 --55.4166665 -55.2499995 -32.9166665 -32.7499995 130 0 2670 --55.2500005 -55.0833335 -32.9166665 -32.7499995 156 0 2670 --55.0833335 -54.9166665 -32.9166665 -32.7499995 169 0 2670 --54.9166665 -54.7499995 -32.9166665 -32.7499995 286 0 2670 --54.7500005 -54.5833335 -32.9166665 -32.7499995 293 0 2670 --54.5833335 -54.4166665 -32.9166665 -32.7499995 309 0 2670 --54.4166665 -54.2499995 -32.9166665 -32.7499995 141 0 2670 --54.2500005 -54.0833335 -32.9166665 -32.7499995 89 0 2670 --54.0833335 -53.9166665 -32.9166665 -32.7499995 39 0 2670 --53.9166665 -53.7499995 -32.9166665 -32.7499995 28 0 2670 --53.7500005 -53.5833335 -32.9166665 -32.7499995 17 0 2670 --53.5833335 -53.4166665 -32.9166665 -32.7499995 8 0 2670 --53.4166665 -53.2499995 -32.9166665 -32.7499995 4 0 2670 --53.2500005 -53.0833335 -32.9166665 -32.7499995 0 -3 -1670 --53.0833335 -52.9166665 -32.9166665 -32.7499995 2 0 2670 --52.9166665 -52.7499995 -32.9166665 -32.7499995 0 -10 -1670 --52.7500005 -52.5833335 -32.9166665 -32.7499995 7 0 2670 --52.5833335 -52.4166665 -32.9166665 -32.7499995 7 0 2670 --52.4166665 -52.2499995 -32.9166665 -32.7499995 0 -9 -1670 --52.2500005 -52.0833335 -32.9166665 -32.7499995 0 -19 -1670 --52.0833335 -51.9166665 -32.9166665 -32.7499995 0 -26 -1670 --51.9166665 -51.7499995 -32.9166665 -32.7499995 0 -39 -1670 --51.7500005 -51.5833335 -32.9166665 -32.7499995 0 -48 -1670 --51.5833335 -51.4166665 -32.9166665 -32.7499995 0 -57 -1670 --51.4166665 -51.2499995 -32.9166665 -32.7499995 0 -77 -1670 --51.2500005 -51.0833335 -32.9166665 -32.7499995 0 -64 -1670 --51.0833335 -50.9166665 -32.9166665 -32.7499995 0 -68 -1670 --50.9166665 -50.7499995 -32.9166665 -32.7499995 0 -71 -1670 --50.7500005 -50.5833335 -32.9166665 -32.7499995 0 -228 -1670 --50.5833335 -50.4166665 -32.9166665 -32.7499995 0 -134 -1670 --50.4166665 -50.2499995 -32.9166665 -32.7499995 0 -610 -1670 --50.2500005 -50.0833335 -32.9166665 -32.7499995 0 -884 -1670 --50.0833335 -49.9166665 -32.9166665 -32.7499995 0 -1074 -1670 --49.9166665 -49.7499995 -32.9166665 -32.7499995 0 -1216 -1670 --49.7500005 -49.5833335 -32.9166665 -32.7499995 0 -1448 -1670 --49.5833335 -49.4166665 -32.9166665 -32.7499995 0 -1682 -1670 --49.4166665 -49.2499995 -32.9166665 -32.7499995 0 -1856 -1670 --49.2500005 -49.0833335 -32.9166665 -32.7499995 0 -2260 -1670 --49.0833335 -48.9166665 -32.9166665 -32.7499995 0 -2807 -1670 --48.9166665 -48.7499995 -32.9166665 -32.7499995 0 -2856 -1670 --48.7500005 -48.5833335 -32.9166665 -32.7499995 0 -2978 -1670 --48.5833335 -48.4166665 -32.9166665 -32.7499995 0 -3074 -1670 --48.4166665 -48.2499995 -32.9166665 -32.7499995 0 -3169 -1670 --48.2500005 -48.0833335 -32.9166665 -32.7499995 0 -3267 -1670 --48.0833335 -47.9166665 -32.9166665 -32.7499995 0 -3368 -1670 --47.9166665 -47.7499995 -32.9166665 -32.7499995 0 -3433 -1670 --47.7500005 -47.5833335 -32.9166665 -32.7499995 0 -3514 -1670 --47.5833335 -47.4166665 -32.9166665 -32.7499995 0 -3579 -1670 --47.4166665 -47.2499995 -32.9166665 -32.7499995 0 -3651 -1670 --47.2500005 -47.0833335 -32.9166665 -32.7499995 0 -3703 -1670 --47.0833335 -46.9166665 -32.9166665 -32.7499995 0 -3749 -1670 --46.9166665 -46.7499995 -32.9166665 -32.7499995 0 -3792 -1670 --46.7500005 -46.5833335 -32.9166665 -32.7499995 0 -3830 -1670 --46.5833335 -46.4166665 -32.9166665 -32.7499995 0 -3889 -1670 --46.4166665 -46.2499995 -32.9166665 -32.7499995 0 -3942 -1670 --46.2500005 -46.0833335 -32.9166665 -32.7499995 0 -3971 -1670 --46.0833335 -45.9166665 -32.9166665 -32.7499995 0 -4012 -1670 --45.9166665 -45.7499995 -32.9166665 -32.7499995 0 -4042 -1670 --45.7500005 -45.5833335 -32.9166665 -32.7499995 0 -4078 -1670 --45.5833335 -45.4166665 -32.9166665 -32.7499995 0 -4113 -1670 --45.4166665 -45.2499995 -32.9166665 -32.7499995 0 -4132 -1670 --45.2500005 -45.0833335 -32.9166665 -32.7499995 0 -4134 -1670 --45.0833335 -44.9166665 -32.9166665 -32.7499995 0 -4161 -1670 --44.9166665 -44.7499995 -32.9166665 -32.7499995 0 -4194 -1670 --44.7500005 -44.5833335 -32.9166665 -32.7499995 0 -4207 -1670 --44.5833335 -44.4166665 -32.9166665 -32.7499995 0 -4238 -1670 --44.4166665 -44.2499995 -32.9166665 -32.7499995 0 -4215 -1670 --44.2500005 -44.0833335 -32.9166665 -32.7499995 0 -4273 -1670 --44.0833335 -43.9166665 -32.9166665 -32.7499995 0 -4251 -1670 --43.9166665 -43.7499995 -32.9166665 -32.7499995 0 -4196 -1670 --43.7500005 -43.5833335 -32.9166665 -32.7499995 0 -4317 -1670 --43.5833335 -43.4166665 -32.9166665 -32.7499995 0 -4273 -1670 --43.4166665 -43.2499995 -32.9166665 -32.7499995 0 -4335 -1670 --43.2500005 -43.0833335 -32.9166665 -32.7499995 0 -4325 -1670 --43.0833335 -42.9166665 -32.9166665 -32.7499995 0 -4336 -1670 --42.9166665 -42.7499995 -32.9166665 -32.7499995 0 -4352 -1670 --42.7500005 -42.5833335 -32.9166665 -32.7499995 0 -4352 -1670 --42.5833335 -42.4166665 -32.9166665 -32.7499995 0 -4370 -1670 --42.4166665 -42.2499995 -32.9166665 -32.7499995 0 -4359 -1670 --42.2500005 -42.0833335 -32.9166665 -32.7499995 0 -4401 -1670 --42.0833335 -41.9166665 -32.9166665 -32.7499995 0 -4451 -1670 --41.9166665 -41.7499995 -32.9166665 -32.7499995 0 -4455 -1670 --41.7500005 -41.5833335 -32.9166665 -32.7499995 0 -4498 -1670 --41.5833335 -41.4166665 -32.9166665 -32.7499995 0 -4516 -1670 --41.4166665 -41.2499995 -32.9166665 -32.7499995 0 -4511 -1670 --41.2500005 -41.0833335 -32.9166665 -32.7499995 0 -4384 -1670 --41.0833335 -40.9166665 -32.9166665 -32.7499995 0 -4552 -1670 --40.9166665 -40.7499995 -32.9166665 -32.7499995 0 -4607 -1670 --40.7500005 -40.5833335 -32.9166665 -32.7499995 0 -4642 -1670 --40.5833335 -40.4166665 -32.9166665 -32.7499995 0 -4774 -1670 --40.4166665 -40.2499995 -32.9166665 -32.7499995 0 -4722 -1670 --40.2500005 -40.0833335 -32.9166665 -32.7499995 0 -4812 -1670 --40.0833335 -39.9166665 -32.9166665 -32.7499995 0 -4718 -1670 --65.0833335 -64.9166665 -33.0833335 -32.9166665 1374 0 2670 --64.9166665 -64.7499995 -33.0833335 -32.9166665 800 0 2670 --64.7500005 -64.5833335 -33.0833335 -32.9166665 606 0 2670 --64.5833335 -64.4166665 -33.0833335 -32.9166665 548 0 2670 --64.4166665 -64.2499995 -33.0833335 -32.9166665 486 0 2670 --64.2500005 -64.0833335 -33.0833335 -32.9166665 404 0 2670 --64.0833335 -63.9166665 -33.0833335 -32.9166665 318 0 2670 --63.9166665 -63.7499995 -33.0833335 -32.9166665 275 0 2670 --63.7500005 -63.5833335 -33.0833335 -32.9166665 229 0 2670 --63.5833335 -63.4166665 -33.0833335 -32.9166665 195 0 2670 --63.4166665 -63.2499995 -33.0833335 -32.9166665 164 0 2670 --63.2500005 -63.0833335 -33.0833335 -32.9166665 153 0 2670 --63.0833335 -62.9166665 -33.0833335 -32.9166665 137 0 2670 --62.9166665 -62.7499995 -33.0833335 -32.9166665 125 0 2670 --62.7500005 -62.5833335 -33.0833335 -32.9166665 116 0 2670 --62.5833335 -62.4166665 -33.0833335 -32.9166665 116 0 2670 --62.4166665 -62.2499995 -33.0833335 -32.9166665 112 0 2670 --62.2500005 -62.0833335 -33.0833335 -32.9166665 106 0 2670 --62.0833335 -61.9166665 -33.0833335 -32.9166665 102 0 2670 --61.9166665 -61.7499995 -33.0833335 -32.9166665 81 0 2670 --61.7500005 -61.5833335 -33.0833335 -32.9166665 125 0 2670 --61.5833335 -61.4166665 -33.0833335 -32.9166665 76 0 2670 --61.4166665 -61.2499995 -33.0833335 -32.9166665 50 0 2670 --61.2500005 -61.0833335 -33.0833335 -32.9166665 73 0 2670 --61.0833335 -60.9166665 -33.0833335 -32.9166665 66 0 2670 --60.9166665 -60.7499995 -33.0833335 -32.9166665 34 0 2670 --60.7500005 -60.5833335 -33.0833335 -32.9166665 38 0 2670 --60.5833335 -60.4166665 -33.0833335 -32.9166665 8 0 2670 --60.4166665 -60.2499995 -33.0833335 -32.9166665 6 0 2670 --60.2500005 -60.0833335 -33.0833335 -32.9166665 5 0 2670 --60.0833335 -59.9166665 -33.0833335 -32.9166665 5 0 2670 --59.9166665 -59.7499995 -33.0833335 -32.9166665 5 0 2670 --59.7500005 -59.5833335 -33.0833335 -32.9166665 6 0 2670 --59.5833335 -59.4166665 -33.0833335 -32.9166665 16 0 2670 --59.4166665 -59.2499995 -33.0833335 -32.9166665 44 0 2670 --59.2500005 -59.0833335 -33.0833335 -32.9166665 16 0 2670 --59.0833335 -58.9166665 -33.0833335 -32.9166665 62 0 2670 --58.9166665 -58.7499995 -33.0833335 -32.9166665 34 0 2670 --58.7500005 -58.5833335 -33.0833335 -32.9166665 14 0 2670 --58.5833335 -58.4166665 -33.0833335 -32.9166665 4 0 2670 --58.4166665 -58.2499995 -33.0833335 -32.9166665 23 0 2670 --58.2500005 -58.0833335 -33.0833335 -32.9166665 1 0 2670 --58.0833335 -57.9166665 -33.0833335 -32.9166665 37 0 2670 --57.9166665 -57.7499995 -33.0833335 -32.9166665 17 0 2670 --57.7500005 -57.5833335 -33.0833335 -32.9166665 46 0 2670 --57.5833335 -57.4166665 -33.0833335 -32.9166665 40 0 2670 --57.4166665 -57.2499995 -33.0833335 -32.9166665 53 0 2670 --57.2500005 -57.0833335 -33.0833335 -32.9166665 52 0 2670 --57.0833335 -56.9166665 -33.0833335 -32.9166665 55 0 2670 --56.9166665 -56.7499995 -33.0833335 -32.9166665 55 0 2670 --56.7500005 -56.5833335 -33.0833335 -32.9166665 99 0 2670 --56.5833335 -56.4166665 -33.0833335 -32.9166665 110 0 2670 --56.4166665 -56.2499995 -33.0833335 -32.9166665 85 0 2670 --56.2500005 -56.0833335 -33.0833335 -32.9166665 100 0 2670 --56.0833335 -55.9166665 -33.0833335 -32.9166665 112 0 2670 --55.9166665 -55.7499995 -33.0833335 -32.9166665 139 0 2670 --55.7500005 -55.5833335 -33.0833335 -32.9166665 121 0 2670 --55.5833335 -55.4166665 -33.0833335 -32.9166665 168 0 2670 --55.4166665 -55.2499995 -33.0833335 -32.9166665 156 0 2670 --55.2500005 -55.0833335 -33.0833335 -32.9166665 201 0 2670 --55.0833335 -54.9166665 -33.0833335 -32.9166665 266 0 2670 --54.9166665 -54.7499995 -33.0833335 -32.9166665 132 0 2670 --54.7500005 -54.5833335 -33.0833335 -32.9166665 133 0 2670 --54.5833335 -54.4166665 -33.0833335 -32.9166665 98 0 2670 --54.4166665 -54.2499995 -33.0833335 -32.9166665 109 0 2670 --54.2500005 -54.0833335 -33.0833335 -32.9166665 79 0 2670 --54.0833335 -53.9166665 -33.0833335 -32.9166665 36 0 2670 --53.9166665 -53.7499995 -33.0833335 -32.9166665 17 0 2670 --53.7500005 -53.5833335 -33.0833335 -32.9166665 12 0 2670 --53.5833335 -53.4166665 -33.0833335 -32.9166665 0 -19 -1670 --53.4166665 -53.2499995 -33.0833335 -32.9166665 0 -19 -1670 --53.2500005 -53.0833335 -33.0833335 -32.9166665 5 0 2670 --53.0833335 -52.9166665 -33.0833335 -32.9166665 2 0 2670 --52.9166665 -52.7499995 -33.0833335 -32.9166665 8 0 2670 --52.7500005 -52.5833335 -33.0833335 -32.9166665 0 -9 -1670 --52.5833335 -52.4166665 -33.0833335 -32.9166665 0 -3 -1670 --52.4166665 -52.2499995 -33.0833335 -32.9166665 0 -13 -1670 --52.2500005 -52.0833335 -33.0833335 -32.9166665 0 -21 -1670 --52.0833335 -51.9166665 -33.0833335 -32.9166665 0 -33 -1670 --51.9166665 -51.7499995 -33.0833335 -32.9166665 0 -47 -1670 --51.7500005 -51.5833335 -33.0833335 -32.9166665 0 -57 -1670 --51.5833335 -51.4166665 -33.0833335 -32.9166665 0 -62 -1670 --51.4166665 -51.2499995 -33.0833335 -32.9166665 0 -65 -1670 --51.2500005 -51.0833335 -33.0833335 -32.9166665 0 -55 -1670 --51.0833335 -50.9166665 -33.0833335 -32.9166665 0 -74 -1670 --50.9166665 -50.7499995 -33.0833335 -32.9166665 0 -86 -1670 --50.7500005 -50.5833335 -33.0833335 -32.9166665 0 -133 -1670 --50.5833335 -50.4166665 -33.0833335 -32.9166665 0 -148 -1670 --50.4166665 -50.2499995 -33.0833335 -32.9166665 0 -538 -1670 --50.2500005 -50.0833335 -33.0833335 -32.9166665 0 -842 -1670 --50.0833335 -49.9166665 -33.0833335 -32.9166665 0 -1007 -1670 --49.9166665 -49.7499995 -33.0833335 -32.9166665 0 -1187 -1670 --49.7500005 -49.5833335 -33.0833335 -32.9166665 0 -1368 -1670 --49.5833335 -49.4166665 -33.0833335 -32.9166665 0 -1583 -1670 --49.4166665 -49.2499995 -33.0833335 -32.9166665 0 -1881 -1670 --49.2500005 -49.0833335 -33.0833335 -32.9166665 0 -2485 -1670 --49.0833335 -48.9166665 -33.0833335 -32.9166665 0 -2890 -1670 --48.9166665 -48.7499995 -33.0833335 -32.9166665 0 -2951 -1670 --48.7500005 -48.5833335 -33.0833335 -32.9166665 0 -3122 -1670 --48.5833335 -48.4166665 -33.0833335 -32.9166665 0 -3141 -1670 --48.4166665 -48.2499995 -33.0833335 -32.9166665 0 -3209 -1670 --48.2500005 -48.0833335 -33.0833335 -32.9166665 0 -3320 -1670 --48.0833335 -47.9166665 -33.0833335 -32.9166665 0 -3404 -1670 --47.9166665 -47.7499995 -33.0833335 -32.9166665 0 -3439 -1670 --47.7500005 -47.5833335 -33.0833335 -32.9166665 0 -3514 -1670 --47.5833335 -47.4166665 -33.0833335 -32.9166665 0 -3585 -1670 --47.4166665 -47.2499995 -33.0833335 -32.9166665 0 -3642 -1670 --47.2500005 -47.0833335 -33.0833335 -32.9166665 0 -3686 -1670 --47.0833335 -46.9166665 -33.0833335 -32.9166665 0 -3744 -1670 --46.9166665 -46.7499995 -33.0833335 -32.9166665 0 -3790 -1670 --46.7500005 -46.5833335 -33.0833335 -32.9166665 0 -3832 -1670 --46.5833335 -46.4166665 -33.0833335 -32.9166665 0 -3879 -1670 --46.4166665 -46.2499995 -33.0833335 -32.9166665 0 -3906 -1670 --46.2500005 -46.0833335 -33.0833335 -32.9166665 0 -3957 -1670 --46.0833335 -45.9166665 -33.0833335 -32.9166665 0 -4005 -1670 --45.9166665 -45.7499995 -33.0833335 -32.9166665 0 -4028 -1670 --45.7500005 -45.5833335 -33.0833335 -32.9166665 0 -4068 -1670 --45.5833335 -45.4166665 -33.0833335 -32.9166665 0 -4100 -1670 --45.4166665 -45.2499995 -33.0833335 -32.9166665 0 -4154 -1670 --45.2500005 -45.0833335 -33.0833335 -32.9166665 0 -4146 -1670 --45.0833335 -44.9166665 -33.0833335 -32.9166665 0 -4265 -1670 --44.9166665 -44.7499995 -33.0833335 -32.9166665 0 -4156 -1670 --44.7500005 -44.5833335 -33.0833335 -32.9166665 0 -4172 -1670 --44.5833335 -44.4166665 -33.0833335 -32.9166665 0 -4246 -1670 --44.4166665 -44.2499995 -33.0833335 -32.9166665 0 -4267 -1670 --44.2500005 -44.0833335 -33.0833335 -32.9166665 0 -4283 -1670 --44.0833335 -43.9166665 -33.0833335 -32.9166665 0 -4297 -1670 --43.9166665 -43.7499995 -33.0833335 -32.9166665 0 -4316 -1670 --43.7500005 -43.5833335 -33.0833335 -32.9166665 0 -4320 -1670 --43.5833335 -43.4166665 -33.0833335 -32.9166665 0 -4333 -1670 --43.4166665 -43.2499995 -33.0833335 -32.9166665 0 -4388 -1670 --43.2500005 -43.0833335 -33.0833335 -32.9166665 0 -4378 -1670 --43.0833335 -42.9166665 -33.0833335 -32.9166665 0 -4390 -1670 --42.9166665 -42.7499995 -33.0833335 -32.9166665 0 -4404 -1670 --42.7500005 -42.5833335 -33.0833335 -32.9166665 0 -4416 -1670 --42.5833335 -42.4166665 -33.0833335 -32.9166665 0 -4430 -1670 --42.4166665 -42.2499995 -33.0833335 -32.9166665 0 -4457 -1670 --42.2500005 -42.0833335 -33.0833335 -32.9166665 0 -4469 -1670 --42.0833335 -41.9166665 -33.0833335 -32.9166665 0 -4482 -1670 --41.9166665 -41.7499995 -33.0833335 -32.9166665 0 -4514 -1670 --41.7500005 -41.5833335 -33.0833335 -32.9166665 0 -4525 -1670 --41.5833335 -41.4166665 -33.0833335 -32.9166665 0 -4532 -1670 --41.4166665 -41.2499995 -33.0833335 -32.9166665 0 -4496 -1670 --41.2500005 -41.0833335 -33.0833335 -32.9166665 0 -4481 -1670 --41.0833335 -40.9166665 -33.0833335 -32.9166665 0 -4471 -1670 --40.9166665 -40.7499995 -33.0833335 -32.9166665 0 -4724 -1670 --40.7500005 -40.5833335 -33.0833335 -32.9166665 0 -4742 -1670 --40.5833335 -40.4166665 -33.0833335 -32.9166665 0 -4741 -1670 --40.4166665 -40.2499995 -33.0833335 -32.9166665 0 -4766 -1670 --40.2500005 -40.0833335 -33.0833335 -32.9166665 0 -4723 -1670 --40.0833335 -39.9166665 -33.0833335 -32.9166665 0 -4723 -1670 --65.0833335 -64.9166665 -33.2500005 -33.0833335 856 0 2670 --64.9166665 -64.7499995 -33.2500005 -33.0833335 712 0 2670 --64.7500005 -64.5833335 -33.2500005 -33.0833335 601 0 2670 --64.5833335 -64.4166665 -33.2500005 -33.0833335 478 0 2670 --64.4166665 -64.2499995 -33.2500005 -33.0833335 421 0 2670 --64.2500005 -64.0833335 -33.2500005 -33.0833335 360 0 2670 --64.0833335 -63.9166665 -33.2500005 -33.0833335 307 0 2670 --63.9166665 -63.7499995 -33.2500005 -33.0833335 258 0 2670 --63.7500005 -63.5833335 -33.2500005 -33.0833335 218 0 2670 --63.5833335 -63.4166665 -33.2500005 -33.0833335 183 0 2670 --63.4166665 -63.2499995 -33.2500005 -33.0833335 158 0 2670 --63.2500005 -63.0833335 -33.2500005 -33.0833335 137 0 2670 --63.0833335 -62.9166665 -33.2500005 -33.0833335 130 0 2670 --62.9166665 -62.7499995 -33.2500005 -33.0833335 123 0 2670 --62.7500005 -62.5833335 -33.2500005 -33.0833335 110 0 2670 --62.5833335 -62.4166665 -33.2500005 -33.0833335 119 0 2670 --62.4166665 -62.2499995 -33.2500005 -33.0833335 112 0 2670 --62.2500005 -62.0833335 -33.2500005 -33.0833335 113 0 2670 --62.0833335 -61.9166665 -33.2500005 -33.0833335 101 0 2670 --61.9166665 -61.7499995 -33.2500005 -33.0833335 97 0 2670 --61.7500005 -61.5833335 -33.2500005 -33.0833335 90 0 2670 --61.5833335 -61.4166665 -33.2500005 -33.0833335 93 0 2670 --61.4166665 -61.2499995 -33.2500005 -33.0833335 91 0 2670 --61.2500005 -61.0833335 -33.2500005 -33.0833335 84 0 2670 --61.0833335 -60.9166665 -33.2500005 -33.0833335 54 0 2670 --60.9166665 -60.7499995 -33.2500005 -33.0833335 62 0 2670 --60.7500005 -60.5833335 -33.2500005 -33.0833335 37 0 2670 --60.5833335 -60.4166665 -33.2500005 -33.0833335 27 0 2670 --60.4166665 -60.2499995 -33.2500005 -33.0833335 5 0 2670 --60.2500005 -60.0833335 -33.2500005 -33.0833335 5 0 2670 --60.0833335 -59.9166665 -33.2500005 -33.0833335 4 0 2670 --59.9166665 -59.7499995 -33.2500005 -33.0833335 1 0 2670 --59.7500005 -59.5833335 -33.2500005 -33.0833335 3 0 2670 --59.5833335 -59.4166665 -33.2500005 -33.0833335 5 0 2670 --59.4166665 -59.2499995 -33.2500005 -33.0833335 8 0 2670 --59.2500005 -59.0833335 -33.2500005 -33.0833335 7 0 2670 --59.0833335 -58.9166665 -33.2500005 -33.0833335 16 0 2670 --58.9166665 -58.7499995 -33.2500005 -33.0833335 39 0 2670 --58.7500005 -58.5833335 -33.2500005 -33.0833335 30 0 2670 --58.5833335 -58.4166665 -33.2500005 -33.0833335 15 0 2670 --58.4166665 -58.2499995 -33.2500005 -33.0833335 26 0 2670 --58.2500005 -58.0833335 -33.2500005 -33.0833335 30 0 2670 --58.0833335 -57.9166665 -33.2500005 -33.0833335 32 0 2670 --57.9166665 -57.7499995 -33.2500005 -33.0833335 56 0 2670 --57.7500005 -57.5833335 -33.2500005 -33.0833335 63 0 2670 --57.5833335 -57.4166665 -33.2500005 -33.0833335 49 0 2670 --57.4166665 -57.2499995 -33.2500005 -33.0833335 58 0 2670 --57.2500005 -57.0833335 -33.2500005 -33.0833335 47 0 2670 --57.0833335 -56.9166665 -33.2500005 -33.0833335 41 0 2670 --56.9166665 -56.7499995 -33.2500005 -33.0833335 74 0 2670 --56.7500005 -56.5833335 -33.2500005 -33.0833335 86 0 2670 --56.5833335 -56.4166665 -33.2500005 -33.0833335 107 0 2670 --56.4166665 -56.2499995 -33.2500005 -33.0833335 98 0 2670 --56.2500005 -56.0833335 -33.2500005 -33.0833335 97 0 2670 --56.0833335 -55.9166665 -33.2500005 -33.0833335 125 0 2670 --55.9166665 -55.7499995 -33.2500005 -33.0833335 143 0 2670 --55.7500005 -55.5833335 -33.2500005 -33.0833335 156 0 2670 --55.5833335 -55.4166665 -33.2500005 -33.0833335 172 0 2670 --55.4166665 -55.2499995 -33.2500005 -33.0833335 172 0 2670 --55.2500005 -55.0833335 -33.2500005 -33.0833335 216 0 2670 --55.0833335 -54.9166665 -33.2500005 -33.0833335 169 0 2670 --54.9166665 -54.7499995 -33.2500005 -33.0833335 80 0 2670 --54.7500005 -54.5833335 -33.2500005 -33.0833335 62 0 2670 --54.5833335 -54.4166665 -33.2500005 -33.0833335 66 0 2670 --54.4166665 -54.2499995 -33.2500005 -33.0833335 82 0 2670 --54.2500005 -54.0833335 -33.2500005 -33.0833335 61 0 2670 --54.0833335 -53.9166665 -33.2500005 -33.0833335 19 0 2670 --53.9166665 -53.7499995 -33.2500005 -33.0833335 10 0 2670 --53.7500005 -53.5833335 -33.2500005 -33.0833335 2 0 2670 --53.5833335 -53.4166665 -33.2500005 -33.0833335 0 -42 -1670 --53.4166665 -53.2499995 -33.2500005 -33.0833335 4 0 2670 --53.2500005 -53.0833335 -33.2500005 -33.0833335 7 0 2670 --53.0833335 -52.9166665 -33.2500005 -33.0833335 15 0 2670 --52.9166665 -52.7499995 -33.2500005 -33.0833335 0 -8 -1670 --52.7500005 -52.5833335 -33.2500005 -33.0833335 0 -1 -1670 --52.5833335 -52.4166665 -33.2500005 -33.0833335 0 -9 -1670 --52.4166665 -52.2499995 -33.2500005 -33.0833335 0 -17 -1670 --52.2500005 -52.0833335 -33.2500005 -33.0833335 0 -27 -1670 --52.0833335 -51.9166665 -33.2500005 -33.0833335 0 -44 -1670 --51.9166665 -51.7499995 -33.2500005 -33.0833335 0 -58 -1670 --51.7500005 -51.5833335 -33.2500005 -33.0833335 0 -58 -1670 --51.5833335 -51.4166665 -33.2500005 -33.0833335 0 -60 -1670 --51.4166665 -51.2499995 -33.2500005 -33.0833335 0 -63 -1670 --51.2500005 -51.0833335 -33.2500005 -33.0833335 0 -69 -1670 --51.0833335 -50.9166665 -33.2500005 -33.0833335 0 -85 -1670 --50.9166665 -50.7499995 -33.2500005 -33.0833335 0 -111 -1670 --50.7500005 -50.5833335 -33.2500005 -33.0833335 0 -128 -1670 --50.5833335 -50.4166665 -33.2500005 -33.0833335 0 -300 -1670 --50.4166665 -50.2499995 -33.2500005 -33.0833335 0 -580 -1670 --50.2500005 -50.0833335 -33.2500005 -33.0833335 0 -824 -1670 --50.0833335 -49.9166665 -33.2500005 -33.0833335 0 -915 -1670 --49.9166665 -49.7499995 -33.2500005 -33.0833335 0 -1100 -1670 --49.7500005 -49.5833335 -33.2500005 -33.0833335 0 -1353 -1670 --49.5833335 -49.4166665 -33.2500005 -33.0833335 0 -1588 -1670 --49.4166665 -49.2499995 -33.2500005 -33.0833335 0 -2169 -1670 --49.2500005 -49.0833335 -33.2500005 -33.0833335 0 -2716 -1670 --49.0833335 -48.9166665 -33.2500005 -33.0833335 0 -2937 -1670 --48.9166665 -48.7499995 -33.2500005 -33.0833335 0 -3012 -1670 --48.7500005 -48.5833335 -33.2500005 -33.0833335 0 -3070 -1670 --48.5833335 -48.4166665 -33.2500005 -33.0833335 0 -3185 -1670 --48.4166665 -48.2499995 -33.2500005 -33.0833335 0 -3253 -1670 --48.2500005 -48.0833335 -33.2500005 -33.0833335 0 -3282 -1670 --48.0833335 -47.9166665 -33.2500005 -33.0833335 0 -3394 -1670 --47.9166665 -47.7499995 -33.2500005 -33.0833335 0 -3448 -1670 --47.7500005 -47.5833335 -33.2500005 -33.0833335 0 -3505 -1670 --47.5833335 -47.4166665 -33.2500005 -33.0833335 0 -3577 -1670 --47.4166665 -47.2499995 -33.2500005 -33.0833335 0 -3642 -1670 --47.2500005 -47.0833335 -33.2500005 -33.0833335 0 -3663 -1670 --47.0833335 -46.9166665 -33.2500005 -33.0833335 0 -3726 -1670 --46.9166665 -46.7499995 -33.2500005 -33.0833335 0 -3795 -1670 --46.7500005 -46.5833335 -33.2500005 -33.0833335 0 -3837 -1670 --46.5833335 -46.4166665 -33.2500005 -33.0833335 0 -3868 -1670 --46.4166665 -46.2499995 -33.2500005 -33.0833335 0 -3904 -1670 --46.2500005 -46.0833335 -33.2500005 -33.0833335 0 -3946 -1670 --46.0833335 -45.9166665 -33.2500005 -33.0833335 0 -3978 -1670 --45.9166665 -45.7499995 -33.2500005 -33.0833335 0 -3999 -1670 --45.7500005 -45.5833335 -33.2500005 -33.0833335 0 -4024 -1670 --45.5833335 -45.4166665 -33.2500005 -33.0833335 0 -4044 -1670 --45.4166665 -45.2499995 -33.2500005 -33.0833335 0 -4120 -1670 --45.2500005 -45.0833335 -33.2500005 -33.0833335 0 -4146 -1670 --45.0833335 -44.9166665 -33.2500005 -33.0833335 0 -4183 -1670 --44.9166665 -44.7499995 -33.2500005 -33.0833335 0 -4264 -1670 --44.7500005 -44.5833335 -33.2500005 -33.0833335 0 -4187 -1670 --44.5833335 -44.4166665 -33.2500005 -33.0833335 0 -4236 -1670 --44.4166665 -44.2499995 -33.2500005 -33.0833335 0 -4229 -1670 --44.2500005 -44.0833335 -33.2500005 -33.0833335 0 -4260 -1670 --44.0833335 -43.9166665 -33.2500005 -33.0833335 0 -4265 -1670 --43.9166665 -43.7499995 -33.2500005 -33.0833335 0 -4275 -1670 --43.7500005 -43.5833335 -33.2500005 -33.0833335 0 -4396 -1670 --43.5833335 -43.4166665 -33.2500005 -33.0833335 0 -4349 -1670 --43.4166665 -43.2499995 -33.2500005 -33.0833335 0 -4385 -1670 --43.2500005 -43.0833335 -33.2500005 -33.0833335 0 -4424 -1670 --43.0833335 -42.9166665 -33.2500005 -33.0833335 0 -4404 -1670 --42.9166665 -42.7499995 -33.2500005 -33.0833335 0 -4432 -1670 --42.7500005 -42.5833335 -33.2500005 -33.0833335 0 -4455 -1670 --42.5833335 -42.4166665 -33.2500005 -33.0833335 0 -4469 -1670 --42.4166665 -42.2499995 -33.2500005 -33.0833335 0 -4501 -1670 --42.2500005 -42.0833335 -33.2500005 -33.0833335 0 -4519 -1670 --42.0833335 -41.9166665 -33.2500005 -33.0833335 0 -4527 -1670 --41.9166665 -41.7499995 -33.2500005 -33.0833335 0 -4558 -1670 --41.7500005 -41.5833335 -33.2500005 -33.0833335 0 -4569 -1670 --41.5833335 -41.4166665 -33.2500005 -33.0833335 0 -4584 -1670 --41.4166665 -41.2499995 -33.2500005 -33.0833335 0 -4590 -1670 --41.2500005 -41.0833335 -33.2500005 -33.0833335 0 -4575 -1670 --41.0833335 -40.9166665 -33.2500005 -33.0833335 0 -4602 -1670 --40.9166665 -40.7499995 -33.2500005 -33.0833335 0 -4669 -1670 --40.7500005 -40.5833335 -33.2500005 -33.0833335 0 -4749 -1670 --40.5833335 -40.4166665 -33.2500005 -33.0833335 0 -4630 -1670 --40.4166665 -40.2499995 -33.2500005 -33.0833335 0 -4731 -1670 --40.2500005 -40.0833335 -33.2500005 -33.0833335 0 -4618 -1670 --40.0833335 -39.9166665 -33.2500005 -33.0833335 0 -4546 -1670 --65.0833335 -64.9166665 -33.4166665 -33.2499995 677 0 2670 --64.9166665 -64.7499995 -33.4166665 -33.2499995 629 0 2670 --64.7500005 -64.5833335 -33.4166665 -33.2499995 519 0 2670 --64.5833335 -64.4166665 -33.4166665 -33.2499995 439 0 2670 --64.4166665 -64.2499995 -33.4166665 -33.2499995 357 0 2670 --64.2500005 -64.0833335 -33.4166665 -33.2499995 325 0 2670 --64.0833335 -63.9166665 -33.4166665 -33.2499995 281 0 2670 --63.9166665 -63.7499995 -33.4166665 -33.2499995 241 0 2670 --63.7500005 -63.5833335 -33.4166665 -33.2499995 205 0 2670 --63.5833335 -63.4166665 -33.4166665 -33.2499995 179 0 2670 --63.4166665 -63.2499995 -33.4166665 -33.2499995 153 0 2670 --63.2500005 -63.0833335 -33.4166665 -33.2499995 133 0 2670 --63.0833335 -62.9166665 -33.4166665 -33.2499995 117 0 2670 --62.9166665 -62.7499995 -33.4166665 -33.2499995 112 0 2670 --62.7500005 -62.5833335 -33.4166665 -33.2499995 113 0 2670 --62.5833335 -62.4166665 -33.4166665 -33.2499995 118 0 2670 --62.4166665 -62.2499995 -33.4166665 -33.2499995 114 0 2670 --62.2500005 -62.0833335 -33.4166665 -33.2499995 118 0 2670 --62.0833335 -61.9166665 -33.4166665 -33.2499995 110 0 2670 --61.9166665 -61.7499995 -33.4166665 -33.2499995 105 0 2670 --61.7500005 -61.5833335 -33.4166665 -33.2499995 104 0 2670 --61.5833335 -61.4166665 -33.4166665 -33.2499995 91 0 2670 --61.4166665 -61.2499995 -33.4166665 -33.2499995 81 0 2670 --61.2500005 -61.0833335 -33.4166665 -33.2499995 91 0 2670 --61.0833335 -60.9166665 -33.4166665 -33.2499995 79 0 2670 --60.9166665 -60.7499995 -33.4166665 -33.2499995 60 0 2670 --60.7500005 -60.5833335 -33.4166665 -33.2499995 42 0 2670 --60.5833335 -60.4166665 -33.4166665 -33.2499995 38 0 2670 --60.4166665 -60.2499995 -33.4166665 -33.2499995 29 0 2670 --60.2500005 -60.0833335 -33.4166665 -33.2499995 4 0 2670 --60.0833335 -59.9166665 -33.4166665 -33.2499995 4 0 2670 --59.9166665 -59.7499995 -33.4166665 -33.2499995 3 0 2670 --59.7500005 -59.5833335 -33.4166665 -33.2499995 3 0 2670 --59.5833335 -59.4166665 -33.4166665 -33.2499995 4 0 2670 --59.4166665 -59.2499995 -33.4166665 -33.2499995 4 0 2670 --59.2500005 -59.0833335 -33.4166665 -33.2499995 5 0 2670 --59.0833335 -58.9166665 -33.4166665 -33.2499995 5 0 2670 --58.9166665 -58.7499995 -33.4166665 -33.2499995 4 0 2670 --58.7500005 -58.5833335 -33.4166665 -33.2499995 30 0 2670 --58.5833335 -58.4166665 -33.4166665 -33.2499995 11 0 2670 --58.4166665 -58.2499995 -33.4166665 -33.2499995 25 0 2670 --58.2500005 -58.0833335 -33.4166665 -33.2499995 32 0 2670 --58.0833335 -57.9166665 -33.4166665 -33.2499995 33 0 2670 --57.9166665 -57.7499995 -33.4166665 -33.2499995 37 0 2670 --57.7500005 -57.5833335 -33.4166665 -33.2499995 63 0 2670 --57.5833335 -57.4166665 -33.4166665 -33.2499995 97 0 2670 --57.4166665 -57.2499995 -33.4166665 -33.2499995 62 0 2670 --57.2500005 -57.0833335 -33.4166665 -33.2499995 92 0 2670 --57.0833335 -56.9166665 -33.4166665 -33.2499995 82 0 2670 --56.9166665 -56.7499995 -33.4166665 -33.2499995 70 0 2670 --56.7500005 -56.5833335 -33.4166665 -33.2499995 78 0 2670 --56.5833335 -56.4166665 -33.4166665 -33.2499995 91 0 2670 --56.4166665 -56.2499995 -33.4166665 -33.2499995 86 0 2670 --56.2500005 -56.0833335 -33.4166665 -33.2499995 113 0 2670 --56.0833335 -55.9166665 -33.4166665 -33.2499995 129 0 2670 --55.9166665 -55.7499995 -33.4166665 -33.2499995 121 0 2670 --55.7500005 -55.5833335 -33.4166665 -33.2499995 128 0 2670 --55.5833335 -55.4166665 -33.4166665 -33.2499995 144 0 2670 --55.4166665 -55.2499995 -33.4166665 -33.2499995 192 0 2670 --55.2500005 -55.0833335 -33.4166665 -33.2499995 262 0 2670 --55.0833335 -54.9166665 -33.4166665 -33.2499995 159 0 2670 --54.9166665 -54.7499995 -33.4166665 -33.2499995 86 0 2670 --54.7500005 -54.5833335 -33.4166665 -33.2499995 79 0 2670 --54.5833335 -54.4166665 -33.4166665 -33.2499995 79 0 2670 --54.4166665 -54.2499995 -33.4166665 -33.2499995 25 0 2670 --54.2500005 -54.0833335 -33.4166665 -33.2499995 21 0 2670 --54.0833335 -53.9166665 -33.4166665 -33.2499995 15 0 2670 --53.9166665 -53.7499995 -33.4166665 -33.2499995 11 0 2670 --53.7500005 -53.5833335 -33.4166665 -33.2499995 4 0 2670 --53.5833335 -53.4166665 -33.4166665 -33.2499995 0 -80 -1670 --53.4166665 -53.2499995 -33.4166665 -33.2499995 8 0 2670 --53.2500005 -53.0833335 -33.4166665 -33.2499995 18 0 2670 --53.0833335 -52.9166665 -33.4166665 -33.2499995 0 -3 -1670 --52.9166665 -52.7499995 -33.4166665 -33.2499995 0 -1 -1670 --52.7500005 -52.5833335 -33.4166665 -33.2499995 0 -11 -1670 --52.5833335 -52.4166665 -33.4166665 -33.2499995 0 -17 -1670 --52.4166665 -52.2499995 -33.4166665 -33.2499995 0 -21 -1670 --52.2500005 -52.0833335 -33.4166665 -33.2499995 0 -41 -1670 --52.0833335 -51.9166665 -33.4166665 -33.2499995 0 -56 -1670 --51.9166665 -51.7499995 -33.4166665 -33.2499995 0 -64 -1670 --51.7500005 -51.5833335 -33.4166665 -33.2499995 0 -54 -1670 --51.5833335 -51.4166665 -33.4166665 -33.2499995 0 -73 -1670 --51.4166665 -51.2499995 -33.4166665 -33.2499995 0 -75 -1670 --51.2500005 -51.0833335 -33.4166665 -33.2499995 0 -87 -1670 --51.0833335 -50.9166665 -33.4166665 -33.2499995 0 -111 -1670 --50.9166665 -50.7499995 -33.4166665 -33.2499995 0 -149 -1670 --50.7500005 -50.5833335 -33.4166665 -33.2499995 0 -232 -1670 --50.5833335 -50.4166665 -33.4166665 -33.2499995 0 -463 -1670 --50.4166665 -50.2499995 -33.4166665 -33.2499995 0 -657 -1670 --50.2500005 -50.0833335 -33.4166665 -33.2499995 0 -919 -1670 --50.0833335 -49.9166665 -33.4166665 -33.2499995 0 -1056 -1670 --49.9166665 -49.7499995 -33.4166665 -33.2499995 0 -1305 -1670 --49.7500005 -49.5833335 -33.4166665 -33.2499995 0 -1398 -1670 --49.5833335 -49.4166665 -33.4166665 -33.2499995 0 -1956 -1670 --49.4166665 -49.2499995 -33.4166665 -33.2499995 0 -2429 -1670 --49.2500005 -49.0833335 -33.4166665 -33.2499995 0 -2924 -1670 --49.0833335 -48.9166665 -33.4166665 -33.2499995 0 -2916 -1670 --48.9166665 -48.7499995 -33.4166665 -33.2499995 0 -3075 -1670 --48.7500005 -48.5833335 -33.4166665 -33.2499995 0 -3110 -1670 --48.5833335 -48.4166665 -33.4166665 -33.2499995 0 -3182 -1670 --48.4166665 -48.2499995 -33.4166665 -33.2499995 0 -3248 -1670 --48.2500005 -48.0833335 -33.4166665 -33.2499995 0 -3287 -1670 --48.0833335 -47.9166665 -33.4166665 -33.2499995 0 -3375 -1670 --47.9166665 -47.7499995 -33.4166665 -33.2499995 0 -3430 -1670 --47.7500005 -47.5833335 -33.4166665 -33.2499995 0 -3515 -1670 --47.5833335 -47.4166665 -33.4166665 -33.2499995 0 -3594 -1670 --47.4166665 -47.2499995 -33.4166665 -33.2499995 0 -3661 -1670 --47.2500005 -47.0833335 -33.4166665 -33.2499995 0 -3645 -1670 --47.0833335 -46.9166665 -33.4166665 -33.2499995 0 -3697 -1670 --46.9166665 -46.7499995 -33.4166665 -33.2499995 0 -3795 -1670 --46.7500005 -46.5833335 -33.4166665 -33.2499995 0 -3839 -1670 --46.5833335 -46.4166665 -33.4166665 -33.2499995 0 -3883 -1670 --46.4166665 -46.2499995 -33.4166665 -33.2499995 0 -3906 -1670 --46.2500005 -46.0833335 -33.4166665 -33.2499995 0 -3943 -1670 --46.0833335 -45.9166665 -33.4166665 -33.2499995 0 -3959 -1670 --45.9166665 -45.7499995 -33.4166665 -33.2499995 0 -3975 -1670 --45.7500005 -45.5833335 -33.4166665 -33.2499995 0 -3977 -1670 --45.5833335 -45.4166665 -33.4166665 -33.2499995 0 -4022 -1670 --45.4166665 -45.2499995 -33.4166665 -33.2499995 0 -4030 -1670 --45.2500005 -45.0833335 -33.4166665 -33.2499995 0 -4050 -1670 --45.0833335 -44.9166665 -33.4166665 -33.2499995 0 -4101 -1670 --44.9166665 -44.7499995 -33.4166665 -33.2499995 0 -4192 -1670 --44.7500005 -44.5833335 -33.4166665 -33.2499995 0 -4166 -1670 --44.5833335 -44.4166665 -33.4166665 -33.2499995 0 -4172 -1670 --44.4166665 -44.2499995 -33.4166665 -33.2499995 0 -4205 -1670 --44.2500005 -44.0833335 -33.4166665 -33.2499995 0 -4224 -1670 --44.0833335 -43.9166665 -33.4166665 -33.2499995 0 -4284 -1670 --43.9166665 -43.7499995 -33.4166665 -33.2499995 0 -4258 -1670 --43.7500005 -43.5833335 -33.4166665 -33.2499995 0 -4304 -1670 --43.5833335 -43.4166665 -33.4166665 -33.2499995 0 -4339 -1670 --43.4166665 -43.2499995 -33.4166665 -33.2499995 0 -4388 -1670 --43.2500005 -43.0833335 -33.4166665 -33.2499995 0 -4408 -1670 --43.0833335 -42.9166665 -33.4166665 -33.2499995 0 -4443 -1670 --42.9166665 -42.7499995 -33.4166665 -33.2499995 0 -4462 -1670 --42.7500005 -42.5833335 -33.4166665 -33.2499995 0 -4478 -1670 --42.5833335 -42.4166665 -33.4166665 -33.2499995 0 -4484 -1670 --42.4166665 -42.2499995 -33.4166665 -33.2499995 0 -4515 -1670 --42.2500005 -42.0833335 -33.4166665 -33.2499995 0 -4549 -1670 --42.0833335 -41.9166665 -33.4166665 -33.2499995 0 -4559 -1670 --41.9166665 -41.7499995 -33.4166665 -33.2499995 0 -4588 -1670 --41.7500005 -41.5833335 -33.4166665 -33.2499995 0 -4569 -1670 --41.5833335 -41.4166665 -33.4166665 -33.2499995 0 -4608 -1670 --41.4166665 -41.2499995 -33.4166665 -33.2499995 0 -4626 -1670 --41.2500005 -41.0833335 -33.4166665 -33.2499995 0 -4691 -1670 --41.0833335 -40.9166665 -33.4166665 -33.2499995 0 -4570 -1670 --40.9166665 -40.7499995 -33.4166665 -33.2499995 0 -4663 -1670 --40.7500005 -40.5833335 -33.4166665 -33.2499995 0 -4699 -1670 --40.5833335 -40.4166665 -33.4166665 -33.2499995 0 -4735 -1670 --40.4166665 -40.2499995 -33.4166665 -33.2499995 0 -4734 -1670 --40.2500005 -40.0833335 -33.4166665 -33.2499995 0 -4706 -1670 --40.0833335 -39.9166665 -33.4166665 -33.2499995 0 -4727 -1670 --65.0833335 -64.9166665 -33.5833335 -33.4166665 553 0 2670 --64.9166665 -64.7499995 -33.5833335 -33.4166665 502 0 2670 --64.7500005 -64.5833335 -33.5833335 -33.4166665 433 0 2670 --64.5833335 -64.4166665 -33.5833335 -33.4166665 365 0 2670 --64.4166665 -64.2499995 -33.5833335 -33.4166665 306 0 2670 --64.2500005 -64.0833335 -33.5833335 -33.4166665 287 0 2670 --64.0833335 -63.9166665 -33.5833335 -33.4166665 288 0 2670 --63.9166665 -63.7499995 -33.5833335 -33.4166665 211 0 2670 --63.7500005 -63.5833335 -33.5833335 -33.4166665 183 0 2670 --63.5833335 -63.4166665 -33.5833335 -33.4166665 165 0 2670 --63.4166665 -63.2499995 -33.5833335 -33.4166665 143 0 2670 --63.2500005 -63.0833335 -33.5833335 -33.4166665 124 0 2670 --63.0833335 -62.9166665 -33.5833335 -33.4166665 122 0 2670 --62.9166665 -62.7499995 -33.5833335 -33.4166665 120 0 2670 --62.7500005 -62.5833335 -33.5833335 -33.4166665 122 0 2670 --62.5833335 -62.4166665 -33.5833335 -33.4166665 127 0 2670 --62.4166665 -62.2499995 -33.5833335 -33.4166665 119 0 2670 --62.2500005 -62.0833335 -33.5833335 -33.4166665 117 0 2670 --62.0833335 -61.9166665 -33.5833335 -33.4166665 109 0 2670 --61.9166665 -61.7499995 -33.5833335 -33.4166665 110 0 2670 --61.7500005 -61.5833335 -33.5833335 -33.4166665 108 0 2670 --61.5833335 -61.4166665 -33.5833335 -33.4166665 106 0 2670 --61.4166665 -61.2499995 -33.5833335 -33.4166665 97 0 2670 --61.2500005 -61.0833335 -33.5833335 -33.4166665 92 0 2670 --61.0833335 -60.9166665 -33.5833335 -33.4166665 88 0 2670 --60.9166665 -60.7499995 -33.5833335 -33.4166665 74 0 2670 --60.7500005 -60.5833335 -33.5833335 -33.4166665 66 0 2670 --60.5833335 -60.4166665 -33.5833335 -33.4166665 55 0 2670 --60.4166665 -60.2499995 -33.5833335 -33.4166665 53 0 2670 --60.2500005 -60.0833335 -33.5833335 -33.4166665 25 0 2670 --60.0833335 -59.9166665 -33.5833335 -33.4166665 13 0 2670 --59.9166665 -59.7499995 -33.5833335 -33.4166665 3 0 2670 --59.7500005 -59.5833335 -33.5833335 -33.4166665 3 0 2670 --59.5833335 -59.4166665 -33.5833335 -33.4166665 2 0 2670 --59.4166665 -59.2499995 -33.5833335 -33.4166665 2 0 2670 --59.2500005 -59.0833335 -33.5833335 -33.4166665 2 0 2670 --59.0833335 -58.9166665 -33.5833335 -33.4166665 2 0 2670 --58.9166665 -58.7499995 -33.5833335 -33.4166665 5 0 2670 --58.7500005 -58.5833335 -33.5833335 -33.4166665 2 0 2670 --58.5833335 -58.4166665 -33.5833335 -33.4166665 0 -1 -1670 --58.4166665 -58.2499995 -33.5833335 -33.4166665 11 0 2670 --58.2500005 -58.0833335 -33.5833335 -33.4166665 19 0 2670 --58.0833335 -57.9166665 -33.5833335 -33.4166665 69 0 2670 --57.9166665 -57.7499995 -33.5833335 -33.4166665 92 0 2670 --57.7500005 -57.5833335 -33.5833335 -33.4166665 90 0 2670 --57.5833335 -57.4166665 -33.5833335 -33.4166665 112 0 2670 --57.4166665 -57.2499995 -33.5833335 -33.4166665 88 0 2670 --57.2500005 -57.0833335 -33.5833335 -33.4166665 96 0 2670 --57.0833335 -56.9166665 -33.5833335 -33.4166665 116 0 2670 --56.9166665 -56.7499995 -33.5833335 -33.4166665 101 0 2670 --56.7500005 -56.5833335 -33.5833335 -33.4166665 94 0 2670 --56.5833335 -56.4166665 -33.5833335 -33.4166665 88 0 2670 --56.4166665 -56.2499995 -33.5833335 -33.4166665 112 0 2670 --56.2500005 -56.0833335 -33.5833335 -33.4166665 102 0 2670 --56.0833335 -55.9166665 -33.5833335 -33.4166665 96 0 2670 --55.9166665 -55.7499995 -33.5833335 -33.4166665 117 0 2670 --55.7500005 -55.5833335 -33.5833335 -33.4166665 149 0 2670 --55.5833335 -55.4166665 -33.5833335 -33.4166665 182 0 2670 --55.4166665 -55.2499995 -33.5833335 -33.4166665 192 0 2670 --55.2500005 -55.0833335 -33.5833335 -33.4166665 267 0 2670 --55.0833335 -54.9166665 -33.5833335 -33.4166665 181 0 2670 --54.9166665 -54.7499995 -33.5833335 -33.4166665 177 0 2670 --54.7500005 -54.5833335 -33.5833335 -33.4166665 70 0 2670 --54.5833335 -54.4166665 -33.5833335 -33.4166665 52 0 2670 --54.4166665 -54.2499995 -33.5833335 -33.4166665 27 0 2670 --54.2500005 -54.0833335 -33.5833335 -33.4166665 19 0 2670 --54.0833335 -53.9166665 -33.5833335 -33.4166665 16 0 2670 --53.9166665 -53.7499995 -33.5833335 -33.4166665 12 0 2670 --53.7500005 -53.5833335 -33.5833335 -33.4166665 6 0 2670 --53.5833335 -53.4166665 -33.5833335 -33.4166665 0 -100 -1670 --53.4166665 -53.2499995 -33.5833335 -33.4166665 23 0 2670 --53.2500005 -53.0833335 -33.5833335 -33.4166665 13 0 2670 --53.0833335 -52.9166665 -33.5833335 -33.4166665 0 -3 -1670 --52.9166665 -52.7499995 -33.5833335 -33.4166665 0 -19 -1670 --52.7500005 -52.5833335 -33.5833335 -33.4166665 0 -20 -1670 --52.5833335 -52.4166665 -33.5833335 -33.4166665 0 -20 -1670 --52.4166665 -52.2499995 -33.5833335 -33.4166665 0 -21 -1670 --52.2500005 -52.0833335 -33.5833335 -33.4166665 0 -55 -1670 --52.0833335 -51.9166665 -33.5833335 -33.4166665 0 -64 -1670 --51.9166665 -51.7499995 -33.5833335 -33.4166665 0 -52 -1670 --51.7500005 -51.5833335 -33.5833335 -33.4166665 0 -70 -1670 --51.5833335 -51.4166665 -33.5833335 -33.4166665 0 -91 -1670 --51.4166665 -51.2499995 -33.5833335 -33.4166665 0 -105 -1670 --51.2500005 -51.0833335 -33.5833335 -33.4166665 0 -124 -1670 --51.0833335 -50.9166665 -33.5833335 -33.4166665 0 -166 -1670 --50.9166665 -50.7499995 -33.5833335 -33.4166665 0 -227 -1670 --50.7500005 -50.5833335 -33.5833335 -33.4166665 0 -524 -1670 --50.5833335 -50.4166665 -33.5833335 -33.4166665 0 -768 -1670 --50.4166665 -50.2499995 -33.5833335 -33.4166665 0 -977 -1670 --50.2500005 -50.0833335 -33.5833335 -33.4166665 0 -1149 -1670 --50.0833335 -49.9166665 -33.5833335 -33.4166665 0 -1368 -1670 --49.9166665 -49.7499995 -33.5833335 -33.4166665 0 -1554 -1670 --49.7500005 -49.5833335 -33.5833335 -33.4166665 0 -2076 -1670 --49.5833335 -49.4166665 -33.5833335 -33.4166665 0 -2333 -1670 --49.4166665 -49.2499995 -33.5833335 -33.4166665 0 -2746 -1670 --49.2500005 -49.0833335 -33.5833335 -33.4166665 0 -2970 -1670 --49.0833335 -48.9166665 -33.5833335 -33.4166665 0 -2968 -1670 --48.9166665 -48.7499995 -33.5833335 -33.4166665 0 -3046 -1670 --48.7500005 -48.5833335 -33.5833335 -33.4166665 0 -3127 -1670 --48.5833335 -48.4166665 -33.5833335 -33.4166665 0 -3204 -1670 --48.4166665 -48.2499995 -33.5833335 -33.4166665 0 -3264 -1670 --48.2500005 -48.0833335 -33.5833335 -33.4166665 0 -3323 -1670 --48.0833335 -47.9166665 -33.5833335 -33.4166665 0 -3378 -1670 --47.9166665 -47.7499995 -33.5833335 -33.4166665 0 -3427 -1670 --47.7500005 -47.5833335 -33.5833335 -33.4166665 0 -3559 -1670 --47.5833335 -47.4166665 -33.5833335 -33.4166665 0 -3652 -1670 --47.4166665 -47.2499995 -33.5833335 -33.4166665 0 -3721 -1670 --47.2500005 -47.0833335 -33.5833335 -33.4166665 0 -3705 -1670 --47.0833335 -46.9166665 -33.5833335 -33.4166665 0 -3753 -1670 --46.9166665 -46.7499995 -33.5833335 -33.4166665 0 -3840 -1670 --46.7500005 -46.5833335 -33.5833335 -33.4166665 0 -3881 -1670 --46.5833335 -46.4166665 -33.5833335 -33.4166665 0 -3912 -1670 --46.4166665 -46.2499995 -33.5833335 -33.4166665 0 -3916 -1670 --46.2500005 -46.0833335 -33.5833335 -33.4166665 0 -3941 -1670 --46.0833335 -45.9166665 -33.5833335 -33.4166665 0 -3966 -1670 --45.9166665 -45.7499995 -33.5833335 -33.4166665 0 -3984 -1670 --45.7500005 -45.5833335 -33.5833335 -33.4166665 0 -4036 -1670 --45.5833335 -45.4166665 -33.5833335 -33.4166665 0 -4058 -1670 --45.4166665 -45.2499995 -33.5833335 -33.4166665 0 -4086 -1670 --45.2500005 -45.0833335 -33.5833335 -33.4166665 0 -4131 -1670 --45.0833335 -44.9166665 -33.5833335 -33.4166665 0 -4124 -1670 --44.9166665 -44.7499995 -33.5833335 -33.4166665 0 -4151 -1670 --44.7500005 -44.5833335 -33.5833335 -33.4166665 0 -4176 -1670 --44.5833335 -44.4166665 -33.5833335 -33.4166665 0 -4212 -1670 --44.4166665 -44.2499995 -33.5833335 -33.4166665 0 -4192 -1670 --44.2500005 -44.0833335 -33.5833335 -33.4166665 0 -4158 -1670 --44.0833335 -43.9166665 -33.5833335 -33.4166665 0 -4172 -1670 --43.9166665 -43.7499995 -33.5833335 -33.4166665 0 -4195 -1670 --43.7500005 -43.5833335 -33.5833335 -33.4166665 0 -4206 -1670 --43.5833335 -43.4166665 -33.5833335 -33.4166665 0 -4295 -1670 --43.4166665 -43.2499995 -33.5833335 -33.4166665 0 -4334 -1670 --43.2500005 -43.0833335 -33.5833335 -33.4166665 0 -4358 -1670 --43.0833335 -42.9166665 -33.5833335 -33.4166665 0 -4434 -1670 --42.9166665 -42.7499995 -33.5833335 -33.4166665 0 -4471 -1670 --42.7500005 -42.5833335 -33.5833335 -33.4166665 0 -4516 -1670 --42.5833335 -42.4166665 -33.5833335 -33.4166665 0 -4532 -1670 --42.4166665 -42.2499995 -33.5833335 -33.4166665 0 -4512 -1670 --42.2500005 -42.0833335 -33.5833335 -33.4166665 0 -4543 -1670 --42.0833335 -41.9166665 -33.5833335 -33.4166665 0 -4559 -1670 --41.9166665 -41.7499995 -33.5833335 -33.4166665 0 -4560 -1670 --41.7500005 -41.5833335 -33.5833335 -33.4166665 0 -4576 -1670 --41.5833335 -41.4166665 -33.5833335 -33.4166665 0 -4557 -1670 --41.4166665 -41.2499995 -33.5833335 -33.4166665 0 -4572 -1670 --41.2500005 -41.0833335 -33.5833335 -33.4166665 0 -4582 -1670 --41.0833335 -40.9166665 -33.5833335 -33.4166665 0 -4502 -1670 --40.9166665 -40.7499995 -33.5833335 -33.4166665 0 -4618 -1670 --40.7500005 -40.5833335 -33.5833335 -33.4166665 0 -4683 -1670 --40.5833335 -40.4166665 -33.5833335 -33.4166665 0 -4573 -1670 --40.4166665 -40.2499995 -33.5833335 -33.4166665 0 -4688 -1670 --40.2500005 -40.0833335 -33.5833335 -33.4166665 0 -4579 -1670 --40.0833335 -39.9166665 -33.5833335 -33.4166665 0 -4582 -1670 --65.0833335 -64.9166665 -33.7500005 -33.5833335 446 0 2670 --64.9166665 -64.7499995 -33.7500005 -33.5833335 419 0 2670 --64.7500005 -64.5833335 -33.7500005 -33.5833335 369 0 2670 --64.5833335 -64.4166665 -33.7500005 -33.5833335 312 0 2670 --64.4166665 -64.2499995 -33.7500005 -33.5833335 263 0 2670 --64.2500005 -64.0833335 -33.7500005 -33.5833335 245 0 2670 --64.0833335 -63.9166665 -33.7500005 -33.5833335 249 0 2670 --63.9166665 -63.7499995 -33.7500005 -33.5833335 188 0 2670 --63.7500005 -63.5833335 -33.7500005 -33.5833335 161 0 2670 --63.5833335 -63.4166665 -33.7500005 -33.5833335 143 0 2670 --63.4166665 -63.2499995 -33.7500005 -33.5833335 131 0 2670 --63.2500005 -63.0833335 -33.7500005 -33.5833335 125 0 2670 --63.0833335 -62.9166665 -33.7500005 -33.5833335 126 0 2670 --62.9166665 -62.7499995 -33.7500005 -33.5833335 124 0 2670 --62.7500005 -62.5833335 -33.7500005 -33.5833335 128 0 2670 --62.5833335 -62.4166665 -33.7500005 -33.5833335 120 0 2670 --62.4166665 -62.2499995 -33.7500005 -33.5833335 119 0 2670 --62.2500005 -62.0833335 -33.7500005 -33.5833335 117 0 2670 --62.0833335 -61.9166665 -33.7500005 -33.5833335 114 0 2670 --61.9166665 -61.7499995 -33.7500005 -33.5833335 110 0 2670 --61.7500005 -61.5833335 -33.7500005 -33.5833335 105 0 2670 --61.5833335 -61.4166665 -33.7500005 -33.5833335 89 0 2670 --61.4166665 -61.2499995 -33.7500005 -33.5833335 99 0 2670 --61.2500005 -61.0833335 -33.7500005 -33.5833335 94 0 2670 --61.0833335 -60.9166665 -33.7500005 -33.5833335 86 0 2670 --60.9166665 -60.7499995 -33.7500005 -33.5833335 83 0 2670 --60.7500005 -60.5833335 -33.7500005 -33.5833335 68 0 2670 --60.5833335 -60.4166665 -33.7500005 -33.5833335 52 0 2670 --60.4166665 -60.2499995 -33.7500005 -33.5833335 46 0 2670 --60.2500005 -60.0833335 -33.7500005 -33.5833335 58 0 2670 --60.0833335 -59.9166665 -33.7500005 -33.5833335 38 0 2670 --59.9166665 -59.7499995 -33.7500005 -33.5833335 27 0 2670 --59.7500005 -59.5833335 -33.7500005 -33.5833335 9 0 2670 --59.5833335 -59.4166665 -33.7500005 -33.5833335 3 0 2670 --59.4166665 -59.2499995 -33.7500005 -33.5833335 2 0 2670 --59.2500005 -59.0833335 -33.7500005 -33.5833335 3 0 2670 --59.0833335 -58.9166665 -33.7500005 -33.5833335 1 0 2670 --58.9166665 -58.7499995 -33.7500005 -33.5833335 2 0 2670 --58.7500005 -58.5833335 -33.7500005 -33.5833335 1 0 2670 --58.5833335 -58.4166665 -33.7500005 -33.5833335 0 -1 -1670 --58.4166665 -58.2499995 -33.7500005 -33.5833335 12 0 2670 --58.2500005 -58.0833335 -33.7500005 -33.5833335 42 0 2670 --58.0833335 -57.9166665 -33.7500005 -33.5833335 38 0 2670 --57.9166665 -57.7499995 -33.7500005 -33.5833335 88 0 2670 --57.7500005 -57.5833335 -33.7500005 -33.5833335 96 0 2670 --57.5833335 -57.4166665 -33.7500005 -33.5833335 123 0 2670 --57.4166665 -57.2499995 -33.7500005 -33.5833335 114 0 2670 --57.2500005 -57.0833335 -33.7500005 -33.5833335 98 0 2670 --57.0833335 -56.9166665 -33.7500005 -33.5833335 127 0 2670 --56.9166665 -56.7499995 -33.7500005 -33.5833335 141 0 2670 --56.7500005 -56.5833335 -33.7500005 -33.5833335 134 0 2670 --56.5833335 -56.4166665 -33.7500005 -33.5833335 106 0 2670 --56.4166665 -56.2499995 -33.7500005 -33.5833335 132 0 2670 --56.2500005 -56.0833335 -33.7500005 -33.5833335 114 0 2670 --56.0833335 -55.9166665 -33.7500005 -33.5833335 155 0 2670 --55.9166665 -55.7499995 -33.7500005 -33.5833335 132 0 2670 --55.7500005 -55.5833335 -33.7500005 -33.5833335 158 0 2670 --55.5833335 -55.4166665 -33.7500005 -33.5833335 168 0 2670 --55.4166665 -55.2499995 -33.7500005 -33.5833335 196 0 2670 --55.2500005 -55.0833335 -33.7500005 -33.5833335 140 0 2670 --55.0833335 -54.9166665 -33.7500005 -33.5833335 107 0 2670 --54.9166665 -54.7499995 -33.7500005 -33.5833335 153 0 2670 --54.7500005 -54.5833335 -33.7500005 -33.5833335 66 0 2670 --54.5833335 -54.4166665 -33.7500005 -33.5833335 36 0 2670 --54.4166665 -54.2499995 -33.7500005 -33.5833335 33 0 2670 --54.2500005 -54.0833335 -33.7500005 -33.5833335 21 0 2670 --54.0833335 -53.9166665 -33.7500005 -33.5833335 16 0 2670 --53.9166665 -53.7499995 -33.7500005 -33.5833335 11 0 2670 --53.7500005 -53.5833335 -33.7500005 -33.5833335 7 0 2670 --53.5833335 -53.4166665 -33.7500005 -33.5833335 8 0 2670 --53.4166665 -53.2499995 -33.7500005 -33.5833335 14 0 2670 --53.2500005 -53.0833335 -33.7500005 -33.5833335 0 -13 -1670 --53.0833335 -52.9166665 -33.7500005 -33.5833335 0 -20 -1670 --52.9166665 -52.7499995 -33.7500005 -33.5833335 0 -21 -1670 --52.7500005 -52.5833335 -33.7500005 -33.5833335 0 -20 -1670 --52.5833335 -52.4166665 -33.7500005 -33.5833335 0 -20 -1670 --52.4166665 -52.2499995 -33.7500005 -33.5833335 0 -44 -1670 --52.2500005 -52.0833335 -33.7500005 -33.5833335 0 -70 -1670 --52.0833335 -51.9166665 -33.7500005 -33.5833335 0 -49 -1670 --51.9166665 -51.7499995 -33.7500005 -33.5833335 0 -58 -1670 --51.7500005 -51.5833335 -33.7500005 -33.5833335 0 -76 -1670 --51.5833335 -51.4166665 -33.7500005 -33.5833335 0 -118 -1670 --51.4166665 -51.2499995 -33.7500005 -33.5833335 0 -189 -1670 --51.2500005 -51.0833335 -33.7500005 -33.5833335 0 -287 -1670 --51.0833335 -50.9166665 -33.7500005 -33.5833335 0 -583 -1670 --50.9166665 -50.7499995 -33.7500005 -33.5833335 0 -728 -1670 --50.7500005 -50.5833335 -33.7500005 -33.5833335 0 -927 -1670 --50.5833335 -50.4166665 -33.7500005 -33.5833335 0 -1097 -1670 --50.4166665 -50.2499995 -33.7500005 -33.5833335 0 -1307 -1670 --50.2500005 -50.0833335 -33.7500005 -33.5833335 0 -1613 -1670 --50.0833335 -49.9166665 -33.7500005 -33.5833335 0 -1896 -1670 --49.9166665 -49.7499995 -33.7500005 -33.5833335 0 -2321 -1670 --49.7500005 -49.5833335 -33.7500005 -33.5833335 0 -2690 -1670 --49.5833335 -49.4166665 -33.7500005 -33.5833335 0 -2744 -1670 --49.4166665 -49.2499995 -33.7500005 -33.5833335 0 -2981 -1670 --49.2500005 -49.0833335 -33.7500005 -33.5833335 0 -2924 -1670 --49.0833335 -48.9166665 -33.7500005 -33.5833335 0 -3020 -1670 --48.9166665 -48.7499995 -33.7500005 -33.5833335 0 -3092 -1670 --48.7500005 -48.5833335 -33.7500005 -33.5833335 0 -3157 -1670 --48.5833335 -48.4166665 -33.7500005 -33.5833335 0 -3246 -1670 --48.4166665 -48.2499995 -33.7500005 -33.5833335 0 -3347 -1670 --48.2500005 -48.0833335 -33.7500005 -33.5833335 0 -3423 -1670 --48.0833335 -47.9166665 -33.7500005 -33.5833335 0 -3527 -1670 --47.9166665 -47.7499995 -33.7500005 -33.5833335 0 -3641 -1670 --47.7500005 -47.5833335 -33.7500005 -33.5833335 0 -3701 -1670 --47.5833335 -47.4166665 -33.7500005 -33.5833335 0 -3796 -1670 --47.4166665 -47.2499995 -33.7500005 -33.5833335 0 -3852 -1670 --47.2500005 -47.0833335 -33.7500005 -33.5833335 0 -3882 -1670 --47.0833335 -46.9166665 -33.7500005 -33.5833335 0 -3920 -1670 --46.9166665 -46.7499995 -33.7500005 -33.5833335 0 -3950 -1670 --46.7500005 -46.5833335 -33.7500005 -33.5833335 0 -3996 -1670 --46.5833335 -46.4166665 -33.7500005 -33.5833335 0 -4028 -1670 --46.4166665 -46.2499995 -33.7500005 -33.5833335 0 -4074 -1670 --46.2500005 -46.0833335 -33.7500005 -33.5833335 0 -4101 -1670 --46.0833335 -45.9166665 -33.7500005 -33.5833335 0 -4104 -1670 --45.9166665 -45.7499995 -33.7500005 -33.5833335 0 -4094 -1670 --45.7500005 -45.5833335 -33.7500005 -33.5833335 0 -4108 -1670 --45.5833335 -45.4166665 -33.7500005 -33.5833335 0 -4110 -1670 --45.4166665 -45.2499995 -33.7500005 -33.5833335 0 -4163 -1670 --45.2500005 -45.0833335 -33.7500005 -33.5833335 0 -4179 -1670 --45.0833335 -44.9166665 -33.7500005 -33.5833335 0 -4188 -1670 --44.9166665 -44.7499995 -33.7500005 -33.5833335 0 -4194 -1670 --44.7500005 -44.5833335 -33.7500005 -33.5833335 0 -4206 -1670 --44.5833335 -44.4166665 -33.7500005 -33.5833335 0 -4232 -1670 --44.4166665 -44.2499995 -33.7500005 -33.5833335 0 -4288 -1670 --44.2500005 -44.0833335 -33.7500005 -33.5833335 0 -4273 -1670 --44.0833335 -43.9166665 -33.7500005 -33.5833335 0 -4248 -1670 --43.9166665 -43.7499995 -33.7500005 -33.5833335 0 -4279 -1670 --43.7500005 -43.5833335 -33.7500005 -33.5833335 0 -4305 -1670 --43.5833335 -43.4166665 -33.7500005 -33.5833335 0 -4292 -1670 --43.4166665 -43.2499995 -33.7500005 -33.5833335 0 -4332 -1670 --43.2500005 -43.0833335 -33.7500005 -33.5833335 0 -4342 -1670 --43.0833335 -42.9166665 -33.7500005 -33.5833335 0 -4370 -1670 --42.9166665 -42.7499995 -33.7500005 -33.5833335 0 -4418 -1670 --42.7500005 -42.5833335 -33.7500005 -33.5833335 0 -4442 -1670 --42.5833335 -42.4166665 -33.7500005 -33.5833335 0 -4411 -1670 --42.4166665 -42.2499995 -33.7500005 -33.5833335 0 -4452 -1670 --42.2500005 -42.0833335 -33.7500005 -33.5833335 0 -4489 -1670 --42.0833335 -41.9166665 -33.7500005 -33.5833335 0 -4510 -1670 --41.9166665 -41.7499995 -33.7500005 -33.5833335 0 -4548 -1670 --41.7500005 -41.5833335 -33.7500005 -33.5833335 0 -4563 -1670 --41.5833335 -41.4166665 -33.7500005 -33.5833335 0 -4612 -1670 --41.4166665 -41.2499995 -33.7500005 -33.5833335 0 -4644 -1670 --41.2500005 -41.0833335 -33.7500005 -33.5833335 0 -4616 -1670 --41.0833335 -40.9166665 -33.7500005 -33.5833335 0 -4537 -1670 --40.9166665 -40.7499995 -33.7500005 -33.5833335 0 -4570 -1670 --40.7500005 -40.5833335 -33.7500005 -33.5833335 0 -4598 -1670 --40.5833335 -40.4166665 -33.7500005 -33.5833335 0 -4430 -1670 --40.4166665 -40.2499995 -33.7500005 -33.5833335 0 -4566 -1670 --40.2500005 -40.0833335 -33.7500005 -33.5833335 0 -4704 -1670 --40.0833335 -39.9166665 -33.7500005 -33.5833335 0 -4506 -1670 --65.0833335 -64.9166665 -33.9166665 -33.7499995 389 0 2670 --64.9166665 -64.7499995 -33.9166665 -33.7499995 352 0 2670 --64.7500005 -64.5833335 -33.9166665 -33.7499995 317 0 2670 --64.5833335 -64.4166665 -33.9166665 -33.7499995 279 0 2670 --64.4166665 -64.2499995 -33.9166665 -33.7499995 234 0 2670 --64.2500005 -64.0833335 -33.9166665 -33.7499995 217 0 2670 --64.0833335 -63.9166665 -33.9166665 -33.7499995 212 0 2670 --63.9166665 -63.7499995 -33.9166665 -33.7499995 178 0 2670 --63.7500005 -63.5833335 -33.9166665 -33.7499995 153 0 2670 --63.5833335 -63.4166665 -33.9166665 -33.7499995 135 0 2670 --63.4166665 -63.2499995 -33.9166665 -33.7499995 128 0 2670 --63.2500005 -63.0833335 -33.9166665 -33.7499995 129 0 2670 --63.0833335 -62.9166665 -33.9166665 -33.7499995 127 0 2670 --62.9166665 -62.7499995 -33.9166665 -33.7499995 126 0 2670 --62.7500005 -62.5833335 -33.9166665 -33.7499995 124 0 2670 --62.5833335 -62.4166665 -33.9166665 -33.7499995 124 0 2670 --62.4166665 -62.2499995 -33.9166665 -33.7499995 122 0 2670 --62.2500005 -62.0833335 -33.9166665 -33.7499995 113 0 2670 --62.0833335 -61.9166665 -33.9166665 -33.7499995 110 0 2670 --61.9166665 -61.7499995 -33.9166665 -33.7499995 109 0 2670 --61.7500005 -61.5833335 -33.9166665 -33.7499995 111 0 2670 --61.5833335 -61.4166665 -33.9166665 -33.7499995 106 0 2670 --61.4166665 -61.2499995 -33.9166665 -33.7499995 97 0 2670 --61.2500005 -61.0833335 -33.9166665 -33.7499995 83 0 2670 --61.0833335 -60.9166665 -33.9166665 -33.7499995 87 0 2670 --60.9166665 -60.7499995 -33.9166665 -33.7499995 76 0 2670 --60.7500005 -60.5833335 -33.9166665 -33.7499995 76 0 2670 --60.5833335 -60.4166665 -33.9166665 -33.7499995 80 0 2670 --60.4166665 -60.2499995 -33.9166665 -33.7499995 61 0 2670 --60.2500005 -60.0833335 -33.9166665 -33.7499995 58 0 2670 --60.0833335 -59.9166665 -33.9166665 -33.7499995 44 0 2670 --59.9166665 -59.7499995 -33.9166665 -33.7499995 34 0 2670 --59.7500005 -59.5833335 -33.9166665 -33.7499995 10 0 2670 --59.5833335 -59.4166665 -33.9166665 -33.7499995 27 0 2670 --59.4166665 -59.2499995 -33.9166665 -33.7499995 2 0 2670 --59.2500005 -59.0833335 -33.9166665 -33.7499995 2 0 2670 --59.0833335 -58.9166665 -33.9166665 -33.7499995 3 0 2670 --58.9166665 -58.7499995 -33.9166665 -33.7499995 3 0 2670 --58.7500005 -58.5833335 -33.9166665 -33.7499995 2 0 2670 --58.5833335 -58.4166665 -33.9166665 -33.7499995 6 0 2670 --58.4166665 -58.2499995 -33.9166665 -33.7499995 31 0 2670 --58.2500005 -58.0833335 -33.9166665 -33.7499995 53 0 2670 --58.0833335 -57.9166665 -33.9166665 -33.7499995 82 0 2670 --57.9166665 -57.7499995 -33.9166665 -33.7499995 75 0 2670 --57.7500005 -57.5833335 -33.9166665 -33.7499995 88 0 2670 --57.5833335 -57.4166665 -33.9166665 -33.7499995 131 0 2670 --57.4166665 -57.2499995 -33.9166665 -33.7499995 160 0 2670 --57.2500005 -57.0833335 -33.9166665 -33.7499995 128 0 2670 --57.0833335 -56.9166665 -33.9166665 -33.7499995 157 0 2670 --56.9166665 -56.7499995 -33.9166665 -33.7499995 111 0 2670 --56.7500005 -56.5833335 -33.9166665 -33.7499995 131 0 2670 --56.5833335 -56.4166665 -33.9166665 -33.7499995 140 0 2670 --56.4166665 -56.2499995 -33.9166665 -33.7499995 148 0 2670 --56.2500005 -56.0833335 -33.9166665 -33.7499995 94 0 2670 --56.0833335 -55.9166665 -33.9166665 -33.7499995 116 0 2670 --55.9166665 -55.7499995 -33.9166665 -33.7499995 154 0 2670 --55.7500005 -55.5833335 -33.9166665 -33.7499995 182 0 2670 --55.5833335 -55.4166665 -33.9166665 -33.7499995 215 0 2670 --55.4166665 -55.2499995 -33.9166665 -33.7499995 227 0 2670 --55.2500005 -55.0833335 -33.9166665 -33.7499995 212 0 2670 --55.0833335 -54.9166665 -33.9166665 -33.7499995 85 0 2670 --54.9166665 -54.7499995 -33.9166665 -33.7499995 65 0 2670 --54.7500005 -54.5833335 -33.9166665 -33.7499995 52 0 2670 --54.5833335 -54.4166665 -33.9166665 -33.7499995 49 0 2670 --54.4166665 -54.2499995 -33.9166665 -33.7499995 51 0 2670 --54.2500005 -54.0833335 -33.9166665 -33.7499995 27 0 2670 --54.0833335 -53.9166665 -33.9166665 -33.7499995 29 0 2670 --53.9166665 -53.7499995 -33.9166665 -33.7499995 15 0 2670 --53.7500005 -53.5833335 -33.9166665 -33.7499995 6 0 2670 --53.5833335 -53.4166665 -33.9166665 -33.7499995 16 0 2670 --53.4166665 -53.2499995 -33.9166665 -33.7499995 0 -13 -1670 --53.2500005 -53.0833335 -33.9166665 -33.7499995 0 -20 -1670 --53.0833335 -52.9166665 -33.9166665 -33.7499995 0 -20 -1670 --52.9166665 -52.7499995 -33.9166665 -33.7499995 0 -25 -1670 --52.7500005 -52.5833335 -33.9166665 -33.7499995 0 -28 -1670 --52.5833335 -52.4166665 -33.9166665 -33.7499995 0 -35 -1670 --52.4166665 -52.2499995 -33.9166665 -33.7499995 0 -77 -1670 --52.2500005 -52.0833335 -33.9166665 -33.7499995 0 -45 -1670 --52.0833335 -51.9166665 -33.9166665 -33.7499995 0 -51 -1670 --51.9166665 -51.7499995 -33.9166665 -33.7499995 0 -69 -1670 --51.7500005 -51.5833335 -33.9166665 -33.7499995 0 -100 -1670 --51.5833335 -51.4166665 -33.9166665 -33.7499995 0 -171 -1670 --51.4166665 -51.2499995 -33.9166665 -33.7499995 0 -692 -1670 --51.2500005 -51.0833335 -33.9166665 -33.7499995 0 -860 -1670 --51.0833335 -50.9166665 -33.9166665 -33.7499995 0 -1236 -1670 --50.9166665 -50.7499995 -33.9166665 -33.7499995 0 -1380 -1670 --50.7500005 -50.5833335 -33.9166665 -33.7499995 0 -1399 -1670 --50.5833335 -50.4166665 -33.9166665 -33.7499995 0 -1521 -1670 --50.4166665 -50.2499995 -33.9166665 -33.7499995 0 -1760 -1670 --50.2500005 -50.0833335 -33.9166665 -33.7499995 0 -2170 -1670 --50.0833335 -49.9166665 -33.9166665 -33.7499995 0 -2353 -1670 --49.9166665 -49.7499995 -33.9166665 -33.7499995 0 -2588 -1670 --49.7500005 -49.5833335 -33.9166665 -33.7499995 0 -2752 -1670 --49.5833335 -49.4166665 -33.9166665 -33.7499995 0 -2800 -1670 --49.4166665 -49.2499995 -33.9166665 -33.7499995 0 -2923 -1670 --49.2500005 -49.0833335 -33.9166665 -33.7499995 0 -2993 -1670 --49.0833335 -48.9166665 -33.9166665 -33.7499995 0 -3138 -1670 --48.9166665 -48.7499995 -33.9166665 -33.7499995 0 -3110 -1670 --48.7500005 -48.5833335 -33.9166665 -33.7499995 0 -3271 -1670 --48.5833335 -48.4166665 -33.9166665 -33.7499995 0 -3386 -1670 --48.4166665 -48.2499995 -33.9166665 -33.7499995 0 -3501 -1670 --48.2500005 -48.0833335 -33.9166665 -33.7499995 0 -3597 -1670 --48.0833335 -47.9166665 -33.9166665 -33.7499995 0 -3736 -1670 --47.9166665 -47.7499995 -33.9166665 -33.7499995 0 -3851 -1670 --47.7500005 -47.5833335 -33.9166665 -33.7499995 0 -3956 -1670 --47.5833335 -47.4166665 -33.9166665 -33.7499995 0 -4029 -1670 --47.4166665 -47.2499995 -33.9166665 -33.7499995 0 -4097 -1670 --47.2500005 -47.0833335 -33.9166665 -33.7499995 0 -4136 -1670 --47.0833335 -46.9166665 -33.9166665 -33.7499995 0 -4192 -1670 --46.9166665 -46.7499995 -33.9166665 -33.7499995 0 -4197 -1670 --46.7500005 -46.5833335 -33.9166665 -33.7499995 0 -4181 -1670 --46.5833335 -46.4166665 -33.9166665 -33.7499995 0 -4192 -1670 --46.4166665 -46.2499995 -33.9166665 -33.7499995 0 -4212 -1670 --46.2500005 -46.0833335 -33.9166665 -33.7499995 0 -4235 -1670 --46.0833335 -45.9166665 -33.9166665 -33.7499995 0 -4298 -1670 --45.9166665 -45.7499995 -33.9166665 -33.7499995 0 -4290 -1670 --45.7500005 -45.5833335 -33.9166665 -33.7499995 0 -4297 -1670 --45.5833335 -45.4166665 -33.9166665 -33.7499995 0 -4295 -1670 --45.4166665 -45.2499995 -33.9166665 -33.7499995 0 -4301 -1670 --45.2500005 -45.0833335 -33.9166665 -33.7499995 0 -4356 -1670 --45.0833335 -44.9166665 -33.9166665 -33.7499995 0 -4282 -1670 --44.9166665 -44.7499995 -33.9166665 -33.7499995 0 -4316 -1670 --44.7500005 -44.5833335 -33.9166665 -33.7499995 0 -4331 -1670 --44.5833335 -44.4166665 -33.9166665 -33.7499995 0 -4317 -1670 --44.4166665 -44.2499995 -33.9166665 -33.7499995 0 -4317 -1670 --44.2500005 -44.0833335 -33.9166665 -33.7499995 0 -4342 -1670 --44.0833335 -43.9166665 -33.9166665 -33.7499995 0 -4419 -1670 --43.9166665 -43.7499995 -33.9166665 -33.7499995 0 -4342 -1670 --43.7500005 -43.5833335 -33.9166665 -33.7499995 0 -4460 -1670 --43.5833335 -43.4166665 -33.9166665 -33.7499995 0 -4365 -1670 --43.4166665 -43.2499995 -33.9166665 -33.7499995 0 -4413 -1670 --43.2500005 -43.0833335 -33.9166665 -33.7499995 0 -4381 -1670 --43.0833335 -42.9166665 -33.9166665 -33.7499995 0 -4444 -1670 --42.9166665 -42.7499995 -33.9166665 -33.7499995 0 -4430 -1670 --42.7500005 -42.5833335 -33.9166665 -33.7499995 0 -4474 -1670 --42.5833335 -42.4166665 -33.9166665 -33.7499995 0 -4480 -1670 --42.4166665 -42.2499995 -33.9166665 -33.7499995 0 -4518 -1670 --42.2500005 -42.0833335 -33.9166665 -33.7499995 0 -4508 -1670 --42.0833335 -41.9166665 -33.9166665 -33.7499995 0 -4543 -1670 --41.9166665 -41.7499995 -33.9166665 -33.7499995 0 -4551 -1670 --41.7500005 -41.5833335 -33.9166665 -33.7499995 0 -4599 -1670 --41.5833335 -41.4166665 -33.9166665 -33.7499995 0 -4581 -1670 --41.4166665 -41.2499995 -33.9166665 -33.7499995 0 -4615 -1670 --41.2500005 -41.0833335 -33.9166665 -33.7499995 0 -4600 -1670 --41.0833335 -40.9166665 -33.9166665 -33.7499995 0 -4611 -1670 --40.9166665 -40.7499995 -33.9166665 -33.7499995 0 -4599 -1670 --40.7500005 -40.5833335 -33.9166665 -33.7499995 0 -4463 -1670 --40.5833335 -40.4166665 -33.9166665 -33.7499995 0 -4717 -1670 --40.4166665 -40.2499995 -33.9166665 -33.7499995 0 -4741 -1670 --40.2500005 -40.0833335 -33.9166665 -33.7499995 0 -4775 -1670 --40.0833335 -39.9166665 -33.9166665 -33.7499995 0 -4562 -1670 --65.0833335 -64.9166665 -34.0833335 -33.9166665 352 0 2670 --64.9166665 -64.7499995 -34.0833335 -33.9166665 322 0 2670 --64.7500005 -64.5833335 -34.0833335 -33.9166665 286 0 2670 --64.5833335 -64.4166665 -34.0833335 -33.9166665 254 0 2670 --64.4166665 -64.2499995 -34.0833335 -33.9166665 220 0 2670 --64.2500005 -64.0833335 -34.0833335 -33.9166665 199 0 2670 --64.0833335 -63.9166665 -34.0833335 -33.9166665 186 0 2670 --63.9166665 -63.7499995 -34.0833335 -33.9166665 164 0 2670 --63.7500005 -63.5833335 -34.0833335 -33.9166665 150 0 2670 --63.5833335 -63.4166665 -34.0833335 -33.9166665 138 0 2670 --63.4166665 -63.2499995 -34.0833335 -33.9166665 130 0 2670 --63.2500005 -63.0833335 -34.0833335 -33.9166665 133 0 2670 --63.0833335 -62.9166665 -34.0833335 -33.9166665 131 0 2670 --62.9166665 -62.7499995 -34.0833335 -33.9166665 129 0 2670 --62.7500005 -62.5833335 -34.0833335 -33.9166665 119 0 2670 --62.5833335 -62.4166665 -34.0833335 -33.9166665 122 0 2670 --62.4166665 -62.2499995 -34.0833335 -33.9166665 124 0 2670 --62.2500005 -62.0833335 -34.0833335 -33.9166665 117 0 2670 --62.0833335 -61.9166665 -34.0833335 -33.9166665 116 0 2670 --61.9166665 -61.7499995 -34.0833335 -33.9166665 106 0 2670 --61.7500005 -61.5833335 -34.0833335 -33.9166665 97 0 2670 --61.5833335 -61.4166665 -34.0833335 -33.9166665 102 0 2670 --61.4166665 -61.2499995 -34.0833335 -33.9166665 101 0 2670 --61.2500005 -61.0833335 -34.0833335 -33.9166665 98 0 2670 --61.0833335 -60.9166665 -34.0833335 -33.9166665 70 0 2670 --60.9166665 -60.7499995 -34.0833335 -33.9166665 81 0 2670 --60.7500005 -60.5833335 -34.0833335 -33.9166665 78 0 2670 --60.5833335 -60.4166665 -34.0833335 -33.9166665 61 0 2670 --60.4166665 -60.2499995 -34.0833335 -33.9166665 46 0 2670 --60.2500005 -60.0833335 -34.0833335 -33.9166665 53 0 2670 --60.0833335 -59.9166665 -34.0833335 -33.9166665 56 0 2670 --59.9166665 -59.7499995 -34.0833335 -33.9166665 30 0 2670 --59.7500005 -59.5833335 -34.0833335 -33.9166665 32 0 2670 --59.5833335 -59.4166665 -34.0833335 -33.9166665 30 0 2670 --59.4166665 -59.2499995 -34.0833335 -33.9166665 5 0 2670 --59.2500005 -59.0833335 -34.0833335 -33.9166665 25 0 2670 --59.0833335 -58.9166665 -34.0833335 -33.9166665 2 0 2670 --58.9166665 -58.7499995 -34.0833335 -33.9166665 3 0 2670 --58.7500005 -58.5833335 -34.0833335 -33.9166665 3 0 2670 --58.5833335 -58.4166665 -34.0833335 -33.9166665 4 0 2670 --58.4166665 -58.2499995 -34.0833335 -33.9166665 0 -1 -1670 --58.2500005 -58.0833335 -34.0833335 -33.9166665 29 0 2670 --58.0833335 -57.9166665 -34.0833335 -33.9166665 58 0 2670 --57.9166665 -57.7499995 -34.0833335 -33.9166665 87 0 2670 --57.7500005 -57.5833335 -34.0833335 -33.9166665 106 0 2670 --57.5833335 -57.4166665 -34.0833335 -33.9166665 99 0 2670 --57.4166665 -57.2499995 -34.0833335 -33.9166665 124 0 2670 --57.2500005 -57.0833335 -34.0833335 -33.9166665 115 0 2670 --57.0833335 -56.9166665 -34.0833335 -33.9166665 123 0 2670 --56.9166665 -56.7499995 -34.0833335 -33.9166665 69 0 2670 --56.7500005 -56.5833335 -34.0833335 -33.9166665 98 0 2670 --56.5833335 -56.4166665 -34.0833335 -33.9166665 122 0 2670 --56.4166665 -56.2499995 -34.0833335 -33.9166665 88 0 2670 --56.2500005 -56.0833335 -34.0833335 -33.9166665 71 0 2670 --56.0833335 -55.9166665 -34.0833335 -33.9166665 96 0 2670 --55.9166665 -55.7499995 -34.0833335 -33.9166665 129 0 2670 --55.7500005 -55.5833335 -34.0833335 -33.9166665 153 0 2670 --55.5833335 -55.4166665 -34.0833335 -33.9166665 156 0 2670 --55.4166665 -55.2499995 -34.0833335 -33.9166665 219 0 2670 --55.2500005 -55.0833335 -34.0833335 -33.9166665 197 0 2670 --55.0833335 -54.9166665 -34.0833335 -33.9166665 227 0 2670 --54.9166665 -54.7499995 -34.0833335 -33.9166665 190 0 2670 --54.7500005 -54.5833335 -34.0833335 -33.9166665 164 0 2670 --54.5833335 -54.4166665 -34.0833335 -33.9166665 67 0 2670 --54.4166665 -54.2499995 -34.0833335 -33.9166665 93 0 2670 --54.2500005 -54.0833335 -34.0833335 -33.9166665 46 0 2670 --54.0833335 -53.9166665 -34.0833335 -33.9166665 117 0 2670 --53.9166665 -53.7499995 -34.0833335 -33.9166665 28 0 2670 --53.7500005 -53.5833335 -34.0833335 -33.9166665 4 0 2670 --53.5833335 -53.4166665 -34.0833335 -33.9166665 0 -4 -1670 --53.4166665 -53.2499995 -34.0833335 -33.9166665 0 -20 -1670 --53.2500005 -53.0833335 -34.0833335 -33.9166665 0 -21 -1670 --53.0833335 -52.9166665 -34.0833335 -33.9166665 0 -19 -1670 --52.9166665 -52.7499995 -34.0833335 -33.9166665 0 -34 -1670 --52.7500005 -52.5833335 -34.0833335 -33.9166665 0 -47 -1670 --52.5833335 -52.4166665 -34.0833335 -33.9166665 0 -57 -1670 --52.4166665 -52.2499995 -34.0833335 -33.9166665 0 -49 -1670 --52.2500005 -52.0833335 -34.0833335 -33.9166665 0 -69 -1670 --52.0833335 -51.9166665 -34.0833335 -33.9166665 0 -44 -1670 --51.9166665 -51.7499995 -34.0833335 -33.9166665 0 -57 -1670 --51.7500005 -51.5833335 -34.0833335 -33.9166665 0 -177 -1670 --51.5833335 -51.4166665 -34.0833335 -33.9166665 0 -669 -1670 --51.4166665 -51.2499995 -34.0833335 -33.9166665 0 -888 -1670 --51.2500005 -51.0833335 -34.0833335 -33.9166665 0 -1396 -1670 --51.0833335 -50.9166665 -34.0833335 -33.9166665 0 -1788 -1670 --50.9166665 -50.7499995 -34.0833335 -33.9166665 0 -1991 -1670 --50.7500005 -50.5833335 -34.0833335 -33.9166665 0 -1901 -1670 --50.5833335 -50.4166665 -34.0833335 -33.9166665 0 -1976 -1670 --50.4166665 -50.2499995 -34.0833335 -33.9166665 0 -2144 -1670 --50.2500005 -50.0833335 -34.0833335 -33.9166665 0 -2457 -1670 --50.0833335 -49.9166665 -34.0833335 -33.9166665 0 -2671 -1670 --49.9166665 -49.7499995 -34.0833335 -33.9166665 0 -2845 -1670 --49.7500005 -49.5833335 -34.0833335 -33.9166665 0 -2852 -1670 --49.5833335 -49.4166665 -34.0833335 -33.9166665 0 -2795 -1670 --49.4166665 -49.2499995 -34.0833335 -33.9166665 0 -2980 -1670 --49.2500005 -49.0833335 -34.0833335 -33.9166665 0 -3101 -1670 --49.0833335 -48.9166665 -34.0833335 -33.9166665 0 -3181 -1670 --48.9166665 -48.7499995 -34.0833335 -33.9166665 0 -3333 -1670 --48.7500005 -48.5833335 -34.0833335 -33.9166665 0 -3353 -1670 --48.5833335 -48.4166665 -34.0833335 -33.9166665 0 -3456 -1670 --48.4166665 -48.2499995 -34.0833335 -33.9166665 0 -3580 -1670 --48.2500005 -48.0833335 -34.0833335 -33.9166665 0 -3700 -1670 --48.0833335 -47.9166665 -34.0833335 -33.9166665 0 -3783 -1670 --47.9166665 -47.7499995 -34.0833335 -33.9166665 0 -3915 -1670 --47.7500005 -47.5833335 -34.0833335 -33.9166665 0 -4017 -1670 --47.5833335 -47.4166665 -34.0833335 -33.9166665 0 -4138 -1670 --47.4166665 -47.2499995 -34.0833335 -33.9166665 0 -4208 -1670 --47.2500005 -47.0833335 -34.0833335 -33.9166665 0 -4310 -1670 --47.0833335 -46.9166665 -34.0833335 -33.9166665 0 -4340 -1670 --46.9166665 -46.7499995 -34.0833335 -33.9166665 0 -4385 -1670 --46.7500005 -46.5833335 -34.0833335 -33.9166665 0 -4425 -1670 --46.5833335 -46.4166665 -34.0833335 -33.9166665 0 -4450 -1670 --46.4166665 -46.2499995 -34.0833335 -33.9166665 0 -4476 -1670 --46.2500005 -46.0833335 -34.0833335 -33.9166665 0 -4501 -1670 --46.0833335 -45.9166665 -34.0833335 -33.9166665 0 -4506 -1670 --45.9166665 -45.7499995 -34.0833335 -33.9166665 0 -4501 -1670 --45.7500005 -45.5833335 -34.0833335 -33.9166665 0 -4488 -1670 --45.5833335 -45.4166665 -34.0833335 -33.9166665 0 -4514 -1670 --45.4166665 -45.2499995 -34.0833335 -33.9166665 0 -4520 -1670 --45.2500005 -45.0833335 -34.0833335 -33.9166665 0 -4496 -1670 --45.0833335 -44.9166665 -34.0833335 -33.9166665 0 -4482 -1670 --44.9166665 -44.7499995 -34.0833335 -33.9166665 0 -4429 -1670 --44.7500005 -44.5833335 -34.0833335 -33.9166665 0 -4459 -1670 --44.5833335 -44.4166665 -34.0833335 -33.9166665 0 -4457 -1670 --44.4166665 -44.2499995 -34.0833335 -33.9166665 0 -4480 -1670 --44.2500005 -44.0833335 -34.0833335 -33.9166665 0 -4513 -1670 --44.0833335 -43.9166665 -34.0833335 -33.9166665 0 -4486 -1670 --43.9166665 -43.7499995 -34.0833335 -33.9166665 0 -4508 -1670 --43.7500005 -43.5833335 -34.0833335 -33.9166665 0 -4436 -1670 --43.5833335 -43.4166665 -34.0833335 -33.9166665 0 -4494 -1670 --43.4166665 -43.2499995 -34.0833335 -33.9166665 0 -4445 -1670 --43.2500005 -43.0833335 -34.0833335 -33.9166665 0 -4448 -1670 --43.0833335 -42.9166665 -34.0833335 -33.9166665 0 -4496 -1670 --42.9166665 -42.7499995 -34.0833335 -33.9166665 0 -4495 -1670 --42.7500005 -42.5833335 -34.0833335 -33.9166665 0 -4510 -1670 --42.5833335 -42.4166665 -34.0833335 -33.9166665 0 -4532 -1670 --42.4166665 -42.2499995 -34.0833335 -33.9166665 0 -4560 -1670 --42.2500005 -42.0833335 -34.0833335 -33.9166665 0 -4579 -1670 --42.0833335 -41.9166665 -34.0833335 -33.9166665 0 -4572 -1670 --41.9166665 -41.7499995 -34.0833335 -33.9166665 0 -4576 -1670 --41.7500005 -41.5833335 -34.0833335 -33.9166665 0 -4621 -1670 --41.5833335 -41.4166665 -34.0833335 -33.9166665 0 -4613 -1670 --41.4166665 -41.2499995 -34.0833335 -33.9166665 0 -4617 -1670 --41.2500005 -41.0833335 -34.0833335 -33.9166665 0 -4625 -1670 --41.0833335 -40.9166665 -34.0833335 -33.9166665 0 -4640 -1670 --40.9166665 -40.7499995 -34.0833335 -33.9166665 0 -4566 -1670 --40.7500005 -40.5833335 -34.0833335 -33.9166665 0 -4529 -1670 --40.5833335 -40.4166665 -34.0833335 -33.9166665 0 -4599 -1670 --40.4166665 -40.2499995 -34.0833335 -33.9166665 0 -4765 -1670 --40.2500005 -40.0833335 -34.0833335 -33.9166665 0 -4748 -1670 --40.0833335 -39.9166665 -34.0833335 -33.9166665 0 -4748 -1670 --65.0833335 -64.9166665 -34.2500005 -34.0833335 329 0 2670 --64.9166665 -64.7499995 -34.2500005 -34.0833335 298 0 2670 --64.7500005 -64.5833335 -34.2500005 -34.0833335 270 0 2670 --64.5833335 -64.4166665 -34.2500005 -34.0833335 244 0 2670 --64.4166665 -64.2499995 -34.2500005 -34.0833335 221 0 2670 --64.2500005 -64.0833335 -34.2500005 -34.0833335 194 0 2670 --64.0833335 -63.9166665 -34.2500005 -34.0833335 176 0 2670 --63.9166665 -63.7499995 -34.2500005 -34.0833335 158 0 2670 --63.7500005 -63.5833335 -34.2500005 -34.0833335 148 0 2670 --63.5833335 -63.4166665 -34.2500005 -34.0833335 142 0 2670 --63.4166665 -63.2499995 -34.2500005 -34.0833335 136 0 2670 --63.2500005 -63.0833335 -34.2500005 -34.0833335 132 0 2670 --63.0833335 -62.9166665 -34.2500005 -34.0833335 128 0 2670 --62.9166665 -62.7499995 -34.2500005 -34.0833335 128 0 2670 --62.7500005 -62.5833335 -34.2500005 -34.0833335 122 0 2670 --62.5833335 -62.4166665 -34.2500005 -34.0833335 118 0 2670 --62.4166665 -62.2499995 -34.2500005 -34.0833335 115 0 2670 --62.2500005 -62.0833335 -34.2500005 -34.0833335 113 0 2670 --62.0833335 -61.9166665 -34.2500005 -34.0833335 105 0 2670 --61.9166665 -61.7499995 -34.2500005 -34.0833335 101 0 2670 --61.7500005 -61.5833335 -34.2500005 -34.0833335 92 0 2670 --61.5833335 -61.4166665 -34.2500005 -34.0833335 86 0 2670 --61.4166665 -61.2499995 -34.2500005 -34.0833335 91 0 2670 --61.2500005 -61.0833335 -34.2500005 -34.0833335 98 0 2670 --61.0833335 -60.9166665 -34.2500005 -34.0833335 80 0 2670 --60.9166665 -60.7499995 -34.2500005 -34.0833335 65 0 2670 --60.7500005 -60.5833335 -34.2500005 -34.0833335 76 0 2670 --60.5833335 -60.4166665 -34.2500005 -34.0833335 57 0 2670 --60.4166665 -60.2499995 -34.2500005 -34.0833335 72 0 2670 --60.2500005 -60.0833335 -34.2500005 -34.0833335 56 0 2670 --60.0833335 -59.9166665 -34.2500005 -34.0833335 43 0 2670 --59.9166665 -59.7499995 -34.2500005 -34.0833335 43 0 2670 --59.7500005 -59.5833335 -34.2500005 -34.0833335 45 0 2670 --59.5833335 -59.4166665 -34.2500005 -34.0833335 45 0 2670 --59.4166665 -59.2499995 -34.2500005 -34.0833335 16 0 2670 --59.2500005 -59.0833335 -34.2500005 -34.0833335 30 0 2670 --59.0833335 -58.9166665 -34.2500005 -34.0833335 4 0 2670 --58.9166665 -58.7499995 -34.2500005 -34.0833335 6 0 2670 --58.7500005 -58.5833335 -34.2500005 -34.0833335 4 0 2670 --58.5833335 -58.4166665 -34.2500005 -34.0833335 6 0 2670 --58.4166665 -58.2499995 -34.2500005 -34.0833335 0 -1 -1670 --58.2500005 -58.0833335 -34.2500005 -34.0833335 12 0 2670 --58.0833335 -57.9166665 -34.2500005 -34.0833335 75 0 2670 --57.9166665 -57.7499995 -34.2500005 -34.0833335 35 0 2670 --57.7500005 -57.5833335 -34.2500005 -34.0833335 78 0 2670 --57.5833335 -57.4166665 -34.2500005 -34.0833335 106 0 2670 --57.4166665 -57.2499995 -34.2500005 -34.0833335 72 0 2670 --57.2500005 -57.0833335 -34.2500005 -34.0833335 61 0 2670 --57.0833335 -56.9166665 -34.2500005 -34.0833335 115 0 2670 --56.9166665 -56.7499995 -34.2500005 -34.0833335 62 0 2670 --56.7500005 -56.5833335 -34.2500005 -34.0833335 60 0 2670 --56.5833335 -56.4166665 -34.2500005 -34.0833335 88 0 2670 --56.4166665 -56.2499995 -34.2500005 -34.0833335 67 0 2670 --56.2500005 -56.0833335 -34.2500005 -34.0833335 97 0 2670 --56.0833335 -55.9166665 -34.2500005 -34.0833335 85 0 2670 --55.9166665 -55.7499995 -34.2500005 -34.0833335 58 0 2670 --55.7500005 -55.5833335 -34.2500005 -34.0833335 87 0 2670 --55.5833335 -55.4166665 -34.2500005 -34.0833335 103 0 2670 --55.4166665 -55.2499995 -34.2500005 -34.0833335 117 0 2670 --55.2500005 -55.0833335 -34.2500005 -34.0833335 299 0 2670 --55.0833335 -54.9166665 -34.2500005 -34.0833335 225 0 2670 --54.9166665 -54.7499995 -34.2500005 -34.0833335 153 0 2670 --54.7500005 -54.5833335 -34.2500005 -34.0833335 91 0 2670 --54.5833335 -54.4166665 -34.2500005 -34.0833335 82 0 2670 --54.4166665 -54.2499995 -34.2500005 -34.0833335 84 0 2670 --54.2500005 -54.0833335 -34.2500005 -34.0833335 131 0 2670 --54.0833335 -53.9166665 -34.2500005 -34.0833335 78 0 2670 --53.9166665 -53.7499995 -34.2500005 -34.0833335 36 0 2670 --53.7500005 -53.5833335 -34.2500005 -34.0833335 0 -1 -1670 --53.5833335 -53.4166665 -34.2500005 -34.0833335 0 -18 -1670 --53.4166665 -53.2499995 -34.2500005 -34.0833335 0 -20 -1670 --53.2500005 -53.0833335 -34.2500005 -34.0833335 0 -26 -1670 --53.0833335 -52.9166665 -34.2500005 -34.0833335 0 -46 -1670 --52.9166665 -52.7499995 -34.2500005 -34.0833335 0 -49 -1670 --52.7500005 -52.5833335 -34.2500005 -34.0833335 0 -65 -1670 --52.5833335 -52.4166665 -34.2500005 -34.0833335 0 -40 -1670 --52.4166665 -52.2499995 -34.2500005 -34.0833335 0 -46 -1670 --52.2500005 -52.0833335 -34.2500005 -34.0833335 0 -87 -1670 --52.0833335 -51.9166665 -34.2500005 -34.0833335 0 -92 -1670 --51.9166665 -51.7499995 -34.2500005 -34.0833335 0 -92 -1670 --51.7500005 -51.5833335 -34.2500005 -34.0833335 0 -692 -1670 --51.5833335 -51.4166665 -34.2500005 -34.0833335 0 -776 -1670 --51.4166665 -51.2499995 -34.2500005 -34.0833335 0 -1117 -1670 --51.2500005 -51.0833335 -34.2500005 -34.0833335 0 -1559 -1670 --51.0833335 -50.9166665 -34.2500005 -34.0833335 0 -2027 -1670 --50.9166665 -50.7499995 -34.2500005 -34.0833335 0 -2246 -1670 --50.7500005 -50.5833335 -34.2500005 -34.0833335 0 -2280 -1670 --50.5833335 -50.4166665 -34.2500005 -34.0833335 0 -2465 -1670 --50.4166665 -50.2499995 -34.2500005 -34.0833335 0 -2504 -1670 --50.2500005 -50.0833335 -34.2500005 -34.0833335 0 -2558 -1670 --50.0833335 -49.9166665 -34.2500005 -34.0833335 0 -2770 -1670 --49.9166665 -49.7499995 -34.2500005 -34.0833335 0 -2889 -1670 --49.7500005 -49.5833335 -34.2500005 -34.0833335 0 -2929 -1670 --49.5833335 -49.4166665 -34.2500005 -34.0833335 0 -3141 -1670 --49.4166665 -49.2499995 -34.2500005 -34.0833335 0 -3145 -1670 --49.2500005 -49.0833335 -34.2500005 -34.0833335 0 -3244 -1670 --49.0833335 -48.9166665 -34.2500005 -34.0833335 0 -3371 -1670 --48.9166665 -48.7499995 -34.2500005 -34.0833335 0 -3415 -1670 --48.7500005 -48.5833335 -34.2500005 -34.0833335 0 -3476 -1670 --48.5833335 -48.4166665 -34.2500005 -34.0833335 0 -3613 -1670 --48.4166665 -48.2499995 -34.2500005 -34.0833335 0 -3738 -1670 --48.2500005 -48.0833335 -34.2500005 -34.0833335 0 -3824 -1670 --48.0833335 -47.9166665 -34.2500005 -34.0833335 0 -4003 -1670 --47.9166665 -47.7499995 -34.2500005 -34.0833335 0 -4072 -1670 --47.7500005 -47.5833335 -34.2500005 -34.0833335 0 -4124 -1670 --47.5833335 -47.4166665 -34.2500005 -34.0833335 0 -4222 -1670 --47.4166665 -47.2499995 -34.2500005 -34.0833335 0 -4271 -1670 --47.2500005 -47.0833335 -34.2500005 -34.0833335 0 -4351 -1670 --47.0833335 -46.9166665 -34.2500005 -34.0833335 0 -4431 -1670 --46.9166665 -46.7499995 -34.2500005 -34.0833335 0 -4513 -1670 --46.7500005 -46.5833335 -34.2500005 -34.0833335 0 -4564 -1670 --46.5833335 -46.4166665 -34.2500005 -34.0833335 0 -4614 -1670 --46.4166665 -46.2499995 -34.2500005 -34.0833335 0 -4624 -1670 --46.2500005 -46.0833335 -34.2500005 -34.0833335 0 -4646 -1670 --46.0833335 -45.9166665 -34.2500005 -34.0833335 0 -4655 -1670 --45.9166665 -45.7499995 -34.2500005 -34.0833335 0 -4666 -1670 --45.7500005 -45.5833335 -34.2500005 -34.0833335 0 -4654 -1670 --45.5833335 -45.4166665 -34.2500005 -34.0833335 0 -4655 -1670 --45.4166665 -45.2499995 -34.2500005 -34.0833335 0 -4654 -1670 --45.2500005 -45.0833335 -34.2500005 -34.0833335 0 -4632 -1670 --45.0833335 -44.9166665 -34.2500005 -34.0833335 0 -4643 -1670 --44.9166665 -44.7499995 -34.2500005 -34.0833335 0 -4565 -1670 --44.7500005 -44.5833335 -34.2500005 -34.0833335 0 -4632 -1670 --44.5833335 -44.4166665 -34.2500005 -34.0833335 0 -4676 -1670 --44.4166665 -44.2499995 -34.2500005 -34.0833335 0 -4675 -1670 --44.2500005 -44.0833335 -34.2500005 -34.0833335 0 -4693 -1670 --44.0833335 -43.9166665 -34.2500005 -34.0833335 0 -4595 -1670 --43.9166665 -43.7499995 -34.2500005 -34.0833335 0 -4566 -1670 --43.7500005 -43.5833335 -34.2500005 -34.0833335 0 -4539 -1670 --43.5833335 -43.4166665 -34.2500005 -34.0833335 0 -4533 -1670 --43.4166665 -43.2499995 -34.2500005 -34.0833335 0 -4514 -1670 --43.2500005 -43.0833335 -34.2500005 -34.0833335 0 -4537 -1670 --43.0833335 -42.9166665 -34.2500005 -34.0833335 0 -4577 -1670 --42.9166665 -42.7499995 -34.2500005 -34.0833335 0 -4566 -1670 --42.7500005 -42.5833335 -34.2500005 -34.0833335 0 -4569 -1670 --42.5833335 -42.4166665 -34.2500005 -34.0833335 0 -4570 -1670 --42.4166665 -42.2499995 -34.2500005 -34.0833335 0 -4585 -1670 --42.2500005 -42.0833335 -34.2500005 -34.0833335 0 -4616 -1670 --42.0833335 -41.9166665 -34.2500005 -34.0833335 0 -4620 -1670 --41.9166665 -41.7499995 -34.2500005 -34.0833335 0 -4633 -1670 --41.7500005 -41.5833335 -34.2500005 -34.0833335 0 -4629 -1670 --41.5833335 -41.4166665 -34.2500005 -34.0833335 0 -4656 -1670 --41.4166665 -41.2499995 -34.2500005 -34.0833335 0 -4633 -1670 --41.2500005 -41.0833335 -34.2500005 -34.0833335 0 -4674 -1670 --41.0833335 -40.9166665 -34.2500005 -34.0833335 0 -4582 -1670 --40.9166665 -40.7499995 -34.2500005 -34.0833335 0 -4553 -1670 --40.7500005 -40.5833335 -34.2500005 -34.0833335 0 -4614 -1670 --40.5833335 -40.4166665 -34.2500005 -34.0833335 0 -4707 -1670 --40.4166665 -40.2499995 -34.2500005 -34.0833335 0 -4754 -1670 --40.2500005 -40.0833335 -34.2500005 -34.0833335 0 -4695 -1670 --40.0833335 -39.9166665 -34.2500005 -34.0833335 0 -4873 -1670 --65.0833335 -64.9166665 -34.4166665 -34.2499995 309 0 2670 --64.9166665 -64.7499995 -34.4166665 -34.2499995 281 0 2670 --64.7500005 -64.5833335 -34.4166665 -34.2499995 257 0 2670 --64.5833335 -64.4166665 -34.4166665 -34.2499995 235 0 2670 --64.4166665 -64.2499995 -34.4166665 -34.2499995 214 0 2670 --64.2500005 -64.0833335 -34.4166665 -34.2499995 190 0 2670 --64.0833335 -63.9166665 -34.4166665 -34.2499995 172 0 2670 --63.9166665 -63.7499995 -34.4166665 -34.2499995 157 0 2670 --63.7500005 -63.5833335 -34.4166665 -34.2499995 147 0 2670 --63.5833335 -63.4166665 -34.4166665 -34.2499995 142 0 2670 --63.4166665 -63.2499995 -34.4166665 -34.2499995 138 0 2670 --63.2500005 -63.0833335 -34.4166665 -34.2499995 132 0 2670 --63.0833335 -62.9166665 -34.4166665 -34.2499995 127 0 2670 --62.9166665 -62.7499995 -34.4166665 -34.2499995 121 0 2670 --62.7500005 -62.5833335 -34.4166665 -34.2499995 112 0 2670 --62.5833335 -62.4166665 -34.4166665 -34.2499995 108 0 2670 --62.4166665 -62.2499995 -34.4166665 -34.2499995 103 0 2670 --62.2500005 -62.0833335 -34.4166665 -34.2499995 103 0 2670 --62.0833335 -61.9166665 -34.4166665 -34.2499995 104 0 2670 --61.9166665 -61.7499995 -34.4166665 -34.2499995 97 0 2670 --61.7500005 -61.5833335 -34.4166665 -34.2499995 95 0 2670 --61.5833335 -61.4166665 -34.4166665 -34.2499995 93 0 2670 --61.4166665 -61.2499995 -34.4166665 -34.2499995 84 0 2670 --61.2500005 -61.0833335 -34.4166665 -34.2499995 85 0 2670 --61.0833335 -60.9166665 -34.4166665 -34.2499995 72 0 2670 --60.9166665 -60.7499995 -34.4166665 -34.2499995 65 0 2670 --60.7500005 -60.5833335 -34.4166665 -34.2499995 70 0 2670 --60.5833335 -60.4166665 -34.4166665 -34.2499995 62 0 2670 --60.4166665 -60.2499995 -34.4166665 -34.2499995 59 0 2670 --60.2500005 -60.0833335 -34.4166665 -34.2499995 67 0 2670 --60.0833335 -59.9166665 -34.4166665 -34.2499995 54 0 2670 --59.9166665 -59.7499995 -34.4166665 -34.2499995 50 0 2670 --59.7500005 -59.5833335 -34.4166665 -34.2499995 50 0 2670 --59.5833335 -59.4166665 -34.4166665 -34.2499995 48 0 2670 --59.4166665 -59.2499995 -34.4166665 -34.2499995 39 0 2670 --59.2500005 -59.0833335 -34.4166665 -34.2499995 19 0 2670 --59.0833335 -58.9166665 -34.4166665 -34.2499995 27 0 2670 --58.9166665 -58.7499995 -34.4166665 -34.2499995 17 0 2670 --58.7500005 -58.5833335 -34.4166665 -34.2499995 3 0 2670 --58.5833335 -58.4166665 -34.4166665 -34.2499995 3 0 2670 --58.4166665 -58.2499995 -34.4166665 -34.2499995 0 -1 -1670 --58.2500005 -58.0833335 -34.4166665 -34.2499995 0 -1 -1670 --58.0833335 -57.9166665 -34.4166665 -34.2499995 0 -1 -1670 --57.9166665 -57.7499995 -34.4166665 -34.2499995 37 0 2670 --57.7500005 -57.5833335 -34.4166665 -34.2499995 53 0 2670 --57.5833335 -57.4166665 -34.4166665 -34.2499995 47 0 2670 --57.4166665 -57.2499995 -34.4166665 -34.2499995 15 0 2670 --57.2500005 -57.0833335 -34.4166665 -34.2499995 49 0 2670 --57.0833335 -56.9166665 -34.4166665 -34.2499995 67 0 2670 --56.9166665 -56.7499995 -34.4166665 -34.2499995 64 0 2670 --56.7500005 -56.5833335 -34.4166665 -34.2499995 31 0 2670 --56.5833335 -56.4166665 -34.4166665 -34.2499995 49 0 2670 --56.4166665 -56.2499995 -34.4166665 -34.2499995 19 0 2670 --56.2500005 -56.0833335 -34.4166665 -34.2499995 35 0 2670 --56.0833335 -55.9166665 -34.4166665 -34.2499995 34 0 2670 --55.9166665 -55.7499995 -34.4166665 -34.2499995 60 0 2670 --55.7500005 -55.5833335 -34.4166665 -34.2499995 85 0 2670 --55.5833335 -55.4166665 -34.4166665 -34.2499995 90 0 2670 --55.4166665 -55.2499995 -34.4166665 -34.2499995 156 0 2670 --55.2500005 -55.0833335 -34.4166665 -34.2499995 180 0 2670 --55.0833335 -54.9166665 -34.4166665 -34.2499995 285 0 2670 --54.9166665 -54.7499995 -34.4166665 -34.2499995 137 0 2670 --54.7500005 -54.5833335 -34.4166665 -34.2499995 355 0 2670 --54.5833335 -54.4166665 -34.4166665 -34.2499995 116 0 2670 --54.4166665 -54.2499995 -34.4166665 -34.2499995 101 0 2670 --54.2500005 -54.0833335 -34.4166665 -34.2499995 57 0 2670 --54.0833335 -53.9166665 -34.4166665 -34.2499995 3 0 2670 --53.9166665 -53.7499995 -34.4166665 -34.2499995 3 0 2670 --53.7500005 -53.5833335 -34.4166665 -34.2499995 0 -19 -1670 --53.5833335 -53.4166665 -34.4166665 -34.2499995 0 -20 -1670 --53.4166665 -53.2499995 -34.4166665 -34.2499995 0 -25 -1670 --53.2500005 -53.0833335 -34.4166665 -34.2499995 0 -38 -1670 --53.0833335 -52.9166665 -34.4166665 -34.2499995 0 -62 -1670 --52.9166665 -52.7499995 -34.4166665 -34.2499995 0 -45 -1670 --52.7500005 -52.5833335 -34.4166665 -34.2499995 0 -38 -1670 --52.5833335 -52.4166665 -34.4166665 -34.2499995 0 -67 -1670 --52.4166665 -52.2499995 -34.4166665 -34.2499995 0 -81 -1670 --52.2500005 -52.0833335 -34.4166665 -34.2499995 0 -108 -1670 --52.0833335 -51.9166665 -34.4166665 -34.2499995 0 -126 -1670 --51.9166665 -51.7499995 -34.4166665 -34.2499995 0 -308 -1670 --51.7500005 -51.5833335 -34.4166665 -34.2499995 0 -550 -1670 --51.5833335 -51.4166665 -34.4166665 -34.2499995 0 -1066 -1670 --51.4166665 -51.2499995 -34.4166665 -34.2499995 0 -1551 -1670 --51.2500005 -51.0833335 -34.4166665 -34.2499995 0 -1959 -1670 --51.0833335 -50.9166665 -34.4166665 -34.2499995 0 -2290 -1670 --50.9166665 -50.7499995 -34.4166665 -34.2499995 0 -2452 -1670 --50.7500005 -50.5833335 -34.4166665 -34.2499995 0 -2561 -1670 --50.5833335 -50.4166665 -34.4166665 -34.2499995 0 -2666 -1670 --50.4166665 -50.2499995 -34.4166665 -34.2499995 0 -2780 -1670 --50.2500005 -50.0833335 -34.4166665 -34.2499995 0 -2836 -1670 --50.0833335 -49.9166665 -34.4166665 -34.2499995 0 -2941 -1670 --49.9166665 -49.7499995 -34.4166665 -34.2499995 0 -2991 -1670 --49.7500005 -49.5833335 -34.4166665 -34.2499995 0 -3144 -1670 --49.5833335 -49.4166665 -34.4166665 -34.2499995 0 -3381 -1670 --49.4166665 -49.2499995 -34.4166665 -34.2499995 0 -3438 -1670 --49.2500005 -49.0833335 -34.4166665 -34.2499995 0 -3644 -1670 --49.0833335 -48.9166665 -34.4166665 -34.2499995 0 -3625 -1670 --48.9166665 -48.7499995 -34.4166665 -34.2499995 0 -3644 -1670 --48.7500005 -48.5833335 -34.4166665 -34.2499995 0 -3699 -1670 --48.5833335 -48.4166665 -34.4166665 -34.2499995 0 -3855 -1670 --48.4166665 -48.2499995 -34.4166665 -34.2499995 0 -3940 -1670 --48.2500005 -48.0833335 -34.4166665 -34.2499995 0 -4038 -1670 --48.0833335 -47.9166665 -34.4166665 -34.2499995 0 -4232 -1670 --47.9166665 -47.7499995 -34.4166665 -34.2499995 0 -4255 -1670 --47.7500005 -47.5833335 -34.4166665 -34.2499995 0 -4350 -1670 --47.5833335 -47.4166665 -34.4166665 -34.2499995 0 -4389 -1670 --47.4166665 -47.2499995 -34.4166665 -34.2499995 0 -4438 -1670 --47.2500005 -47.0833335 -34.4166665 -34.2499995 0 -4455 -1670 --47.0833335 -46.9166665 -34.4166665 -34.2499995 0 -4490 -1670 --46.9166665 -46.7499995 -34.4166665 -34.2499995 0 -4529 -1670 --46.7500005 -46.5833335 -34.4166665 -34.2499995 0 -4600 -1670 --46.5833335 -46.4166665 -34.4166665 -34.2499995 0 -4637 -1670 --46.4166665 -46.2499995 -34.4166665 -34.2499995 0 -4666 -1670 --46.2500005 -46.0833335 -34.4166665 -34.2499995 0 -4675 -1670 --46.0833335 -45.9166665 -34.4166665 -34.2499995 0 -4702 -1670 --45.9166665 -45.7499995 -34.4166665 -34.2499995 0 -4736 -1670 --45.7500005 -45.5833335 -34.4166665 -34.2499995 0 -4742 -1670 --45.5833335 -45.4166665 -34.4166665 -34.2499995 0 -4759 -1670 --45.4166665 -45.2499995 -34.4166665 -34.2499995 0 -4756 -1670 --45.2500005 -45.0833335 -34.4166665 -34.2499995 0 -4743 -1670 --45.0833335 -44.9166665 -34.4166665 -34.2499995 0 -4754 -1670 --44.9166665 -44.7499995 -34.4166665 -34.2499995 0 -4713 -1670 --44.7500005 -44.5833335 -34.4166665 -34.2499995 0 -4713 -1670 --44.5833335 -44.4166665 -34.4166665 -34.2499995 0 -4757 -1670 --44.4166665 -44.2499995 -34.4166665 -34.2499995 0 -4718 -1670 --44.2500005 -44.0833335 -34.4166665 -34.2499995 0 -4723 -1670 --44.0833335 -43.9166665 -34.4166665 -34.2499995 0 -4682 -1670 --43.9166665 -43.7499995 -34.4166665 -34.2499995 0 -4674 -1670 --43.7500005 -43.5833335 -34.4166665 -34.2499995 0 -4646 -1670 --43.5833335 -43.4166665 -34.4166665 -34.2499995 0 -4632 -1670 --43.4166665 -43.2499995 -34.4166665 -34.2499995 0 -4636 -1670 --43.2500005 -43.0833335 -34.4166665 -34.2499995 0 -4643 -1670 --43.0833335 -42.9166665 -34.4166665 -34.2499995 0 -4620 -1670 --42.9166665 -42.7499995 -34.4166665 -34.2499995 0 -4619 -1670 --42.7500005 -42.5833335 -34.4166665 -34.2499995 0 -4621 -1670 --42.5833335 -42.4166665 -34.4166665 -34.2499995 0 -4620 -1670 --42.4166665 -42.2499995 -34.4166665 -34.2499995 0 -4620 -1670 --42.2500005 -42.0833335 -34.4166665 -34.2499995 0 -4643 -1670 --42.0833335 -41.9166665 -34.4166665 -34.2499995 0 -4650 -1670 --41.9166665 -41.7499995 -34.4166665 -34.2499995 0 -4653 -1670 --41.7500005 -41.5833335 -34.4166665 -34.2499995 0 -4642 -1670 --41.5833335 -41.4166665 -34.4166665 -34.2499995 0 -4648 -1670 --41.4166665 -41.2499995 -34.4166665 -34.2499995 0 -4670 -1670 --41.2500005 -41.0833335 -34.4166665 -34.2499995 0 -4635 -1670 --41.0833335 -40.9166665 -34.4166665 -34.2499995 0 -4655 -1670 --40.9166665 -40.7499995 -34.4166665 -34.2499995 0 -4555 -1670 --40.7500005 -40.5833335 -34.4166665 -34.2499995 0 -4615 -1670 --40.5833335 -40.4166665 -34.4166665 -34.2499995 0 -4786 -1670 --40.4166665 -40.2499995 -34.4166665 -34.2499995 0 -4785 -1670 --40.2500005 -40.0833335 -34.4166665 -34.2499995 0 -4826 -1670 --40.0833335 -39.9166665 -34.4166665 -34.2499995 0 -4669 -1670 --65.0833335 -64.9166665 -34.5833335 -34.4166665 287 0 2670 --64.9166665 -64.7499995 -34.5833335 -34.4166665 262 0 2670 --64.7500005 -64.5833335 -34.5833335 -34.4166665 238 0 2670 --64.5833335 -64.4166665 -34.5833335 -34.4166665 217 0 2670 --64.4166665 -64.2499995 -34.5833335 -34.4166665 191 0 2670 --64.2500005 -64.0833335 -34.5833335 -34.4166665 178 0 2670 --64.0833335 -63.9166665 -34.5833335 -34.4166665 162 0 2670 --63.9166665 -63.7499995 -34.5833335 -34.4166665 149 0 2670 --63.7500005 -63.5833335 -34.5833335 -34.4166665 145 0 2670 --63.5833335 -63.4166665 -34.5833335 -34.4166665 141 0 2670 --63.4166665 -63.2499995 -34.5833335 -34.4166665 137 0 2670 --63.2500005 -63.0833335 -34.5833335 -34.4166665 132 0 2670 --63.0833335 -62.9166665 -34.5833335 -34.4166665 126 0 2670 --62.9166665 -62.7499995 -34.5833335 -34.4166665 122 0 2670 --62.7500005 -62.5833335 -34.5833335 -34.4166665 119 0 2670 --62.5833335 -62.4166665 -34.5833335 -34.4166665 111 0 2670 --62.4166665 -62.2499995 -34.5833335 -34.4166665 112 0 2670 --62.2500005 -62.0833335 -34.5833335 -34.4166665 108 0 2670 --62.0833335 -61.9166665 -34.5833335 -34.4166665 106 0 2670 --61.9166665 -61.7499995 -34.5833335 -34.4166665 102 0 2670 --61.7500005 -61.5833335 -34.5833335 -34.4166665 91 0 2670 --61.5833335 -61.4166665 -34.5833335 -34.4166665 87 0 2670 --61.4166665 -61.2499995 -34.5833335 -34.4166665 83 0 2670 --61.2500005 -61.0833335 -34.5833335 -34.4166665 75 0 2670 --61.0833335 -60.9166665 -34.5833335 -34.4166665 85 0 2670 --60.9166665 -60.7499995 -34.5833335 -34.4166665 78 0 2670 --60.7500005 -60.5833335 -34.5833335 -34.4166665 71 0 2670 --60.5833335 -60.4166665 -34.5833335 -34.4166665 72 0 2670 --60.4166665 -60.2499995 -34.5833335 -34.4166665 68 0 2670 --60.2500005 -60.0833335 -34.5833335 -34.4166665 64 0 2670 --60.0833335 -59.9166665 -34.5833335 -34.4166665 50 0 2670 --59.9166665 -59.7499995 -34.5833335 -34.4166665 55 0 2670 --59.7500005 -59.5833335 -34.5833335 -34.4166665 53 0 2670 --59.5833335 -59.4166665 -34.5833335 -34.4166665 50 0 2670 --59.4166665 -59.2499995 -34.5833335 -34.4166665 42 0 2670 --59.2500005 -59.0833335 -34.5833335 -34.4166665 27 0 2670 --59.0833335 -58.9166665 -34.5833335 -34.4166665 13 0 2670 --58.9166665 -58.7499995 -34.5833335 -34.4166665 27 0 2670 --58.7500005 -58.5833335 -34.5833335 -34.4166665 20 0 2670 --58.5833335 -58.4166665 -34.5833335 -34.4166665 23 0 2670 --58.4166665 -58.2499995 -34.5833335 -34.4166665 0 -1 -1670 --58.2500005 -58.0833335 -34.5833335 -34.4166665 0 -1 -1670 --58.0833335 -57.9166665 -34.5833335 -34.4166665 0 -1 -1670 --57.9166665 -57.7499995 -34.5833335 -34.4166665 0 -1 -1670 --57.7500005 -57.5833335 -34.5833335 -34.4166665 0 -1 -1670 --57.5833335 -57.4166665 -34.5833335 -34.4166665 0 -1 -1670 --57.4166665 -57.2499995 -34.5833335 -34.4166665 0 -1 -1670 --57.2500005 -57.0833335 -34.5833335 -34.4166665 0 -1 -1670 --57.0833335 -56.9166665 -34.5833335 -34.4166665 11 0 2670 --56.9166665 -56.7499995 -34.5833335 -34.4166665 26 0 2670 --56.7500005 -56.5833335 -34.5833335 -34.4166665 16 0 2670 --56.5833335 -56.4166665 -34.5833335 -34.4166665 33 0 2670 --56.4166665 -56.2499995 -34.5833335 -34.4166665 16 0 2670 --56.2500005 -56.0833335 -34.5833335 -34.4166665 40 0 2670 --56.0833335 -55.9166665 -34.5833335 -34.4166665 61 0 2670 --55.9166665 -55.7499995 -34.5833335 -34.4166665 71 0 2670 --55.7500005 -55.5833335 -34.5833335 -34.4166665 51 0 2670 --55.5833335 -55.4166665 -34.5833335 -34.4166665 37 0 2670 --55.4166665 -55.2499995 -34.5833335 -34.4166665 215 0 2670 --55.2500005 -55.0833335 -34.5833335 -34.4166665 292 0 2670 --55.0833335 -54.9166665 -34.5833335 -34.4166665 156 0 2670 --54.9166665 -54.7499995 -34.5833335 -34.4166665 137 0 2670 --54.7500005 -54.5833335 -34.5833335 -34.4166665 85 0 2670 --54.5833335 -54.4166665 -34.5833335 -34.4166665 102 0 2670 --54.4166665 -54.2499995 -34.5833335 -34.4166665 18 0 2670 --54.2500005 -54.0833335 -34.5833335 -34.4166665 51 0 2670 --54.0833335 -53.9166665 -34.5833335 -34.4166665 13 0 2670 --53.9166665 -53.7499995 -34.5833335 -34.4166665 0 -23 -1670 --53.7500005 -53.5833335 -34.5833335 -34.4166665 0 -31 -1670 --53.5833335 -53.4166665 -34.5833335 -34.4166665 0 -35 -1670 --53.4166665 -53.2499995 -34.5833335 -34.4166665 0 -42 -1670 --53.2500005 -53.0833335 -34.5833335 -34.4166665 0 -55 -1670 --53.0833335 -52.9166665 -34.5833335 -34.4166665 0 -53 -1670 --52.9166665 -52.7499995 -34.5833335 -34.4166665 0 -84 -1670 --52.7500005 -52.5833335 -34.5833335 -34.4166665 0 -63 -1670 --52.5833335 -52.4166665 -34.5833335 -34.4166665 0 -72 -1670 --52.4166665 -52.2499995 -34.5833335 -34.4166665 0 -83 -1670 --52.2500005 -52.0833335 -34.5833335 -34.4166665 0 -125 -1670 --52.0833335 -51.9166665 -34.5833335 -34.4166665 0 -208 -1670 --51.9166665 -51.7499995 -34.5833335 -34.4166665 0 -448 -1670 --51.7500005 -51.5833335 -34.5833335 -34.4166665 0 -1076 -1670 --51.5833335 -51.4166665 -34.5833335 -34.4166665 0 -1407 -1670 --51.4166665 -51.2499995 -34.5833335 -34.4166665 0 -1776 -1670 --51.2500005 -51.0833335 -34.5833335 -34.4166665 0 -2116 -1670 --51.0833335 -50.9166665 -34.5833335 -34.4166665 0 -2490 -1670 --50.9166665 -50.7499995 -34.5833335 -34.4166665 0 -2822 -1670 --50.7500005 -50.5833335 -34.5833335 -34.4166665 0 -2857 -1670 --50.5833335 -50.4166665 -34.5833335 -34.4166665 0 -2972 -1670 --50.4166665 -50.2499995 -34.5833335 -34.4166665 0 -3009 -1670 --50.2500005 -50.0833335 -34.5833335 -34.4166665 0 -3138 -1670 --50.0833335 -49.9166665 -34.5833335 -34.4166665 0 -3196 -1670 --49.9166665 -49.7499995 -34.5833335 -34.4166665 0 -3309 -1670 --49.7500005 -49.5833335 -34.5833335 -34.4166665 0 -3542 -1670 --49.5833335 -49.4166665 -34.5833335 -34.4166665 0 -3556 -1670 --49.4166665 -49.2499995 -34.5833335 -34.4166665 0 -3592 -1670 --49.2500005 -49.0833335 -34.5833335 -34.4166665 0 -3738 -1670 --49.0833335 -48.9166665 -34.5833335 -34.4166665 0 -3784 -1670 --48.9166665 -48.7499995 -34.5833335 -34.4166665 0 -3923 -1670 --48.7500005 -48.5833335 -34.5833335 -34.4166665 0 -4017 -1670 --48.5833335 -48.4166665 -34.5833335 -34.4166665 0 -4143 -1670 --48.4166665 -48.2499995 -34.5833335 -34.4166665 0 -4189 -1670 --48.2500005 -48.0833335 -34.5833335 -34.4166665 0 -4264 -1670 --48.0833335 -47.9166665 -34.5833335 -34.4166665 0 -4384 -1670 --47.9166665 -47.7499995 -34.5833335 -34.4166665 0 -4462 -1670 --47.7500005 -47.5833335 -34.5833335 -34.4166665 0 -4521 -1670 --47.5833335 -47.4166665 -34.5833335 -34.4166665 0 -4566 -1670 --47.4166665 -47.2499995 -34.5833335 -34.4166665 0 -4588 -1670 --47.2500005 -47.0833335 -34.5833335 -34.4166665 0 -4608 -1670 --47.0833335 -46.9166665 -34.5833335 -34.4166665 0 -4621 -1670 --46.9166665 -46.7499995 -34.5833335 -34.4166665 0 -4633 -1670 --46.7500005 -46.5833335 -34.5833335 -34.4166665 0 -4613 -1670 --46.5833335 -46.4166665 -34.5833335 -34.4166665 0 -4650 -1670 --46.4166665 -46.2499995 -34.5833335 -34.4166665 0 -4695 -1670 --46.2500005 -46.0833335 -34.5833335 -34.4166665 0 -4737 -1670 --46.0833335 -45.9166665 -34.5833335 -34.4166665 0 -4768 -1670 --45.9166665 -45.7499995 -34.5833335 -34.4166665 0 -4764 -1670 --45.7500005 -45.5833335 -34.5833335 -34.4166665 0 -4779 -1670 --45.5833335 -45.4166665 -34.5833335 -34.4166665 0 -4785 -1670 --45.4166665 -45.2499995 -34.5833335 -34.4166665 0 -4801 -1670 --45.2500005 -45.0833335 -34.5833335 -34.4166665 0 -4803 -1670 --45.0833335 -44.9166665 -34.5833335 -34.4166665 0 -4796 -1670 --44.9166665 -44.7499995 -34.5833335 -34.4166665 0 -4783 -1670 --44.7500005 -44.5833335 -34.5833335 -34.4166665 0 -4774 -1670 --44.5833335 -44.4166665 -34.5833335 -34.4166665 0 -4761 -1670 --44.4166665 -44.2499995 -34.5833335 -34.4166665 0 -4771 -1670 --44.2500005 -44.0833335 -34.5833335 -34.4166665 0 -4748 -1670 --44.0833335 -43.9166665 -34.5833335 -34.4166665 0 -4749 -1670 --43.9166665 -43.7499995 -34.5833335 -34.4166665 0 -4748 -1670 --43.7500005 -43.5833335 -34.5833335 -34.4166665 0 -4735 -1670 --43.5833335 -43.4166665 -34.5833335 -34.4166665 0 -4732 -1670 --43.4166665 -43.2499995 -34.5833335 -34.4166665 0 -4705 -1670 --43.2500005 -43.0833335 -34.5833335 -34.4166665 0 -4712 -1670 --43.0833335 -42.9166665 -34.5833335 -34.4166665 0 -4703 -1670 --42.9166665 -42.7499995 -34.5833335 -34.4166665 0 -4670 -1670 --42.7500005 -42.5833335 -34.5833335 -34.4166665 0 -4667 -1670 --42.5833335 -42.4166665 -34.5833335 -34.4166665 0 -4664 -1670 --42.4166665 -42.2499995 -34.5833335 -34.4166665 0 -4665 -1670 --42.2500005 -42.0833335 -34.5833335 -34.4166665 0 -4677 -1670 --42.0833335 -41.9166665 -34.5833335 -34.4166665 0 -4687 -1670 --41.9166665 -41.7499995 -34.5833335 -34.4166665 0 -4682 -1670 --41.7500005 -41.5833335 -34.5833335 -34.4166665 0 -4671 -1670 --41.5833335 -41.4166665 -34.5833335 -34.4166665 0 -4670 -1670 --41.4166665 -41.2499995 -34.5833335 -34.4166665 0 -4683 -1670 --41.2500005 -41.0833335 -34.5833335 -34.4166665 0 -4670 -1670 --41.0833335 -40.9166665 -34.5833335 -34.4166665 0 -4725 -1670 --40.9166665 -40.7499995 -34.5833335 -34.4166665 0 -4672 -1670 --40.7500005 -40.5833335 -34.5833335 -34.4166665 0 -4645 -1670 --40.5833335 -40.4166665 -34.5833335 -34.4166665 0 -4731 -1670 --40.4166665 -40.2499995 -34.5833335 -34.4166665 0 -4863 -1670 --40.2500005 -40.0833335 -34.5833335 -34.4166665 0 -4845 -1670 --40.0833335 -39.9166665 -34.5833335 -34.4166665 0 -4837 -1670 --65.0833335 -64.9166665 -34.7500005 -34.5833335 269 0 2670 --64.9166665 -64.7499995 -34.7500005 -34.5833335 249 0 2670 --64.7500005 -64.5833335 -34.7500005 -34.5833335 231 0 2670 --64.5833335 -64.4166665 -34.7500005 -34.5833335 203 0 2670 --64.4166665 -64.2499995 -34.7500005 -34.5833335 182 0 2670 --64.2500005 -64.0833335 -34.7500005 -34.5833335 162 0 2670 --64.0833335 -63.9166665 -34.7500005 -34.5833335 150 0 2670 --63.9166665 -63.7499995 -34.7500005 -34.5833335 145 0 2670 --63.7500005 -63.5833335 -34.7500005 -34.5833335 139 0 2670 --63.5833335 -63.4166665 -34.7500005 -34.5833335 129 0 2670 --63.4166665 -63.2499995 -34.7500005 -34.5833335 132 0 2670 --63.2500005 -63.0833335 -34.7500005 -34.5833335 128 0 2670 --63.0833335 -62.9166665 -34.7500005 -34.5833335 121 0 2670 --62.9166665 -62.7499995 -34.7500005 -34.5833335 116 0 2670 --62.7500005 -62.5833335 -34.7500005 -34.5833335 113 0 2670 --62.5833335 -62.4166665 -34.7500005 -34.5833335 108 0 2670 --62.4166665 -62.2499995 -34.7500005 -34.5833335 103 0 2670 --62.2500005 -62.0833335 -34.7500005 -34.5833335 102 0 2670 --62.0833335 -61.9166665 -34.7500005 -34.5833335 100 0 2670 --61.9166665 -61.7499995 -34.7500005 -34.5833335 94 0 2670 --61.7500005 -61.5833335 -34.7500005 -34.5833335 91 0 2670 --61.5833335 -61.4166665 -34.7500005 -34.5833335 87 0 2670 --61.4166665 -61.2499995 -34.7500005 -34.5833335 79 0 2670 --61.2500005 -61.0833335 -34.7500005 -34.5833335 80 0 2670 --61.0833335 -60.9166665 -34.7500005 -34.5833335 77 0 2670 --60.9166665 -60.7499995 -34.7500005 -34.5833335 77 0 2670 --60.7500005 -60.5833335 -34.7500005 -34.5833335 66 0 2670 --60.5833335 -60.4166665 -34.7500005 -34.5833335 67 0 2670 --60.4166665 -60.2499995 -34.7500005 -34.5833335 66 0 2670 --60.2500005 -60.0833335 -34.7500005 -34.5833335 59 0 2670 --60.0833335 -59.9166665 -34.7500005 -34.5833335 54 0 2670 --59.9166665 -59.7499995 -34.7500005 -34.5833335 51 0 2670 --59.7500005 -59.5833335 -34.7500005 -34.5833335 47 0 2670 --59.5833335 -59.4166665 -34.7500005 -34.5833335 34 0 2670 --59.4166665 -59.2499995 -34.7500005 -34.5833335 33 0 2670 --59.2500005 -59.0833335 -34.7500005 -34.5833335 33 0 2670 --59.0833335 -58.9166665 -34.7500005 -34.5833335 24 0 2670 --58.9166665 -58.7499995 -34.7500005 -34.5833335 27 0 2670 --58.7500005 -58.5833335 -34.7500005 -34.5833335 30 0 2670 --58.5833335 -58.4166665 -34.7500005 -34.5833335 21 0 2670 --58.4166665 -58.2499995 -34.7500005 -34.5833335 6 0 2670 --58.2500005 -58.0833335 -34.7500005 -34.5833335 0 -1 -1670 --58.0833335 -57.9166665 -34.7500005 -34.5833335 0 -1 -1670 --57.9166665 -57.7499995 -34.7500005 -34.5833335 0 -1 -1670 --57.7500005 -57.5833335 -34.7500005 -34.5833335 0 -1 -1670 --57.5833335 -57.4166665 -34.7500005 -34.5833335 0 -1 -1670 --57.4166665 -57.2499995 -34.7500005 -34.5833335 0 -1 -1670 --57.2500005 -57.0833335 -34.7500005 -34.5833335 0 -1 -1670 --57.0833335 -56.9166665 -34.7500005 -34.5833335 0 -1 -1670 --56.9166665 -56.7499995 -34.7500005 -34.5833335 3 0 2670 --56.7500005 -56.5833335 -34.7500005 -34.5833335 19 0 2670 --56.5833335 -56.4166665 -34.7500005 -34.5833335 0 -3 -1670 --56.4166665 -56.2499995 -34.7500005 -34.5833335 21 0 2670 --56.2500005 -56.0833335 -34.7500005 -34.5833335 51 0 2670 --56.0833335 -55.9166665 -34.7500005 -34.5833335 35 0 2670 --55.9166665 -55.7499995 -34.7500005 -34.5833335 45 0 2670 --55.7500005 -55.5833335 -34.7500005 -34.5833335 20 0 2670 --55.5833335 -55.4166665 -34.7500005 -34.5833335 37 0 2670 --55.4166665 -55.2499995 -34.7500005 -34.5833335 336 0 2670 --55.2500005 -55.0833335 -34.7500005 -34.5833335 85 0 2670 --55.0833335 -54.9166665 -34.7500005 -34.5833335 81 0 2670 --54.9166665 -54.7499995 -34.7500005 -34.5833335 46 0 2670 --54.7500005 -54.5833335 -34.7500005 -34.5833335 61 0 2670 --54.5833335 -54.4166665 -34.7500005 -34.5833335 31 0 2670 --54.4166665 -54.2499995 -34.7500005 -34.5833335 7 0 2670 --54.2500005 -54.0833335 -34.7500005 -34.5833335 1 0 2670 --54.0833335 -53.9166665 -34.7500005 -34.5833335 0 -20 -1670 --53.9166665 -53.7499995 -34.7500005 -34.5833335 0 -38 -1670 --53.7500005 -53.5833335 -34.7500005 -34.5833335 0 -44 -1670 --53.5833335 -53.4166665 -34.7500005 -34.5833335 0 -47 -1670 --53.4166665 -53.2499995 -34.7500005 -34.5833335 0 -65 -1670 --53.2500005 -53.0833335 -34.7500005 -34.5833335 0 -39 -1670 --53.0833335 -52.9166665 -34.7500005 -34.5833335 0 -38 -1670 --52.9166665 -52.7499995 -34.7500005 -34.5833335 0 -76 -1670 --52.7500005 -52.5833335 -34.7500005 -34.5833335 0 -67 -1670 --52.5833335 -52.4166665 -34.7500005 -34.5833335 0 -37 -1670 --52.4166665 -52.2499995 -34.7500005 -34.5833335 0 -94 -1670 --52.2500005 -52.0833335 -34.7500005 -34.5833335 0 -126 -1670 --52.0833335 -51.9166665 -34.7500005 -34.5833335 0 -438 -1670 --51.9166665 -51.7499995 -34.7500005 -34.5833335 0 -1038 -1670 --51.7500005 -51.5833335 -34.7500005 -34.5833335 0 -1396 -1670 --51.5833335 -51.4166665 -34.7500005 -34.5833335 0 -1747 -1670 --51.4166665 -51.2499995 -34.7500005 -34.5833335 0 -1987 -1670 --51.2500005 -51.0833335 -34.7500005 -34.5833335 0 -2170 -1670 --51.0833335 -50.9166665 -34.7500005 -34.5833335 0 -2372 -1670 --50.9166665 -50.7499995 -34.7500005 -34.5833335 0 -2976 -1670 --50.7500005 -50.5833335 -34.7500005 -34.5833335 0 -3064 -1670 --50.5833335 -50.4166665 -34.7500005 -34.5833335 0 -3137 -1670 --50.4166665 -50.2499995 -34.7500005 -34.5833335 0 -3225 -1670 --50.2500005 -50.0833335 -34.7500005 -34.5833335 0 -3295 -1670 --50.0833335 -49.9166665 -34.7500005 -34.5833335 0 -3386 -1670 --49.9166665 -49.7499995 -34.7500005 -34.5833335 0 -3479 -1670 --49.7500005 -49.5833335 -34.7500005 -34.5833335 0 -3462 -1670 --49.5833335 -49.4166665 -34.7500005 -34.5833335 0 -3625 -1670 --49.4166665 -49.2499995 -34.7500005 -34.5833335 0 -3747 -1670 --49.2500005 -49.0833335 -34.7500005 -34.5833335 0 -3880 -1670 --49.0833335 -48.9166665 -34.7500005 -34.5833335 0 -3953 -1670 --48.9166665 -48.7499995 -34.7500005 -34.5833335 0 -4082 -1670 --48.7500005 -48.5833335 -34.7500005 -34.5833335 0 -4225 -1670 --48.5833335 -48.4166665 -34.7500005 -34.5833335 0 -4312 -1670 --48.4166665 -48.2499995 -34.7500005 -34.5833335 0 -4357 -1670 --48.2500005 -48.0833335 -34.7500005 -34.5833335 0 -4508 -1670 --48.0833335 -47.9166665 -34.7500005 -34.5833335 0 -4598 -1670 --47.9166665 -47.7499995 -34.7500005 -34.5833335 0 -4612 -1670 --47.7500005 -47.5833335 -34.7500005 -34.5833335 0 -4631 -1670 --47.5833335 -47.4166665 -34.7500005 -34.5833335 0 -4674 -1670 --47.4166665 -47.2499995 -34.7500005 -34.5833335 0 -4686 -1670 --47.2500005 -47.0833335 -34.7500005 -34.5833335 0 -4730 -1670 --47.0833335 -46.9166665 -34.7500005 -34.5833335 0 -4719 -1670 --46.9166665 -46.7499995 -34.7500005 -34.5833335 0 -4716 -1670 --46.7500005 -46.5833335 -34.7500005 -34.5833335 0 -4704 -1670 --46.5833335 -46.4166665 -34.7500005 -34.5833335 0 -4664 -1670 --46.4166665 -46.2499995 -34.7500005 -34.5833335 0 -4674 -1670 --46.2500005 -46.0833335 -34.7500005 -34.5833335 0 -4727 -1670 --46.0833335 -45.9166665 -34.7500005 -34.5833335 0 -4766 -1670 --45.9166665 -45.7499995 -34.7500005 -34.5833335 0 -4786 -1670 --45.7500005 -45.5833335 -34.7500005 -34.5833335 0 -4792 -1670 --45.5833335 -45.4166665 -34.7500005 -34.5833335 0 -4822 -1670 --45.4166665 -45.2499995 -34.7500005 -34.5833335 0 -4833 -1670 --45.2500005 -45.0833335 -34.7500005 -34.5833335 0 -4806 -1670 --45.0833335 -44.9166665 -34.7500005 -34.5833335 0 -4792 -1670 --44.9166665 -44.7499995 -34.7500005 -34.5833335 0 -4818 -1670 --44.7500005 -44.5833335 -34.7500005 -34.5833335 0 -4819 -1670 --44.5833335 -44.4166665 -34.7500005 -34.5833335 0 -4809 -1670 --44.4166665 -44.2499995 -34.7500005 -34.5833335 0 -4798 -1670 --44.2500005 -44.0833335 -34.7500005 -34.5833335 0 -4791 -1670 --44.0833335 -43.9166665 -34.7500005 -34.5833335 0 -4794 -1670 --43.9166665 -43.7499995 -34.7500005 -34.5833335 0 -4804 -1670 --43.7500005 -43.5833335 -34.7500005 -34.5833335 0 -4796 -1670 --43.5833335 -43.4166665 -34.7500005 -34.5833335 0 -4775 -1670 --43.4166665 -43.2499995 -34.7500005 -34.5833335 0 -4785 -1670 --43.2500005 -43.0833335 -34.7500005 -34.5833335 0 -4749 -1670 --43.0833335 -42.9166665 -34.7500005 -34.5833335 0 -4757 -1670 --42.9166665 -42.7499995 -34.7500005 -34.5833335 0 -4735 -1670 --42.7500005 -42.5833335 -34.7500005 -34.5833335 0 -4723 -1670 --42.5833335 -42.4166665 -34.7500005 -34.5833335 0 -4724 -1670 --42.4166665 -42.2499995 -34.7500005 -34.5833335 0 -4726 -1670 --42.2500005 -42.0833335 -34.7500005 -34.5833335 0 -4700 -1670 --42.0833335 -41.9166665 -34.7500005 -34.5833335 0 -4715 -1670 --41.9166665 -41.7499995 -34.7500005 -34.5833335 0 -4701 -1670 --41.7500005 -41.5833335 -34.7500005 -34.5833335 0 -4701 -1670 --41.5833335 -41.4166665 -34.7500005 -34.5833335 0 -4695 -1670 --41.4166665 -41.2499995 -34.7500005 -34.5833335 0 -4689 -1670 --41.2500005 -41.0833335 -34.7500005 -34.5833335 0 -4713 -1670 --41.0833335 -40.9166665 -34.7500005 -34.5833335 0 -4703 -1670 --40.9166665 -40.7499995 -34.7500005 -34.5833335 0 -4750 -1670 --40.7500005 -40.5833335 -34.7500005 -34.5833335 0 -4662 -1670 --40.5833335 -40.4166665 -34.7500005 -34.5833335 0 -4747 -1670 --40.4166665 -40.2499995 -34.7500005 -34.5833335 0 -4792 -1670 --40.2500005 -40.0833335 -34.7500005 -34.5833335 0 -4902 -1670 --40.0833335 -39.9166665 -34.7500005 -34.5833335 0 -4880 -1670 --65.0833335 -64.9166665 -34.9166665 -34.7499995 267 0 2670 --64.9166665 -64.7499995 -34.9166665 -34.7499995 233 0 2670 --64.7500005 -64.5833335 -34.9166665 -34.7499995 230 0 2670 --64.5833335 -64.4166665 -34.9166665 -34.7499995 201 0 2670 --64.4166665 -64.2499995 -34.9166665 -34.7499995 175 0 2670 --64.2500005 -64.0833335 -34.9166665 -34.7499995 159 0 2670 --64.0833335 -63.9166665 -34.9166665 -34.7499995 148 0 2670 --63.9166665 -63.7499995 -34.9166665 -34.7499995 141 0 2670 --63.7500005 -63.5833335 -34.9166665 -34.7499995 132 0 2670 --63.5833335 -63.4166665 -34.9166665 -34.7499995 127 0 2670 --63.4166665 -63.2499995 -34.9166665 -34.7499995 122 0 2670 --63.2500005 -63.0833335 -34.9166665 -34.7499995 121 0 2670 --63.0833335 -62.9166665 -34.9166665 -34.7499995 119 0 2670 --62.9166665 -62.7499995 -34.9166665 -34.7499995 117 0 2670 --62.7500005 -62.5833335 -34.9166665 -34.7499995 113 0 2670 --62.5833335 -62.4166665 -34.9166665 -34.7499995 109 0 2670 --62.4166665 -62.2499995 -34.9166665 -34.7499995 105 0 2670 --62.2500005 -62.0833335 -34.9166665 -34.7499995 114 0 2670 --62.0833335 -61.9166665 -34.9166665 -34.7499995 100 0 2670 --61.9166665 -61.7499995 -34.9166665 -34.7499995 107 0 2670 --61.7500005 -61.5833335 -34.9166665 -34.7499995 93 0 2670 --61.5833335 -61.4166665 -34.9166665 -34.7499995 84 0 2670 --61.4166665 -61.2499995 -34.9166665 -34.7499995 81 0 2670 --61.2500005 -61.0833335 -34.9166665 -34.7499995 77 0 2670 --61.0833335 -60.9166665 -34.9166665 -34.7499995 77 0 2670 --60.9166665 -60.7499995 -34.9166665 -34.7499995 74 0 2670 --60.7500005 -60.5833335 -34.9166665 -34.7499995 63 0 2670 --60.5833335 -60.4166665 -34.9166665 -34.7499995 55 0 2670 --60.4166665 -60.2499995 -34.9166665 -34.7499995 60 0 2670 --60.2500005 -60.0833335 -34.9166665 -34.7499995 54 0 2670 --60.0833335 -59.9166665 -34.9166665 -34.7499995 56 0 2670 --59.9166665 -59.7499995 -34.9166665 -34.7499995 49 0 2670 --59.7500005 -59.5833335 -34.9166665 -34.7499995 48 0 2670 --59.5833335 -59.4166665 -34.9166665 -34.7499995 41 0 2670 --59.4166665 -59.2499995 -34.9166665 -34.7499995 37 0 2670 --59.2500005 -59.0833335 -34.9166665 -34.7499995 40 0 2670 --59.0833335 -58.9166665 -34.9166665 -34.7499995 34 0 2670 --58.9166665 -58.7499995 -34.9166665 -34.7499995 25 0 2670 --58.7500005 -58.5833335 -34.9166665 -34.7499995 20 0 2670 --58.5833335 -58.4166665 -34.9166665 -34.7499995 15 0 2670 --58.4166665 -58.2499995 -34.9166665 -34.7499995 20 0 2670 --58.2500005 -58.0833335 -34.9166665 -34.7499995 22 0 2670 --58.0833335 -57.9166665 -34.9166665 -34.7499995 2 0 2670 --57.9166665 -57.7499995 -34.9166665 -34.7499995 0 -1 -1670 --57.7500005 -57.5833335 -34.9166665 -34.7499995 0 -1 -1670 --57.5833335 -57.4166665 -34.9166665 -34.7499995 0 -1 -1670 --57.4166665 -57.2499995 -34.9166665 -34.7499995 0 -1 -1670 --57.2500005 -57.0833335 -34.9166665 -34.7499995 0 -1 -1670 --57.0833335 -56.9166665 -34.9166665 -34.7499995 0 -1 -1670 --56.9166665 -56.7499995 -34.9166665 -34.7499995 0 -1 -1670 --56.7500005 -56.5833335 -34.9166665 -34.7499995 0 -1 -1670 --56.5833335 -56.4166665 -34.9166665 -34.7499995 0 -1 -1670 --56.4166665 -56.2499995 -34.9166665 -34.7499995 38 0 2670 --56.2500005 -56.0833335 -34.9166665 -34.7499995 33 0 2670 --56.0833335 -55.9166665 -34.9166665 -34.7499995 15 0 2670 --55.9166665 -55.7499995 -34.9166665 -34.7499995 0 -2 -1670 --55.7500005 -55.5833335 -34.9166665 -34.7499995 0 -3 -1670 --55.5833335 -55.4166665 -34.9166665 -34.7499995 0 -1 -1670 --55.4166665 -55.2499995 -34.9166665 -34.7499995 0 -1 -1670 --55.2500005 -55.0833335 -34.9166665 -34.7499995 13 0 2670 --55.0833335 -54.9166665 -34.9166665 -34.7499995 28 0 2670 --54.9166665 -54.7499995 -34.9166665 -34.7499995 32 0 2670 --54.7500005 -54.5833335 -34.9166665 -34.7499995 4 0 2670 --54.5833335 -54.4166665 -34.9166665 -34.7499995 0 -18 -1670 --54.4166665 -54.2499995 -34.9166665 -34.7499995 0 -23 -1670 --54.2500005 -54.0833335 -34.9166665 -34.7499995 0 -22 -1670 --54.0833335 -53.9166665 -34.9166665 -34.7499995 0 -31 -1670 --53.9166665 -53.7499995 -34.9166665 -34.7499995 0 -42 -1670 --53.7500005 -53.5833335 -34.9166665 -34.7499995 0 -61 -1670 --53.5833335 -53.4166665 -34.9166665 -34.7499995 0 -35 -1670 --53.4166665 -53.2499995 -34.9166665 -34.7499995 0 -49 -1670 --53.2500005 -53.0833335 -34.9166665 -34.7499995 0 -49 -1670 --53.0833335 -52.9166665 -34.9166665 -34.7499995 0 -49 -1670 --52.9166665 -52.7499995 -34.9166665 -34.7499995 0 -63 -1670 --52.7500005 -52.5833335 -34.9166665 -34.7499995 0 -82 -1670 --52.5833335 -52.4166665 -34.9166665 -34.7499995 0 -112 -1670 --52.4166665 -52.2499995 -34.9166665 -34.7499995 0 -108 -1670 --52.2500005 -52.0833335 -34.9166665 -34.7499995 0 -204 -1670 --52.0833335 -51.9166665 -34.9166665 -34.7499995 0 -881 -1670 --51.9166665 -51.7499995 -34.9166665 -34.7499995 0 -1303 -1670 --51.7500005 -51.5833335 -34.9166665 -34.7499995 0 -1717 -1670 --51.5833335 -51.4166665 -34.9166665 -34.7499995 0 -1973 -1670 --51.4166665 -51.2499995 -34.9166665 -34.7499995 0 -2251 -1670 --51.2500005 -51.0833335 -34.9166665 -34.7499995 0 -2508 -1670 --51.0833335 -50.9166665 -34.9166665 -34.7499995 0 -2756 -1670 --50.9166665 -50.7499995 -34.9166665 -34.7499995 0 -2699 -1670 --50.7500005 -50.5833335 -34.9166665 -34.7499995 0 -3199 -1670 --50.5833335 -50.4166665 -34.9166665 -34.7499995 0 -3237 -1670 --50.4166665 -50.2499995 -34.9166665 -34.7499995 0 -3515 -1670 --50.2500005 -50.0833335 -34.9166665 -34.7499995 0 -3427 -1670 --50.0833335 -49.9166665 -34.9166665 -34.7499995 0 -3581 -1670 --49.9166665 -49.7499995 -34.9166665 -34.7499995 0 -3746 -1670 --49.7500005 -49.5833335 -34.9166665 -34.7499995 0 -3773 -1670 --49.5833335 -49.4166665 -34.9166665 -34.7499995 0 -3871 -1670 --49.4166665 -49.2499995 -34.9166665 -34.7499995 0 -3957 -1670 --49.2500005 -49.0833335 -34.9166665 -34.7499995 0 -4243 -1670 --49.0833335 -48.9166665 -34.9166665 -34.7499995 0 -4190 -1670 --48.9166665 -48.7499995 -34.9166665 -34.7499995 0 -4311 -1670 --48.7500005 -48.5833335 -34.9166665 -34.7499995 0 -4430 -1670 --48.5833335 -48.4166665 -34.9166665 -34.7499995 0 -4530 -1670 --48.4166665 -48.2499995 -34.9166665 -34.7499995 0 -4537 -1670 --48.2500005 -48.0833335 -34.9166665 -34.7499995 0 -4586 -1670 --48.0833335 -47.9166665 -34.9166665 -34.7499995 0 -4641 -1670 --47.9166665 -47.7499995 -34.9166665 -34.7499995 0 -4675 -1670 --47.7500005 -47.5833335 -34.9166665 -34.7499995 0 -4696 -1670 --47.5833335 -47.4166665 -34.9166665 -34.7499995 0 -4720 -1670 --47.4166665 -47.2499995 -34.9166665 -34.7499995 0 -4750 -1670 --47.2500005 -47.0833335 -34.9166665 -34.7499995 0 -4765 -1670 --47.0833335 -46.9166665 -34.9166665 -34.7499995 0 -4782 -1670 --46.9166665 -46.7499995 -34.9166665 -34.7499995 0 -4772 -1670 --46.7500005 -46.5833335 -34.9166665 -34.7499995 0 -4762 -1670 --46.5833335 -46.4166665 -34.9166665 -34.7499995 0 -4742 -1670 --46.4166665 -46.2499995 -34.9166665 -34.7499995 0 -4714 -1670 --46.2500005 -46.0833335 -34.9166665 -34.7499995 0 -4717 -1670 --46.0833335 -45.9166665 -34.9166665 -34.7499995 0 -4743 -1670 --45.9166665 -45.7499995 -34.9166665 -34.7499995 0 -4795 -1670 --45.7500005 -45.5833335 -34.9166665 -34.7499995 0 -4816 -1670 --45.5833335 -45.4166665 -34.9166665 -34.7499995 0 -4828 -1670 --45.4166665 -45.2499995 -34.9166665 -34.7499995 0 -4836 -1670 --45.2500005 -45.0833335 -34.9166665 -34.7499995 0 -4825 -1670 --45.0833335 -44.9166665 -34.9166665 -34.7499995 0 -4825 -1670 --44.9166665 -44.7499995 -34.9166665 -34.7499995 0 -4836 -1670 --44.7500005 -44.5833335 -34.9166665 -34.7499995 0 -4847 -1670 --44.5833335 -44.4166665 -34.9166665 -34.7499995 0 -4836 -1670 --44.4166665 -44.2499995 -34.9166665 -34.7499995 0 -4843 -1670 --44.2500005 -44.0833335 -34.9166665 -34.7499995 0 -4848 -1670 --44.0833335 -43.9166665 -34.9166665 -34.7499995 0 -4852 -1670 --43.9166665 -43.7499995 -34.9166665 -34.7499995 0 -4842 -1670 --43.7500005 -43.5833335 -34.9166665 -34.7499995 0 -4830 -1670 --43.5833335 -43.4166665 -34.9166665 -34.7499995 0 -4832 -1670 --43.4166665 -43.2499995 -34.9166665 -34.7499995 0 -4804 -1670 --43.2500005 -43.0833335 -34.9166665 -34.7499995 0 -4794 -1670 --43.0833335 -42.9166665 -34.9166665 -34.7499995 0 -4802 -1670 --42.9166665 -42.7499995 -34.9166665 -34.7499995 0 -4779 -1670 --42.7500005 -42.5833335 -34.9166665 -34.7499995 0 -4778 -1670 --42.5833335 -42.4166665 -34.9166665 -34.7499995 0 -4760 -1670 --42.4166665 -42.2499995 -34.9166665 -34.7499995 0 -4760 -1670 --42.2500005 -42.0833335 -34.9166665 -34.7499995 0 -4747 -1670 --42.0833335 -41.9166665 -34.9166665 -34.7499995 0 -4733 -1670 --41.9166665 -41.7499995 -34.9166665 -34.7499995 0 -4740 -1670 --41.7500005 -41.5833335 -34.9166665 -34.7499995 0 -4730 -1670 --41.5833335 -41.4166665 -34.9166665 -34.7499995 0 -4724 -1670 --41.4166665 -41.2499995 -34.9166665 -34.7499995 0 -4708 -1670 --41.2500005 -41.0833335 -34.9166665 -34.7499995 0 -4723 -1670 --41.0833335 -40.9166665 -34.9166665 -34.7499995 0 -4733 -1670 --40.9166665 -40.7499995 -34.9166665 -34.7499995 0 -4732 -1670 --40.7500005 -40.5833335 -34.9166665 -34.7499995 0 -4716 -1670 --40.5833335 -40.4166665 -34.9166665 -34.7499995 0 -4699 -1670 --40.4166665 -40.2499995 -34.9166665 -34.7499995 0 -4763 -1670 --40.2500005 -40.0833335 -34.9166665 -34.7499995 0 -4804 -1670 --40.0833335 -39.9166665 -34.9166665 -34.7499995 0 -4945 -1670 --65.0833335 -64.9166665 -35.0833335 -34.9166665 269 0 2670 --64.9166665 -64.7499995 -35.0833335 -34.9166665 261 0 2670 --64.7500005 -64.5833335 -35.0833335 -34.9166665 233 0 2670 --64.5833335 -64.4166665 -35.0833335 -34.9166665 196 0 2670 --64.4166665 -64.2499995 -35.0833335 -34.9166665 179 0 2670 --64.2500005 -64.0833335 -35.0833335 -34.9166665 157 0 2670 --64.0833335 -63.9166665 -35.0833335 -34.9166665 145 0 2670 --63.9166665 -63.7499995 -35.0833335 -34.9166665 137 0 2670 --63.7500005 -63.5833335 -35.0833335 -34.9166665 126 0 2670 --63.5833335 -63.4166665 -35.0833335 -34.9166665 125 0 2670 --63.4166665 -63.2499995 -35.0833335 -34.9166665 121 0 2670 --63.2500005 -63.0833335 -35.0833335 -34.9166665 116 0 2670 --63.0833335 -62.9166665 -35.0833335 -34.9166665 114 0 2670 --62.9166665 -62.7499995 -35.0833335 -34.9166665 114 0 2670 --62.7500005 -62.5833335 -35.0833335 -34.9166665 110 0 2670 --62.5833335 -62.4166665 -35.0833335 -34.9166665 105 0 2670 --62.4166665 -62.2499995 -35.0833335 -34.9166665 105 0 2670 --62.2500005 -62.0833335 -35.0833335 -34.9166665 128 0 2670 --62.0833335 -61.9166665 -35.0833335 -34.9166665 109 0 2670 --61.9166665 -61.7499995 -35.0833335 -34.9166665 99 0 2670 --61.7500005 -61.5833335 -35.0833335 -34.9166665 89 0 2670 --61.5833335 -61.4166665 -35.0833335 -34.9166665 82 0 2670 --61.4166665 -61.2499995 -35.0833335 -34.9166665 77 0 2670 --61.2500005 -61.0833335 -35.0833335 -34.9166665 73 0 2670 --61.0833335 -60.9166665 -35.0833335 -34.9166665 70 0 2670 --60.9166665 -60.7499995 -35.0833335 -34.9166665 63 0 2670 --60.7500005 -60.5833335 -35.0833335 -34.9166665 64 0 2670 --60.5833335 -60.4166665 -35.0833335 -34.9166665 55 0 2670 --60.4166665 -60.2499995 -35.0833335 -34.9166665 55 0 2670 --60.2500005 -60.0833335 -35.0833335 -34.9166665 48 0 2670 --60.0833335 -59.9166665 -35.0833335 -34.9166665 46 0 2670 --59.9166665 -59.7499995 -35.0833335 -34.9166665 50 0 2670 --59.7500005 -59.5833335 -35.0833335 -34.9166665 44 0 2670 --59.5833335 -59.4166665 -35.0833335 -34.9166665 44 0 2670 --59.4166665 -59.2499995 -35.0833335 -34.9166665 35 0 2670 --59.2500005 -59.0833335 -35.0833335 -34.9166665 34 0 2670 --59.0833335 -58.9166665 -35.0833335 -34.9166665 37 0 2670 --58.9166665 -58.7499995 -35.0833335 -34.9166665 31 0 2670 --58.7500005 -58.5833335 -35.0833335 -34.9166665 23 0 2670 --58.5833335 -58.4166665 -35.0833335 -34.9166665 25 0 2670 --58.4166665 -58.2499995 -35.0833335 -34.9166665 22 0 2670 --58.2500005 -58.0833335 -35.0833335 -34.9166665 24 0 2670 --58.0833335 -57.9166665 -35.0833335 -34.9166665 25 0 2670 --57.9166665 -57.7499995 -35.0833335 -34.9166665 6 0 2670 --57.7500005 -57.5833335 -35.0833335 -34.9166665 5 0 2670 --57.5833335 -57.4166665 -35.0833335 -34.9166665 0 -1 -1670 --57.4166665 -57.2499995 -35.0833335 -34.9166665 0 -1 -1670 --57.2500005 -57.0833335 -35.0833335 -34.9166665 0 -1 -1670 --57.0833335 -56.9166665 -35.0833335 -34.9166665 0 -1 -1670 --56.9166665 -56.7499995 -35.0833335 -34.9166665 0 -1 -1670 --56.7500005 -56.5833335 -35.0833335 -34.9166665 0 -2 -1670 --56.5833335 -56.4166665 -35.0833335 -34.9166665 0 -3 -1670 --56.4166665 -56.2499995 -35.0833335 -34.9166665 0 -3 -1670 --56.2500005 -56.0833335 -35.0833335 -34.9166665 0 -4 -1670 --56.0833335 -55.9166665 -35.0833335 -34.9166665 0 -7 -1670 --55.9166665 -55.7499995 -35.0833335 -34.9166665 0 -10 -1670 --55.7500005 -55.5833335 -35.0833335 -34.9166665 0 -12 -1670 --55.5833335 -55.4166665 -35.0833335 -34.9166665 0 -15 -1670 --55.4166665 -55.2499995 -35.0833335 -34.9166665 0 -19 -1670 --55.2500005 -55.0833335 -35.0833335 -34.9166665 0 -21 -1670 --55.0833335 -54.9166665 -35.0833335 -34.9166665 0 -18 -1670 --54.9166665 -54.7499995 -35.0833335 -34.9166665 0 -21 -1670 --54.7500005 -54.5833335 -35.0833335 -34.9166665 0 -21 -1670 --54.5833335 -54.4166665 -35.0833335 -34.9166665 0 -25 -1670 --54.4166665 -54.2499995 -35.0833335 -34.9166665 0 -25 -1670 --54.2500005 -54.0833335 -35.0833335 -34.9166665 0 -27 -1670 --54.0833335 -53.9166665 -35.0833335 -34.9166665 0 -32 -1670 --53.9166665 -53.7499995 -35.0833335 -34.9166665 0 -41 -1670 --53.7500005 -53.5833335 -35.0833335 -34.9166665 0 -39 -1670 --53.5833335 -53.4166665 -35.0833335 -34.9166665 0 -39 -1670 --53.4166665 -53.2499995 -35.0833335 -34.9166665 0 -41 -1670 --53.2500005 -53.0833335 -35.0833335 -34.9166665 0 -48 -1670 --53.0833335 -52.9166665 -35.0833335 -34.9166665 0 -48 -1670 --52.9166665 -52.7499995 -35.0833335 -34.9166665 0 -68 -1670 --52.7500005 -52.5833335 -35.0833335 -34.9166665 0 -103 -1670 --52.5833335 -52.4166665 -35.0833335 -34.9166665 0 -153 -1670 --52.4166665 -52.2499995 -35.0833335 -34.9166665 0 -170 -1670 --52.2500005 -52.0833335 -35.0833335 -34.9166665 0 -663 -1670 --52.0833335 -51.9166665 -35.0833335 -34.9166665 0 -1148 -1670 --51.9166665 -51.7499995 -35.0833335 -34.9166665 0 -1485 -1670 --51.7500005 -51.5833335 -35.0833335 -34.9166665 0 -1815 -1670 --51.5833335 -51.4166665 -35.0833335 -34.9166665 0 -2103 -1670 --51.4166665 -51.2499995 -35.0833335 -34.9166665 0 -2311 -1670 --51.2500005 -51.0833335 -35.0833335 -34.9166665 0 -2503 -1670 --51.0833335 -50.9166665 -35.0833335 -34.9166665 0 -2714 -1670 --50.9166665 -50.7499995 -35.0833335 -34.9166665 0 -2868 -1670 --50.7500005 -50.5833335 -35.0833335 -34.9166665 0 -2942 -1670 --50.5833335 -50.4166665 -35.0833335 -34.9166665 0 -3442 -1670 --50.4166665 -50.2499995 -35.0833335 -34.9166665 0 -3519 -1670 --50.2500005 -50.0833335 -35.0833335 -34.9166665 0 -3590 -1670 --50.0833335 -49.9166665 -35.0833335 -34.9166665 0 -3661 -1670 --49.9166665 -49.7499995 -35.0833335 -34.9166665 0 -3793 -1670 --49.7500005 -49.5833335 -35.0833335 -34.9166665 0 -3858 -1670 --49.5833335 -49.4166665 -35.0833335 -34.9166665 0 -4042 -1670 --49.4166665 -49.2499995 -35.0833335 -34.9166665 0 -4192 -1670 --49.2500005 -49.0833335 -35.0833335 -34.9166665 0 -4296 -1670 --49.0833335 -48.9166665 -35.0833335 -34.9166665 0 -4316 -1670 --48.9166665 -48.7499995 -35.0833335 -34.9166665 0 -4414 -1670 --48.7500005 -48.5833335 -35.0833335 -34.9166665 0 -4530 -1670 --48.5833335 -48.4166665 -35.0833335 -34.9166665 0 -4574 -1670 --48.4166665 -48.2499995 -35.0833335 -34.9166665 0 -4604 -1670 --48.2500005 -48.0833335 -35.0833335 -34.9166665 0 -4637 -1670 --48.0833335 -47.9166665 -35.0833335 -34.9166665 0 -4697 -1670 --47.9166665 -47.7499995 -35.0833335 -34.9166665 0 -4714 -1670 --47.7500005 -47.5833335 -35.0833335 -34.9166665 0 -4725 -1670 --47.5833335 -47.4166665 -35.0833335 -34.9166665 0 -4765 -1670 --47.4166665 -47.2499995 -35.0833335 -34.9166665 0 -4787 -1670 --47.2500005 -47.0833335 -35.0833335 -34.9166665 0 -4798 -1670 --47.0833335 -46.9166665 -35.0833335 -34.9166665 0 -4815 -1670 --46.9166665 -46.7499995 -35.0833335 -34.9166665 0 -4819 -1670 --46.7500005 -46.5833335 -35.0833335 -34.9166665 0 -4804 -1670 --46.5833335 -46.4166665 -35.0833335 -34.9166665 0 -4800 -1670 --46.4166665 -46.2499995 -35.0833335 -34.9166665 0 -4786 -1670 --46.2500005 -46.0833335 -35.0833335 -34.9166665 0 -4752 -1670 --46.0833335 -45.9166665 -35.0833335 -34.9166665 0 -4755 -1670 --45.9166665 -45.7499995 -35.0833335 -34.9166665 0 -4783 -1670 --45.7500005 -45.5833335 -35.0833335 -34.9166665 0 -4822 -1670 --45.5833335 -45.4166665 -35.0833335 -34.9166665 0 -4839 -1670 --45.4166665 -45.2499995 -35.0833335 -34.9166665 0 -4842 -1670 --45.2500005 -45.0833335 -35.0833335 -34.9166665 0 -4848 -1670 --45.0833335 -44.9166665 -35.0833335 -34.9166665 0 -4854 -1670 --44.9166665 -44.7499995 -35.0833335 -34.9166665 0 -4851 -1670 --44.7500005 -44.5833335 -35.0833335 -34.9166665 0 -4854 -1670 --44.5833335 -44.4166665 -35.0833335 -34.9166665 0 -4850 -1670 --44.4166665 -44.2499995 -35.0833335 -34.9166665 0 -4859 -1670 --44.2500005 -44.0833335 -35.0833335 -34.9166665 0 -4867 -1670 --44.0833335 -43.9166665 -35.0833335 -34.9166665 0 -4867 -1670 --43.9166665 -43.7499995 -35.0833335 -34.9166665 0 -4865 -1670 --43.7500005 -43.5833335 -35.0833335 -34.9166665 0 -4861 -1670 --43.5833335 -43.4166665 -35.0833335 -34.9166665 0 -4845 -1670 --43.4166665 -43.2499995 -35.0833335 -34.9166665 0 -4839 -1670 --43.2500005 -43.0833335 -35.0833335 -34.9166665 0 -4831 -1670 --43.0833335 -42.9166665 -35.0833335 -34.9166665 0 -4819 -1670 --42.9166665 -42.7499995 -35.0833335 -34.9166665 0 -4814 -1670 --42.7500005 -42.5833335 -35.0833335 -34.9166665 0 -4804 -1670 --42.5833335 -42.4166665 -35.0833335 -34.9166665 0 -4795 -1670 --42.4166665 -42.2499995 -35.0833335 -34.9166665 0 -4784 -1670 --42.2500005 -42.0833335 -35.0833335 -34.9166665 0 -4775 -1670 --42.0833335 -41.9166665 -35.0833335 -34.9166665 0 -4777 -1670 --41.9166665 -41.7499995 -35.0833335 -34.9166665 0 -4770 -1670 --41.7500005 -41.5833335 -35.0833335 -34.9166665 0 -4772 -1670 --41.5833335 -41.4166665 -35.0833335 -34.9166665 0 -4767 -1670 --41.4166665 -41.2499995 -35.0833335 -34.9166665 0 -4760 -1670 --41.2500005 -41.0833335 -35.0833335 -34.9166665 0 -4761 -1670 --41.0833335 -40.9166665 -35.0833335 -34.9166665 0 -4771 -1670 --40.9166665 -40.7499995 -35.0833335 -34.9166665 0 -4755 -1670 --40.7500005 -40.5833335 -35.0833335 -34.9166665 0 -4748 -1670 --40.5833335 -40.4166665 -35.0833335 -34.9166665 0 -4574 -1670 --40.4166665 -40.2499995 -35.0833335 -34.9166665 0 -4731 -1670 --40.2500005 -40.0833335 -35.0833335 -34.9166665 0 -4809 -1670 --40.0833335 -39.9166665 -35.0833335 -34.9166665 0 -4859 -1670 diff --git a/dep/tesseroids/cookbook/dem_brasil/sample-dem.png b/dep/tesseroids/cookbook/dem_brasil/sample-dem.png deleted file mode 100755 index 37e5af114ee03a6fa391be0c5b9255a227b4b5c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266501 zcmaI7b95y^_bwdUb~3Sz6Hjb&GD%L1iB4?WwylYciET|dv2E+-eeeB!_x|;*Ufs32 zc6aT@uG;nNdUm+7q7*U$0Rk8p7_yACxGESJg#Xu$3e>j zd9-M%e)zP6h#zUfv}Xabtnw;=(IA3817iWU6#oe+_h5^;{Qt=oR9fKA{!jgXglkYP|M$iP8wmdYx#>&D?f-uo{O=W+J^#1G zn05t&|Izj(T&J%6-4`4}7bJ5IfKY}{8LdR;zjhmtzzSV~f37ZdEk3?_`@WvHyaJzsfmgu%&odi4 z&&=-UgUt7#p^)y=>W;Tkq5JaG3D1uI=b=1Q<|twX9A3t|-^OXjF}}38Hn4eW{s|@V z81e1r@q*0px{>L8{Bt?jvH5N*aMc6(bYS;!z_afA`Cg-4^%~jz6#22?c{x}KeE;S3 z)K5Cp;&a-vGwk~|d_CpbHSfCuqrBnsdcM2)Hn}8j@4G`ueV%afjX(4*JyJh!y5F}@Kk|S-f8LUQT!jK> zlf1VPfmfn%pE-}6G>fotzpJXAJum+}R&e{=(D=?V6u%`Z3E__m-{qsa52bw`NeQ>V zxI4}(@H}^1w2yaVIjv^@-@nV^p(>m0TkSA}_t^t0|HD=d&E&0&C z^athA_w&_wee)@LGmV6VWaqW(^0oTcu4nh7r-}x)&{Hq!Q2k@~=R3gnL!j$8vn#xc zD2u7znWEzK4W8nYQi68IQNm)4m&@ zHrxTzu(R3S($m;}H>!oHd(>Air!}x(o%>Syfzf|RLY{GAhEl=6{+NVazoCJ}m0_83 zL4wI!!Gf{U`_~+T`AwkM^C3FJKI5R2M@Mhq6J>`05r4j)g7)|7t{94Z1#^TDq(%!r z?%i0eM)t^}Bgg$RWB0ig`Tv5;UcuN?pqVPr66v#|LUpQEKcZAO}};S1%GxM(IV zIa=2{Y5dCS_XszL)ra~Hc(!fvW^z>Oi=q|N4F$GLq#J84T^-$f?{>mU6k3BiwR_yJ z+$GqGl3M;jwmB#iZO5_MH+ttV6HUkZGiyr@xGePtOyA{{4}gni;go9JP6P>dV-i$2 ziVgN%c&(S}mtCPR%CxfZTK}ni_{%1te$W1H&m{`W)|mawQu?+#QFhRadvj#}JWas) z9CB8IE+l`Cmpu{~T3=oTE*Ks?>E0ZDU}XuI-$Jz^pD@|F&34$`Cd<^;*eGUE%`G7B zV+nT2*jK_;;aTTX041FCetIiyD3$6bAYH$pDaF-_Q=xjV`E8U zw=H3z=$~EHu^VK)Wi6qjd*!TCJ47f-fi+e4Q@e3*w&oykjvbpz#+b0_TMhuV_x-Jn zJhkEPf4>dqo-(HD7z1mP4X(OE3=oj8kE?s?k-AcrowKHx)jT^?s>y{T8B7WdFZs?$ zdAfYSUrpxkH{6M`;x0T6K~4k*J(_iqqnwS2l&5Kv0n>1L26b@nIeh-@`T=bI!B%@? zY&Hkq*&`fFb1%2H?&vaN%?p+69;SEk6Ha4&4#_{ZTP|k*b)p>(d3+KvlM3S;K7Gj4 z9}F^VG!yw1D-1>j)=} z7{h1p=MQiwz1d$4H*pcg6Su&$_{a8}k^dBiZGm$nk~Q$bS`3k8wr?l3 zu7HJ%vV31A=_1(YJTf?8Hs(d_I^YOz&)5ZiR4Q%dOQG(#{@bMDqVXej`+T(@XKE3+ zJomkD%qUtf;$jj%1*F^S z47{c>_n8x8f~rGOaExCZ=+4mg=Z0ARWZ`60ZJ<0TF`SsAuFOW^q!3evid0u^GcSBt zCTS&fnlHH+qKdt%*b!QCbQvK^i8xWZ_+9_|ZiTFGf3`joXn>H#jZ}WT>qLSxuiqXX z2w$kMk8&qtVb{@(DCUs;V=b7vt(x$>j|8o|EAoxi$zy$$86_sLE5eB8L~y*>9;?DQ zDTXyOR6=JAN<$E`N11Om>jWaEOLxwMc;3C%l4WhM7qEbT=MqoKRM7P@thS1FkuQa? zOmLB})VzUrwlk*Ef4O~B6h-*A@Bonv-;iC+o}xXE<$I_ZW?Ehe>9=sb{-mMWER*Fn zeR38g?w1a{#Ms}+E_J>Fg~;P1C}F}K&7pM9N#~c_abvees8XeJt0QMSNqa_S#EI!} z&hn&@`|#f7_6uDBdjue=$xxw#@mlwhIVPe+h0sA1MVV?JJ6yr~*|P3Xp<`3W)<~fh zd&kz$@zAQSuh*=8gz>~nM4od(oVSdNtR%r%xU^?d`HRR(%~~0#8-B5!bnu;JePA?b zp4y3U#a;q9)KR-<)nV1a$_a~GGiiSjGV_o=%Z&8A{s2Oi;YfY$7#Uq!j36fBc4S=Z zajKRH!5Vi!V9i78ElrZO7tLH6hyt0eKCN;iWMuLjc#c#DIkYu}TI1}|dzi;1bWQy} z-wr!V!}c7JDP0THBZ|{~_ktZR>X@iD7WENqd_S`4*MZy+8N)Km3KmL4lIkSSv^92- zWydjR<27h>=MC()uRS&Z;gp7oT)uz&Ai4~_*|$hw$yK`X^sv2EtX3K`jRcVgh?;BF^dNRcE@q+Y=_g?mvBi!V` zL$O8LHAF;GSngc8M<$a0`aaWQIYG^l=ZIy8<4-pH>q`AZxEw^NDUJR_MqXG$jV(Ul ze>o?H>*QEzGV^Ivm}sOiy#KoXLloiJbi%ZKZ9n{^&nmrtu@mFx=P#g*c$v@rxNG=$ z*a}452_du%`|Q3RGU%S1oD_yei+v&SzEcrSmj`Y41#3TkiFXndxjEO*ulwch-@e3oPSq-s&Sd7~mmD95eeLq!O_htA>i z^o@qP$o)r%vJezEjk?YCwA>FD_!;&tYD0* zh_#jy5)L2*B57>rAVp_-V@&`$vvPfXlI-#D2+q`Zg@|`4`Tt~l=F%|0Cq^a14Wy47 znq1Qoh0owol!2;X*xrlJd}I7tD1M<>M9D>J+;uT$ZfFP8q~9C|A{&klMXF`_iJrO( z6!xL5AAuxiR4m&gvu{kucZ}90?xcQ|hFJYe-6t@u>{)JqC4%d(f$CL?f`O0Nt+>m) zE5(>&P^l6Ct_752jybFS$_F3X`L)MpAu@Pmrg$R z&-H4d82G6*R^L*^cx~ua8oyIoGrx?w9|@pl_Bir<--ia< znll#;mvE$Cb=0n{ZQ$}j8#a_j5n*0C)%(7VNI3ppI9*U}7B@qT^YM?h`gNQ1!_ezU zjI{kE=<+|PEca=E=Bh#XwW03fKZwDElVEb=vFmYrivKcd|I%~wH7}`;e!}Mqne6a) z-|}DA#d=R{x*ujoks195jciwUT=ZRBTrm6xH2Pj1A?9`kg_fdhe$9&cOm!h&gg+)} zK!=2nwROp^W34cEH6O#9Lq9jKBNWk>{9=?2pPC*&Vc$kRXO17KI<_59a=7PxwP^gm zP)YY8O`=Rtgz#H_17Dkfo-)g~RDa-;M8)6{r>K(hc73YJ zS%O0ffK3S(f%Mhe62zw&PrUF70*BQmZ3L)k3Sm9v|L%ps^#S{&@F$&7(~ zHyMrqV5o z6AHwRiZ0!Ft=}W$JLW%un5zD52myrBIRT!j9;3%Y&}KX6JGZc%vt>mZn#4aIXc=kM?DDV94w%Y0UG z9aecZ4JQ<0Zl8rz#c0sU^yz@V->{~etiq1GbfpTmAp$~VKE{fX1C8zg(y{6UnKi`a zlO_uP^hg+6(&8&Nr)_OTD3)knO%^CWm2O_&D>#FwwT9~2hv-1mJ#FFM`hu65LWj^n z($abu1wTqP4hC?TbsZ1rv&WL3XKn)UF|rDI6Mo)H3{eJIFQJZVS=)@l2Ei1v zxj(r$_VczbI1%VK-8i7Tqv8l7P6rTC7N-8fZg}yOu=8A7yIMAm9ej5De1F{ic)f%* zMv4`DSjGbD*bX6FCVihJeSW>@Ko!2B5QZ>D`hu+}ZwpHA3!W^xt)R};jo6Q)*!peI zk?(P;4}AAaWp~6Eu7nqUbQBJC?c60k8&|}$8q$6c6TTBmeC#|F1ONa%R{FODUT4On z{S3h8vD6?o{khB@iKc7de%Av!eY<(-3=(%$51l%&4(+f0gv2=Myf>dV3R@p>DyVQM>*wRa~$a8Tf!7 zq}Jw8fWtnL7{@FFLhMFR8>P|1^?$sOqVsCCqdHBOzd1m2M!IUyk*69lwfP<7ccS8?UbhwZhqy zRSa>MSY@UHzCQ(L{YCPUtZl#EO3X{0)0~CX&?_k7Zd0`vx}xtX-Dv4T(aI-(U#gC9 zk zxTRyuoE8>d5U9ymVkl*)E_b!1*|DpS{KcF2(BZstqyhUCM|SX(l*UVj&@z;UW?NBf z8=0C@ahIO4ELTFX_nH%mmh%4DA~oo_HKpgZZ2n&h-x#2l>`1lGpKJeWE812Y9(GQI z4h$-)-H4MU$DhBg-W@4Xxg0BJOl>}NHveBeI?gy)D9VzpI5$zSn(zbF1YU284;YYn zYn;GIy+oG=Z&)ed3`} zI1trE`YWvPYS+Q-0w(J@#P{a+W#0ZZI(6*)L9vlCd*S^ST+Cg-s>F{VWqYPfC6>ah z5O=|!x{^&bq;!rtLFPSipE;w>)`9=KH(LA5jL%o4_GIN3iVp!C^J z)T)k({}S&y490i`3#mDkjE%1=;}N=2x{EWyYz@{ZPB$0_J!*>ZUKBKYXDM zV|t-Ob?TY*z)oVBu<>g&193SUc0Wv z-ZXuqf0fJ$$L{`_PQ$PtHF|{VAR$S$>XV*Y76f68fr!8!*VjkiKKAV{BC6uvcyUT< z>gT7=TK7|Fn!1u;Wme4sE`#F_)<5h#I_vQ1K@0>Wd8SZVRMIlcO!9YnbWTJZtwF4G z*AP0KuEJ|=y{&!`+&13Px0UaTW0LxiGLEBikP6RJSO9^(zmPL@xmz%zl}C?R^Y#L} zHtORDjK}zzTazh=ielyD%@ocNv$VbZAJ2MVF=Z^orh5~jvi0eRT|?;*--^)4{fi8c zm^qVdhib^22!cyKZuoO81H{6ZDfFc9+oFu2fBG+1nua}r_Z0aXSgd(~9|yO7 zh2&e{-+s;(WEkozDld-1F;US+cB=T*&`M>LDnLMnL~V)cZ*RK;VtCBp&f$GTk)?8X zL1p2gm37u*-o)du7+}2;2wbg*Xe;&lM)elt59|};C0*h_V7o+@q1b2pl;dFfxZaUK z;&gOQss#l?43{AJ`i7z*wtJ2{E;Li!`1K{)@YF5{3jCHNu`cTZCOOcA{dKvq0N@ee zDux;`iYLQZ6!ObyfL^|mddV=DuGpen+2~klZ7^tSQXj=yZVuhio(LaS7R@9YA?I#K zHyrvnG7~A!0S*;7*@Gw6Pz0D_Ef>pOB%F}O)nNgthO$(0{q|QO#31>dBgwD1pw#D; z6zq=s+R_z3;gg?=r}iqCKEOA|ku(tMDMW%K^ip6>9rNsnda*l12o=#s78*zvHsdys z<@1l<&!ll8pVE^JD79%{R$GKN4h0!j(m7SYNF-1qQ<3iHh)oIfQwgft;d|&;mL#>O zEmTkgO0{)bx#!)}p)9Rh6o1&a^>ECC^bS4NBRwXZAtaWlVg407PzgA?g?%u$LeaDp zv1}QwQJF>8JhM;H9iEK%UieS%yj3nVjAhr51Ka3VspV2;V;b0F9W}veE9p96&F%`B zR8TzCR{iWz;<~jL+(K3vZlNFM!3u4!6-L;4w`HQ=e_YKA*d5Y&5qk$d^PSkMvVi2v zi`bVSsW}{2LNcmJ)S1N##2V4cTj<7kdpAZ2h}Ii^k6TV)rj0s+OdXj@ME_Wu9QQN9 zZ|w8dJ4C-N8Ey}!P09&8;ig`ltXVjo)YEoUAio9VsRR2vFmm|!E{L8R2OE*zJvsc! zj&ewlbRpM0V5QJ%A8pot-}D5XV4>W55gdN!Ahp&TbSM)NIIf&SFeSDglM8Im3G|;| z-?^eF{dLnEfpj0xC0q~A?b;=@T)9+&oqi7NyQauRwCZWgBs=AEm`D@IK8Z+0^c1=Xz8!SWy74#6xg zX?xIM=Lwd5^ij>nj$AfIHF~l}^z^%itHxfje06orN_R|qV$Wf+sv21fB%Y5J zMEwwjgu?@F5eHL_iD_9J_&}t1`p7nz6U%zC=e#*koxGh13sB#v*iWJELBhe92LL^sI2k)+25YvVx2*SyV z!fMg7x@zIaHUE^>v&$5%q1Hi7aDDWJeCI)*x3tGZIs}JI7E50(;4*XMXBbY2S(N|a z2++@pAPF{2_1Z*x^?)xlbkX~F?90(-1=uI{i2c#w0_YVZy9p)W3ofvBQJ- z8zBzqtN*j~WCQWZ*DafB%!rF1!`BlK^Lm)vM<@82R3XqO!0&{v3O!BBh6W%4zn_HBn6@p^bKNKFtsRr_=%^MTWG`+)17Lw8}_1U2OOJWir7C>ox!j=?i{Pq{9Kh#^)x76u?88Ds(g_|YvH(%-4#(Fvf{GbSNSz*DL zPhtUk4FB&m4_on)Bt}E{Gy6iWdS)vpJYfMBZ%>h>nz_9^6=3MjdU^Z?yy6!O42l8^ zL=P*#UNo}Rznl}Z43SaB zg-+eN)Ex1N{;s1e16NGd%_BR6Askvz@BY&F@z!m93AMI4rQm@=Kw;Ya-1JmhcQ+P= z?3E8_B>$pN&olwI^Pt@?WJA4FA+SnuNd1yAOA@ns9e33ga7f@7QEM6{1q_-p%Ke9I zOeoD`OnguY@G;7AEEEd87ZXs_^?xlId$`S5Qixlp@>ceD?jJz*r%phHxT(U}c{*JHb*09D!FR|~Upx12hANZ+Oc-R4_DismzDK%AS7 z_9TA=tjVJBdpZcV$YVq@kVZT6NC$ZjOqZqkw2ZhtGZw?4hUY{3R@XYfZzG)iPthSO z)B8L5N+u6z7gc`8@=hX4N75ZzIW0rNQRPHam!0zJ-4u}uujZ3`)7h#dFqPb3JUo7K zfNe4Aqbk*QnRBI-_I5S%h&s!jju}NHR3A|~cRZL9{+uyg4pWNF?b)I9axqk7v%ApL zgs*UDPk4I^E{qe*>!Ln)`48dXg`Ug?N1T1r)8sZW*vWhKur?@amj*}>*a(%8T*#nhCeHa-W zN8UVs6~>Ou>|0dFt)ag|XyO(5dw;(OXQNy$zO82qL} zQ;hNADZ)J%U9+T~WPg=CrbL{Ggk6X9z9Ap$Mmawe8Oe>+NDgNW_l(~X+1&f8%^q5P zk{e}2IbKYEaYFjYtVk8{gIL+FYgBkMApi1gI8$h^NNOD@S8el9%vp z)fsa6t!m1|g2@^I_3*o{9Lg%EArT)+rsnBU!^4DqRT_kCLlYd)^)1JA zzG=Cp=}ui|GT$3|V{by-&$O4o0uX&pXPBFq+IfDvw(-&g0Q|w*|8?l+qu7>Yv0vZ* zeb-v2)JD~a4}O8%znF4g*GvWXm&RwG_~%2GKfZ#apBN_Nh_;nlFIRohyLEeCrbR4~ zexj`#xCnZ;B5#i;s3e~q`!LceV-X3F8t!2~EWU+=WMagve(`&4)HU2BdpS8&2bP>R ze?U{u`sM>y+H~%>6*cYoC>b$MObt3#7SROD2)vNEE$NJ4Wb$toI?_i;t7sK}(Y4Se zgSX;-eEfb1U`R6~#$r07m%z9m_eS_DFkXtBC0D}-kHsE7-2@*$bcyjz{%p7*uK~mk zlp5)*IA9w~^Y?{bfi_8)w**1k9`VZ*&rtF&5s3Z*U6VhJRj+f6VJ?5MD>8cy(^1T& zq^XfaOIjTWaEe9R{S%LU{xx#W`Ze&z64vS`l4aQ6!TF54qfS8M84PzJtPKi-f$3fY z`x3Q2D6_VX(9I&j*v{@;;?Ul9b;B_O7(Cl!)pj`4dYIrBn{Ya<4aCK1T{WNKV0qvR zw*7hU8y4W1F?Bs9vFmi#zU2rY@AG>E!HYx?4&vZIHGEqe$a>-wL(Z_U8yUUS%yR3Hjz-EIN1{)*eeGV&TZ&w{Pl~-u#XhI!?Bm zLTV^8Q>?gHsK2#TXFc@G15j*V#5WjaqJ&?Y#}~WAk@Ob{OiaNQ0u%UMReZC@@#q+x zX}~flzKS@n=)=1{hVIYxid;(pBL>rDqVt5MybdZWRa=xIg_HiiqNGAbD7B+oVO|KidFI#{GsW3t-~!-LMnuWy3}aYjk%C z=bsl0jPPUG0F*=eFl+#z0flNM7ar5bP~P7GeHAoHyV^&6iasSEjPfFh_D{ThYDxZZz@y02FwDDV}%Bvn-6k9PL(^nF5;#js&J{`2Ge+3?l0&)wn{ z>Wb!XVQC)L@RxI`wjkM^w{r$)r5EjbdP!I%OUxtn7zYfWiE`b%3RFwS_$KxY@LzMj ze*}g;d|GoYZf^m_MH4Vpo4CgwS#o1F;0wN{9%*Xc`&bq5dZlHm09ha16PYWnWMd}y z%TM-VQ0-e}j~2FK3`A!J%401Vp4v4;D*Va6@h_RO+sT{LvnN*f>)`dATL za3a$g!YU2j?iQJ7JF<82&1_;^8Q1}i!>MGNW2_T=Q_!eA$H$5ZfhcurSgo~Xu&Q1O zasNAfPeVH=fys^JzB`L__h^elWoSN7%JN;PXL~*u*?9HeU_$lEvUSk@9_>e1IlQef zo^Z(MEM{-&A{7p&5N+g`!cNCB3#Gdjun>z)&p`T%eRfnC;4<}KsC&q_6w!6<%p#`m z62YC=IN1*GI+5L?-M)O*CKX9WFm^$bopgsu2&v&IDszEqnM# znF_;iYpWCG3gQqUDeekGTym*V@e3bGkV{N%v_ZSEYCcm+1!=WB4Ho-WxNdG3M zqYr|wTM2}gN(rKE51OU(m(DXNv-KCq$3#yi`=$q19YWc2jflz zZ*RIy6M4iI^l^R%;1@+4|U)wLGXyO|qbkqpt151$pad%TW8ixB^(zv!1Xns|% znf(O2Eoma263ehm)sL)Q-o3{YuG*O0p~}JHrpeJ9U|k=yxShRF#@}4Q0_X%$qE^p6#niFmi+2&aW%rvbge=q^(~g-Yx=hwGIQE+j$U$aC7j$JjlSxDb71Se> zin7bmG@~>zh}9oahqp_E<;G1qUIh(uRgX+HIjd)4t?pS_7-Yk+AL#a$OlHZ%9q?aw zgz+fdnNo1hz90%(Dvd@3slx-jSvqTJ{PpUOY%!lSMCYHs4XKf-;q0#LYx@Wwd*!bk zZ5_lj7qSznLd=m@*|UC=b|%{@g`zW;Q-?xz6OwAO$ZJIx=!M*{F_O2$NHBrIHCzSP zmWeaUHWos4o*NkQG{D8>n82BiL9yKsI$vqR^B--5W`K9N^_DLeG<^Zs45j}zW=G!d zcY>7SEMdgo4m$Z=Y{kYTqk(duJ@Ba?7n!+_ynE;Ii`F{r`eyXH$R4u zu@WDT${h@>#*uNPM98p}9X>vUP_^+qU4J36*-AT3!L%J7&APGiv{iI>nXP}hlueM4 zfWHEZDp?6EN+x!^zNg;Wfg$9`fJv=KB>)JPVEsZ!`i9hX9(`E*NALTQP)b8duHjuO zJN~u>y2&w(7*XQcVoX6-(#3Avo^#(0i0Dawh^@rI%0nBCNZ=71B}KF!18ZoDVu3Me zAnj$FeK6=iJqJmd$0xV>-Tau(>~_3y1P=3Uy_<`J_-dyE1Nv&AE04 zc{QccHW9~^dmotvef#6N2#(*oP$G>ZwwQ>98iqk`0{ySPuMKXmzK>&D!jS$yo{?=F{~;~qQ(8KDZxrjN?)@09s1H;nX*^cIl>DrjUC6*sh@1^@mwk5839Gf1JjK3@tC{P|;rnp5$cl`f zHs&8r|D_7!rs+R$5ymNJlUJkvxvv7EQpE5{=u*7cZ9c#-UORmu0RJu%n9q0Db@;7D zwIR7AFYo9JD3{TK4u!2-1^4<8pJw<%hr0$QKDrT#i6m*US)cEjcN(C^EBg>51Q7(EV#`x`le^#W8!jX$HTUZ`^W(Xi-EBShw#8|!Qak?TzuPO6uZ5Z4#c zOPEq+7M3a$s+h@WRU6G9ob^H?*So@Xnzv#$L>KWrx-40Oquwb;<~377V6|AGcJ1>E z6q{;~xa#2|McNfgA@Sq5xNQ=Bep;%`{tX0m9ehg{b>vZ~M2aw2Vi9r)yEPB3O$Sef zp@!!+6{Yy*U3KFnq2H^qP`-x)JzAhaa7vpj<;%(LPYG00pyZ=ODt#uy+)K(^EF+Ts zxz2TNZyTQwbu(^ac}CS1^P<`(nfWVSGFvCPP^nYJ(ybn4`;YqJiCX}Hkh!6>ZRO1( zbA^o(JmDIqs?lXJ znB_X#JKi6JgI*_0;t9iB^y~$?vPSpPpQ6P{0{V(^dxk=8A$Yyx649KSeO@X%@luMl z?i^LF^pN$esBLv@zgFZ>o(K%c4?+{!!3(XCb$`}IozR2-oFP&tNO>{Wr5MfN()?z5 z0KXJ}_)mNji$46G;}2{htcp}X!5yX#)L|+Zp!HXxgq+9{lsszOUSNq|forbSb{y)| zpijnQcJ|@OtNG5c+2R^Sht*LOc_eR7Rq>0nJdVu*m_ltM&-SE+qGLhf7jb?I7#LIX zDy>9Jsr7{ze4bGoCgEVU_+n>!72LX2eguWR9!m!KM5zOWyd%2&)VwbC3c>uMw-ww@ z0N<&2GP!62I%PQqIMjhhK4-pqX3M0BjJmrf9_1^zTP65m2{aN~x1m;?bgmp)1wIO$5*gr2~BmAMpbZd%CRVYWHp4lA--KbKiCjA+B zGbpv3ygmn?FexElbQ&6Lk3vT@`FySU)Pi$E2-ye35Oa$O3frE{vSE|33V+;0&1wPs zf`UejIh1X<1N2ce?A{oCN&q>rsca#6nLRjeAzyGU8=u>1(c>&M)*p_{=gG2E@$@qO z8b|p8Mo7joFT>DQPUHu{RHQrt3(Z*8(x7h5``V(tVM!`<6n%nFhsB;oXfLn%6mAZ7 zJ@;IfAS#K8k6tO^P&@Zsd~2J-qw=Dra(Z%>JF=UfX0_z6tS6jo?nI$U)G4VOyFp~v zhU{UWT61W~Qqor? z=LoU68f*gN4Ak`Rx|l?$peuU(-HGT00^~}mkbsBk^$UNFxcIaPcEWGUuZDE zsXmHQe0xTfaWiS2oLS`2W3qzI`rn?cJdbU33OCrmQ}Bb{UtaDESw~2mU7PN0Nb>wIPG0;Hr2kciIZ~k4XAFx;><;*^Ke2w+Fjrxhza@LvQ za|C|N*4rXODi>i9`l~RILBy_U%}4(G6jXoj4vW~@3tv=a>F6RIwOl=yN7~#|G_kmE z<0$LR>X*-G^I**meF1uIzlvy~+dExzlv!YQ6OrasADtV>o*SLRQ4j~{B{6RuDOedV zDyv~Nvq8U{Sl2e`g|ZxDQ?ZFt9W(zv>E-n(Op|GK*Pc#&!D}ca)6$qU3UZ-}QBe%I zsNjmO|MCy}h`t!hRFM~7c_;7hC2O{uf#wMJkp?0jbaSYk=l5xfEG`kPl6S_JABqA# z`z-ttx{w49YHyLgK0MT+v94oBWrbh!u)aC6^&XEp_)5p$DwLYP5W-+K5@2N33lqPq z!Y!2@SB;9Bv10kB9T7zp{Ed=j&3i~{JTmpKNe>`90@uyoT-c^w2CG(-y?}=SHIWoT2Qjf% z6z$-iERj<#&^MXRIn%eZ&7#}q)ZVkyX@uK{NO?y>i;Kf+m0)*xg#J>lj-Uvl!^PpY z%3~#VrYRPgz3OY+?;|f{Y&w$Rpy!u}f{`qFRPlgxg%SnN zihvZ)4vo2IRRK1wExr|;`S)gQ@F8<|E`u*Ih5NZ#~)ziPLc4u+T z_6p?S&{`V8-N-wEr*LFQ{m44?Fs+ucGM~Q`IMF$j z9xaKoTrh*b#Ltl546rOp^8a3mR9)9S)vIls3iZc=pU|C-^M%2YEZR|$;@f9}bi4{w zojUIvOqZF2bQjY1S0Yu|^|Ie^m+uJRO6(qPM^PKJ+%PL~Ic^PtZi-jc>~UChNZ<12 zNU9VVMKg3Mr9JmD`L0S6@qG?aKQZiH4nT7!jj^Y7GdKYxnhycJ{r>)iB_^|?I$;OD z0;b}P_+NB(I}(1Hj4FP`vMH(ynKj+%hnMq{9h52 zrpGYU3Pr_nfb1Y{4{8Y+)}VPoBGt8_JNs)^N*}?F_}#EEPZz(HBr?)OLy=r;QDb>! zYmzTV=)ud!J%JQ%Sf1irU7%29oR8xsb0p>z@YKz&0ACJkf4w86O*Mo|`a zxkl7z&RN@UYngz+xWYI17I5*EbMVVPXyuqgdqRLU^-A98EQ6o@{i&K-$)ESnV|nq= z_S0yq3}3!e>hmFea*~TJv zlVf9<2c1=L=ESp8zTsYhtVJ6doZUgSJsP56&c%BZ zM5^cMR#_vb+ERtQBsziKg^5^@taEHkOs((Ewn@OZ78RVTh$E>$6SQ-x1aO=pmSWFY zSd8r97Yz27V-FN{sMN_52*;Zy=v9;1Njf{T&}(G9Aw0!$~Wv4{rv-2 z;!Z^OaugJ)GUTQ{(z~OmF^M?wBTsI@9&((^Hr7_2bE`3D;{)_lgP~GmQNwOKDXx%H z(%JAmFi6s5i0YMcX7xNt-rn)MQtmhaVe7x}}qnd_+Y(L^W2F z$(2wsSXrJ3yE2YuXf?$@)PaO8T^>q$6J?KnM(^zq7A$VP$KXUl0|Z&Q#3BQMw=HcVVuSn)-0zgK_;;SySC{|+1o&dtXC5Pag1pZkK4Cxb zhsF-zC172T)<`F|ep z*AkJsj=6;=IC4S%68!w{B15j$iFqa-b|z~{=)Dn3&If$JdgF|=C52eI^0zdYnNncJ zkD#O9V_*SQLDKOh$P=a%S;axo?-qu&k^+Y?KNi0?(0L3vCKq-mplM*ppSvT%Y6GyzeS_^Ah>pYNLpJzkeN2mnIm>M z%)Ttp*NC6SR)T6%d0%*+OX!r9gBXHBl9E`7zoz{#D6x{RUp=c@^05aFMUy?!1--Ai z9)x*6()P;~7f0-djv{fyDqX^2IYU3F{M+i$CJc(1K^Xx+TbmNgCc6xxbL*PYwrV-L z)U2?eE;xL@`v$Q)^3r3?s!$=*fysKjl5xsk9M@ogAzc(xKARrVD#g!^1P`%PGb<-s zon90Mu(@P&cf#;G?r{1#lbA7?u##xgL-K+BeK!hqq$uF-QnGCYNeKs0u-xzcNf$f6~E zwvn6cBUgnRQ|7xdFN-BYI(Cy|=IjfF-jT~TG=qhuJYNbTQ(S|9>NeWoA}N(+>fkMz zg~BcJoP=Sx&Gv};eowzeB@oUU)UF9(&k=b28`81F_mUrshm)=W$)IY|rT?(fxcz;R z`EmpT-{&z-qjtl{+WFRd*d)$O8D@Kt@ssm^uO4kt|Dfry-@glQ)g~o^wJ?<`syo-8 zi>=L)4%J3$8jLQ*e!v?mGNQw zi~MO}5mIAv^H^rFlsLUlh^DgyL^9ijsitqthIeUt(}GHusD2;!&u0$fuk{s#!(bCc!klRQ2$D-4`%e~Hw0g{YqOuTL zRcB^Dj!?6%#JWEl(X8c)OBepO0rlFE!Dc63fn(Mb3L?hVzFte?RIJc}(stZ&JFjQ`J+=8*uYyQGDrWM)HMXjxJ7xz- zO;{3r@sRf%RyUe%z+{R^L)h&p7mYHBM#A+wH$Qo{Q?UnQPc?v9;_I6qt_W z>dLE?l(4@7x(ZrE(k}z}7$ySD(#_J8VIV9$>vS_A5{Gz9Lo6M$`>3^v=8{vdk*ZOY zU0e>V|1~1N{m_|q6TmYd$@?vApwl=5z}1eCi47mT-VY7@SaMNTl5v$mP^>9hh{VSk zHYuF7jS_OX#rUgo>+>ifA8UE8Cua-++T<|I~T;^c(q|8M~W z6Xcd@S#}AaN6Uf+3H~1Tk$($ApdYTa9Bv%7r&8)sk5KZyL2PwkA0)hJ$3`OhEz`(^ z{2jgaTU~jC*Tx-PVp(BNZg_6A!>Fb{-Rg^|DIT_Yp`f-1dOlz5sD5uByqGl3IyIP9 z1*wt;VHmJd;Guy&6^(nW&z(WbFK}9XebBy)F-0z!!YWTF*`I5ML#^yY=r|seh!LDm zBAMM^1>Ecf_<0z+-QD@BX?^+DefGz_mP*U}@LBM6^#0<10YE{&zHg~l@4c#eRiy=x zg|P)<6<`J-Hrs<_%px_|;kL~fFcKanUTYJK~?@9sH&_#JqUdYVA}rcWDgaYJC`@R7j#i$Hhn-32oID0| z(WXiVWnOvi(>Y2n&MDi}nxL$A8=+18)Z2uyTqaBPZy7sSVpu4?wMXa@?)QaRxVH&f zbZw_2&TH*C|9fxzQ@rf|dQQ+<2P#5R^fj9xD$ut`AShmNG-)9VDZJQJxjY#|{<>h#Jc{yRnV8zw1x&rdPa( zmPXG)P@j?3!W4$-Qj$7YRJI;?=)x7j#sK}DF%hDq>|aq_*#?o6V<0N(Q98sS)wKwa z1bKZ$!2-OZ_v&<ftn|cF5@d2fGqDIX^yuvps>cN#FyW zHoK<~?TpY7f>CZQ?65kx=E~T?#nOM(EZRhKsAt>s!qGTGh*B$yQ-oSm7h~Eh@LPft zbbL-lxN9RfVcpjXaC-YLdT}`1OUD=Mt2ncjqn%c=!0O8RN?Agea2W%e@cp$3%K9~)k6S6ROCEp5x6vaUEL6leI8+J+4leqd z_bv3vWcumPxCl~jVSA?wRkLNebcEgAvhLQYjBQiaqckB-QD0k7o{@Q)O0KVIxWI~3 z?^5n-Lzz#ul(g6x^{KBlFeP=cj29VW)>F-WT58YrVVs~Q8O5k z8F!W~Ff!G)!8kaR7GqKe4+sZ`u7*C9s~#<|;j)wpXX&2Cc+PtpbN;z6cpT?LUzX9E zh{w257H8=B5~aAGbmBRT3mhyx<6uvdKy4zNCIj{~EVmxWL~=VS<@o-AjnApOqK#5p z!(hYpnh~yZaA7mO<$NcaXw1i06<-xpB0OYoOr^ z&Z8^LtIYT?_~GK3!Vo-;6US{tnae076I%w+m$Mk&T9YpAogMiEHR>%1Mw4kC<4Jxs?x1hIq9 zlUX!oX3;;8G{eEO^!+C>tAbgYrCFN29%gBlW-Ea|#HkU_qm#}fbTxE{W;h$c7I7lA z!g5ypjPtAuk~<>Vzw`@@N$}R(mulZ}qwOt2igH zF)#H;IzUJ`ID-JPT-`UGlA=#}j0uG~8!@i+Hm=+=KqD#c>Cs^{?6@qdf)|Aj5Hp&M z5EfXvy z&QcaJ*P}yNBV=q{F2VrNA8)hVLrfh&s^#f4_mTyG_JKztn~nhp=qX`;DKVi{LuqWj z?FBg+j+%6T7ei6M$T$dT9turVX2q=F&LRX2a$}fmAt1%K@(x;1|8f~`bCEE}rlTJU zb?^)a&nAKY)1-~vlL)tm=%iq@Q^mpFlxERRmS)l2VW|#2PR7EmWEtB#chTh0Vuuk@ zh`ZNs2LLR#Jnq@dm-zR$BSywrM>t9Og{H-6Qs)|Z0B5OOX*7>5!odq+1AU6;8Y+V< zn?Naty>X6sgl}S(@TZLTF=mod@%5YuaCRrZ&%6n-L1m9zj8lZ5y^U~+%2IP7HVR~2 zQ`n+>Gg(Bpi07(vb?_rE@(_qI+PMcpYU~M`$e0wHjDzPfARJszSFuMp$Eg5AQe#Fc z#*h@jp-C_$b>C2jj2id1LPo7qq51h*$$my>J{Ngp4ojBRU2*gAU)0ASBAJcxJLtXWrZ zuu%8K!RM%h!x9H4sY17KH>kCN!q6cEAJ;CzZm|uZ9${yX>d|{_jq-Q0IUS&THa}-^ z-(xY_&HH`p!bfqmisc`%0&P?e=H3sMzY8RCKMM~ zYJ&+O++lYU-P8H|HfSzFXL%cRM_u$bX`4m+LX5llyK1PmIPS3wJjSCQCey)e)-p>E zXqw^RS^B=yz4z|m*c}_Qia1Z{@4j{ydcD!CBF#hms0YE6cu1Mf_bQ4Z@&|(Hl|> zPHPj?MS*Z))Dz04?useGN_=$Oo1VIaX@wLPSB1Spq@m zP--NE=%jK837c3GvC7T41amdo@U25Mxm*D{bljT&3-wi6(F`z8$CV0@#08>DP^0H_ zHs)0WFGCocpw}N`d#8^$T?Qa9MTv7H#lp2VLSXaf@j8JHSNMxLWCZOHk}@-s4vsOZ zM}yIDfTTc;CPItq&YOf)he`!7q$IV{k~&zxRNB{Aa^F}+) zE9uL!=m2S4{B6i}CvA+l$g2RB5U&shlOlex%$3VRXgFV}gB{24z2o*TwJd~!FL1DSn3Bo0u@UOj z7p#dZbrf)4Q_3UeI&!Gfaj86_qF!{sbu={z<6~_T#D)1T3<5%j!%SeBO}@)4+F=|N z*fnNM7TT1@mpA2DvnJsDr@r+$Jo+h5qOzA`*6Fa!n~2A?w+S?rE3gp^y+1N&Or~RG zDEGlhX?Qz{)gc_=U~f~jBwbI(kV#Rl5S^69qYN+?9iTo^)~PiC8bu#eA=j_fDYvz= zAvEDgJN2;i{xH*8u96oTeneXUf)L6Px|9+oCR1o3;F2b_k*k(VxSl$&Rd_PVSNHW4Y*g@9}1;pC>- z1f#uT1+!FE%StR{?L(M2@3V!8V=SN|za@srld>^CBa@Bo;LAOw! zB^Xk^uRTst8JCs94xwaK!NEeeFc@s&qN4_|0k(U0LJAErAa$^-VKU0G5u$nQ6(+Hv z!rpp*AJMiryOZCisU6mL^L(m3?%B$bOS^d?HmJN#dz_``Xx9&7kC3K__F=0~5WD96 z;9v8VWd!V^B}R1hXbyuy z9js%F2nX+>G>a~b$wS}5h|Hp2_`*lw)b`ytv$cs%{SXF)vRZpqa3?C{ez(s=++N-U z=+ZeNHQesCWQEJ_!x9I3S7Wnirwp4#7dA=WHCTzB#3c@{%T>N!yWz^Z&;j?OB@^*+ zXF{&)1?8|sb*iIftW(*MEn$bY1Z1X;9`*5&Fl-h*xIeS#XaSo=AFZw8Y_Z)!Ssnw< zgnaxLu74(njdLdAbF2>doXA*g6x%6kE9g-hWWL2XSn0wn8j#%ABJ2!`IMp3=sr~2D z6~_8O&2qg&F2sb6dy!&vhOqWh$oC9%SgBuwbt-SCwo>B$a2`F1I~=MSqNUeI+kTG>;yQH)m@1Q3nfY0BTd~%Kxupi>Oa~5)+5B^#0H-hpnC5l({2+1k+Rb zb7Fsp-D2xO7^8oZOvjfTA6JROPCxIPM_SiF&=$146UQ+n^>6dyOX(v72e9e&ovRv=O1O0!2si4KCTB_XRv!u{$3l19cfj$pdQjuw$35pLe&+hi zaqX}EFZlEye*5u>5 zv$IM#Pibqni$D6{=Vui$OS3dv3H-sQRV zh9@kRz`+pCNrMQPZ_w(1%FURCLPilvm2xm9;nj#*Lh4-;b6K1Y8TC5tOH8b)D%^l^ zowFhTtuZl@3Jxw*%U%R9Empa%mKZbUGCI__Tp^!hbW|cI9rJZ^)iR+&Ve^>A0H%Tz-$Jojw9x@3^bGZSAMN@+ z)N4^*|BRPIZWm*G*cSJZC5EvCWSUN%jMG|uw{nihTz!?>tJpSSP0ZyATmmhM{!kjVD`_y9j)07)CIBT2 zoFDSL!JE=--V-9!Ca(1R5?3l2BCQ>w=a0~e%XduKry{hdT)Bxg#r2jcJP5TK0YmSP zT+BU%fPs`#T5W1D0tRgXD3-rUb+BaRZ`I^DlY*7PLMqrKzt2QYfKWqD4eIqeZ507R z-GWyQ>T4mUWMVCZBIT@vD8$LiVlpP$VQUC{Vd)?-Z!V+$Qf{k&)o{%=tt>jEaXDr~ zQtigUJ_I&DXM!QJT3!d;y?Y?0dEHINV^Rd?``wCI?B!C4ge&4MSLy{)Vnl+O@n8@A zEec(k30^6iWCM(K5$a7LY%EbdN~oCPJ1dE(PFpoxfSB$-^$v<$4~Eci)8R}VJWI1l z;P;a@cJ4*6)rYFB;CZjO6j_$xUBCW$y!@yCZ!8|D<55po!=tY{Krio79b6#dTG+vE zfpcohtN?XN;}ofY7g`=CHjm{mu6Bsy8+m@E9pWS%w{4Fz+mzQwaE5T10&tr0^=KZO zgiThnd5p>2crQ~q4pxqpVa_+uALXdbM~iGWo2ILbE^Xa07L07fsI%eYb5yVe(wl1> zMvu<7QetzP%9!qB9GsaZ27^uPTLcs=x*K;xNR26}gRQM$vXhtF$8*>klL|Ol!I@ru zy*YOn{oT9xhq<_atsXD}Ho7dAR1T*Jy}Q=oQh6FIun}?+wiyR2RmKhm{kSXMqV>0kyl6D?Db?(S?}o=J(y~^e`Ol&^Z!}gLex% zEX@YdkXc0??9p8(1l=qRqBSyf3CH^89J(8%Q12YzzwHOR*gW%(dHp{9LhKar$-`xc z-MlZwwGNwDOJ$HvClE?O(LPft9mX_9j7>2a(b$OF2u;3cZWpI;&-Ul3eFJQDzmxX? ze*t=DXnRN}#P(iZzpK&HA%}V6+_C$YJWlTJeHOiKGT;uH820i$zWDGf?(;h$goJT4 zVG9EIc0M8OZ=S){u^jKZ@c=t_=JArF`BjK4pU7?Qeg}8o`DgiW#lqzn?G#a41hy&G zux&TcC55^T=GhQlWDUl_yKoqex)_dU>fl*=VADfJ9W14QQWCHHt)Ip#-f<-kUpkL3 zeP*T-{Qr_}{_pbAy<6e$VPdB}=Z*G!ZKJ~y4V#Gb-X&$;gr$^}D{jPdq_oHsDF>=nAh|73EdhbKaVO>sRZrJgy_uD4(eSniQ^D z`&|41KuN;E8Q7#%NyFIH>Hvo7u8M8y%sMTIyd36yGOA%5~w$Q!D0XnE4z`F1c{&rokmCECF{Pu*xGT43{KT_DbZT?lAByAF zMCCRQ6PJC%rAQ0avh<9DjUpvF&Q%9%+oZl8z|*P|>qB4ZsuwiJSBh%293LmGEz1w4eOHWki774KQ)fhjk2?#rD!ycQ{Y;w*PgSas5Hx6;VG*6F~CFwQ-r*HCuGcJb;#$eXwO(o zHV^ahh59Pv;8wK2ICwg$vsrY&X3-w&gB)olK@%Cp*zCmn;mM>_)|atP*IQ^h#;%bK z(eIXKz6Iu5sGvjBu#A8k=_=>rXc>J{EkiXi>~BJkhLB34yU~LX8lV8_#;53KIacwQ z$4)=TEor)nVYf8OJxgf3({$LQG6przh%B-p_6UEuWR1%kX~Q@)2+P>P*58jhm_pMR zKj_7eNE~*sO$Oj;vY*w)Dm}!i)&=Epwm_;C9PCZV^&1$E9a1?b=|SuicrV(2zXrbA zM2v$+S^jflbO=GF%+9wM9X8tudi~=VO%&?sLB@Ypd%nL=9;Y{pdi31y=9>YwxlPxw zO=XPY74!&&$!MMx(#9ri7AAX=@O*#Y z3i+Oi4X{f}a9KHju5kdpE}?9{fG*+SzD}{bx6TvM0tb)&6*#yUQ>uBGw-OlbIX}O& z!0P_UhFlh-T)9=FuDE`6eTBDN#6g>}y)n5uILp9>(dU{)cQ75~{n8}+*$BE_KUDT9 z9blK+E5O-dj#O*WQJn1NhSm%I0w-!+Mu_YkMX#*f~>y>F}B#>4$&i1 z=Cr=V%Ho0Dz_?Fp_+XB3u*Qh?foc~)5=ND=fuhJh!{ILO`u1n?XP#SNbZS~2yA%gq zS&!{5y}zu-F1@Rx&JuzkpLh*#-(=jK)fUjDnCRX$G1%Ln$^3ocn2-{--nh^4>1fC? zolR21&Y8TwG~~q?4Dxs4o?FKjZG{QV9J?fhttISH-D#Wh`=dTOg3)GP*Sm|7)#ZKR zF&uR<`XNvUPp1=1&%^$`f9{&!`qsCykAC!{_|&I9h1+hs4NraQQ}K*vJOkHWdu@H6>f{sg{o^Rd|{)OkuD`QVqaes-n~K40m5zxU}`C7h?U zz1zhf{Lx>`Dq@x%u=G#=^iSDi9`hJ{=tCdEHP>8&cfIRfsMqVb?z-#nf)~7iUzE4p za!Ypk<(K20d+xzI-ti8+;SF!VO*h?yr#$5;&-utlK5}XGns0ym+q3JgyAD70V?Txu zfB3_A<};s(SHJqzxc>UDXXJJccGVuO;(Q&WlhXMng-MFCC(wk0wQz7Q z#bX~chv`J37JFon$V6dcZJ;Q2urdK6lYhx;oshJT4`Pt3kwCSEY-oqXjal7D&j8dka3>1G15fw^;(SCf^+IPfp`i+++zJl9_Qgv`5&>&9A-@6zR#C67;MIWJ zQR^zQF7dIk3IDCuA;&p|G;oB2B^me%p%6~Te7!=Y=}d%xaFnwNw}mxPr7XU@k93@u zDk#gMBSyx#F*)I28E{PFE(|;w3rnF`9Xu&8wRDJs2CupsHf2t@zj$5t9cMz`s`2x$ zSVdYFmE#BLnL-{vVFfE&o1jkp#F+q&wjPK|Ujz5G{8&Ej0ti>c!cEYoSl70uJ@YpEpQOTgvrV*d7O^jMn_O)U=34})A^7n_6Wt{3l9jtAHZl6|km4!4V{w$Qg znFL&|P2)?$rKG~u7C!B8d3}vkv&O-tEp);fe&watpjjvM?UOS8tJ6`&R!4-W#abj?#4$ zWD!4GdYHnPyt_?`+`v)RP8*ItXazy0k30G|Hzrz6Xg;+K<<8>|3X>b$S=K+;lhAPwZmjR2P%+6bq|0 zyyic=5Zy`sckO5ufAr2z;0-T(FRuQDpTLpF#*k7#>i~CA9O2bYz}VLrkCO#HZXU*I zGDQ}(1B|X}jU|kFIieft7<+{1x|7@|Wb zBrF@wv-x#BT`liZTPsbOb$~9Z2-D`#?^3%GYONh+r0A8x2BG9ux}Rg@8rwpzf0ido zV^Rn25c2XifuSFiAn0I|>ba4wFb=NO4qOrF1w;sIx5(bH0_XavyNvJgbA1O-r+AiXE(^#hCWR2EH_lmhmEXIYw`}Wk4&# z<*F->jRJMH%XZY-mj>(2BiN|jLa z){%wSeG*LLykyK_}*qj@1}n(UzJ9ZbnAS_J_n6vI}>DTX`i^l@iPv*_j==d}(o*glKB z!4UV}wT*d`PZ~2Z#HgFUt6bE=bdZ-J!yva~5eicjX4N6%;K{g;wI>+jBtw#Zy`8#yb7^6$>0)Z`Y@a~6~-C)9IkqYT@L` zlS3hdjG_qFTyqVszWVB~73Um2d{{jG@sH2m_rCYx)vtav0N_I(`cUur&woB%`qG!4 zbG?_m3ekSt_^gzwz0C1&N|L{NPqQL-^MeZ zv4kkJv&uLR>9aR}1uuH#C9{e+52?4;$0z^tCR}>xS+mNRr3WOXY5K_3)zz=Q>Q%48 z>t6S|?9ib@_|&I9g^zsXBY5p=UyIkh?sd}>Cr)Jh_U*$Zm)v(;KjIOOz`Ni5ZvOXe zx8)xNCr_SyWc9oQ2M&lhjhlO)j5&%oX-$BD6u&}{*()mO zP#8?IB6e_q;7CHNW-;T((B?>Y;c*A?_{*P&cmK|x;6MJ_XYs;cau`ngxcwjR!JXg! zBJRBPUOfD=L-;@buODZmXl3PdOnZqZzF%9GOX59YUv$o-?f|Rzt@6T6=CItxBbE zb?bqtYzdGiMo1>V6BQsS%&3KdcSW38!oitD#;Rq*IM{s`4(_m8KjysAA=;FG?VBHo z-e8mJq8uB>gj_~vl1h0as5*^(6T;H_LkW||gN1-3g}jyqHdp?@7>|i9mDNSeTjvtq z65@5peJV%h73F+!e^ZVDXCm%*&L*f+UkgMG7v%kCY$T@i{?JA2aiJh=vGu^g3yKFF zrU;UK)D{kzruU&l8B|m`!UiB-IHxY&vb>CS+$Mfkj)=43_*jU4<0`Imj#8p3c zAr3qu!JoeWFX2;#{c8^AW3*Z&3XzUvlSgpR2K{ZL#KGf=IyiJG zdW3^BAxj)g%COisu}5)c7i#;_ACQVquHf5eZvg;YFn1BM-D3cNL>*-m)@*u4hh7Ja zhIP|oeJ3y1a(Ecs&Ah&1yNJCVQj$hB4Evk-_HAddH=5#-i#iZeV`TGkX_w+Om8%vm zLUu_-SzE>?m8C6?pikGVQm?E6lXTD zEsmu;P?m9U5naNX7`-A!Z`eVP+F!-{u|YVkSwB>wOI6}GV**C13$2UzoY;C+Un5ai zFASY4roc96->+G;5oF-2Lk=$QeG3CpIREvR)^Xv(J?eFjBt5`&QCF4~)Sae32elU1 zbD?!1qgJQa(53t|T4qz^dc1&LLgLPrX3-fG`y7z;Fr}QBdxEi|sd?NR+!NIm& zZiD#hpMMRPJvE;|#wOsgJl8zRWv|x`a=GHT#KDcI^Us<^2RcT)L8|n$g>6}=N0%z7 z`4De?2#v?q&M}@~6~^<+?SR|YYR6+B)Q8chKC6@cyye4B_M^W`IJoICA{;zcdCO`Q z0EA+_Yht=dvB_PFCqP0g^vTRvIDsE!4k{mSZEa*y`qW`tZm6G7RmpJNbn#qqjlZWqgBi@SSJZF&Pga zrN+`FPx%)nEmKT~1Nu%;9BE`Q>ar4ju^D2!cZ|k(9o=Tf)E#h;Z{3yS%;$u`h)ST(a%%b+3jOGouT0Km9{r~02;H3I3J5d zS%$5h?yMpn#OZ<96Zo7bKMv1%^5f1q_Ra6yhG+fatM7B}JKyqp&18rg-FAu%tn_=KyPChQn7gxmx@9YlxW8U*w>)E3b0r| zh^POgz`Nh_Nj&D&^KF7ot@zuJ4Mw%L2tApK3UHj+V&kmV4x!Icjj<6d zp)jG#>j@RWL^+1Yq-R{GRDgQL%=iA#p->TgBge`H2_&g}m3FYMhR0mC3L*12vl#@Y zhU!pR2t(-5L{Nl=m5ISA>ONl> z3unNPAb&L;w9z3n;d5&eGz&y$;|g*sv7nZvB3LWOh)(O^97Ql6HwmIbajZQoDSoHY zaO_|!RF0g4f^ZXF1uAgx3!Z-w1`}E}G%0EYg07f98&$!D6@zA}d*G*i5M9}$NWrF6++0u zEZQNc;^657xuaE~4z>tgX%=k>@p~JWN_?GE@*x&!Z2tT&|0wnd2j?cz2g@-~*?LeK zmdDU_&DRO&{bAWGTCgz02#e4N>K7g<86`_oww==nH1+$)&mmdNe{?1?!)V;+zQc8@ zLvCwpBGlL%K8B2`|Bg~tlA16@Mot2QtWSMSV(RJI!b8;Sw0a*w1tBeLO&~qtMkOl< z*uunh&KJjpHn2&PpVikp@O9vqt~gaZ4Cd`Lx*OQzz0hzaPVAhna!dbVTW7rc9;_PM~n{uUn5!OkOJg;4eE}Iv!@-#6Qphrr(EMCDT8JsTZWyZmQY+|^#g}?pg zaddkEPrmFRgwhzw{AFo<4byR^1qYf^jgqRqEVLqt}gAR6jd7C!UW$bnDrkC|0 zMs7{*N)%^;(pcDp=+W^&J2rTYY6ls?A}$r1^>B`H@KA+pSe-xv$e?tHDXB}nZ()y& zg+KDK+wk}&by)HN6fOZ6|~;B9)IcDl;(f)^Txxh`T8u*&?szx!u+{?FwHGPHsV004LFeueu~ zXoJ!iz3I8GLvfhRrITnGJ;Ky>vV=aF#xIJ;U_zL(-#wLoL>h}7Ph-tCk*)7iJ+^@{ zt?Exl=&#c@fqEO+px7U%FxaB!Xf1L~VIdXzo3w?cwGYFcO>AuM;y-`#uknhXeFjg| zCWMm5gD!7>a6v6s2TO&FCd$fsvcv+EGO#_zAD4wGbfOMnw{TQ2N3c^Us9T=vPB%Pu z3Po--hso*u{WMzK!f=?6vEkMRmtE8y<6x5on2ZMyLSyHS{QW6ifcn}6_niYO1sMeQ z{o(2NFg=;~*7NSiG1$!OViJmS3x{7})v`-ktS;Y^7Q;~&lOF=J z=q#Hc%O>aLy7!k>S66Z4jW^=XJMYX^R#te@_OXwBEFVM5%gC}Ud)dogh7W%5gXgU9 z-FoY-+2=q1dA#KK?=QzW2Q_#^8l7eBo>oI7<&)5<=i- ze&MMI+hcs-ZC}J-!{MSQ)o|-KPGPzlL)QN1d!|++L@hS6#ywAIZEYUj%UMO7r*zRH zR%VrOo{}{hkGODcRuQxGfTioNzaF3b5~p5CVI9dw9be-he}g4&jCyZm3^>{q;22%=+(m z$2;)KSH2RpS}nWs$}4fxO*i39Z+a76`N~&fVPWAR6*c6+kAoZY2yG0>X3+uTU@0}J z`^uF-B@F~dw8|Gi7qLH0jD<#ijmRa8mb@ur2V3n~?Q6AXWNb}{E1z=(jvhUV-~Ww2 z#iu_iFdB|A?B9edo^vUl{i4Sr^>sKxbb)plQK%yn@mz&MLMvNFdxT`*8|WC83|0eI zA}nKqit5laUKJHoB2|g&tccJI4$_-Ef+#Q|5?DhqdJ#Y*F%H(}VMY$lDnJNWNk~W; z8052BZ39SB1sW5xS}#{Rma0-lI~8PYRfra2;)pRKDlwa#P1smiDbI0crPRo#V@xx^ zNJ6c`V&uvHOa~l~)7coh63>-YmpWiHtd-}y(2iBWQU#nhmAK2sBv51u>~+8!(Fa1Y zIyj(}Kq2z7=5^s<$XNLDM{5Y(hf~1$BOdSS5dYp&7z%6pbDj~idbbR zl|eu_cv9eCC;&xFV+UscT@)b38S+1cfF)36CRjdjr z$9=p|2a8N16H^|ig{s+_0L}(nu8yQWVj@-t>q@-hCtTqnP5(Y)!)AxvZ@$u zYg3LHt7G0mVTUOcDbe8+1jUAq?EW0>O9f4MT}ubF$N?c}mPm7=*dSUN55)8#BEhE6 zQdwAv#jCVM(3t1*U9An1OmRhXADpGXRe%T_jZIZ_b+FcjQeARgAj=>U+8SU4 zqI&WEh)Q*^4*0#Il;?V>qG2D*A@o#67eG2iE3*r17Cmtj80zCH%g3aU3c4_h*5BXH zWSH*5{v%Jz$Gz%fm{I#8L`uI2VfeEsWR&p!U~kK@K0Z^Uo^_HW~9PkS2P^{#i}XMgr*(~JtU zwzej|^rbIlH{5Uoe&ttw1~7p#yzMffoFG)!)^A^PD^!gJ?dbyOK8L1KMpRA)uTCV^-3IEAZ6WL zW6WfAC3dh0851wIJgb0LwZnxH2to)fL=85J-kE@L@MM~!faJSy@CKPC&({yKLABNw;PmEgl)nh~uIKsX&c&57 zUc@nt=b{*+GdaQ#`xjW%ISA&l)5{f(jj)NqcoR2&`7Vr32we5V!w^#Ed+?CQ4jvBk zvF6h`j!F>Mm$6GIEY*k5E8+sz0#^4mv`3GSkE@3mZctp{j$c zjDw9L94rJzGzruu#?Bx|LSfLsHX;66vW#6)@^%_)rRuU)nngF7o{@QA0!Eti&7;^P zRcEWV#;7rl_p>?}zJoo&ITI5w4jyME4xWrl96add&+rHD{U)CItYs`LB#6@ke4mCo z!Z_TSfbn&`5pbP)<2f(oA?~M(^#j=McJQQvgA23hTC{+z zLLK~FIQT4GJ7{^Fq5L2G)>rUvU;U$bSz4u$`(pC~#@EyIKpAVewt^kP!6GbU2gk04 z$vBT4yir66F)?;0T^cV3FgMA6+{a>ylUq0E&s@{EYdc4ciCKoYJIC6?<`8|_`e04K zTOw@Bv1-}Y4`ZA9LlT$$*Nj#f2M_nQFdppEq_vs%HREBrWH%Bx49PfJC9d?xLK#O` z2#HBQ@0%(JFxl(UY|3{@6$h^^J{M}7 z|IFF2j%<|o>&adh!|faakKK@Qu+olju)&nhmGb*rl}{T7kRO1cIZ|L7eYUZeg z{(4>)+fjxSy?@C2kv_oh>UO%!ajG93uCXe+H@XuT_8>;1hvaJD#TQ>JF249;yyi8p zIp_HEpa1-G{(b1sAyHuBe<{8A#V-~we({SR@+++~9Q;2xHQEU-eSH4IFxP407k=Xk zeD!m8;Df*SIV>Jbam7zxgh>k+PkYctqAw+a#N>-JKP2hM(H6pXIBU%Fl%D;}OOe)R z3d{4Ae&*UI0oa*U#Cb?b7~tBUzG_wx58{-EjhmjA>(0__68M0oRofS^+rEtPXpHe_g3%~n^?2@ekHd3c_ylBxnW{M0>r%BG*p$(< z(-l>%Dr3tkRVsqDDiPgSJE+z^UO8(Jei|#!icM=glu6Ma?7~kq!gdNkfCwFwvM?E8 z73U!WiXCiY#Hvv4g-GKvj&Vc=)k=9Jg^6?}R%-QptE=&9W5&T60jw_K%$BiRCuTyc z8Ww`gbBzjMi+G$ifg~KPbX19LTVhwMN~~^mh*qsUr>eqD83)IZNpa0`JHb#$`1`}b zSrK>H!|J?Wp559(61NZp7OE0k*XYtH*i==(l{m9T2NfgckX5+WCS^Qk88Qym+HvgQ z3<4RZ5KtV`SV{+57#^DlP8WS4L3V%fpey&!Q99jI1Z)azDoWXriU8`fQkA$_eishT z3bSZYsDsTpv4d^ZEShkzw^6AMwq@+#{@Go0YAqhW?Fv3GRGLbc>gT{E(6pVzRU8AH zb}$q>xH&EAOT*J@TA&*ctcD#kx^Y1^Z0Ma~D+t(xY`%P799+rM z`MtqO$c(V>?iiTnFM1a?AgE18Vy_$nGRs#eg{&K!1z`O7M)tuSr}AGrVkAOJ~3K~!d|sWt49GBRm-tdoiKd=jE} zHa~7#Wj;2C&@0TP>#J-ijbtCXgbpLw!GMsZ(g7v~4h}{qpNqVlEW9br)ekNYg0KXx7$BL=~s|u}e6|hoxEcxS|doX9kRe3w3Z% zDx5#|C*Q=gpRtOCg#=N3l~vOn?HE~m9Wst>>M{njQjYO)oUWC|&8m#itNk2ydwJVb z&7!R|$Os2xTH@d$cCd;T(IW(pc$G2kT(gX6+|-^`$SqT?@q%?na0UI=b;Jtr?|LxZvl|P>e${5JHjJuqs2Y8(N z+6uO5%S9Zt(IXt(Hz7uZgZcfTW0;+MVn2;CtP{>t^%OgOLiV)-e9trqv3nxF&*A1Z zXsg`Lb(!Tp_j@}n*m!ZFrUq7tx!)Pb(_Y*b3klqht*~@XTG!#P^5ZV1t0w=>E_D;~Y zm1c`4fe?Z%V~rMuQ!iM--QW2b{_w3|#4FzPJUDM)RB5E^P0WhQz^CY-yk~(MjPhl?;0oSU z6fi$Dnu^-j z$N=>M0qZixrZSe}YF2S@t}-sLX9yJ)ab^P;QhW=gavYoiQ%7Hx(x77-+@_g}=$zLy-TazG3BtKK34xYeZLf(5?6ft@=Bw;(PJwL;j zZn_f>yLcW+8bIlo4Yh5hF0`s**8sJ+#IX%F6E6FjwF$?i6)I%YS)~j@>T80O=mHX& zCip^G2vS~a6C$Op2inApORWwORg}s}MSad#-Gn8|HX%}~uc0dOCUmI|7L`5@6#jsD z3G-*R=ct1%Jx|~g%!vauHbNc)x`OXN``KIZ*e4&PGWv52xSMGi1G-T9C$fhsOkG+Jd$itA6wi}LNd`$Hi<{yzlV(KK_KZ8q) zc)=Etp?83fId*VWS+3PTgM-tGS#&M;gtR_^Zql}axD6lX_v-aeu`+*@?IFu@99#(T zrsL`NSh)hGw0boi5AXjRnPI9jet*^5x!>SaXw;%rTE$JE$V@->D@fA))J`6f#=|%p zAQMw$KLj7%xjJ}yUamV!vq|6sn(i-l@b`;@H@o*$2k&dHvEj4P4#(Fi=59N{J#>7< z1boi2zOX#Mb%fFIa-+mTB3{52#SWgRm{FIO8qa(ArFh?OegVJx`ai~tf9-Lo$8Bs; zoY{7=gmpq_3-yD1pZ%?){Ej#Kn z!7umBv)%2jwU>5*KoZC-Lc%tS&2HHqj4|EDxNX`I?)DNkw%cx-aCcxgJ;68>F%a06 z=`g0p3p2)eK^U+>5@4WV5Fi#I(1N5=sp`FV-@Whd_bl^A{!ZR2RJ7#|)u>J1jHrr? ze0k5w^UGi6$&+7x-w#Sg&=ddiFs_XW#a;f=m%on9&Jetekv2~RR;}X}LyC8*Iu1j! zmu^KN4r*h~2FN&VUJ&4G%Z~-iivl#A=qQY} z+dq33PF(F>>d2a1it~DDsMBdK;PdtPBxVP`UGubo(S#V^%#oxCgCqi}R*65303c;Y zVTYDp^cwx~z0{8e6DiQi%M#E{~=Tz8fJ|4%DL+J6Q~ z8;KwP)$hjeV2VGz@e?SD$39r{yu{AKJ=}lS9=>tc?&H#)tFPY1cU`v z91% z>ke_yy#?LfK86PqI$P*4=#6p3pM6KTr;=`wS5bh%N*P1P#M!TeddK=5U{mSvrtfxw-;9iAP8Qm6e)@0DiI?kmZ;zkS;*T^M{>8QBO@e%L7X5> zd|tB*BJmRaF2KL7Gg%RAf)-P!Tg$t3}*erIG;qYO%0|QcIAzFiWv` zU4U1mjFAMGI7P~8Slfnp(3~mQg2)ye011F|Q^Ub7Jj0*A_w#t}btkdbNqwwTvISqZ zg<8O0lH1T0FDy*Zv`7NvWMm2!*Q{X+)QoRoVYFv>&cT3hW(Ny{4vhh;V{mB}eVQ%= zz&qK3wcO4Y?BJ}fBODqbA0eZ*48`I&g^+O&W#-br5o>g@1GpSJ*dVt}>c<$0+U0Zx zUf*BEXw-3Ag$+j>-ue3<#t*#q8DuYuRJ`2`7pMa(^J*B{1u#@q3C37}IJq>i#D-%3`eor^J3z~ya6beK#<^m zS{+AK=3zd0LU#gJaPVpo_|GNn9-M;NA3r8IxIWWkRgCfM+;H#?!ED?7!XUEjp;n*Q zYf&gSYLVA#c2U25@uGhFBzA}$+>AE^94vJjVh7jpQkAfnV}jTH+OzR{Z@d*h|H{up zTZv{nLDY~)n--fJ8)$3_9KCD<$Btfz8Q(?Hw7Beot8l7&C*JwykK)b$?hkR@_g#R? zuQ>$0>G1GAF%X3gka1ougmSkUhXXr!Hfv)v>Ei5o5A8x@*nI$;De$?UqK5NKvaOh#V_v0_?cf zRH05|Nx(O<>llxAs86E+2YdL-vx5hvho@q*2K0$pZ7NKL4`HD8ku^>P+le)UK0&ap zC2?HUSlBL81_Oc%TZzGBukM2*AL zMI7g5`%5>vRw@RiEAGF@2Gqu= z+z4>6&2126?#HJ9RFK?)_dM(yCEHM-52$P-$Rt&)KslYz;)$c2kPvhfhj_u<8I1M_ zvTto-yywS~Oj8W^9>8!oLFx=9Jrb^F!ypzt7oz}Y8reZrU;e=@_~4)3fmgn^#IY+lxcH|{EXOZw z<3eO8i}|WU&O>_93!Z}E=)sjC&QrSKhp)w{oiDEpaUN0{Tm10LUVzy_cV&!k*HoRK zGl5v`1g;i=k9X=M+t_Su!kHAj;TJkuM=-?Ll;YfQaP|l|*wNQo3PIt6oKCPA;>_BR z*V16Cd9Ly(Qk#i#$_ zYxqX@VZ8KvuS5j~Gp}JI1#L-eRtY4+Lmbj13)pHY_Nf$Z3F>vBoGXjCRWsxqk|yP4 z8sK9k(g4xH7${W6<1+< zs|hLN1A|7-RLluU0h9xn+1r+0xr9C87?A zVGA4lOUfk7C8cCg1hE&Gq2f91($7(`0@Z3GaFtezz{j3;2M@vYCf^bcUXC4Hr^mt$ z-sTby6NIFc3wfvGAU^C=jI&FSQ>ZU=fS(jU8R~4L3wE$j3pn_sbEv8UTo~*Q2|8R7 zi*BcfaHhWyi#|>8?y)tCeS%6-9S4?XtYZu(r*PHvE&SLkejYc!_k;N3Kl?b|{jQJU zx|dyuXFl&Fj&5EQ+J)>;UcDwhRNQUFmc!AO<^&lIKl~&7}Iso*jm8B=>iVch*8YPs2D>& znTMBNHK3TK=^EyRzrW57V>qV!q#8Lf^spWUW@uA7OzQZoGFpO$EqWndt_s4oLLU#X ztBuzJ9IR9v;9&p7@yOW0h}sy=ecfk0`#5;Hhr#{;S>pso1f2?L0<&5-qX4OzW`c3e zzBUW^Ts16)1ieFVVSh-X)72r&$k(vM4z83yMR4$#L~5;R0R+3ccnf>O2g&bFVn*y$ z(Kgs8TPWoMWWJ@MU>7Z2uxXi|z(W)}H_J{0U(4ccbP0A%T>G4GFz{$NxRq>UKK8z& z(_^7uw7dvAG#JxdqRr8;pH1Vy*NWR5Y}IzDndM4)I^ zhhYo9fKRfMDCZuw|MEBfD@Fu~Pogg7Ge1|zeJ@Ndr9(0D*I)_9l+$=gT1y)-dDy{| zaf)(A=N*kfF{bDxQH&~-M<~YLf4MW54fY|+8NTN^Pep&nL+^288^wqgNW2UJ)T8o@ zX9o*|RQiPxw=(pvOf9sa^Tl$(gfAOB%w-L20|cy=;9%8^!m$a(5{&k}Pwm|GX-s;4 z?%%%PTA-p24jrS){WBfD%%2slstVIxVu9x~Jow-K)|Xq3`+K+gxhy$~F~wUy*>0Tk z9WKMN!qN^(j!eLw^A*jm{oC8R#$r?Jea0F{um7r=6^I0d~bk7CDwZ4y24o3(Ymck-UJXG?+ z7shznbtiHAr|!o8^?SEsI=d9#_nK$JnglIY$0l~rD#2I3@HL$3cJcBTT?H@(sX6Ub zIcQEXe5DNVjM5FHEn+6>3~{rDK^&4=7*&`6+eqOM*X7b7ZX6CfdI45833!77H!Sr$RYIR9y$Oux@DuJZ? zOBta}*EYhTnJ%@F+ENJv9s9Oa(uHy2nX(JmwT6SWvaq!PIEh6wEWyFTAU2J#n+IYC z8=ay}*E1@{I*kV{UC6)XjemtV{D+r^KJ7drelW+mP+SLL^0*=< zDN|sq4p$gMl-|z5I+P+OAB?c6o)&zqX#1VAIUl3aem7(|JrlyYi9s9~$tr1pQ#|6b zoCN{$^{uPDJ|=+v@EgdOic|M0W_BJ37wM#K|dLesn^%fyQ^L&C`pT|-0GgcT)` zV@mg_P{ni&Ss_V}g#N1YT$n|yUfG7`6TF$4)$>$HJyj($`D7!S^n zoeMCl!W%OPwyO+`Hd5#L2>ZKt(R?ESlJP3aabPDGTtTOvoy>$qOuhyY!P3|mu^u=< z%q-CmH10<2!aN)5ghW!V?nFO2q3BlNAV3L}o6`&W@ zPEd_z^itrM^$Bv)4&z;7gKl&JqcGAcz`knTVc2_+7A!F)`yPt38ONmWuP>4a)6rg7 zkQDPV01i$X5Yoh$&iy@YyoSlp-$yh!W<7$2*KJ_+X2u4==az~wI;feq5k|zuj8%+j zEo{szh6IgP%?g7t)yG!2m$WhFv)b4EnZV`P!8&SV2=8mJ{GqGC^&WO7J+$Qon9%(j z$_9JsjX1PXH3uG5)3}YY;`Pcv37lpBr=p>XkOpGqIH_arv zbe*Wl0vs%D8)Fh`PekJ3U@&Y^%wH}QrZhH{j03b+$_ft+Kkc7C{Z4H1rvLyB)Wdjy zM3MR2p||r@?{~Ay&^zn%PbyvuKJ|;x&Xb=W7J(0Z>gI4(?ZW5328-0aBb6E53p|~f#ELMbp0r1Bm^C`wvf*XWX9sB zUvmR;I=WJo1*QXU4;OEsn$kQ_34bI|2$XXYb1pe16Azyw(m2)sxVLlTXn=sT_JzUk z8#)SN*{YRbK*wTKD+wwBvTe{Gd1yLwM==}hlMUKH=@%W*=JuoB9jq#G_h;Vi+oc_b zBO2?;I&xx4%eD?m8s!NXtk`SnZC+rNwa^aSp&V_EZy@em!|=`;k+ zP(FshhIs{=jn}HDvS4#s;u|4Z}uAE62yI?IBq<3X>igiM8tWL0&*3h9vns|so2!j@t zmrO%NB$&!IqK41sEXGFU;j-MM_^uZ`6`#EItB7CM0BDCH(GiS_anBdOj<58_IDXkh zVBnzh+kmi85sCdO2Zzn@B`uOg?A02&)$%W z8P!o~xQ;H;5c`wK1?*bu1TvNtDn%nEW~z)K3BuyS zE$k%>BC-o-1}W7kghMm+dB!bVfQIAXn^vV@HCtQSAk@y8L|Nsek+y(?9gPvE6GT$c zu6q)$r$rp@DTPIYZ1I7=ejk46nwKofm*B;^y+$Qy*KoH=gAWKELo*Kt8)#H22Lpp9 z!EG>xIcV2RF|fGqe~CtXGVFrobUXnikUF{#Tlip{Y$J+1^H!%VNE$z7QJ|_Q)L^z2 z{Oe%<8>k2>cWxu}smR45c5r$G5!E#(RyG9v+QVqimWu)qkLlG02QSs zTa?=@)OR`wH1~t#iEZtS;L4FUme~J!6g(~FE&kNGjF??Z=u-l(n3lG7`LG=LNOwN zT_Z6h2q&@|fthHO#Ax5!f@>Sa`cbc@L03A*l3vlq9&IBsc!XCxSZA6EF1OGdlX^eVg zFJ-V#_G+pKI|R`kZe^H|P%djn*r#??!UmD@R^vqQ&31A)z`?O?|0A)39|;HN1P5oS zSd3F;aX|g6WD?r-Yj1iLcJ{tPbut`KyPRCW!H1PWK@i}Sv2dM^*hEfaPnIe2xrc*i zO@c86!^3Ak^axnPb`~|4tH&_8x==@EiZ;hr?JhNh`p?g`FUu`Y|A-^;&aW zU|JAFtTlG`y_m9XY+yL2BL-YxK=yBFyYPDzV?^Uot0atNtr85$*QIh8()=a3#zB`L z*!?R)>|oc~2%7-&(GaLAlx2ba?wvFSQcOyUm(12NCSQxqVf1GNO!(S9+hsr?JGDqnBqk*I(Ja?`|s}J&M%x^8R|Tx_kZ9E*xw(o3~`>)pa03n zS4KEb>0mg|P~WI%sV!-!W6k0#+(-vU%t+1z zs;Y$G5}bBHv~mH`b~+>RVb6wa)Ah8n=q$k_jR0pEG${{Z5eG(H6kwA-de{5#n%7*5 zX7dPUl?`9Xv5ugn!x>Rwf*g(H5E$c-q_k~>g`haX5GkUDqaCamu0b%6bTApgv{F2R z#b=1QC!|G0j99HQq&3S~Crc1f1e>mfFKIzy!BUO_99-p|+`y#iv0!MjOrGS)FuAmLU!PY}`oU71AsTQo| z@pu>3Y#@meND(29w?jXkGtV_*YCD%2QAW=p-2yISF)B+iT9v^OlwMj1rAR=RRX|mG z=#ak3Ik(6piEGOgl31EjMToMk@cdC|iw*6ngn~_dotztFHO#eSJ0oMXsf~{8!N)SBVsfI}}igDDm~71XR->52&PsiMMDxEPT)(J@CJccm__Q-?7?+NoYKd zB?KK2;Wk2P=1}6JPy9|G3Y6#J{9c9CnZVT|@NrK4;Th~5%)uBBq19T;aIj7ma4@~} ztcpWC&@5Uo;rzy_!9$Q*;TcFv^ABN+Cmev)aNw ziM_^V0SCuI26k{o%&^3^Q4j->36B2oRCtN)5Oiu)5@6iOG(sD#ZiMnn*ip)4=YCjzlPjUGmL!>B88M!UX>X@IM9z$6GiU)v<%c z(zuHPvt8>HBf8J)f9m<@5!9EPbm^Wch9rE>rNJ(Znau{n0sS_eY0QVdU8U5>=VMd= z_A82Es}hvN0=IGv@5d~+I{z8fQo ztG$D}&?m;VZgwyp`+J#biuufsvDw^za3~d{B`ypL>}l=mE(vD>O=~?YaDWQsY+8RA zqnOle;u!gONNvo3oX(DFh55Wh!#e!btA8NGY zrgIY4R$CZRU!+1|bnsAE$PI@Ng+8r)U6~9+8p~QXFsfPq%>)xVS|U3dBkJq1I~y3x z>sMYInAKnZ%)3$MQveK;l7b4vn>c>xd;Gjp4AH&!c7MIL!iW}LJu@l#)Rs-X1+nA%plyzZIL&+0uVOOrZ8)T_Lph&8lTi2*x(Hms z!QWPC1qZLvqteS>b~XO?=DWV--|zhVX?*6R_pS_ep3)!u@vS(sGgukoJf*k1`MoP6 zoTt?75AdIV_gyPPtkNp2b^@RHl*Q|4ryFoOL7O0fNH1dTDrpcE8GZNGn@t)8vG1&k z!Kkh?DcaR`_>ykX^^~+|6T~37LZgP3ghrF{N|;bz%Lr|PX{}1oBKRrN2{?(iYGGkX z9M*6T2XiigDyQAV7*K}VlAul3aMA?`SPQ#oqtKy^VyRtByM;jW64d(Q7p>#1Z~Gt~ ze1Kv5(grlaOiWlPVR7V;Mm{Uih}XR^D(%jwrC7^Grie0vXmt#p609K=WJDssLIuc0 zEHQ{=#1yX=#suh) zSrvq~eOcvqMF>9U(jlp8)_MY#5*(}@B2L%lb_r6|h^f8c3XW{FJO-4oXe^C~I`3l? z*X0h1H0x@1aJ_@-$Jb(vSe=0L#gT}`SaZmzEm9a{)W)Y?Sp;}j3bQn3Z74S~LbGm{ zXh2v-b<#zwUBMyBly=l8lp0rHoP?TH3?uyfqErGzB)}~lT)MgFFY@WxbO=s6OHd3t z${sbR=|(&Fy6*456{NAJ9fj2cBn%WCClNUvCy@qL(QykMp%TP~MGi(s7K&mHHm^gx zad2Y-GEl?8Tu4Y_3NtRlSgr&hU5p4EPr3Y}ASkWN5{%kgig{=kAVch6$>`ckg6Y~M z0I%nUDEPOK77_UrXC{md!F9+>rb8Vi(-4zfsSHUSuh&K)rg1(Rg*Han2FiR6Fb+}F z0{1Cqh2Q-wsu^sy5&CzTHJ(_?GmF?Q=7}c3zJ^=0>SF~wMTa0@V>(dlj_k<542?II zg?0%Oc?ALf#J{r7mz>K=B4)J+eB9H)Xb1a)0*ndl5o}O>3$bXy7B7)0l{KPu>{DII zWw?e>5xSI*O%`J7He3rk2Q~cE4E43iuuE`;RS9}^xzORaGTFp{AUdP700&F%*}+O! zsqT zc<*0)0>Avrn~($tJ}`|im~_F@0x?(EIXJcSf(BySL^=2Ejv|AyexF#5oMMI+W{Tb( ziMMW?L_YGi*3AeYmZ0JevzcFnlxB)?-@`c#a|tlb>E%@g;nyOcU^d#XSMez36I6_$ z5dNOrBseWeh?=cqzwj^GjyQ%%Nvu|(uv>W8ro$Z05{$X+QtXpWUDgZ`Rh&i`5(L>{ z3C09vvxY`~;Pa&hW)wTPv{8VA&oVEMp=5-DM0*pq1`ZF4J^AVDD5qy}kaMI=V=y5f zu?hMm!KggL!JOEIEX8nK`(^{<0YTPcBiKmm6vdFvzv^kI!}$UZhFHW7uBDR<7NX5O z=9uTi+Ab9)eS*Sdf(h9|>NNPYG7X$22>7thFeUh0={WeK5*B^RvxK2fw*FRda8W)Q z4sI;L!A6*HpUA|aEwO1}GWK<@yZ&N~MjnoB=nVP9*DqX#L4AMaP*J%XwE-gPOp^*z zVh2|ZjlA@+gZX|PJ2(a(_=T#@BE-C25KDCT@9=fn3*X7&695S)_aD9!_dMj;u~)p{ z-<)$1*f@G=$lw3b+b|x~5NHQunya*2z`e-k-*LrZ^eB3U%eDZD;SEutn0Ox? ztJ5gUIXKs_Gry4LPGDTrgtIM-sK2;U7?6KU6JbI}HLPl2(y#MPOnTJs%_gS%G{)T} z0Nqnchk4)ol-+IzcJT1jeJJO&h@bnfvNA0l|G(9lz|~IRpV@XqVsy4a!gX3_2oKr4-OH#kgcM zTz$opaQM(?aO*Ai;(NcxOU0yxgpvkVT$!TED>UK+92|l~YPGT`2oBadhKk6xQo_)+ zxr$&@ir*;=Owysx5fNY}a0wL=OLFPAOf2eDvVx9D%vEuK;J{p#s0s(hScn(Qq(wwb zK&@gV746!n2#Rc{g+oSpAv7!r^_EORS>N8AEAVKInyV4H8jiJaRG+H|CRz_WWQMb_ zYrwVd(~Ok>DhMV4f)lk$AV>)IhF3JO-Vtz4dv;^Ej|q7uG;B=eT!s7l@^yM{0i956 zS80O13Rxl|c)ZdIlHwbCQE(5@6|9CXBY=rw=@hE#qnWB+iL~~XKN50OvTI8h;cBwdnAU3nqvEP{l zP?R%Nb11uKXxZ(=xJ`&ta1%HWT68#yikmBD871+B@$048CM#!hGja`Cgno$Q+5*1Bt6Jvs?nl8hL@>&}7>vmxi`veDP zOR#(7 zS3z`pxco#LU;pxhD6a7fwK6uCPrAsbV@&1@VmN@{3Ws&QfX;B5V)(jBp-)WGrn(d= zCs~$?qat{QCp^R?Et6S*eIs=k^HGmpswt+_F0M?7(W{ay)MuH-bnNS#$$&Y=K*dlI zbJ6ew(}9O=l4t`%vX@f^Aoiv(DKIAJMK^G|?;)R3Ht-Mi9s!ktQVx>?e;+Ga zn2`KAS+#I)r6L-f5omH+7j6o_Uf@Ali=%4M;K8Z&IJxeb^PoF z9ITe$;PM>oV9pta;rU$l;F40wL-jPlqu#TV&B^~3KDdNZG`72brRUN&R&H% zZBlfrZ(u_4TvZWyvFM5s>`C}95iHiVQ1m1W1Ut#Y-4=eNS1fwazp>jRI!Gb{*u?STXPt^^1@eV;Wzb_;Mu5FOZlb2wVi5X-t~Q*H-;GW==jO_iXfohXq-eW{X%gz zKR`}%MsxFGRAmWCAK6drPT=ZH;I~s+!NIHaEw}tX^|=S|jHh4lsK4EN*Bq+n&ew)V=%eyQ|;+?cc_G z-t!(@d+oLO{ont6Y;JC{rF)9^zyJOD%{SkS_rL%Bxc~n9vA({JE3do~uY29=aKjBZ zuyeIFu`OiLI;@J&Ac!u~i^JAZn5Fon^=_6%NwA$$DJbMDjB?=`N?K$!>)+rJ;_nHCv7c2v|t7fQFTXib;^wGN^hZ zMwbvW0s{x9JvSw6fDWxnAP7=4B0^pEdKg;|2v zq=O-wav4LJGV~4SChS~QRRtk5w8+V)5-{g|@TXq?VlW&)2oAw5oL#iV(zQjU5NYx| zW)a&3+;3goMgtR5TeJ?My~0@N%D1;NBE&2fg=dm7F2D%#Q!)agI+U36Lc_ExtEew3 zp`po+oGom}xIpA;cyUoKxd}EE!i93JVk9A-1no9KV$pbnShVxP?)1CGShL|8QkbQF z)S)eJ{Eb(`usSTGUf7fw#AcoPIzd8W#Y_rFV#jKp0yV(2N;)W16eb;mu5F^T!_~Tx$r@y5>$?CQ#lBlKfJ(p z<)O%^O+QN@X4Gz_7tpX!5QZL(^CdxP4xwp0GK6x$G)zLG*UCUe4Q$vH|NdwG6*wm) zgQ^2TuNh_2&@M3M=R3|&(iq^zqRMF=)-eq4(C(uR&snhwh4ec{6|WZl$Ysbgp+X)~ z2748lp(03JR?*^!ijG1I=7Qy5g#y6fKu0X34vcVRGf0|CjLpD_IWJ`tj$v@F!?Z!-@DNA`pKXC$^0cRc?n+ky4T@Xe&tti?AS5fefQnC`R1GPfe(BDH{5W;IqyH1 zbkQIA1yKzF19KLcSGsFrs`jTE~E{-Hg_8mgFANsDt^`!vLjg zhTn1#pCJTrf}7`Tf{%Xu9z5r&%is!yao?Y<>ovz1Ou9IIe-G0saOi>z ziYX*BFFnGXz$xxwld07BV&&nd;{`|KtiN`)elg}GHmjp%$lIhsPEb*$fL_-_VPHtF$E1qQu#>_wW*`dTNAA>QD4OK5*Qn!~H>AKG!E5cZ!a?m1Cc~_T zc9f4DtYn0eU?^B%LOyc)=SH~bm_n8sSl&e5?b52F9U%KuZh@WgzqQ*j${xw_Fo~*5 z0_YnJOeyv#cNT-3gqyLs5Yo=m00--dMOEftQe#fBV&O`3D`GlofoXoG9?94tCTCj3 zI7NQ6u3H$8e`d)0Ec=ltSe<#H*4k#9_n;-TO zE&woyaGU^3aBwZFV_X|gdH%ok<7L>x*FW-K>BDLhn)`*PaSdqtP$=>l=41;^(Ml^Bl3_|Qi`gy%fjFNn5}UW=T2f1Kq5R5`KEU6W!5Gfd`m z96*TR-$JU;Us6ZGUk2tuoZ7q1-@kncCRE3y9ZaU=15pR#=}wqq4rU&9Wd{O-Jr6w} zT7M20Vf-d)p~^i}zjyX4DDxS>IIOHcRy7JzJup#%s6K~j9R}lXgpZk8xd4p{BNB;M ztQ7>~Tjd4FhkntxdFeIaRV~dk#k}y>ciDPiVnr@4oS-n{N7y9xT zlsI%jwldUtNOyhhG>&X;BTLQ780R5hF@snuiX_-gd5XFUsVd)wRa%2&P;Z++`q@$#3ye6gE17+eVe zPkPdmzSZx)E7<&YB8XLW+Iti_EDR2@f_b^?VoFvMW9DnV%}Uaz!B=o(6x zkQZDbUdq?yl1rqH@=PHnxKIic>T7939j)R}Zl!}HQBX}ffr2Yk#Nsr|;si7qa zrkkNp>wYxShWbXvC~X}&ZxM&uDCr?OuE7agWGaFth~;1X_zQyWp%5xOC*w=drF20Q znhOKvvQTd08V+>M!VFC#H>t|CNiAqHLct|jXqMCyusI)4$nt<8HK!LE`)z$jH9Yb4;PnZ{pB54`9eqF z^}DywSvcRU-h$bp+h<6GK>w*mIAtHhCW3dbC?4xu%lU+%fNWJKjU)Ic4=Ufjo?#U z__?f{EyZbOERcZ8G7n@4W+a%@3y6M|R_T9+Mc_Y{#^W)zx3{Zqw~GrdxB#zs#VhdU zH@`Wps_GFjvEKBiH{oZ0_Gj_)KmYT%{`%|j_P4)1{OyuUE@97n<}<4sZ@dvgi0TJ_ z@CR}6#TT>3a{uA9kAsPT)iH(ypGqM^-jxeDxK2jJ$SHQP;4-jqt&T%Jbxn*Y--y?- zPf$f8*~Dl{a0a#kii63pg&D=v%}pBvVzL^YVn%JrrN)@98M!7ftDz$i;Na1`ZWjYc zESl>G(}~YlwuLF(CvxinPD|nq91v{MOg6Dc@MapVP5SFeLJiBA$-*p{1k=G^bF6iVPA_sqz`HE|F3 zFw6;_!jK57j1o)HvobL=OxE1 z9|K_MjtDx`X<+6iQHj$NzW~@U96gF_x*;;`k_fPM>*!K`E!_&X9+um9m{^C2Zr}l8 z5FhI#$m{-a8A{3*QiXnJWsWJeVKx&8V$pdm7F~hQ{qy|AUwskJyrzkEJAy_dJZD@U zf$aMsn>G&twG4)on9PVJnx!Z~5i6>Ne<@=y?~^o6B2gUBy4_hYg0Ti}$BRW*8pUiz zA0ZVmuf?Pz^vPdRnV?Jg*sLL&`e)Ngf%&ZV`|aS5MYM^7iEm33tzlA+LDRs5{MX1R zS=5P_;cL|6y9Y<{IFqp_~v_@!2mN(&2%UYG=k_-(*l z6|i{5RdL`$Q#UFu(?&%Nh)0$&b^}-mU;MO&Oq`$7N-0j&KNu3txbG+TPYH@NHY5r2 zSj<`@^QHZ4x!Fh`p9c)1oVT;um-yrGzqC!%f5%&wip9bUr&N4XcL)DEK~DzHaU&-- zJxEaX`F?U;cBdq8JuZjC!3yh*EpoFMFU-pMNXpv#&o^wfm#YkWA{5ekxQC5TQbdYc zxL=yRK=&OWiT%8%v!Mg=vE#rOiF4>}!J6P2GdK~9qc&eHgKvK||4Y*R2Uh{7-mM49 zv$SLXOV7)`uP-KM9U!TB^m)I@nLKaaLA{?6N83u#|7x0Q?Ds^8>)Cmy-wE>z+wV@> zA1Bqwi;kO{yUh48)VSolf>k$*A(u}~CfBk_e%IbWcx}mfX_0R0_uG~BgLd?q%_uYexHBGH*?7O_!?h|E z*RzCXDZY3=zpyM;%3|l)@VVK&_;|l?8f9wQboV=O2mOmH1jB52%8g$dj0FxZ&OdBP z@eKWln%>9prui(Z{b+lo->;*aU-9+R;tn3i&fK^7SlXeDTX#60*D!uR{f@p|(mxlU zpKrb#)_=V8?u>~3ecGiHiROFg(tIp{wlx+k*ur4t> z^A8)*R!07iu-6N^$y)lLrs$LckYF;pvme_pSH&u;L;cE9%d zmWe+p>4$%3P-^F~v(I@P^ZMn*JOAS235`H?P0#xTx(zNRj(>3b+b8= zW4*_y2@N)P_8Ho3@)n&hcu11Bt}a@u7s=w}O_-aXE^L-4b{KGG8T0mTY#OUAV-}os z4j&E#r^?;KsT-`;rzsr(6kY09P~X;}@t|bbgU`?52V`lPoT^2>{J>AL2%R>Gt8ic= znNYz&mK87P6bWK$64ecRTO%hJkI$>v=RJ(A>3Bzok*540BFqtOI>8%=ofp|WO&8KB zMwk8wSj!@*4TA}m=;RS?#R3XWuw{%-Tl3#O(4haIjN-a?50_CxBIosbp{&=#*uOzc zoW{;l3SvODEE$1{4eLE$2Mi*IPh-BcclJ&9QX>@PJqWrot>!N9K!5XJ6<8Ipsn7Tg*S^dP-KN)=mm$qgcoB8^grw`Pro4NP8sr zh-~(&H{SFGmsqVSou*#&4YK5plD!bs=oT3l@mQZD8bqQj6fC*%9x9WiiT<=XJwwKz!Kg2rS|iN+`*rij)5qX?M!2q$_&c$=%SgPIG zud*3EF(_zwR$R9_t^pH5&+mbz_=L*<*qBHA(OUfUN}(=JsFkzqFcN^?jVW|b(YU1- z1fgk7FgoD#l+mw>vWl`XpQn3o$G%sLgZ_5iWSD$?3)YcGFv-Hatr>$xDKmobp+eks zL0TuR73L%hwRUXt?hH5XV;nCxNwnadk4VT1v%xEZ>={uhTc`h2fl$^RrE#VI)D??H zfLJH7Ks6rZ^DCY<3BJB>WEs6uDy9ce;VvB0;)Zq74!L~=p*{{^u%is27iEfdI^E@$ zutO9BF;=-%S2qWI@elY~72O{yNd$hp4vuUDtLsDRwZw@ed7XFRm(Of=J>!y-aZYWl z>$S8K_QK|YIC==`jVBnVzRM`<%adeYRGWFTez>|+BO?X%8GgJhkkQEpiKe! zF6IccM$ zv-sTsx&Ybl^*2}3%4@MM598afpTvC*6Wuq5<3$1zgLfXs4m!dQgl{l?jxyZMj;1hP zdnOITGK8PdtQW)tpEp|`CrKaSvtQGsDI&#JAMcxX`dPd%zIN`Q`rHF^x^HsckbSmE z9Rs<5f_Dh<-7mt|54`@9f^H5OgW)3YvVwb8cm+Iw?fs7n(yLKzqAu-DUmmUS!OOb% ztbQ8d7YF;5Qjm#q6x!Pw&*d)7Bviy@`lK&j^yJ0PxWw7@Ct1B~5D7T*2)o?iUG^LZV{NpZL8qi@`%yT<5!#tf z1ifW1jR3A^zagwvwCz%{bbnhg46pLpWAHeVH-0XNjH)DtH2D`Z4GGb-=9c064;68UzJvMQ2$KpPw;1FUwx9N!@_b_2?Y7Kk$AU0hKqKoV<2`&vq zH#j(q<=0uA4Vc64LOK<+B4|1KLIcxyk=l?T^|ONh%@LBY9qJOw z8+8oQjab!oYFQxKzAbLPUbNh3(4;;p{fu0qY%;XjEQEAsSw0Me{AghkG{^&`62a$UxRyke7$T0h;Ts`D+;5F+{iUf!-9Rgd z%|N;SJRAkh_e_yw{FDiZ4YX!55+#eec6PK(M3L$+8_sFy`t5onjI=N_e=;o2(^IGkO(A#A4&=L78&_8PF@gx4i1ja$DGWu@PBD*x!iQ z_6g!VKX>|X15AK84fj}qs;)rzik!te!@DQMq9^@VG$OjEvv+YS;fM83$egv}ne8dH z$VuODB9Tvr>zAgPFRNB2E8D1ZVzKhf&F~FgSZeSFKIbif2W>XZ#Hrdq8Ks?9!qN#&nfNyV1Er&z9{nY z@{1k50!Co+-{!Ji)ty+bz(w1v5jbc1aT~8Qf(-t$k46~dU&AO|3mlBI%30ocS$`0I z(FQ|`9_O1nLcz$O&9d^}J>|x4$KhFs`^LAJyjNSi>N4r1zla1q6520AS?d2OCzoI# zqECIgxs%sAvGNP^YS>;J5*BFFB%RIN(vqOJBK+QLT%-+XOh{RaB?tm#pb6Cgo#0Xg z9tyZ9Yo?at3K-l?O|`LBR_b`YoN>G-GrAR8!GkvD3(HSQH6&G1>5`^Z?VFy)>*n=# z$L+N4>JN$sF9kdDiT0uP_ia5C+1_c}m-Cbj(949ovkNoKS z4X)D%g4K=l7FDYgOQ`iyjTH|n=?7|&aFOnFuW2riOrK{IzM5VE&H6v_D>xxZ z^|Il*aV8X!BT87;Q-CH|o0_L7A1_1e)&p{0JiboI_9rOD{(xkc`}RvSM9{rif+F;n z0<>88I(}iEIf!#t02`z6=6gLcEbQsS-QDu%@jOB0jmCi zQ3=z$fiY|pFQY0n0IUkl7`7{^60=$%*HVZZpKWL?vYf&@OvJED_D$io;XZ`OKyfu; z4`xnYhrxAL@j|K)P|b2}jlTLXJ2Fxf&@WY$eOP8L1@6^)KPV1zgF_?;1yCn<%;?N? zAkG9rfD>T9U zE-YZ-YhO(KSX4&3Yfs-Q>c8)XA&3A2WiklP&>Fv96hhLSR-wJ zXNB7N?bqx_1gy0~DkyT~klMI_o8UyA&Yh;eB5*&V81ldmPlROMtu{lsR?YEHflTDk zgI^3fWr6G@Z9z1l&5WAM8w{0&(cevQUqzTc2}BF?*oApf$;l9BBig){XMxp*w9V@| zy~T!I11{D%kZeLV4uPiM*Uhx|AK}?QH8B0nc;Wrf3ombBV}2HUrY)g$)YED-9+VlyH9U*I}_6f zb?F&+oVV!6uM!x#UBMix&VL^zZ6F;lddajF+;S#*AK3s-HhMzGa)*@<{<{oOiW;9s zbY>xcLdzn373!WH(r-YPCU}JH zwljXwBjR@*>Ns<7^wu$i{*Yt|yzp9RO*r6VZauAqdqW0Rzy|2sDI+D^E=~I3#<1D1 zG&;;$H6UXQ0Wuk&6AjuZE~|f-db0hpN`im=LQC&Z?hDci4V}Ch1+bVJl^(3Ztig1p z-QMNT#BVMyxERHi`(}#9_8j2O@41L+W~=)VO_)=mH;Nt(vRsM5>}LW$U{<=HDtRA= zgdU#`h;orC?jh}|wmcq#`0QT}3OqLRJ$M3BV2=p_E^XOY@E5iWf;(*G0j_czu< zJz?vVp*!BS;T7bfgd1pwf?_$~ zKX1@jnWfCF9o}Hfw;`~@XLYCs)4cu!?411WY#C6hz%=3*U*qlYicg$V%nDA{3}0|{ zL5ov+?dhKQDOVb zaS9%$UQM(Dv>oEYnPy80reO1hf*+QoM#Y5;Kt*#etF;2KTFwT+P95-@FHIUDY`12( zw`&ln{)HH(KWA(XePDM}3|MhU@oOZ_#Z>SNNLh3RCAEvKQgt=}+E!s*8Bp8cgZ>q3 z$lJ)CXDBYbxcRZN~&g2v#)h7@XrR@?~c8D-zLsQ`gm`_3W1L~2< z;;rRNUcgcA{`HwJq=6R46?hRfaog^*@0vUh){MmzK zbO~hu<}x5d{M$%%>)HK-67L+BS2ZFbA)#eNZ+=WsUG9*6G@sph=@`2k7lSuNO;_D$ zep66g$=XKv8!nSVZwFv?r}?<7yxRT3h)BQ?y^+b7ct)V6nM4L`L=T1U;rGz`cv~zIo8j1j-+3$F84?VK_Vtg+j!%T@ zdN>=t)aOw6=)T^V8cb$BRL?C`UEly<>O%Gx8c?2>2gYm12w~O&SVqfAMi;>ai{B8= z)Mn1G3BxJ#Q#0nZPLaHOEMQ7iNnxUbRDA@U%m$8!k8ukr11JOJPXB_U#E$Nav>5nt zo#TOjK+Q5(4{MXS(^U0@-*%%c9K42Cgf^c~oDxNV9E_#sB*cwbG_9Bok^ zF-4BBWQJ)f;lzAC5xx#~U(KWpv72)$mtvYrb{ZI$O)}Kaj^$58x{X2A<3bJe22%_o z{FqR{OTQ?#bkR9BKKPdQ{luyQpI1nL+x1IwmuMnfz7jfWX5r2n>Emak*Gwyu!5+>K zC6yte`gzQ9;$qYvHqhc~xmO-2S>N0}OGAm)ez$5+K~A0V@xmARfX;L#O%+J$Lzxrs z|JcVGoSVo52fDe`iS=M(`w(!MlMVU-yCQ#SGWGXqM3ReTwbg3I2BynC3qSm9x09>2Z1!JkCZj{DCdsTz9Apd&0fZgy>+BVd{^od$ zJ;(z&)3)>Zx8^@+qt61j7%jvn^V5`*MN?GIu=mWnlB9fBH@&58Pvee8t@}UiKxYjL z?_{PJ%0HkxpUXR=%K98PI($zfm3{Jk|B+)BI_?`F0y^JMI?utZi4T6G*KItmJ%}Pg%W^m;I?Ej&eL%fTb=_(8DD`pH^^Wfx-}=kVx1M* z`qPB_w!8m>dlSX6aEQgqIkl0~S>4tB#~U?gG3A)x*Q>&RI88%}fR{TOHqk`w{vevaYM0!K)vsZGC=V_-XIzDpB@L z=D{YoAJMn3BxYn{!ikQKZhqXJ4elZp^g#btgWfjWzsH_U7f7>IHmZS7`lveWxRunTj%Q-9A+xIK_J`K zr#okAA;#wGYUP(coQf)}hSX7bJuVn?FWBL1aspM}8XD2pfO`$f|$mfL&yT1kVv7wEUitC2;5m^aRv zl-DpO-T=>7OVk2%W6BFrMJO>~^>tgfP-g=$1}aGchr|B>@SmU|Fe*guDa$9!FO zD3}&Xz_aFx^}fyW4mIg9!0`;RxYesPI{mdt+1t<35*9rAgGHeoD)4uF4?J!PBa`>R zMw&L96;@TsZz_LbqXvHjE124L0%|-FGR6o!mF2#&@0y!9s5CaPR(CiAjxFfx$X9a> zQNunY-)HI;7eS$e$a3*?#{zwvRWU9H9)TPK5vVqhNOnj%AZuGf)@ZiaVbiV>#|is> zjJ&RheGJWI+OK(EQn@YV!lMv7LYXcPX)b!MzoV{uohf?UW#q(oar8}@A0AL5hwrV{ znVqr(>g{!)1rrIe7ddv3<+ad#ou(_RcbOzGG$G>G9ONh6QrbCM`wRz) z^yPCGxk1@O5iJ1XZeh^=fJtW6)N7GY#k8m;T`v3a-f{#H4CMg^;p4NDM%Paw0|2}l zpR+03?r$E5E7t#c0V*;17}@0)c>iD&ZB?MLZ__Jr`DRMQd176Wk_ z8!sIIye7^8x@nO|kj}e}tMQ3KROw$V2mFY*@i+8x+@C-Bzt|W^O~8C%-E*0kKT(8l zjy4v*kdP@`3N-950ol&nt-lFp$fqeLPp}E*euzIu1&;FOW$CfT?W@jC=zgL8b{jUa zu2Kq6_|B1x+D=SRcX>P#ij)%)ij>9g{G{JxA`=*aX5f+Ret9T(DYQ$+$JAie9=l?_ zXYM(jULx{Bb6LsKF*{z@f@Zq)nl{TSs^c?p?M9 z#{7`O2iw&(Ov7|8)`BA@fih1mp{Q*_dmdm9zo~&4>ywa@$q;gHE!2?p86uJ}nSQ?> zejk2ywtG5Ef-+GgBl6V|@y27-VP>wu;4t6e55p2Ls%>m}AS;nIoscIx;{mVbeOmk- zb6vnEo=_y_4X$#EfE~o`?aAE*`a3PTpl?#IUe`_kM|!R9F7$0(%gN!)TSwQK-b83c zLV*v-)s~Gqn~Qa`p7ea1I7SCed{@Lzc2nF0>#@}T5Anxa$_mfix0fBom3_~+El>nr z$7Sf_Xy>auEX1VOeBG2i_u1Woar~tJ`wcg8Z@B$ew5HnRV9WB%8o{>(mY#Pcyenq}W%uV`MYn%C}8KjIb34E+#Z`Mu|bPWxzht5VvQU#RQ!B5mLe`@#04(M>er zd;7Jg@^bxI-_;G@q~}D~v+?_$F)W17O~yvw{n^Stj4-Ll+0)*hMTqGkl|Oja{nwsf z4G^*{Rh*?0DK;?&ejrBU-Dpc3686m6Q|MVOF3#s;uP8sSOzk7HF78GT3)SF{(K{^C z>13jAA%C+{L92!f+`-?JB^&_wojhbi{els`U)Z=dmh1h}!6!7yJ0Yc~v66I`%x%9T zC`XV5xnB5oE~BKbe5?S*6@J@jJb00d*Ru}`-48nxw45) zk%#mHuG)3DzWA^mK3q;n{9Aq^zuWVLA7XO5QxTtI?RoL^pP6^$u~%{Hnx}QaS;6&} zK;wa~lX?oFzd+7&K+ zUNsW^qgSlD_T3e>DT4%76A2YbzePy<*#tMy-Z(TAZ`J*pXtZ!SBAQ63mgNW+)==$W zj3W$WMmoTkl(y*2Rx1EaV4jLC1DUsaQEG04gQuY$yM!r?D*CkOYJpKv;V1`r7#WKv zt`IqroYH)Ieb)SzA^lyyNwNI<8V^Ytp{cCz!N9hM6#Zq-Bgdr9jtyrujMgD~2}fAc zzQ1$k4&;b~02U5l)?1=>mSGWNa(UZmUilZqVWrVqLeT+lP6{4n*}j)+)dx(E1l&M4`v zUMVh@J(b^tb%lZCgK_UcE;90ESDE5*2EG`mHS}37X+#UA%0KX`W2!ZpeOhYx0>)BO z17&?Ax*_`0a}p~J0D_b3`}Q=DGUs9r&GAJ);$I}JEJoYuAQV)!MyA+fkV7}wQ0mVh zn=bf`#jts~9I%-KWTf-t43tlT#SiaSU)@e$Jvl>0Usgur0@z>EQ%f^Mn2Lztr^L~coK+fAz&eOr~w(AjVFE6jl z?1wfuk(W9P)Qf)rIu*GsunlBukGC-y!ma#u>c{*iR{_cocWg&bxSa9pwu4tfSMBo^ ziauTXD&HeVvwCNrXmqQcP>M#z7!p`DoTQw;Xbznj$@0uCA%CMhAJ6>!{Atze zNY$p}`@Z9UR+E2{LIKGgEi6RmgLh~6KOCmV30S%KHjsvf+YVkg7=R^;@dYr`3#+^T zlK8>{&gia8J8#;0u~_8o=&=W{BY>xE3&rDaxl!oT(^Giz!}xsM8okIhRrLn3BgP(M zO6O}8Y4`UXyZ;J&{Q7lHV+1HgE*no@Vv!!rvjq&Ud^|CF;9vE7IrG>;GLF!9Y{ywJ zbSM7WyanqR;x)l{P_6&91qNKvdl`(b5MQrIKiHT%U!DJftUU%xhpGQTEo=V~Iv>H) zLCinfOs}-av+6&RXE*px<}2%+L^Kn3e)NDMP)tofhkmGt<*`}}p+QWEbrU?amV_j3 z5sF2FXi3cqkUx5q5&GE?iu0O98MB_LurW)W-*}RPkcSAJuqgn%-?GvXS*gE`Pq70= z$wLMbP91o8G57uAb0M1F)u?M^FiwGatc5a9kOwlfl4@Nrm_3s0kc#v?kLd{vj52tyyjtW0HR?>-%=p}MjPCaal znHqH@YR{OzK^nzck0$Lk326vo+ca?j1M$E5usxln3_PCoSViWyoB}6?Ds|0J!hmp- zmJhvpNI0LZd03q5XP4n-gdVz-Vv15~epCR7oGNgWzKOHNG~e74FKON)9cT_~M)_qy zp@wtKsiy{wAi`2*6@SGZ3mE*GHP8k(dQ`6Oq?6C3j?9XyAY;DuIidlE5{DH#Jko$v z3NmI4-JlV=NeadaJ?#`9Rne}JPg()g2Qz~pf*2WLGW=^pn>@8T@seKbOIK(_x(Bpf z9=hG~C$T*FlYSk1B?)ZI?toer2_aYK;`R31O+RQ1i+hWS#4Pwt@osBf>B6iB7u6V_ zfCs5JB5X*D92@2yY`!i)5sOb!fqZtL;@AqH`Z}QQSM0G%+MlkHpoOy*OxsxfRDqNbH5wfqG#RFJ+Y59AuDV>b^dn`TivRTaAiM}~z%_tvewa{h zwurIy%Wfey`?jgkZd3hfE$~KfKt>#y$k_Vtt()Dz?)v9IwtdZk7+DZWz)Q6x%s?#? zZpaV~x!w=qftgZ;bQNYTPOAjqHb&v%v{z<^6?(q+%vMiqD9*2>h!tBv`mkn@wts1u_%+xJO^?0swLs*#0OhXp!RKJp%&~tKl&2;@OmJUBlPh! z>Az@P?O(=W+l;m()bjB1j8F}1e zl6237wSob3F*eqLwL@Y}dEy5mR*$$?kT#Ar=@G*-FcNE!{L62j-k+&?axqMT<2*Cd znPOG1w++8HttUcuU^^H*$FW;7YUnn1G<0?xhDcn7AsMZVgV>&6Nt`B=IBPSub(ZsW z8GJHqKjxEexT&kU#=2ut@d}O~sYNJbD<&lwxHntzi6>=FMs)rPnWUf0vg>a(oW{IZ z*9mEc<~(yKU#1q)8>S^&<)$*7y;NLHE=M*^mp1k{a)wka!zhgeBiuDk7n>JUUW8rI zmrjm+V_5+twx+pDX;`b;%catvX45GJuj%38kT7x!j?&-H-($aX;k=v1v|xvt>^)LH z@FhDWzgzWPA>XlPoF{V3O#ehYJ!Y!d$e6E2G;;eiX5S#1u zPTeIoA{)!#i!7WAwXc5+LJm+JK2S$_8Hv<`J6Mz(q0JU%AjxV@3W^K|q|uiUx`O_F zySgX<9n$%n*;G#wplW1N^jQ>A9%=Y{V%Y*HE}#}+cN3t-sy_gY*~5U2*+7;T%Vg63 znIRB5<1_OC0lypu6+uDAm-b{bxseX2tVf7WJt>INlftPfvSkalpC`<3L`c9}n~9%J zAtCaXe6WSvsOgs{nyiqNW`N6PI|W8u9;Vn9ISmEB66S#LSY=@dD7{xeX-dG;9DSNC<)> zVF}gNqzbksrSI90XjxHUBWxFfaZz*P1U!nAOA4ce5;d%Xt&FU#0=WqVkDqd7J{F&J z%AZ9P6*r`Q=%4(*vZzcV-SDBEmp=tDK+hGIb$v(djx8|ElBV^57=YGd+(XjB@XUtF zvqM`0k zF#tbKX&gbxWTyNJ?Vw3kkW4gsp7WOqs(3P**C7c{RBwQAjF?_7Avei03UI7d{62D=UM&>}P)|eYeDP6P{e4xY<4n?v@+9#6VDU27>(bV^y zc+>))GQAfU^FtI7^z}_L?@EOqK&H;-PlbLlnI@=_naet$Vv1@Q#O7eRp{^#TsIlIn znViZl=iW!0M`VvZY6erG9@-PiQoD-G!(8Ev$0@{lTrd*)-6YjOJDc!@FO5R_%a&?0 z9lZ-Tj=?nwNOtfQ*_AXENM2GA*iC!l*bI$0&`p=;Q!0Y;rjvN{H~ubPgf(YXCHV4 z8(Q4ZAelbh(?^2qxw}O{n!>rcYJtqgha3vF-$@x|P81Xc$(u6x7<9w1lBD4LB**{? zdd{172v_w;>h!EG?FAy3yCUow^gIf&mR)Kz(#6f|h*$xFgY3I1nB=@!M}11rn_z*; z?i;W@55Vg&<3?`p48@+sH|5T)(|!8>GPy)mda;07Q|zarx1_h^GObDJ#t>7%i!K6@cm(0%>m-alU7P6DSss=V zU-mEo$CxGOwk3Krhb1*Q$7DFo8Lxo5I01$7?);_^abw}f=}FUX-NMVWP)L{l zE#38xH*?<2(uM3k8b|)sUM5)`aVA@e1dN#}su(oapb+HSh8Ulqhe%xU5%isyHZO~y z&zbcos_~i26zGBB$tp6kS>#W2pxuF(LMZ_^NS|WYkm`L6S4CoSg-rJ{6^x{B*(Qi| z02mkxgRW($Oa|%TC4LVL3NK{Rz86Pruee3ZvNQjD1 zV9bD$Brmiyc^3a1Yb2Sq$4_n`PX{)E6PP_tYkjuKHcLBnqd5d0b=-gqao!fpHEfDW z48$wF3(gHh^(2rZ-qb?;Bh(8a>wAklD0`xzQ-|Im92}s@*@5Hd0}3T0^Gl#QD~xF8 zG3f>Zj^=Nzmmy8^Bm)cOpJbDJ^!D4djbA$j5g4A~rGkK6RIq`)Lgtt%-+m~;5A}7Y zV*{jrD~b@CibDRD^no(m-`?W#z)wm&LYI_jQF9<9V3TDSR3aWro*XWdKve31v%m!D zQFcRdA`YsXl8{@(#W!o3NECp@_fylrP-W1P9o@@4z}C#rA(P`kHUX@4k&~>M}9? zb+y;zjU+!yR7x)+!UdXZ&{(?Fxc92T-_3U(uR4YI8(47)&u?!txX2T)XZAp$jH=G{ zfFJ!8uU8H3dFH7uza({A6SwC{RGb{5Xus{*L*dcil(i01v8o`z0<~%A9ViWNKm&FmaCofnrDKGbwMAF1}FAP?{;&x`VI$%7^4;@x2Oh5y*)WM>Hwt!m3Z9q}GMOoyOpGh&=8S23 znEcu0`rDJXpNIb3fFVao$Zteg`duB)1w}uB9(Al~kG{uRp&p&dn6z+~1W&X3mnHWB z7fz#)K_As5F8_Ts>i7wloMv%%Y2S9?gN|)f;+KAxInLi-$^w>hnluWf zar>*rwhF?`nhAehEuQ*ZL~dN^ek`dGk0L1-@cv}la-C>uYUsI%R-iPlvWp{)GGmvD zyRt?h*yB?{(J~|04J|Mv8)w~=g3+l)a_^MTl+*bjkhbWR zg!ND19k2FYYmc)(D*F~VtE%o-=>ISIQW4*-QJHI*T9fK@&zo=H!+I-w-|dsD*6-WF z9rrJG1e|*C^TlhZ7fgB{g&olaOq1>yo;L|ay zGAL7uR!T8PT@62_u>V>|XtE*oa-SD76=j%FYKBKJUn(tiD6XOgq@tj`c0;+rH9-L+ z0#xEuhp|9%lZBp$31t#d=(4QxKl;&~4v!n)r(`T;pMOm&P&Y%TQKXf^&mIxUYMF6j zJ=imqd;y{&aX75LX92CL>q>akAna7c3bH1WA$=@jVg%uW$wH|o`{RyxxVNB47FgjV zJ#bVK@-jXEm?_sSxC#`x+?jTtr(;s(lnxi+)oGhoGsJP9Slr1u#j>DG(n2^C%tP?= zD{<(~Q$Mqr5^(*bNrg1aFW7?=BiLXMO%Sx_(=Jh*Qxm*ww#M*!pJBhhb5eO|1C*c# z%^8))^!89#BIFZH8zask6|?*AMKgC1z;MILSMML?cZtIh(&e4Z-qIDLqZ7AG$-qlf zb3*k9(HHq7I6^~pe`d8S>81ra*&ah61MmQYl-qaE)cJxl^is29vx1aqDe61mT|lFx zPoZE{C}UT>+nG2S93ur+aYU{&qE;oa zPn_ofo@wq>f{VDjaJP*z!@8JR=jOw6O;cs8Qu3=5ts2ileLGe|di!S~<=4<6?^9-( z>yB*yU7YpuxfYllX9Rl0+f-DnI3lvU0vXH@CcVL{#e?*Q`TRoxo9Z&2HaI6vj(88h zjDib~-M?v1CE*npg;H)oskP|IwnSgZnj{cz1g7fZ|g zDY|ru@P%~<_qNHv&3D`8yN0}wOxy1gd~lc}R7_BP2%c|nkQy$C^vJJ9k#~#)UTA81 zcEsGO5^?k6M{i1U!_5!(FhD=y6n$iw74j$u?#6fIGm>`eKn5w{Z3pka?Z)uPpOS7n@*3w=-pi__s;r1+%x^8?es`H|w3fJw{I1bjNreK|%Nmz`P=dVN!YU z9N`*;dZ!(&N20W2gSNnMX}>HL|4f%p4Gsd=Z&{FjB8|of^R?=<&=@Zd_T1MHHK0ds zc`=lRfgLb}$Jg!rVoA?-_yUwXc@w_H1Bb*buqr~unmUn* zEt=o-A9g;T(MSiM9!Lg>0)W!mS4}*AsA8Y^6J%y#0iQaoNwr*E#~!rJ;4Sgi8J+5dpm$KKLe(;N)F|O+ z|8hbE{SNck9lsVMEzI9{tASh!bhTmnQN6cyWL;Dnr`YK>E4#9QWO#F8RP7n#MRT-= zZ@MU;1Sg8J^Sv%OG1TqYq?E1x{JPK~&Qxjgizi7kKl32MiC-q|&uft4TOA2 zBi7F7UjKG`80-#&cB$ewkMVAmNwlI3^Yya!$8ZZdRKe6yb@cc ze+^}ssV%6(&>dA5Wz%1B;VJbK8~BIFR`({mIJ34J^y_UkhD(?*atj~UP%k=n7YT<) zP_frzq_-yf-XY%_w;)>}JSc3S+Mfuh*7TF2x7wWuhT&);?@h9yBo<;vn0HKqoT{*x zBk9sbJ^y@AVY~l&ref4FLMO^Ih2qMEu-#GR11sa{=3WGuhIQ*meOKw^#ksrDg}a`GXVweNVBIA8o@Jwj|} zLxk2=iP*rt-+GN+Keem!8b}LA+7gkB6MX*sr-~5G#pfVHnw7{B5btabjGhL?Ow&pW za|2M=%{`BphG4`2wld?nP?4YC;Y7_<@+5@Xarg*DVW7_TeTVGf^pNWHXh0izFPDFn zH&80Me!nY!+!trhH*i92u+Q<@{rX$th_S_p7}+?Y?9Qj3-KM|Z4Zeu*wz))ng}?g= z&|Dxj9P4CJwGMeEu50yzM~ z{__;Xg!i!I&^4sn#*^RX{7a491EbN$g+CT0J8UYuM5>uHOj+1_NpL=Ef(*#{j901v zd8SC`h!My+20;k){D!}yifSrW@wyRYyiOW?h|1Iyu(O0Uzpg>T_ZDg(Fzxzcc;=1ogd1AIaP4W$+GydE@#Xt76EY%dU-sVQ#qF;v=2ry{|c zUo7~MVWwsfPpp8f;U>ZcOp=8UrARA~cMnOL=SjuYN?qT>QZD(k2uZp24D)AeMw`v# z*G14;l%UwpMCq^DqEbQoiC*iaHM;fn!TOca3Fn^V5Sv5OEP03gbc6?xP}_>sVj<9j zUl1iZQKDfBsjD7op$poUz4N780FDrGsGaA(nsxOG?i|SWQTV6Skbi#epC_7)MY1t0 zLRa7;d30xa_Jkj48vjm7jW+o{EN=7@_kP)k9%rtIyl};_0E@=wQbegt86qJmez`}C zM>bYZ^=^MhSnIqwc0LYRFEvv?PsDr041g=w>zsb+T6xe&SxD=uUED%3}6P0FVkh-pvvma<-2&LH~-%6k))Ndq^qP4a( z{wOd&_hb!EA)h3*rbnZzE8?xTa=Alpx8KagFK?n_H4&W$H&7b&Z&({2E?f=08DG-x zR8PB=GU7`Yv}_nFoeRIRJ$SRm&LeOA!hZIp!BNnO*snlx6|(fL9%32*xk80G!%d#I z5zW42iO*~ae83v+-Cqc^g$fm#8P7v9W{JN<>jKnJR%E&kG1M>|*7W|HWV%z79Pw!u zTxchpoY$6)3a4Z6YNY>Yz$tf_d`iw$h7%LY{*o$jk4(fc7oL(A{wevnBQbaDqyYRG z;4RTymL^#@il4stBQM%z#Y)B{N_JvITrm*D9EkY#8bK)X)r{AT{!awt+xw5s>f2US zE&4C995^_aT#f*li5aW@mM)U}R-Jl}`XBkPmrX%u7BaciJ-f^m1^U0?SqMHg7u_>0npz|FwM0KzC$ z!{7{gpVnV1WZgA?!Sn{n3>$I*d+*gimwgt-t0rX-!sMjJ?5|=t$*`d#zotQv0I(22 zydmfBL|qEby=oYedAwx3fnkTv$#5S1&XWIFovf+SsfVSC&|hD|cr*#5Jx0HC1S(B2 zTt7}cn0fEukTtw_aKQxiokC*rB`kcn9>p8TNTn=TjKP}YksxgNzB!ZL{*vj^Q<@3x zvbxY(hQO?I0C=&ibNF02lSNywzMj$wyXxA8Rc%#Ck! zhCzoi(xi(RuRER+6;pyi*7ffV)SDQtyEzS1%kSlag&33S*;?g-Z|6TD>fkMr@75)7 zt2}&55d6!tO|LUTy%|3&==-F{pNm>;%RBgNmEU;wGq;FvmI~)vw}Y*+RkkjHKOtqh zwt)HO93ou!FB0@c-@e!dJI(!3@psn}PS858~pm_u})THwy9J2@sb8KRG zfJoJ#CfSSbX&GXU#^*9btG<)Q zh>)h+ap!Gc!rt?CB29OYB&>n7<|GJ)1qdk^wBQnj$-w~ZrQEhsXk-m{sVca{^tu~A z3~HEd?($OM#U^=A%BX@@39AYms2KAEM>@p(UPm+7O>GK{YEDviZ2227_kO`i z2%9^wf8p5u`I6YU~Q zjhsr8F@;fU;-nHHAsR6uAjs=7GXo!Beb=@&EIA4l#TbPk36AZf&?GJ6fK1%@c|Jfv zIdc0am%K!+UOx|vL?WDmBwJH>NgWsi*MY|?-R|a@kA{e6b`addaK%ZJiX$T*{5fdM zcy*=ec3>xgjhoY6-E2l9a8eELJn%FxEj)DpXCR382Ykh?sa?nIU;BR?&662y-*ttT zION_DxZO&DIWNJGE*U+4T zcdHbF)ZH?6`Lh}02q-8u7YdTjTdp+b&V7R8ozXh-NqSGokhHe>GcIlIr1lb$%mb*+J-rmpbpO6w4oagzF+PUo@Sb1DRx zv@jk!Rfrvhu+~6`2q3i$k7KM`H=j6N@anI6eK)!^Pay)V6D(UXx@!c>3fzj&B{fGH z?m>6m!8N`U-F1go9?YUcs${Mk=nq%W>8xW8K$Z`&ymp@t79Hyb)+zy?Pmo%2wz1pK zSqP0|1kZ{PM^^9gm#PV@RfHvil??FrANfZdy89?zbj>f~fk}I|3n$jyfvSQjuMQ4W zsScjW1FB2G45|Hf8%I{%+~ylQu}t(|oZ45xrNk?&;8n#jkY$_gQ~Pn0;MvAb99wgJ zHj~*Os16QP0z-LuXObBtg~RcE@B22+|M^)=&!t#s?ZwFnAIT8Q6F!n9f5ke+N{9GS zhB!%ZsspUj{OUrZ|Npc1=0Ue*b(P@SqGz)q^VXv^q=2*eIiA==jN(h3x`HJ~lKL<_4dg+dFp1SFvoflS`Zm+$2pzUh8< z9?sBz?BChb{W^joI=ov4N$Ih=&G4fLoVaiP#Tqk7>H`iHdjB3MDzCAOyvj9O;grM^ao`j>Kr z?T__j50kFx_d|7P*}*b*kY{6n3#58tU$kfw+d7DCzxTu{IwR`ep^N@0LIn zj7#QnIy8TCS1{<9`px}C+t-{dvT!iZnEg0GMp7_AjDk=7e}`wpERQ1Fj@n5uJiA$b zQcXp)i(<;=9S<$UJs!4gUuH~LKjvZQ*uud&4^U)gPaq@euW)=Qa_&HpqjPG;m&aGo z9+`gZONQgN*+*Ng9N>i9Lsr#3M$}Iyaf-8}&ziZRx{o2%sjP2WxLE~@c8ulvz-}QJ zOl}|@_mQQe`Ko1}p4#aByb9*&OHF>DzI+S$;|~7t-4Ec~e&k;Gq5F)e-&efq8<5oI z8^G^W`sY9P!}ChGLrIAFE9GlGvEt7Co2Pjs@Tp9Vcpb~NC1~kGQRrU@7lBLOk6e-n z?aU;`C8`8(D&Zg`-&#ina7d`rQ4x4`mm)<0mdd>JZC)!MiXK!xt9m5+_uo>^F`0GstaI^V}C9e>Zy`~jZz4SRU;w|p}KC&D_Nqf~$j zCt=+gUuQ*dFu>3wcwratKBeDg2^pPVxYkvS-ceOl7S5Z9NHK;-krhW) zkPzdUDPM3!@m3rv`a(sAkFu`3_8^`gjwnH3TupuXltSlRrqOcn7AiqU>tCE->}5qu9Z zZG#X_fT+G@na)DF2pd~a+yf(My6Wv)HnWr-3W9_EXwjB6n~*PZKE`-x`pzWlqaeZZ zLNG)$m$`loaj;HkfCuTD`LlO)6{FTITQ2FDvWvonLju_C$3AN#s;sIZLi5|MK0;n( z02tcx$j)m;?=w{A4#sQCG#@mvoswU%o*=85@>b+B)?%7hxrZz;6VXr)FkB>YZ5E+Y zJx6U&wSv;sNwxmnr4t=8uO04ud~xOHk^fR)CD+w(2T*U#gS&R?kR z*?c|Oz;Ov3hKpzu99(mon2ZfReT8CV9%*wNZzuMzl0kd11B|;Een?}R`+r3Q8}7mv|7&3MhSdFw$FZ7XIQU^MB2sFt)yi*QQboYi0vr&Q02$tG?Rq`F?4 zDOY29|E=c5netw|?VQIbzgpX~$CoRcPY4HldI|@-+$;he>7zd>ndl9>_257L@#oR- zH?X)A!tr-7I5E!|E$pICu&dYH!x^<>y>X26_aw#`PU^sUIbceRNJPQCl=HIJrrS z#=y#=z}FZY6I;FEV@NM-#5qPC1BYfjwT=!D40$>R7)MTWBFYV|4{KcAL6(t}hMUMu->gb*jq*q_D`C8>1CcP=#Jn6OVBBT@?_JRew zKhVlLD+R_&CzmNBm???j>7iYO31$|1d6wC8RFq5^#6sEqhDNxWpw2W!HZ+Sl;Rh&) z<(mx$Rz$jgcHP3kEBG>-&+g`|4Cfu-6qlysrUw^b3O2>{YU zhp-;OoQtV2>&&@IdiENQ3b0Z$Fo2^&ER}iXW4V4{qm0Y7bN2j2I>*(aJx5Cq+CsSw zd=e8LaD^vbm5*v#F2qGBI`? z6=0=KFqaCkUN7q<#4^>3l-^7|2H2o;F0YU9sgJg?(Kv@dhxWLmJnQ?crGvn$Q9DXg zPX)7kOaxbmf+btekz0y^`*5iKeI40yxjLN52R84inf%N-{!F=CVhCFc?qYEvm3MDz?F`J>O^?&oeGsRkIx5b+{G>5h*`?NZzMs1gM1>Hy32eTt^I z@bxA|gSU{#EsDfNs6@Ne)*cEH-5yUmc1uJry^f;D0mebP%IB5*^RMn|stxHQcJ{Gf8b9tYOAsyL}mXY+%A6 zS}2MP3<4F`+`mA9Hbo_+@-bqhQ-}at%im`1g9%uT+53cbQy2g0y}yrFf9LaQJZL0M z+Nu#QSa=aaK#-@h-`oIOFpHbBo1cXsICwm1qsVhG#-NA+i#)@SqK}MoMC()+c?KO2 z3s$>UTw20FzknfVFw)Fpl0&!z(@rMf(oEGUW0qi&jt4ec1}VS^){Ses)?RE}bYZq0 z2)HOcur&(LL@;xmVUV6teE~8yTV)E)pyL|V1rRl8ZjdR$rrC-jwTFo25+wpuqkS;) zdzQ*WT-$@>F0`ik$q6A{-;Q?_1;7Qo#)_@4U}1yW7gMXeBD1XU(eMo@N&COT%Tf#3~)HrS8oi?we6dX)cKd)Z$J^6dOT8>?RXI7HMm00AzxtOV8b)_ zk8~Z?_<+UMF0Mc}OnFu2K{m{@R+lcKxokwFkNcm+m^_pD z$U&Bw`?7ciGEV{N&Q~q-G+zXMvFW&d1^!6~l^HlVeiArX&ai{i)WE@^-?ToCvvBaj z3>>^%JBJ%5hVix1xM1_E^^3Sk`Q`dKn_sH!;nwLxc9B}LgX3Td2fI#;0r|Od*F{le z5ZpnB_RIKg4I(uYMc}Vk!PY3*Lc3!iiKMcJ(=)nH-V!<_<}0-ki=I$9Cg}htt%q?;KBc~sphN87Bv{5Rf`b<-Q#g33x{pVX z&HkG8#syrV{ATkat{j>CMss?+vf$&fM{nZF(Py3%4o>{WRlo zgUd2*H80xy=4^iEoVD7%g@&Ju9URWEgE7Mno={(l{RTSp496$Oc=Tw5v&@52-ABmm1 z-oX=2QYCH$e*t5HKoK$vUq=gjmU%nu99fT8j5FkE=~JB0Vq_{>%pKP* zOc=Pm26LE|bKy#3N--{`@G+NG=A?vl0gzaCo0)|Lmp}iyq(zC<+Ma zS}0NbHH`bFF8pZO3PD$D2T0FoF}>(wOw4W-C+MG$NO>hh`^b#JXmJ12TR@xusa;9xgSY+rLUiA76|koJUfrNK#7ic5iv<`t$Cct%b#1+!&o?tOz@ zRL-U%%dAH))7rwplX2JnR>HB+vv55N@wePd$g&|A1SE+<3mxHbbYkb}Vnk4L5+hAX z)IW$(w8`Nm(&(2gZ#TA3a;E#}&=w(I`{*8-IdOUA`6x!FZ*;m>&?!|C;u?muMWmxO z#*?0%FP_%KaA)LP=6eF4mNbvu&(oKjJpaqb4sNVe(7HtyQ_qm}E#Gx7;_93oe5cau zfB5C|O1M)|g*iKTp5|#D3H(Y)OO7g5)OQ)WHkDSv|$|z>4P^e*vR4<<+Td1Tt9D*ua+=?^sz+8we&0lQ3(e=LC>5? zWCTwbo1q+F0ttl-Bv;@?lOhie9AXu7>7$mIYfI^)L3yEk#Pt$>^AJ}IgprE?Zen1> zRQgacF>i&BYK1n7OV=`_rBEpHWlV;DWbctw_TbXyc)=Cw(bRLdWb6v*T9H#n1=ylG za&&}E%6lrnR8Zfp)0?@!t3!KFPfhc#4zXSy*FM&%eI4n+C74BMfcr>`a%M&LL}68mG)7q7}z896(DMsTMrym z%64=T)R*oy_Y@2=qVeNZp&bJ|DlbNbwgL2pH*6F>s%=@)g`8Y5Ff};5fc%HKz;5#u zro2UJqgg_E#zqc6&NCznwB11a&<%6{pZK|7#y|TEA0K&F8!x*e2BtcsL^gNp&FUEGxS={_a8dFdFp(OnXE{Ql7MLzAbgBU@)V&_#i zG-Ii9vVxrri0k-9@KOOt8v6ZV)WE z(zt*d$A4|ksb9c#%CFSV;pT}sr&*oC!L=DUIC(NSmq4@F2?_5e)jbOV$Mt<2w+LRXp2zX2$w!p~+@dm8s(Uyhc(D<0p+#_TC0eoG!Le7x zXw(AdW>OnZ`nZ1bS&T^L#CIwfjnC+LmT*eHtHc|4^w`wbN^KvH9-I5DHO}J^@(A8) zUbOj*#sxfbX!7gza|o**KKbBZA*g&KuALCOE?&bef`hBU-wX$PIzo@Um}|izPN<%j zDw|fg`U~OUM~?n_TCT%SKQ6!7JdZ1M&RT8H!of?)=9eTEJ-Uq@YpqTqmoYff z@M{NX5v*RR?%|B?<2Cnen>zIiXt&IEgN4cgvQzV{xs#(qkW)}y!+?Z!gJjLJgI!gf z3J#ZYBFJ%eXxhkeD;SkD-Xy9PI{A??W5;i2d zN2adpEB9c0c1+i=SwGiK`w{fd$ZxuNkA>*kqe~VJ4kxtOcYJuXnCF69INGZ$P6e0a z2<=1DU(`~7LCcJp=bYcb*`cW~wHTsLu(p<=b?=CpJ61T^i zc7y-`AOJ~3K~yB|h2z?R6OyAxo?&=QUdTZ_g^9Jc>{YkYKsF>8(Qz|ruJ$W6C2i#m#rgAoNS>-ZJIRp z(LJQOY2g5!LxSFy*3dd8!Q=Wq&W=n!@#;0R;H9}BPsbP@-@+j3px>oBP{OvUl!4iL zAT-2;#G>5*7}LVv4E9wA-~Gnoqcx$TC}ZTq$IwH*%UI>ykNuqb%dQ z-Fp}#g2%IpB-oq-$f#c=&?n>q6xOXrbKot3mwPw`Fd>*;xE>}Wg6vspKLmzJ3r95f z#+7{>otb*9u>np?#Rh*BEfVdoGsliot~9do0L5f37Clc-ZJNjK=jlsMT8l61{i=(> zGm0U6?w)nHUq;CNnU-Gmg6GUD;ZD6!`23afj7aPb{F|qFB=D(Do3&l+FRozBG(uvy zGOiH&B};A!$8pTEgG+c*qvDrrR|lSs>C4cAs!n0o)e_!R0aoi5ZA5XcQRaOt*Du(7 zd5)AWJT-->L%068a@jG*rn+~6OTae}osbS9686oN2SozLneyQiW3-Syg2cdxh42s% z94usjI>CsJ^07kY;=)CvWI{_9E^T_(Lc;eKG3ft+i6ZC#=bIPNE?KWkVp96!at-AW z94s7cHp#D9dDtWYUq=Plro5{{Y|R|sY2Ib)YkhMK==zAfDz?kx(m~)%Vd`qINM+#2 ziyTEU3-JqNCA2sLyK3bi&?SR;S}s@l)4UFBxm+DSVctA@-CTcK@Vd!nre zjH0{%Ah|{*Fm3u9zwn2+?|Z%;3yW1aIz)xGAxQ3{TJ}2x*!Bz*T5J~EFY zds09*sZWWiD6!*Jpve{vii4Ana9(8O=PIzg@O+AJNXWWNQH{+0P6`*Q=}|xO5H!ih z*a=ZvGO)7L0ivdXvs}LppZcu!D)2%xuDt3J_=1^+vTG^A$Uw6>GB9QCyS4K7Oy4a4 zMMC9ZK$?}p!mt9yOer`Og5@L-Et>lmibGaR+28b&{|A2lfBElhd6Pv`r>PjDh|LF% z4r92HDPub6qbOP2USI`#rO-4c83JN@7Da(B=`?boY`Gw%*=j=3JSekR8jm}c0jhHj zC#lcy@2L5rX1^$t7VL6 zg?y)#v5_+oM~Ps8Je#GDdew|UC1dCY{nkyO7b6tJz7@(t)Z7N+x1dR!pTUKQOdaq- zn({J^ToJS=QaBYeUb1|QQ$kOKaFA12Fe}E8k-1*)_?jgZ1xwrTVpDg*^Wo59w0-z6 zhFuf6iyOPv5Bco)VHA!zCy{%|LsMT~*fg_j0SHMSVg-=-1Bzz4aJNWM+zqVt+<4eQ zw@226Y!Ny%b5pN>9b-j=9B3={J`pYw5{p*KN4;9k&kkIgKMpg2EHuyRNr^o7kZCzz zwan9e5%|TXZu=3Oopz9W%N7pyyoMEko`vJeMW9vzveX=l{3d$+(mQw!rvwK#DmyqT z#h+^jxIvTEO8s^?_~x;J4j1YN7BXI}?%|LauC>2`9XupBxLhbm;bNSbi70SuRwy?K zS8&`hklR9K8{Lk10WH-I&?d%cwR#RWsa*BidE6+=RXdMcCnaQkU>T-Cw1HECNvq)$ z4vxGEhNBjCwVC+xw2#5r!#J7@XknD#Y-q|A`b)S@tky=dh3luQgP#lzUaRfl>Jz}h+s(W1 z2$f}Pwv01y@T^$$VzPmo1P9k<;NU<<77i{K^t1ghnPCS%?^|}!P9Mea@H)KuK28a) ztHuZD+@iiyy@nI$2ugRCDj2qIfzbzHJ{e(favgpD(89smNiZgHXO%g~^9i_cFoA($-LQ!` z-m)JvN0&cp>bAOuj0Ea~#s<u-yo_9_7?o{Yr}xHkb=Qi$`@t$&^qv{XD$ZyeHoX|*Ne{#H=|@E7jv-%T z(ffH7%+ucr3ivXnXT5L(+Ee%!Klp#*z5nZf!e{^TF=S~rZ-;rBr+J#Ed77vHKdL&yof?2|w=XWXz$Vc4#v zaHteh;Z7xetJkEIk1-KR9O+|B$F&YH9#1zxkJIkVZ%u?j2^SNBv?SL^b7Jq!LWdO5 zGXE{hs8JLYG2o89hEhHzA;iE$v#q~_|DbN8jDzA{fJ?={1LTyrLq$OM> zOnq$r!*^oy^S98xcN?Gn-+vUtBC~gc9$+D>Eqi}GHKh?5-=FI!sJ3I3*r67 zFaCS{-S2)L7M821=@88lisXTfPAL^4r3kE}A{)(P(m_g5PsgoUF<~JbOB`_h=9Hu$ zm4&qOJS9kR%8X<}LJ-6UDZw=9wF!YDBle_rAj-X9g#btoFE28yT_>btqh{g4CImsf zI;vPkYWLO^6f{n|r&p1a2zi*S8!Al!bXz8}$T$Z|;sDFh>s_Pg(Uy73q((}S6QNw2 zfBjGX8h-xGKS1NOG9|_cj>)7$k-)nlVBo;Xq(9@u3tKM7No;+UWDuaRoB6>dMSac2 ze!(TxbB0luh%s>;+Al?qF)A;H>y_IYq}5miV7-R9 z>mVcIoDkmBPA?lHr@AYYuyv$_KNX|4-qbKez#;>{QHe>Ioii{J>*hki@hcQLPc2C# z%g5-QnLfxu7ZYKgxkyutIwsPbdK$gFW9Py0T~Tn?&L2Wd=Z};rJFjVO=8vCv-M_+v z4?Kd8e)OaGy07~>_H?{gf8l4p1N*!6r~LY#d-xcy{qf&@TAuBhoW7>vV0Ypp7)NkY zfpOOirnS57vYwoeeEQcgp%?rKO-@P%=+TQl^qUxvSZ5_#Lz}|%waN}o2o7%44scis zLD$dYh~U-5`URV>R}XNDLjR4*E)GdBv>I>Vl;GefSVX6UgLRDI`0;RXxiItH8u~*6 zPbA?APCF&+x{V`ZnQb=Cq1$8UBZAMfDiiGh4pt2;O& zc5o0(#iAp(is7h*^Q6p>rhT+ppF>*Kor-bPCpb7*!eOU`F*mJPbiJ~NtH-6F_IW%? z>^#Kfogd>8;jwao4vtaN+O146V=S_|W_RGycPm{2BiK54`{fFKU1> z_C>+Ltv-oG$D6obvV-e;Psk2_GB|jnF~bg?`R&q^h(*uB!Lwq~7*P%Cg z438dNzl|MSjrY;HY5HBfxNljS)%rP{-6|QI2NvpFSbiRcr{G`CFG`gHt7VA<^DiNp>@-=gaA8Y5INK+_h}tinD`0i3}H-VMs8wbbX9zaT3KF zmK{7HCNY!RE@ZiO(Qlct<5m`cv3VXD#FowM*H_{AB-i4&(*^ltgvr1xUeaL)17aCR z%e!V@Ak6+WjLrFHClA>LNgVGWBM;v+8vrQ4q{P|8%ngoL!?<@!<9-=E>R(ZH3*8el z9+KLgh0p!92GTRrUqlq5duYaTvbc}l(G|N;9Jfy)=%Z#l>EQ6@M-h7K7}6q0dLG8Z zw*5%Vvk5rY7$UHXz4ncAK3cNRrgZ{AZOx^F39;3M=UZsFKRm|q)d$QNU%Jb(iL2|+ zLOwS0z**~acH6@C`R}kFPC`4#iFJE&{S(O25f~Hj8L`hD7cPmE3*lPP?<^hQ?5gQU zDw?(_gpX^Tzc3#Y(FL?gb%CoLTst-M$8zl)PRirq25#6bLhCr8txJJ7RkA3zj(nll z{XEUnd=WTLU-mQ}KfO>a=M3k+ZWFaVfyB zJJ7_YmeR9g(Y}mOuNsMtRCy>$k!2NH;b`9pu(xo5q8$OYOYvdlW2-q8W%ivATQ5D2 zZ~Xcf;8))Ef8*DF;=}lnH~j-_Up#-icQ8}PC|aq7W0|y$^q{q=eopba{>kcSZm_CM~<$;9%RP0tM|v~vzI`*hJiRvd*F_V%4w&HlI_YFpGKlf zX0_|VNk{_^g=M1}0b>(Mk=lp!&9$@10B*(f(<~puubC*~WYC2mJ2ePyBY})@Fk)ne zOH;9E28N@p0g33Xore5-W@pm?*@tYZLjk6vmFxH$ zSSUA_W4PokzO?lsFvgJQIr@)Xp+2n#k+a9F=cPLlkx~4rQSs#TUp>`*MaLoL)^W0Y&ZN(fI9~;QN;JFn8FF2q{ zIGc?$!i6nb{End#GvAE`;L*GaG3|F_<)U6ap!Y+7I*Fu@m}}n^f$|Ykdt^)@@=5_} zfjm#4)kmKG7wgaMm(m{buc)&DW~uaeDeWdrk?v#>tL_gOh0e zZw&|cX5iqnF0uQPE!-j&?qcm=#=H2u6{}vVU$FVb`Z+6Ty<9uMA(eNrvSq!4YvGE8 zgBQI9Mxz#d&%FF6X&=X}hrvN^96G@nc?bLcB2LKDIF2@PgUYoZUx2!4VD)Tq16K*6 zTW?&%qXg0IE?l%_tXKDOm6+8_l^tAr0`K6+YvAwwF z7pGkkn2pb)P4Ioa@+@?3ndfkqYu2L|38rx9j99d)`nF1pjSFvL;ouV9=1N;ZWa0UCpIA^` zLqFFfz<}`k|{kIU__9nj%&7#oG`IYBH4Is_s0#}hZYVlWM;*p zbC%AqgK6*bEF2syW6(Cw8P+z?IW_gzShyG2842lEBw9B}QDE)4$U5fQ-r_|Rr+fk}(R>`6e9>Kx=`Ko1}p3*dD2hY=&oO->< zS6rDGV|d=T?cu+F^L_ZwzxO#j`kAAz+WLL}zy27`P6zXjc8Ah0{L2r_E8z~MG@G;b zzxGpc2mj5}JQ8?^Q@no8vJ}}&_<7;t3vc_P2MpA^yZhbdTrSZVJ%_%oGbpkP(lWpT z`R_V1K(k^(|62K2sFog^fz2}+PLE3;iiCQlbgdXQ;}UVccw5v6;1)U*Lc=GRQ40@R zl|sw`7Rj5^RiVv0Gi7mPCp*h^9$-|LQ4#9icgG++PNF57D2DNqD+X`a9f-y+f zr>LNhl$eVs3JBMw7yk&%Gx_1*3{nzfQ#nwfdHyu*Lj(kKs*7~eN0tw)f`ODC;_40@Rkh_B z$_^azEFPU68#ovR8t0xzm*bX5lcqx?&0UIqHsEjGOYQ5UdwR{rFlwvMvGX=xAaCp< z1Cym_wPQ#*0Nl6_{C}yxrWiUV zTACw;zeGaYu7_25VC%uF8o}~R`F4&KB0x-i4I;oY&38fvh!Rcj84ZsF@pC4S6h@SPkjmp2M2idt6z;byx|ScC}8>-w+M`ux1R8Lef#dm9aGZ7 z>f#G&V#zTk*yb#~ifgTZXI{qDeGG{y?A8y^Yn!~Pp0oL=vX6G#g!}zy2d4xFhhHKb zJSLfyFJuRoaBw}@#xb#jo3#TRllb#u?L3Yszf`|q^9!}}I65uQ*~cN}o0Tn`oIM^6 z9uYhEoH7&rC>`Kt>tQIG_#G!fm*C(aSi&)}4x7mqdL8qesk13{R$pEHr?CT5xTSN z;4cCWF7LnHyvwqgw-zqqDwSoUao*-8hGCV};Tm5UXeQCs_sRdl+hT)tPg>|jWal-R+d zTDmweq$Hcdq{O5Yd1eyb$EbgYvGuLZWrox1hV>XP>{$QZ=Fang32hyibkHTpSgNVW zu5^4WGs2{_uw0&vr_wE)6FV3fmIA+0VMwCM+;h=AHqY!<7SJxoU40v!Q_3&yp><~Z z&Z}SfO%@Io)pIzbts0f;zGc3~E9(Y^1|SpP`qgqrV=^#hPb#}8vJ6F0;N-@q=y?M8 zs!5BNDx7kkuXHdtxlSJt9&(a4f#V}3UtlJs6@^a6J@iQkxn5reBhY4ic52&0`XRDX z(7JbqQP<1~0~}d6m@_?vg9(n-ehp*t$_I<&6P$vr<3|pp6!*CUo zu7PxUom&Z@UiUHdjvhrwvPIcsh|bX^IF%415~l8ZXBdynZ#!2WqD8Mn^V!d%1#Slq z{n5Kk{|YJ?69gPLchTH4=d`YU29JK?_f5U5-wlnx_K_ipQs==CLxQ;B2wV30#@ztP z8V%2GVbZ7VHMDOQ04D9WS=bi^TvhIgRNycR_0hPE&wTP-^t)A@4M^<2x{Y>^wjQ|q zNJ$N0Qs2j8m zwQI%w_ur3|l@+wx?c4tL&_fRuFL=QVu)V#FcfRwT7z_q@^PAs{m%Z#|-}%4OQ zp6+OR&1+tRm%j9+s8lL=-}~No+uz>)_O~O;GTeXv{rA4&6|eX!0C@iMpI@9me;$`F zU;a3KfrByT)oL~Tzz_TY-tmriFaWskzWY!VMe$QV^;5Y2{`-sN<>hC@LU6ta{F@Tz z5CqAj=>&PnTOXYHUk|>;lOoDAL9Um8)(hZA!>AOEqt3-(zSUBr5s{k%RD~@y#I0=Hl2hf6&E|O>sj9@z{9LUmNSp;wc0~@&_Mi6oOFb}~4 zf;VM|-4cEi9##l8sYoAA%^YV=XpaXv!g9srBPW8Q=T_21Kn&@e2{ao`^x8vg5acJh zLXS4^yUK@0@VW0qSZ3Sw%%Q!uqkNm!(w*joXY;O{p5vno;jDg{NhWtqbv8^kDd zG@PnA&UFAkHgHucGJs(4KrdKrI^p?cZ!-)@08DV}i_4{)TFfD{ey#-ycomAK2o4dL z#cPHPPGI1yVgv+D^4DcKK%&#>q;IzZ39c*znvW-7G(BxGX{seVhhgU z6RT9X4g#@Gp}cSrMdtqB^&JvnvPyj?M1>fezP|vqNN}?h7QPm)2bb8v(hX6> zB!-O~Feo*gggm09i>N|SvzRh}^CGiQc8=VVma=RNMi6kGr4||oGlUmYM*|2_5h#i& zQ&l*wWwpAU1xRA%ip)nwBEyDRU4U_pEThPlnlkrYuL>t34{kSrCZBNW1Q49I3RmMlBi;cZ(k2xi({u$kx*hmK4cnbOdxJTB^_ zqZ%5!&!zdpL)Iq|ZO28lNM&?GIONj|$suXmh;V(YXQ?|CORy=pQDi71nx%(!nsulS zB^*g&;6*;|Qz}M9Xgik$beu~UVM5TbbZozK)pY)l%C~c@)&c4?KMNJ29&@^mhlog4 zf-9u?1d`qnPiuM_*}?C5&wGjwfB3_A@WBW1rZ>Im_MbDxgCM}GUiB)>M*Q~n_SlPF z^rGTdfAv@K#y7qZ0PtJC^;`Y#{oe1z5B<;&-FA&1{J|f@TizraVFUmGAOJ~3K~(Y< z{Q9r|I_|&!{&^(unVuM9(}}n}MEAOZ-=d9u9BjW50C4m2U*PEapPIqE6kvF4ARM*g zq1Pg2W_=%BfCP&A|!f zmGo>raRW@q=-gKx2E=&Qau01f$FFWo}$7j=VZL0|V8Mxr2p$jraZh$MJW*cL!de;HU`K$%ppI;9x2CtiQ3Aj?KHu zw|Pf<({maQZnjEjcF(e(my*pVWCzc}!Tbr};Mi}VOV1G15}fw0qB9YwRW*8TQ+J}S zaH&VIvvVHT`vy*0^Dp4AYmRTY3ayEOpQ2(1$9)4))zt>t)TV_u!GP-E?v)?5jNE)g z`|ubrBxbDgBY4RQz4TMGt{Rr82tu44eunz@7DjE7(_k4+Zkjz)$>M=!wJIH=7@B_4 z>)o_M#I-!LuwP~MqJ@Kpy(24P?N?UJenAwL1uV3Slq6z==VN$g>e*p+bgBNM`ZhW= zz7oBUUd#0R&6PU3G&bY<8d8FNgJc;gd3Lw^*U&zCn8w>nF(LRmZXQ@CkCSVkM4paO z6a~)COk22q9c!B}p#|OukNx!@o8$2UGJ<`bxMqEvlcjwWq`T?X7LgIeKFJ4`wd^K~ zn2>u%mW`};aIiFGYhyG)PVi)G3>lJX5s&ysenX=9&?HdmnVRGf5 zdGYH(t6+4=k6HzZZ6mj~I1}Y>!oSPF?Wd1Ch?9rSyME!^^C4-UbY4s_A}Bj(tl8}b zZmn(?ez=mOATe?wm0f{+_T%qHmJY!nECjE;8tTCTtwNdgdXB1F$lJuiUUYCgH0@Q_ z2Wa&kp}AxqHwYR&SPZ}hSMB2PjC|f>wvA(&u~f;OgC@d zEMEWm*W+z(dmC0(R?6+mHeJ7dJzH5>!E>JToX7q4+0TA9e&ttw#s2^2KmYmin)lA0 zx3#s!!Z0i@UApwliFM7Fdh_(9re1IS6Cm5YduYZ)Le^D3J9j0)E>enI}SY(_v@ivXNp2uFuVf@S-a9+!FU*u0R_ zJYyQZKP^{ze@D8ghUOes`Y3D}BQPq8k{*O`5yb(37NpRq_>0h`FR%2FQMsjxpsNl= z7y^W#I#Myhh~O0ISy9)KaP0kauAqYjx~7X79rsj#X0$>Pj0lyoyefbcC8JIt^{RN~ z54{BM{E6Sex4+_rh~g@iBtgJBf~07G=Y(j`^&IJ=PI)EWX%$CdOEmd8~Hmp-CLtOpRR%Zt=_1{VT4tlEehFPXdxrB1;`CMva z`DH>LU4c^zhxB=gI-9>Fy>Oiixy~n zIq*a3-@=0zF4CBCZ2o_I-9JEJhZnckELaZi5c2>TLFT@l`EcWgy`~N&Epo;t%mqUd zVTz+D053Q9mpZh*;(3w6iHI%lc(yNasUZFGo@_dw6vl@c0Qe-cbqW;rcs|Y`h^<|~ z=n?{e^a5*>n5D4Z%q;7hNT3jK2x^teL++U|>v~lP$D_IskX}IbtDvZi;KJ4s01Md{ zj6-@f-p2vFcoC{Bzff?(8ieD56O_)7uPj`B&0(j1v<57IaJ{@E=HMLKaEc{VW`hMZA9 z3hefULNfUAvYq32NaYuf9bbz1h}{jUEYHqgjA>|Zk^1y>%sR@q=RievjHld(qCVpY z2d<9oJonX}KKQ{)_~3^webK>%_r33Z#rxm?ethB+pSbgj+-I2U&3qB~MJDBisGYm# zamPiW;bak2ribnsK{8>6LC3%;%!$w;NHq{1x_y&RghroWIru=ggoAaA5y8O);}#As zjm2l-V9q!?bUh_qv`g64i7czvcM_Yg_*I;CO@7%)Fdi7Vq2eYOjSgw?5CB~=Mh^vs zRL0y(FdDTmA;^wpDb(N;X-@lcbc~zi9h`*)M%=(wP3}W?gk9|91ScWp=nb#a^ZT}5 zhCvM{1e-9qgHvMt`O3$zd{!=ST#97-4GRa?oDfI{IM`L#xvPQSdC!ONsvrGkVA7?D zxWEyKSWB*OL=0w6`0m_T$3fboeyW9q#*ybp ziG@4K2UZkX`GMWzmJWNE^v>v454~ zaOA{1=6(e!iCd?7fWhh14|&)*p#@7H!_E;hg360LLpJC^2nVG34VE)2;@m#Dgd$HN z$g#(KWK3{!YPJ$Iqp!!o^Z(n&&9`})TGp}`H{pfkMv`Z?-wEM@)2q#`H*6gZ4-YMy zy2w(y4dS7{_)UyyyT~x;B1?w=dSY9o!Q>hLav9*;fDx^Azj} ze923<@sgKr-*)VwhmP^O*Ztn(Z^u};xVVTP`>`Lx0}niK?*k7!a1Q{COH~2J5&)Cy z*G<1XI(ocD?BU@dT-UXcztz=MWLbvyzW2TNd|@>3@bD0;tE=-x;5^OKlcnMCtAhb} z-}gNW|J$4X1OCo;-;22N)l$X&$leW_0_zy-GTJ4|LvdSp4Ys1UJ-X7<@sFj zcb=Zwbm`Ki&d$ybe&%O>1^_<(1dGJh%U}L-EH5wfD2nnYiWYwIlb^)y?ymj+y*;DX zxUjJB@!2Kq<;$0gUayCpot^n2aGt)nRB&#g8gL0s{-B&`%e3Q6!6DI4!4+JacWhos zcbXTzg@(b1-N&T$-__Db?hqs*T)0+{SWojz+C1meJcG2%K$B1CJ`!3{d4+FZ^G)0M!}op)ul`3bq=<}DzO^|9`j-?ZJ_~ zUgA}4|CVK1l4EA3>*!Dsp&bC zj3J1vS&$y0kS;ilQwU+VZGa0%hnUSmP9tE9PvKZ5>|9dt0-T`JJkM+!G0yF8(^21w z+Y4>;d}Vuhl@Y?lRv>v z|MXAW-@o#euk`Bm`ruvfdKX^&;^_zByWaIKD5dcI-~avdMc_PraVeYh&?Pok)xQXj zn-^M&+(J}NJV7=#P)*_1F)5*5r(*L;x|q;8OcfTQD~KH|go6pOgBjx(6I;+#K86I5 z`A)^=(_q2o^I*y5$N4f^0}^2kmaVvR#a%#3Fm2{kF`}|KMTne)ay{OJ9Hba^h)r6g z7-cPZ6LK=q0!WEDn0dI`HVc^s3ve_sklQl$ag-V+>khksUS{B=m0}r-1dHh;xAn56 zR*?+M{fbJCg8WZ=S%@L|ka|L4NFua8QcThT7~`li;M?xo##{d9Kg6H>!Gn11FMd1L zS0vh{zwwN?bv0<%d_7#U`7Bzs`9{2Q+d2L69Dn-T&`Hpvyq4PLp;HS7k7nTDF~Px- zOAM%uKJnp4v3gD;OkDWk0_x1Pd%$ztpyyQHqP=z_TCwdl%9qfh<2AQo>uBUu?D-q{ z-I#RE!sjHof^pf_!=_n5WQF-J0Awlpr{p;tB=CX;^-+mTwCzG>NN_wni9T&NXq|l4 zvVgar^>X`x#L_M%%)BI}3c!T9SHE}NLY>kLtVgd>q1mU!1)^}>esDzO{*bdAJz|w| zS3qPWQ<7^GZGy6+48z(78SM zMRFaS93Gj;F(Sw>S=t2WG#1(iqhTLUcQNWwRK6czOfYrQItWH@%bf>41g%U`({g9{W<9)^x!JQWj+yB30-2188JJvtM6 z4i4^+n~SdtOaiMHkq4k-^&*H2dV1!1F{XWWB)Zs@L=eqRU`i3^@KWrNu6bb_`y?yB zj>~iqt|u|FwBtU^%Y7~7K1S04vf}R^52G<=f~x?~_uO-j5klZ4FL{ak+mHU}kKzL# z_yB(X=YRh5j4?+RedNdy+;!JowIBPjA1mt|-+lMpc*i^5foipCUh#@o;Lrd3&+*Q8 zz7y|w$2+jHva%qHUX(@oc7S|7_6J|Xp`%UQ_z$-bRsCm0pNE49iedo;U#qg;87u~2 zQ5NNIdMKm+U5k3Zk-`|mymb%&jvhVAKJ}?jnY-?~3qSNjKLpS7@RFCj1V8=LKYjO+ zBS$*(_rCq@Z)f#--Msg`@5Md$+=JuCkK^Zl?&lV1;}+!`ER2H_@h%vLV}UgWj7WnG z*vyP?u9TTG?{g<}CY{Wfpx-NS@~XDVFK6wu5~|^Ibz=@Xn6+u<+Bb7;0t}2lxsL|S zaceQo0WJ_nez^((Cf!10OoB6t*aU~*vuAs%zObwG%l2K(?kP!K4R?^L0EaB$KyXKx zEto{XB^Vgew7?fWdk+8h7hi+DI-C_%l;aHMWPs1fv+HbLHdnuX<^8i~otHVAK{3pLx2 zjhX56{D*+CV>!E}WDVwXa|+jYV+t68(TY-c%D$8`V*nHGnVif8P~`T%-R~%OE{J@( z)Io3u6JOaE=GNm6e*b@i-sP`5{RZ{DFtfh=)inUOmS=sRImplI02ebEeAZv$Uz|O& zaN}rPF5p>YqHUAAHfL*q*>zYxALp)qGh4~7P9|(BK*q(a?qc?w1&o_V+h0ESQl9nQ zwSPrl%#+4llw{ZCIGMTe;=(;QX9|U}t^~+Sf^0E+HX^y6f8jrQ@5NmEbBBqdm_6%U z`$f4&|CRl2e(fZXDS%V+KHJ-Y;Ox3}!85OWBbFCbj>Djk+xV z4pRUm3ufTxD;S&%W?Z%rHYevM$C$EMWW2zXd}k74fXx0j4>P0`N!ZhuFyZ^yANEiw zci23~x!l4gapq&QM>HT@qenhBngbK^#hDZZx>VnOmg53N^euS;YGi*KPc(9hCN63@ zhLMHzYSJJiysREbR4MY3YXM?=Kp+h=+D`tvdMY`2;B}T-VPYM|Wfohjs51ys?FH3xDGJwViz#_j}J4cxq zVnmVRsT#WHtTv7#&&wRaJxu!qOBNjmp9hU)Or{nhtcs(M1k>su0WW-@@(dlC zyFlic(!QB9fz+gb=jcloWpM~xlxL#SsAmVq_~-6@0?)l={pwbPXK>j#(n1+)v?$;F za>MnTi$SrUZPzUZ;aa^=_~H<_D2wuJDho^C-?EJNwlR3(3;-Z2h7jZ*m`MZX>GJa! z;8x~yR4i@;c-09>D}OQCTo1 zX1`^^wK+Bn17i;!iQ-6oB3qRbAjbW%6d30co&FR}SpOBleHdclpK^iwBZ8E5ivE!5 z07sRQxVNQ;72jrym~e%&%+`HQj&L!uu-pMX#&&2y%|@2v;?%xahEs!`iIoqB92uxz z1;?PUZKZ|8G?#ej{>#VEQb_mwQb_nDD?S^S`FUY%{yLw@;81h-NH?Y&lIB40 zxwg21a_xFhvV`q93=EX?U{F&1Xm{`b^IM<7i@$3V&E*h+OE7}`a&S!OnFSN55LHOd z7)In@6fj^+IQ5&$6fHj%~z(a8dmB9edVUB8Wg{XgAC z@{<7rKveKrkk+y9nBdts&=Q01Qj@Q?xia_V;Wa;lN);{qzYt zE=Y0du}|AEPqv_w8|~bQ410SPrbVWZ86rHE0m5+At?@E5NIL0ZN>Qlo>u+;VZug0Y zAeDu$8^>>QaBoTU4P!98Yzf$9nBd?`Uu*w9onm~62*{)3%u>BnQi&p;0*vEQh0;z+ zfxJJX`l-^o6GCD~T04qYNVG>bIynw~m^7h%>L#4>UkU(tqWCHXn(_sw9@Nx2aa@X| zgY^v)fGB;;m0SCq``{wKs(OEoB-bQxqujl2(Bu&#fOxVG1W3 zlh3Xf^KyoaWRZJLE)RhQaM$uYo&9}IE{c41-4wIyX8!us@44c7k_v)|i=`&&x&TUqKM(( zv%lw4C*Ss6r=j8j(tM0!ZZ0r476sMV^sfVM4rX3`Wi} zKa^Z-#uPKTnB!=}JYO4kYXHW~*2A1!7=t34xcbZX3zf~}+#dV@pvb1k^9hPVf|sta zQo1_kpTU^ys%ve2T;BSY+mVwWD~xgN7?aP{GymJGuZIFt`Yof3CIBF=sIR2jG0dPK z`Vo=xwGMf*FD2loHnBSa?8~<{jf+;W;rQ+_n;(pB9 zyt4h=jl1pdWU%vO7@OPol-s}ZJOy|AYBsm-a+tF3nCTG%o9V#ZI)y1_>#oRVd&8Wp z)NJ1>z%b3mFlLdPc~QQ}*89Z}EXudtq1+gJ;oiq_!}He{gRv-!vM7u4P2FE-eu3Z2 ze-<$>3rpa$ri^wk;`04AdQ$iSh6LxBfT34VK3TR5FQN<>TqE#pM4b?xlcfxt?CA(F zlx$uG;C#k@Z%kpcc+l6XQZX2xMP`P9{hg8?qL5^v5z}=kG$N8C?zf2w zpyL+x%Xj^P3?L|DhY=wpIL2dItwMr@Rjd#pu22CC(I@yScI`9ap-{GtT`=qt>{$nQ z{SrbUAvtBz-JdfBsT*`%!BAF_3zgbYv% z?e|XTB`7EgSE~Tk&_a}2_^4B4q!OOHE`&l7&iYthmt3O~%zj&5_f&`q$-YXEP!@+k z`3~;oj02{Cls^2-LQB3*+%EX>Km06S`VWtzQm;Vs05NZoD)?AU+P05eL(;qyOhS4M zH>VAHj!*^=A^leP&~#75Pv8@TuZI-~D5^7oDROYGAbrYWAsB{4Y^>3M7glJlwX<+! z*$9Jy)qBnAE>e>*4n-LiI2TTaoVqAfg%F{%ebhPuC^JJ|V<=*~J%ytR3{rpzWL2^x zDGy3h_7*>cXBsp|0RmOdmxihkfv_(itM>kTe&G-C&VT(~w(nt%e3`aEPeRk0_0kBH z)DlXIIB?h7{tYOE?SmK8P~^F#`=IDqu6!Il_(mF+F)n=lPh20T+(PLHBpMsv;XYXE ztJjmET>&`;X<$9K30xu!`4y!h^41hErg0*Ztxz5}?4zi0F<`*%^#)tt-(;hBt ze;P~XdgK#pbxkUp$U{4J zB_N4Tg%!vRF&#{Y&TTMt={hbV49%11HWQ8>75=<^cfTLA{ zgJpt;DQ9h7sM#9yBzW8E_axvLRBSsBjJ}AA9Sd<+;x+6O>?~xC-Pl6CRq3G`&h}eH z?lM(Bfg(u$Le2pwfGu9xi?TQbKJBF_GDpY21b3OV(92%{03ZNKL_t&ynDQ|hS}GD% z)G;2B95*l?TUmNFjEJT{$k550OD9WJ!Ng?@;VxrHM({yU7z`)7?tnR@Yz>~SI63qi zPL6^l3`j2GWk-`B{ieIegiY5+u4C61aOGqsGmIwt2qL0yDN>BayO@-R)1rbtJu~MD zJ=d?qr9q2=Iy&Un6$eY`lH7`y-Th(McK27prjvayaraB%yLt@Zu6ruPXFl;|9C=O~ z#NAsQ3+~Ju7yiZu19SrH=<=HSLg1T|81Zm*B8#XlM63) z8AJG0GKPRLbm{qD{gzuWPA{N0+Ckjj_As91O~gEt*FAsj4eiX77+Wq9Fm^}%HB0L?g`$xK`U z!RFJ6tFxqhDUi8C6^wx)DknB~IJ&}WQ$n5q3aYP=vje;-a#tT0(#gUP+`OBx;(lvb z?w;Rp;pR()F($(ua8|gzVKUf7UKt~$`?=Q0CRX34lP;WEt$#OToOemlzP?%!2Ms$KPW&IF7 zck49rVoXSG1Px5f{nKw?Snlz`5_%(hnD>LG+vAdO$?a=_Uv<|tpY3ar5bpYZE-{?; zkr8Fg)B66ywc!a|0NqbdS-`=I@(q`Cnm?oacmHS3;pE?Y_Cmq;|K(YXhUr4lu2K2K zpMG^Q2-m1Acp;X3ANgjI@qlRhemr7BS> zM2%#rD`40lD@Ztll(+}KOhyh4g94lh2V+XC_x##H^va(55jS#A~N!LU0 zs+E=S5XJU@l*j;H<)G_V9NT_*B7q2Pza}b#CMZ?P08+;&3i@{78pdBil}Mqb@Zjsp zlb*-d2|(=!D#B7_gRFJ|mgzbZ9)f7y)mx=8V!}s4GFOq4wO2u{LSrgJBowtf*q`9s z!+Ut!zquK461Znp1gC{Ma?#Y0m!M7U`zk_<#!ky{PM-BqNgu81tncl)XL7Pv!4lmQ zs99TDcnEz8{9!g5f)E;pzU;LMp(z^nvyXlrr;Z=TQmq2*MaXLwz7IVghw3z6UI0-$ zNOSF@RoQSB(m0}V;USXX09lXgNJvlow27o3H-P4bvp(&oXB-^t5v0nb0xKamVUQAO zGRqZY5IYOc(&o(ofKj@QskZm5Iv&pgfhD9Qj!sSs4{Gx5-eCrI`KXmUdc(MF-| z`WYvEB1h-Y6kRHW2Sd6hRp_#z$RI+X?C*pQ5i`;k6QVBdczy9N{|GPt&O2y~d?X=_ z7eZA04bs^rM9rgnDhR1xOi6H1RJO=n#*+#~qk?m!WOW7?SUL1!+ZQju+94Z}oEH;Z zdhk=$qT4zIFCe!O&x5Q{q_Pqa%IdVgv<&I{&T>~qh-QPqEEr<03@@H@mOg7mGcb%p zh6&B7#CZ3j>toPZadTZl_FlaS@3e(_J5M}_!M2TfW?I2`MA9zQ+#VMqsvdCJTDZ{g zt1XO+E;2E4>rGNLZKKk*0V<4PnwF@Fgda3WzhhLRqgHo=wu|JQFTD$Au=mJcx_)K6 z473;nL}QhXdnm|S8ZU1kT(bS04!SPLq9~@0czxQx1Qd2&OT7TsxNHJi#}U?OUk$wq zG(SMP5Fia!=%pIqkVg^nNKlWrXpL8}T03Uv&QB0E4+8+2ehnMa-gC})&}7l|R0vMd z!9J5n^C>>AKKt|^^l@$c_ZFWIi$mbErWARGY2VT`=%j{8&%zd&2lV?y!{9~e_n#m+ zbk`HEogBs-J(B&Pjls}v%u3JTU_dxHxQtfwy#{(ETpO=pG_)zkYFwh*dz>~9-_=6OfV?>sD0Nj5lIYs_WCqzp*uKF2b>y4lYRJs-K5fdg8lyENa+yhc~y+Z z9rrwY-E*|zAH+`AW=m)Z58EXBI&!ksF)nq^x;|d&JmwBz7fD`W(#fsL0bK6Va|BBc z;(hSmi)gGT7_e>hJBAK^35HV(9X6t6><;WWv+6-yaP4SUx35AcM_%mYK+nl4a((oq zc5=JA>EuSVjQznSdST4L!8XSTJQX1&IJgqdpz&A!w>Kdjp2J?R15YZ9`sH{9ZjLJQ z$~i6PI@YnfN5#IIN98FD_w9Vh$iuitP!w-C2yiex2UBDa(nlaGPIo6Gn$rqk#wi`J ze0P9Vvg)WsGBd(ppW4@vlRdAFVaMu`FIuiIfwzu9*Y+`B%NX`9xDSfb&0-XHk>?Ye z_AM)@?gaVJj%N_JF`}#+kvQOVnk$VyJ-@C-7<8=sFYfvt?C#%BeNWsyUKqQ6d7_3< z$La}Z65}rUhZ%`<*mVb$oHDp%!KypRl!t1eJ>;VyeH8gHX_-~VV7zZ3!mz&XAj^JX`92%JZPi^;@Y&qf1xI4z-Jp?zeOg@$YG=1zvfLBNa)o6-$H zkxw!1kbh#Wj#0tzN3^CffIM*-xTR&`JN_%opSw=>B0&p1e11!?iLB`p5=+;1* z4Po*O1_u4?2|AF+*dCPbDa+^%OTFOeP!xQ@?wl=AJl&2GRSbxbNg^z z1sIaf4&;*C6O*uo4(%VQ2r!xskj_Eli?S%+6r6lSOT9lCubp{6ALd! z%LlP?4koMb@+s>y4Sb z);LDiuNdp~V`Mdoae%ISbMUDrebfm?nyN8Y4>a+$|9lB=eEUuG3<}e{gk60^1hoe` zf)d(U3)kn`+$d!gx;C$n^{g*}PF#OO9XSGUU(VVRLLo1?$e6VRaxNX8nUWqN-|Ez* z8pBQT^=O0%IMbMh1Z$fFkvu^bsRSxHPWloeA%f;Y1n?>}cQQt$c7*gUL_iR~$OHJE z)vt*dxMxJz>T%8iMnva@C?I32YgsWuHnj&;*4xEkM3xU7qtZCyEYQ`Z z<77?Y@EUbzC9f=PIjeS9x3FWXCQ!_}Il%WIavRwj@hU-g44e)bj4KqCDLtnTRD8F- z!ssAbxk4oBkezo{MXO>7nwKgaG(09)KKoYB zMne=SS=**lXLT&n)WO6-Yh|`qX-zNgS#Swg3gNPaMNMHG(?C9%A{)%CW|Q4rXW?Hy z@&W)re{>GI+Hm7lY0|zDwGpTml>WFIo7U>h@clXp+E=t+ndMWLzO`gBz#G+Qyf~yE z(%&@-&sx34{au{@!XH~*SUH5siq&uFM~IfJP8$KlOLpG9sD>c2`rRL%!-%5W%{jo( z*l9m;0V9L-lFQ|MA=t6duwm$BpZ`aC+K8jA~VE{l}JB)pj!*~a0Um9 zx#(cVEF3I_2T&68z-wSi$>rl{4I_eUE0sg&_s&?ky5-ub*H1XvYn(!ta1y59vlL2vS8IC!Oc5ErOl8_g}8rS=amoy1xC?UD9rSI?o=oV+ya z-)-6z`=o@!NKJr&{Gl8)WUU@a0z{i1bo4*M-lCHG1>0IUs^`LOFC6QhW_>$ z(y1-<_U(1Ow1u60J1(+$(#b*PIC}e~-ff`QeT=><)*bAoyvodnO&^9SaxgB?ncBL& zpaDac->A9{V#k12UBYmepyqlNdzWpnMXh-py&c=f`toV?cL-K*Z=kzFde=OG{*E1Y z#UqUN?Mph33k-W!*F>%AqJv9U2*w0h2?u)#Cb@;FgSd^s$j)g}*+92%+pJcPIQ{m+ z1d|LQB6otzO0wRHi z#fHggt8B+G=3rmOIkNiVN!RMhCN9$cAsSn=J-+E-K(eT9;ljS%8;<(dBkNL|VGkE*A8gl-;u5V{9j-aI zm?Ugre_+R^kQNS}q)$IWV6G9T-y){yX)?(bDfdGyPI7oY}|2U%804{hOEJ zmEZf^XYKg@@4xnOoWI;zDB3kDKlao2EC%5kl{Cv2gYfNc1i6O)EXu+X`0Q8&EJx&r(2Oh$z-0hgwK7vaJc5}R_Ye>q2&SCVy`dli z#yE-+4(19W!No#&U@~@fCpCiKM2NU*Auos!2|>V9?t>9@IAsA;WsANvBZPE6mm%UB z!ARVLN03CuBy`Y17{vfOP%1#Pz6D86>4Gb8atxQk1L${!3{kC9q@|2-ynUUmTZG`P z)AoK9;c(05UsWo`!KG7VVTf>$u4@_2WDy|r2$m5V)o2MH{gn^mCEtBB4jsC|S`MjS znkj5#*77lx3J-=Qv9b?Og=DFlwIAphhe-BSjLoIl^|Jj?&17GPv;ImS0p)O&!b3tZ zwd4vpa!wCUC>B6=)n+d9H=39e%tE8 zwBJG6u@<~68)8~eP?PXbU%t*+WAz$A+&V(kT!+##*gR^kL+HT4=LI(~6y?j51~Uc# zL#=vxHZEc0=D&n=gIXK4jnmZr%z_!UHxblre|Mhv3t((tXOpZ8A?^N^BnJ?Xi^@a} zFs)H~NqG)=Y^`d&Kq0GHeXoho?XwY$q2vN}nhP#8vdR+mF+j~PU3h$CwD%enqC)Fo z%mXy)_WC7u878(L&@~<4h80T^-Z2`@`U$GjgQsHJ+qEN}pBRR`$l{7&8vw9eV9wjKRZsFqY*8l*m#tB^BwU9`y zaRTRdY-Hqm^CT|s+3U;oW7s9wqLLiM9>KvuwBq1kqbeAT_mC4TJxPZ+xBE3H`i2X= z8q%q?U{#|P^oAFxUx(18`j+d*X3t;U!g=aTt9cTSlf2SAiAT3BytvUkfycIOAD;>i zu18CFe2v zaPXtswl9ZUr*Vd$&Li#9c$DNrOQ-M{-Sbp%a4l*(I5^UYgM%>_9Xug8xEd~@Pvo&l zy@B57K}<4%YJ3>O%M>-;s$xR=<<(mlU#1uNT8!?#o$IKvgcaT-|0h`tYAQ{4Zc^OgM)n=8P5fVpf#W>5JUSC_u@9T z$M)G8$w8$1R<6{Jpi6Lgt#%w;nxl;aP3+U!sMk-RbJ@cB)y9_d&r52D(BHMsSF4|J zk*85*)j@|r*hWEcaC!LS%14pfgNBak$SE6(PMSb&=ijfjX1-~an$4L7OC3{=3lq{o zxxP@2*f{NXFzxKpK}tEOwX(hiLmwI0pzorCgI4>=8`yM;$vzQkSE@jD=6hKBADTSF zc+Wm_E^_oP+HsVXipwxkTRwr&j-4;oSjTYp2}hotrxWzI&myX>VLI4%9|a|$bKozL zu1SRS5yGUvXm3ZvK@2SNHaG9cmD`5-!LkkC|+{b7-z&IT~?eD)b zFyva)yC{o8;G#TJt)F>;bLV#P)i0mH^B?bG1Hi?{yZG&2{WRi8A&3;J)he`?Ba9T< zO~8mQ!bqbMWY@fZ_kQ?6oO;0l)LJnn&w!2cZ&QB%1E0o!_uYrFvXU$m?;4a}{P!Qm zPyN^n7Xxt(N?t5Ly+v7+#Ub$9q?kNMN?)T)DyWd4!?=w@r(R9gtTw`$WvY@Br0SDLncp+hvweyI>i?S!kRNT+zPr_kRZWfB7*y zc>fb9jKPuPYw&yz=uZ)b0UC{EjQV3-e0+>Y?mv$~e}rLwjN#z381zP%PRZh-C8ESf z9EXTvjhmmpg*U$W6t)N&h6r(lpkXd&vYLm0Wr&02b>SoOEriqC8{P%gbXRaGM6xQf|0ny;n+e&S_BAmM3$uphugO9K+ef3cCxQy9HRDvIhfj4k?WT? z7v-(y;2grIk7+Gp4f|P~!5XKaR z%R>h{3ok&8B7%hqQKd+5u6)F+hisKv!l%gFLTZQ_MOY$4M3A`AKtzynp)6Dg!w|Ds zinT1HdFBdhewB3HN3j$+-6@}6s1Vh*?cs!Q^-J(28ZQOG6wM0Y67K94Eqhu45cnCzl^SMM`_j zKzcZ^RJyrDXwyEdiz?cI-TP9>uuAu=iwcf;c04X|gBq=eZUJN_gI1rx(+vkN0z(#u zz`r|(z@k9fvCxla{Iw?^&3uQ9pqT z1W7D4PU6Cj-B6bsCvkE2ehm6k>|F5i`Op0&&OEe>vk&c~vp>XvgH;?qwSk*n)WU22 z`;%Bcd;sILgXCZQCtw?h>k2P<&4$Zl68SYuCKmds#;e%roky1DsK{09Tz(kCK? zaPIsg_^%)RGCusf_u+fqa0++4;uvbJQ#eokYSvHUF@jxJn#b^{gM*LaiCqh`v@0_> z_|HD@b!=Y0gi&-EkL_B>gn>DDq2gBnNyNr}3y2?jaTNU_^*6i`qlno=)*|+znZ8-AdxONQN1pTixW^k}HGdNf_s~A#*binEk4rW}!6dAbm5p&9Z;D;`% z*iV+wFUhjo>)4x6^m(#{ei>ogI)?q7864cXY~^bEn1f)0W)tIGBEhX?=u(t(O&`LD zNSRUh92}g*!bS%}z#w;PWRLz{4ObxglvBB~f$o6d%F5AMs%uz@e^0i#|& zfevNE2%5KGOcBJaqFgj{P+N7R$YHR8$)LIGp?u>qL;tefSAxb01_TEOjWzTL;;*%jW4L<`8Abo*=@|XX zk0P9dgT1hUoXDbclRDP}MHyHim}^HzH4MANdXOJQzGt7qt1h_+-=%QQQa;U)cgWo$ zf$Nv3L{0}AjZ-k=DILhF$cf@;uXh#$a>XdPc5rY?`&y_g*v-o*{$)%?R!3K(6VN4R zf4lC8)U(K7=c3iAtaTXYcgeM7>6F`t+wqO)U9x@LYc1hX+N+ONPhm{t(mSE&_K!Vi z45xhzr-Q|dc~KUJz(x6+m+2(M!(ZFRBMGJs-wL zK6F3c{7+LHcn$~W>>GNX@i4`GAN>km^W)z>@ZM)X`4Db@`5J;yEfn?|ln?#>XK>v+ zp1&A~Yfy>>9Q^G+$GA3;ybH})90H$lg$V(#(WI|be#Lbe#qNuF+9Mt;&xas#Rvk7_ zS++1f@G#W$Z84SYG_4~gj}F7EA&+l7-qo09X!Fggdf;1c_DmAiY8Ms zK%FAdlnha;ZsGCAcJPHye+6Iq;@9!OSD(Nm5B*;VBM&D|t>ff%hjH6?UXNp^*3ejL zV@#GRUq?vEuTDuHQV}e~BtlQV|)#bVN1D(vt@mwDRcm(mQ zx#(cQq{~mr3Ap2oyRFX`8e55VE4cYbZ^pE+7L`y%2n1Q6g$KQC;h{n^_!Jq*F+w{$ zO%Ln4=wOe>Xhc>HObZ_ASD{j9nj66tirm)83t{`ige72xg*PLQATOyA2Sh~e2dIS< zNh>2HD;6T;Dn!yI{Z@gyE>!3UqNO*Byd8>Nu!bc42@uAfdp=#UV`l_|K>-*WVQTv& zAwvt{Y3@OhD}|H+>eP27BUFjRTdA4+i~sXY$jG9iMFovIMW<>8wL~r%0!Rq<6w-$* z^+YxiB{t&O0F-AI&=jH1xNs0K7aAfW;$P*%qo`sowTosh@*F9pb`yR8>Ct`=M&LxS zo=>O9Cq#_x``{E|D}r#A+RYdUX|Jm|K^cN>Q_m5@KpB>ftAA(}S%!?#+~w0Tj4EHw z3_)YnSvspUzg+oHt0nv!AZdB)tv%(w_v{LDmJMJ%ek+sFEx&ro7rp#whF(L|+e)D$3W)3*e9Dv=$%Xv{2hrn;iA&_&( zD0)1FP;^nV8 zjORb^jexd(LiPG_oZGn{!~Ai06CdY^{J2#;gv*^X0Dz@r%~=8izlOnh54~O&Edb+m zh$nU)L`rlvkzYe^Y@wfeyoy~S{#~sf#y&*{A7~!K4w0lDYMsJ<_d(onOMts?{~z!l z{*V6`cmLbp!RFSd@Z#4W#@f*a)*8nh9K7C`!NJXB9glB6ia+|mr|{ahzZ7REn%Gz2 zli=XcOEA0&S@de{po4BVnp-$a5!{ECPT~wfy+>N79qfCgJ(Hgb4qmR#;NV6)gM$P8 z2D7CeDfEp_9Sk9)d@WRj>EY3 zW7~ND&-@9tp1XoK{?jGk>hCOk`A;52SoLuHJ2uc6efw}{^#@}V#bRk*tFphp@T*#s zMOlh5p z7h_C(^rIimKJt-|;G-Y?D9)Zei&m?J8*jW3Z++`qap#?PvTyaEaj9LjobW>k`m$yO z)7Y=t5Pr?VY~#F#xItg%N+PLJRHcegsR(C5C?kcLRPa55!YIWU7>8d*y$TPHKRUus z|K!JU>uslS^UWvmkKeq8>#jQv!-=CzS23g@4Ix6*%6ziIN4QJBG-~K2P_E4g4U)kF#FRgi zivaD~5ugSf{byCY_`7ewAN+?u!@K_3ujBdu;5xkGAHUG%=&e&;S`pxLA31|pe(!B) z#>KKCR^puZ)pmZrDGIG}E%tDER2`Gwo4P}6kpw2hG=@bT;wXg&-fpocmLxgp! zJGnFvHHvUmzRS@IXfy+YKt+tCR_4+5;Mc76E8}Buiadocp>rC$sUqtsN3IEebLY~*F}Iz#m;pmra*<<14M$Do{4)N1TQ0E6+Ftj z3{yr?a}+!$G@WHsTV1z>ad&qwQY<*d-QC^YDee;7p|k|o;$GYX6e#ZQQe28VH}5yb z{g;f$$Vqa}-fONkpUK=EwWvI6Oo{dDb*0j#m8U`yGE)vOSK0DL`3yd!Ay@BV_KH|Oqmu_1!f&YUM@iTyCU*; zWe{6g_2nhWR#lpd=zD<3ympbVG@f8p-iSs<^eR-65y{0?XysyFlPZKLB8O~D3v=xf zS0IzxF)Aqr0Sa-+dOGt1i_CBgkp{rr#$>?>FZAHs%`We>ifPbgthP(;kS8{Hw?91 z7)`;+?mrXn_IPE!4soy%CCWTz=06dyyAPAs1^;)-t}pez-OwF<2((%yfh zj|--6+Fj?)t^?5`x7162A3{DJZ0iCKnEydgW%#21a7Du=CX|I&%l!%9+I>n+uBj2SGbnkd39$swmLiq#vw}h{(6A?Sz}q zr6YKDvSvpyEFC_8$(Gw6*}e`wWD2pVa>s!U#%}GkMr98;XMIfWy*7Ux7k%RCx}_Ax zWa#xkHYs#e+m#u?C$oYNqhx|l*u53I|56exn6&c8xni*6DpX!Cq zx9v6rjxR)~m%lz#>tLGj2t1b&QCFHR(p?V#~KyifXjqjlJ% zi~MLHmT(rZui8vbfVL7}i9VodQ;3k%EQ|&s;H;F-AR=zV-k-bhmt)VIGmptRn*}7Gd zWC@%izy5mt5B5-(At_H(>odA~Yjn-bHjd1Tx6+$G=|DGw9a|giTP?(IFfZw-9K2|M}Aw6qwB`0hzSZiHoZA&V6(X1h3ko}XtLjpMlixQ%Ty zz&s^VdtqMMO4=_FZYl$^(GStUzFpu#%GnnK64ji5P#1PfK!e9BGYy)|Vt1+i$p}|= zS%*BLP%XSn=BEakl7?>v8#TWMwhzy;CRT9{pAUMxalS#MWFGc#vQ_UQDi{ss%Tfvo zYM(TlbEHZ2UL6D3R7}dUAb@6A8$)?@zf@mP>q-axo00iXxemjsq!0MCN_xwyE zvw=+U6d!N5zWUyhwN-5B{P+%o(W7$^b;?HwbgNOr86p6>B`OH~aeEId+dBUVVEZ${ z*S#t27extkh#6}A#cdm^^SCs7oHlv6j&+DAxd`dMg9f<%TU%YVXx;R$daBuaW_^83 z{%Cuv#Uu0dLIi=0y5txSIdR4}L`qA1~@ z?h7JhcnoCZuBvdL@uY2J1jMmP8&@OBhnYQ-FHdYN775v!98JF_B5c(CO#bN$uQ+84 zjyHY8S$`r?5?^vKXAe?@;#(=lHD!oVKY@S%wa`wst*%d(=h1gDE67d3yyT(d$#)lEp_ z)_6_xNQI>Ff@PEuk6b!p)|dN9O^!00AYmFikOZ~R#xYKDDv@w+)i`A3T$b8*>e%>; zjL~tsf8gW6YIkK5z0G7^iz-+vm!F0w5SBNgmjZBY}z#mcG8}E< zT}>x1cdE7RF%gmGsNlEG5eJb4HEQYp0C>HLB*{u5AsP#e_PlntePpG)FpjW3$Ic)H zoKEpt6uLKUgE?#^&OP61=>roSbEf4I9-cW@aPwOJaKBGL0y}K$FkB-7`LY1wP@1mc zsZHF+3*iS>3BgF|)9!vFqv{m(mBT^L%SGo+yy+{A$wS8yG}L6iXntKy%}x}li|=gr zl;5Ps)oJhhsjgALQs-tQ<@*lhQ1a_Y@^;Ib%Rs=^i^)SP#0dV&(53zN>n!^lP6XE9 z|JY+m zlq&!h*`O`C+(*G>%i_IuJW76;KEG{1pqeNo?8s%pCrA~!#d7!rLxoErYPhouCMdQo4z&KO>;eVkJ6tpC=0Ou7_^ zlamEuk>zA@mi!Rp;za?@%VI;aOW7Il3wIFs12Lse~mdA{F8TE zulO+U?$u}qX3_U7r)^5#nC3x5zwVlEjf*7jS$&9namDUIZ-rq~A0R0vJZKpUBA*O8(|J z#+e_7O?c5U4KnfauYMzG4C@|#R3u6jd2S}@XwRMV$F}5d+ZQ3DzcplxQm^=B^Ft8C z9EV{8^Tz2@UkgPnJ+1&WSC|3k4Vfu@X?wGCLD$NCoeX&hc+B|NV{M_RyI4*CjuaIB zW<@bs`!XsV{m(;*5s8W1Cq>=UEmKhM1WR)?pL}r4%<>tF)9XxAw!tl{SpAY?8Uh*96fyTBE0tSj4~t~ zUj2pypUOgLa&ceha1J?5T!zWWR;>27&4{4%lQuj|`ytUU;)T zh(dOC7F_%&zbAzUS$B{)$EjgfV-wwYs;uvTTxMT)teU7oi4nvgLY%Vc=}<;O{B+?r zv4?m|P=#_)!}8FBXgBOl8S~?UXa`d3$KJ)^?OSU#`Kw|}z{d^2e@N|!}XbTzU==$62nEy*aZ_-22BFD4CHlIkx zRIgu9^f|ljLGZ=>vi0FjV;Ze%r`04zY0)GvcT(MdNzmliI?|zouK3k~%%e10!YrQY z%a|dDpB0AdW1pfr5k~%tK<+@u*s`CCx5u6vV72>5P; z<%J%%xl5WFf?nL$eFvzkO}C=E18mgtRNYRj;MZEnq0M$uh0EMNx^Ywb!N#q^Ns=!F zeW1vit&P}~KS&E-<0yk&2?bbVV=cYbdz>+qj(7Vm^o0UH)IqbqVSRG?8yIY+?d8wf z4&X+ADYGcaEc=Zi1Bmz=dc*y-gC>@kopS{A!mM~HR)cYFaM8KP`Uciii#Fr{9$jIw zmn6|xIK%hjJCC$C+e*7LokJV}MPW8Ii5rmTXd|fPLt<0U8O#Bsh!F7zx3kn-o)B}( z3+fvpp*bh%gG&%xa|K4$0bJB4Fb(Vt0||)SaL{qf8~NgGGI%{?Ph4;I_nwcc*}D|3 zoxIR%@qnFf=&BZ?U`P`seXINPHVwtoKlA0;-#fW;{2e}I^sWC!Y8W`UT0*_ymjh1a zn;fuhRJpGnH*n3AwjcBS$U>|r!rg_um-zpxa8FnI)W7K5kWj|_1^NwxjV+lLgjGjIc6kL4r9mz4V<^;g<@e)tZ*d>ca~8{04ZGp;4Ft7 zVzS6YA1`1T+37$+8~qPGow#HK7(y+f*_XaZMh45lAJ9Ve4_G+#SLf%Q?iNlI9tT8x zE+H@rGNg#Ala_13h~S8@mxsKeNm*4ODz0e99uWp*UD3>b+rJ+S0NrD=z^=%ewInKe zI*JXx=m778Fpt>I3(A3F#J@B0L@n=E0D6^H0FUNxOc#*^nQY6CcXy}WJN^i_t367} zK3GhZFjPdo_ib^qFQpg%YA!DajlK*mTj6eX{DTfPTn=!ERH%KC%xr zd;}+BSiX9~-k@@{Y~I2dD2G|fRxSsRQ6ueagAq&XZ-N(G)>?KMF_uxXl=;KL4~eh|I~M`N|CW3F2HoRGU3Dzo97^MA_{e2`{b~4^rgLfE zBZ}DB-ZYl2KTVZK8UQb@Q4H*Si!X2e(i3oM2{KG@cj!pE-0GpkqW7i*^%-O4g#*af z{V$<~0^P_saNAr?gNX7SENXG~I!Hqj9IAjp!wl|ki)&DmZo{?0ZErn@eI z529fT-C-dc-iRtW0!hOUqH*jWdmmDr8~x-y>tUyLy%hFYBIi$^l{K9EUuE+IxOTH1OQfclQWeiB0QjYHKY{p(a)~ zpFirS$+=ap|P(LRJu9T)Vf8D|_|*v?o@D%=|D9*yg-s zE;k2Bc5xj}>Q1Isuz1~$ista^NQ{hxYjxU)F8}0yqDQ`VAp&PE&=zvZf8o20?KaTw zW#~F28E|jr5=`-Ndlxbs*bHpQMCfV0gARrC4MH${*4tGlbRTkuE@Uxi&2hFm4$R3! zzW^hj;P{*c!wqT@A%B~;y+vF=TOw@0Xa1`Z8Yh>%R6$kC3#kam58}Gnh&y*cLO_4w zd)A_<*RBp;#7&-XbbdT&g78x)U8e4%Dc_D{=TsqRzsLD9k;wnbMt|s5i%5Yw4lb^n zk}V}w)dBY$u1OS;iMm1pDDU6+x=>K}7aQ3<{}NpX|6|hZKo$zlId13tbDzkraNH=} zIvL*VNOK}0V&X7Kv^!c_2yd=XkFl@d7mFmb4pqiPI7d`!D)wU!=2#mH`}P)Ns64NdEB2?sjHgOZ=oSfuMWWLmxWj~mLFui3PR*1fIaKsFX5k$A*RQO$p%cl+rj@a}`-sRhRgt`4rSAs2$LS@Q1 zlW=+^Nf{Xhmxl2C9N6?t0E=&0G##FcAoYsq4XBT_7_mnOK=^9sbK(XY1!$UyA=o*f zbJ8vP&W%lgh6HQIDN$-i6}JXh$K$}B|N4h22Ty%gY}r;!4|&xcReT0Y56$KG)mI$% z^)P%uD75=(STn#pvZVTLbLz?hV!o79%oGwH zDS2G?94duuyWh%ZJ*QYIWT3&Ztwv<#7Cg0hhx$gc@g(e@%5a}ZIb3N|IU0l53~~`l zvT1I~N19@tObXZ!so0tIh`y@dvdjx&qkKZu;FJ@L%Gc%oWK)o2iu{8{mwUT|sZ9M?#j~}AYS%j*@mN9MY-VLDte}gK=j@Br%;aVXIH_S_C2?A3GWd2@k#Sa}Dz;$wXygcrwHi~X!Uww?dI!WaWGlEP7*+l;s4)Ywe23mv(IV zjfN%2_|#aku7r_?2xd$h&E+u=kr8e%^hgFCh>0>DM@6@yww^Y4+ybfakriMG&=|r$ zeR+N#X4SS{0?iyf}3ErW6NoJm!WXtWR_;;YllQU1)IgQpZ2*j+8frL6bMi0 zt|iHKi@hXCB|l?2(jPN=)Ksb0Z2=WVYfb_~x>zGo>k5aBiajd4@&iH_zS}p}@|DCmlot^Rz0nm0r z^C;U3RIxG07OVr!3`VRCWc0_vs4DlgwVsqYgV6)(WLX%gDk9%z~*FOsJ9Q9zUCjN zRBURO`FAcct8pYc2XQfvc>O&jmAi~toKYjFx4l%!lAS8los+WPZUspapHHgX?-q3T1}NXJhy{HUI4I!6Um>_H_$8BobK;NyNIFg~gpg`+ zx!EoH(B6{_$?Z5E7KLmD{@Vx}x&J0U5Wbz3Jhsj-jxvUXgDA3h-{$a|X;l^Ra4E0t zb7XlY**1KMI>yC>fm+|C8r4*Y?PEtT<}3@h%h^TI8k55Qc6^#Uy8`C?|5<=<2LANZ zN4d!BPuuE&yOuuNryuVwpwcWfAy+JX4YWTIj%xG<@k-vprE<`8<4L=8Ob%!Syq4k1 zXYo&o{LJ^hjfxxJxpvr{t$UxTj<@?L~GzI zXDN)yy!aetB?}P0ZunsAh5or!xJ16rF8_mo1|#bL4gSol>}N zkdq~tkg19PdMbO_fBKQE=yt06V73s2WAY|TNX5uM6+>eq?cJ>7M9h>_)V^%}u@wr` z$^iG-PZyH3VgT)3(;LL)LdPXrf~Rpdjj#`w`#Lsm2te%~yRE05NnXCX)5iD6yz z@aKTfB5$(C?@2v}-qbL4D`8ZqBD$@(e7y2>V^%>+PFd!=>Y?;Tb!ki(fJb_qCRen1 z0!v8e{J8ziP9s0+9pE6o{Fd0-*X3I_=IbYQLJp+{>+(O4=BFodb-o2;>o6J zMZho8yYBv8o@x>4NH9~v6{fRWjJpt)E}TwNTcgDHUHH-(~iR#KVCM{)wl2 zGHq31OCVjof_{!K?)ny-C%n+SR4i0e+kVEQD~@9vmpLJ9-8Z~q_WNR`_osKK`tS7~ zMEhEEknqo*sqX&I+<&!A1)s#V$`%5*A8KTrWtuOiqjagAtHg5C%j{Uk3vLf7qi#m_ z?7Gaj=tY9?+s^GG@#ip_EacqZ6hpbCvq~BBHAMQ+QFBX4%3QV-@LIcwpr(yL;PK*z zDiLEJ=vOcgROrwdo`YqjNp4B(C>+y)6>9lJrAHJjsYzG_-9xGEgPni&pWvvc%8nr) zl=8XEzEl;RT;zQOw$5tOK9Je_GHoR_dRXRMWnzL7!d!fSHt}z47OmKe&%PYHOd9E* z5kPtBONf%E9ER#Q=hmd}XpP0;$_@vbcHXA$x!M&L_$+)q;j73cUT7 z93u4J)!<($+J1aai?m5N%9ZdGLQ6&o`9{dv^iDAMb^i4roIB*Aq31VIilQpOra6slEJATKZFn4 z<)@G^-p6f4z6J097aX*Cg#d}{a_xhtfs;qAW9+>-(0zy^SI~i{hFkqx@8?@0<3w{- zGmcBOzrX96WWH@f#Du1cR>=KPNL}p!+3{V14>C-Xc6Q9qwt6XBH@rzN+7BtZo+ey} zqzR30d-vma7e&)uaI*}; zJ)o&$xwT2Qk(mULnsFb0vTwvL(E4@lBocoEHbjJGPW{sr8LVs^wU0wT^VyBf zQ^Z!$86&`H#0^mT>f)0Sx6ce*tWKTVmAvh&^yVm(| z;;Lk9W}ej9X3p;bjRiuX^Cu2fx^cY&(MDTJle;uUCQ~tQFXS(Xd?QPHn|ClUY3WKJ z?!F3DO-Y(Wv=S(q*-Yg`qNC}XWti#>@;MkcyN>T<39G0Hz;Bcd>5>5L7T4NP+{*UB zdQO0lc1G-*&oOxi58+4B;_97l-CIRxcmhYLT*;mc`X1)GgkWu<4oPai3bOLAJ3P1IgvIS* zQsWX-7Y=)Degw=T=G(iv6;5;WPb!6QWd#JX&9S)K$kLw;39KrgJ+E)s#&K6uYFR7_ z3%oO4#>F3hkSPA}oaU92F4vUEX#rDh*JyCFtN)6M6qdrdJlMv$`vD+(Y-mKaz^g*Z zsM^@zA>HXRI!He6MaQRUr7(WbdBl4o<0Fxin`=|gowc-7o$dFn_TE{Fd@HBqk33O= zl_W%?-l5m%8K>;X$s3T~PUPD}8X|J(IHq6soKsfKva-lZU#c-2zJPT7ZbzBx2J_#K z^ZOfFx*#y=L0Qq~nW;MC&X!lt%ZFXUUjCO@)j*4#{{;RP=QV(^aH0}D5KBUi41$#6w4bBFJ7v*n@QD2bSA! z_(dLmZb_syr4FXP2jtwI(Z$YC3o7F}GuSRG)`Byaq&mhY^__`Zv468J=N0BN#~H>T z6`j&K2RYmRxlE(GSUJWa{gW2xm3Q^W`;|^mfridKjtF~|Ly{rsmL~_bX>XC(tv*5d z?cwJVz2XUoKK25&rzCMd&09XdUu5rT(yp_7iNf75qeAGDbad?IN*3L0$j63gAk*jq zhv)7haS+O&aIf6AJk_6naPm(MEGt5O3V#R;s1$9wwub|useatP${(VA#CZkWUC(*S zi==U#`0@%GJBUhWBA-5aMa#n@aut3#w9vpl7Ln{4l%3S6`|13ktJ_0-16Nh1s$KV~ z*Vy3iY{PJy9;b?CH@}Gh?-bdVv+*YJ8-8p4d>IS8hJg^Za_TgZ;y1mu&n4HHm-!`f zUMu!#xBGu*@t7udSd{%Aj4Wu+-|iEn8G`6Y4QlAL8{Ooq$E4Cu+P@yRXeiv!5zTq& zKN}sZvf1SC(i&%cv-rd1^&{cir2d;r#m6A|g00YZTdlA5FP8FacS8pLLmmKs(wvzx zrQ2)pk9px4=T-TD8%=9-?2qfr&IbRcP;h*lo#%<2&niFVrr)8(z(d8T5aHKmsH^|_ zJKcY?9IuXwlPx?w@mvGe)~+Dz;=?IHqGw_-xOFR7Fn$m8N&dPd#GNdE#usuuheXXy z`Yc1lWI^vUq8CUcBw>s9`Ko9@RHy3!X3&wO)64z&+5Vqz)hkYofBwj~SPo;{Lq<(9 zgtf&+*fq0qYxYo0m%||FVf>N9jhiBsnnR+>Gtx=3H&mV7sHt;D&3R~}G0Sy4n;kC^Whz1uf`=c{6W)B;eAtDo zml&I`fBE+EKc4a%{BCT{R+|;s$@6`8V{fh51Bi!)hav8W5DLnd<>7kBXZsJ(9yB*w zY!7wSJ{83FRxJ8V+jS((-p|+jq}=tN{$Tq0+jJWU>7?Iad^g!N49>D=%ISv+9np_; z9-!%-DDQ}g@zg2)OOxff4Dx_g5&MkNAGPPXfJnxlhw_n8TG#9MeKs_bTlt?4&e zeo%)Dh|ytf@#%+W)7x;!9YNsp+tO~HE7{=MW-oL&>gPErJjC0eZ%5wlXw9Mb<7%|Z zwZ{V}crPIq*`Uw9o|I9QYC%~$QMK``tm!c;rfl}?OK#JYYCZUNpP-gdZZkegl@R2s zx4Rp35al!>HCmD6{%};y3r)6jA<-@MUgwoEp-cJ65ho!sEh7qolIeG!s3M?wKMH>8 zmtRVtc9^G(Vr@qjilX=!#S1a4L4q|Ucxn!0FrE;731T#ro_$A51sV}AnT8P{5|}f0 zI_wfWN*5u$Q%O8W}prTB< zfm^82;nwA1s8=uN9I1%Pw!x5*87b?4#o4?~yzdyBD3(TpX5?%0kQvxl^v}_Mdt(oC zT%tdyMDgCMt=^0Q#U_0m7W3F(4A^P4?r4p(qREsxD@#;c>`vY{&J;49WE25TRG|54 z{tBg3IC|OSASdXc!tcM;I_;7&^h2iYoN6!4o=ciG!m5^E)tmqB zRl4KKOJTBC)ro8L?k23ou?gi4lt1b(z0+k-Vh|Bh%@LgDB+o=1>dxQ}>C^tZoFIN} zRuRdEkj?*L1YUULTSEPB*1|rkH2-$% z(+vPA_lU@6ZUI|$H1h<@o+=$`W9I;GRcJc5YY^?v#00}>@1t9%sY!=5o*?Ip{_l^u zm|aAsFIVJkPtO5v;5y6`_(Ror3>D#{m(D04$%?+<{5gn&tD`3=cgcGQ;@frmx;pu# z(1ksNSU^;|vKUA!D2~U3(X2oVlhU8g=8#Uv&*6Z+Fv%WpCoq4yr&q1Jqu-MhIC0f= zPrh^_TUA-4<;++27Qd!pN*k#ALimgI+;shiz!tZJ6dpMl1DX9Q^dY^4#$P}+#z~1& zU*>ci;t#i(l4~XAd22&&m9^T;xp&Y53giV`cHHGjQN?3T8zxWV;|1bz)ZqoDlkf=_ z{hMerCH@|6C3um{5jB^VdSNZjv}O5Em|M?Z$+4Xb{kS_7goBqI2`^3qZSGgcB&v&n z=ob}7+dpwDcc|?vh2lTiN!{kGpD@7?_gv7<{W*H^y(qYl#nb%s3nA2FMbH|@rwK=$ zWH`p~^J==u{r2J!;qPdy#1#_<&2O1?@ z<*Z(^tyyR14x<+t7Q+s73j*q6DX2XG)t!9*{-vjij0GbmCAXTWM!XYirW6^teD*I> z8ABXt<;w9-0tP$>rwzD;+WA9Z1{;8f14Z3)FWc|=U3)S9^5!Z~T}Hl7-Lh$u(K&?P zuloTBq#ha2w1MD44OpabaFCqz@| zExxI$js-%)Luuju@c1p?hu>`>YnHuQK_7P?euy@um1DqdvY#I>w5Fym5gzF@23IU) z`Rv9I=iMXdQF?E?;G0?(`z)F-h#z^##>Tp}EzGKd930q7r*~!PRl;BQW8Ob%g};39 z`!jpGSgk)0xFzdj-rj}VmXqgaDZmB?rsgnk^FT3h_^oaAyf{~D2G?6ag=y}G^tI%> z{aVTo#a`>j@vR_4*XQ%GtE##{;#qF!LmYZ?3W9z(F72iUYU7BA^Gusir8b#Ml)s$D zYvOENMNT_KAbrJNFSU}uv8(9}?WZ5d#p#+)mi;o{sJe3i+h4x;<{=iqXs#YjRf{V{ z-=UlLGjyve`U99O7C9u*4i?kSEu~$^&qX@)qWB?873rdco}`0I(&&cFbfLB~1JoW>mY*=EW{mB0&d^ zlGXaDVW;|631}#j2->nc15_cYrSSy?7n!SMMI{%oW1(}sanH13L%MGx%7_WC;(ELw zMfLje2y9!sB?&5Nm?1a=8k!Ie>hnGWL0`J#CZrzC9wDJPGVJfC)+x2{%l0`XOOt$?Opj=^qTb zAl|E5V{?5rhOVnm%NvN&Eja`j!4Y?C{@czv@n=S-3W~#MQ3l}^PMA|E3!I1vg6DG- z0YImLaPw#XXtn)M&5_YmRe4+K)L&PW_hIR)m3}}%1J8_lH+f)mWdS(_m>QL~=uv!P zDIYd_gm!Pca{(7xo%&EV!w-z6Tr6nDuZ|sEs{0e;t z_jGU%iV^Kh?#$aN$=j_Z4Qyi()5*rwpYn(z+BJ-~tWdAwD(iwg@B_2HWm{mE7AN6a z#TT1ZRQj~Jd~+Dqk{+6~v7S=FMLRGldu>#gwKVu=usHWcY5ZI*Nb6KGyN!ojf7*ZT zuNib$@pE^h8(#c3S^L)6unb+V_1uJ=f3bKE>poMfj$P?kj8TsvY|*K`(Z(I5!fDqq(~Y_V13s zPnA+mjyCajSa>atQ{41rfB(g*cA*@Mx|i6afmyi)QFt3_gb1=x(onj@$FVa#c#VMi zG;OSZdCjtrvK0ML=TJ{hZOiNR*WMx%L39CBtb2i^pu9Gx5#sON`TQT--Uy0{r;^kU%$ID%Y z!9_J|RiL$kQ;Lzq=PU{S1bvzSp0lDTU=Xv|w~?awD7cjV6t)ybyNL!=5Ow+Iaa%R} z9I0Yjv*^>AOkJ<>{YA$uj`%MS@vm1;hw`)Mhm$!hLF|!X#Hm`YpbF{*H49s%|B5;C zoj+kECJ)CKRb^!YV?sE4gD=XfXKg@GRXMVT)e==D4wHvB`R93)_VuB>+^q=dMrjv3 zYnpC?mAh5mH}moD3p{yzC9zXG_|tU!{1#DBK;;w7F*Iyh{7PNX&pbRm{boe?{*xBo z!VaDv)$5@ssbQFPEas^f_Evlr?qPCusHe^6V+-ZeJj9knca4=9sego#F;r#@;S`Rc zwRu!ndqe%R3pU45vDZ8$2=iV+CU>t&z+f9`yvmq5=$W=H$M?8D-hd2mJ}gEs_=(U@R$}+Wott zp4zq{R#i=4r~{Jil<3);_rIw*ll2h4lVzTphugO2702;P7WEaij3b0%)zYu3SgV~N z1n`xW+kIWp`xZdRnXN`m+J)HFTAe2Np_xQf#8u_h(!_yC0Hb!ne zr8XQmHYH5<8bAFMbd-nd`|LS?wu8{xsx_BVNFIzFEpM>%5H=8Gj zxg8szvJ>fQfN39Nx_a1ki$Cx<^>K%9`}(rsWAe%s@&IvQJFhJYhA`_?i;)dK{)ySS zXr3a3jyuTh^WcD9tTNzbyJ(^of|vK)MHy%LbGA%oE)Nb^Z^SZ?Ds?2OcY+`D6OZHO zNtsC07&kycz=-xO=jSu~f_KNrf`^=!HY;u#T>R|MCxnKFH*Q5lf$-FuXjm`tV9U7I7`T0#8%}2R? zvhi@(PW!#+N$^;Yh%hu1@6_%5d}mU^`-Ld_+}O2(7|7dTM_t?zCFf0&j?FDU;Gda= z^GSc&el^#i;{=5zR8fs3aHneA7MU5{G2zB^U~lyg0`87O{D+bH6QJkP-P#bd=haGf zsLynJ2I!)V3(93L3W-dlg3M?rKT~ce!G_q8KV>B*$j>xIL5olSvO;i5d&8{|%PKWX z0AET(tcyvgH|MNfp~bo3@j6ha(ko)NzcQZ7wO=*vZ}m$jt-|+5W~)EN-kN=5jRab# zEbtu=z@^@2%|?`1A|<$&$c3hZ3#N1?>ENUrQCz@W9VKhLLOaL*%xw5hj5~{}o-am4 z4S`O1NI%halVyQ^9X%5KDf3Ah{8*k^KtdP{C4GK(Y)Gfj%JzcR3`GBgpKzc3ydOAiNljRsC>PFCxdkoATb**vDD*d(wkM1s89j5jfiI;4p+=s*wm!Ubwn9mo{sQ>H& ztI-5XE*vgb>zu0P8=k#PV)KY6_7AOWHUO;V+vm~e!GF;yUm8?fD-6}*6M+`kT;>sy z$+>+#z4hc7ug{UbdzanNMg}A8(m`AN$7UApIDJ7=#{q2eQ>orpQ;at!Rdp(&_YKKA zkQ+m$?+2!NI}k4^kOnE-cPdX<^?75nJD|a3L*VV>bg8O`>AM0ZyH~&EaMI6a19XVi zWBgyiX4{VBG(VlAz4puzua>XwCV4h!fH;3aDHUlZTh=Bq0QT0KPfb-1ps4Z2^|(RA z7N7A(GA|_dDhA$^W0Rc)070LSSP5&vc;N7$Cv<-0h_<&UWe`X^>pL)Vf{3A0v=`fw z%Qygb==iy3oJ0wy1aybUu@(tDC##(BHt&3v8<-B5g^lG z`lla@w4cea;EboAc0w&MEtr~YDWHqCOI9_P)@7K+N?-F36R6YjFLQ8_VDNUh0r+^r z8tiRn&dUA$F0e@AQM{YOwLy%Or6T0gj_OZM`NY3(a~v|l`fXTJOzLx2LggLm0$qe{ zhQ{+?i(0Hl)jNeqs+LI~Bif4)e^Y7VVuREiSDA56FkL-$@;gLV5QM8- z$t~<@;1H-6tS+n8*-ouRQu)TUV=!;i;dX^OlSj+CTL>c{#qnF1^n1lX)1%KcTa^f) z3o6ksPHhUEw&-Z*{cB{PMI>RpdWP_N&ZWOLV4DXR?S%qWDpq<8wjhLmBu(`mTd+zZ`%C)Z~PK<5yuY6=7o#37Qq*%V>2W zl4K9z$NS|+?bJK8aQkZSQ+DsnQqNtDs~1Y7#NK~1rzUrmy2r0|!FN>vG}w^G=#aK9 zBqNn6XPmVBCAyJA+}qD|!($<*60dX7A)zxF)uFf`J0BmecVH>`16hBSX)jEzBMWAf zM@mnx7h#K2;GeIOIY7K&j=`^7Lg%;Jmcv&+NiX|n-paNk2;N(JyI?&2?0+3#k?*x@ zU*%TL9^u9N`~R~5`5&)`|K1;ZDKnMmyLaQ5{}V_9U-u}7|FiO(K#`$6}QSQ3A5=EGu=ev zEU7czlu|P&9`#hRLJJ>rs*+`KkR!TnCXQf8DTP^Cmx&|S_H4>6L7Z7}!Ng$0He!xU z3`W1}AR6&;ri5H8tOA4$JM{F|tLsd)wd&K;lcKoc`F60Y$J(Vth@{wh9g)d|;v#xb z;lGW*O994|;qW%>6%YxeT@9k*d4f(vl6EZbZ~{tht=4`}ET%Zi>mFwJN6Dtx%*ECp z{C;V0UBb5dP4ybSCf%pi9T6dqJsxgIRO+waAEh|cxqfR#f`X!?9~$^iq7l9N3jfTI zi`9t=i60PT^^8n!LxARwF;+k0%6K%AN`Nx2TAG5lgVGjGtBgOM$x!4xi7o}#+4BI) z4p+9J9Uo91UnykHKZ1u`o6gn`4etn;i{KN(J}j*%l(AVG@vh@@mOGxEj6{==KWlZ76`fL-@4LUA=S9Ilur%8!b~6h7tvJkN?5H=Q zNh~3d@)O-ZV{E+2QNS)d0I%laK%In1V*{ONUz14#30N>g2lLN&VDuJ@qV+{aunv|x zr=Ai@G7e6swytxc^yd_ad!}?Fz-5)uNh`I(eLl(@(VvYgaN*J@OTa;2kAhBEvr|I{ z`*$@%US=s%n{z(6_<8*AZpn)`temNUbT~*_ixpO_yl<-`CAtFel#0#OTy9+6B zF%Lvl$r!Tp!)sC6Y~87V*IS7dLB|!!4qMMOr~ftPv8{S zG70`fK*%J(e+0ow=%AmMN3J}*$@TG&871eDk(2pLf_^f#29^>o7>*`dgqzidz0xP( zYH_G7Cunjd!$L)&WV@ZPxVimf*xqi>4+S!R=R}x}1Y(K=@VB)Q%Oc;CLk4hWn6%m9 z5t#$D-D#6>$-1st+yGE;-V|J1TzYTeBI)1eKv@o<>`!Ue<4`qn;?ZB~OeLFOGtI|w zq&hmAk#XPIb1E=*&e6T-a(fQ|scvQ_4}R^kJActYt5z)&Z^xeaB`8vdpl z1+iZ5GL0rcu?UFnxwBnfT;xXH8ERj-WGOhh{533IX>mxbo?^m29Qd+m9(IvA<}8)@ z%xt(`PCeli3_JSkgk(yuIA~((e%oy7T((=$?%dA~o6HFuh@;=+d@x;EC34pVJ%55? zb2DJBMfg4WG1H4*S#myVv zf#-nhNA3c|PP3EJQYH3%vOCizMn*AFbL(8TSiEF@$AO#4;mbGuc=+&Y)Rn}J-r&b# z`>q`?2lMPHm-)e&l`{k_MiMSG8BeQbO(K3~GL}RNvT?g^8fDdQ$ZIa@TySlWWz@d< zC6Y%kr|jru9f1Ys%#f@NE>VA>hncqv!R}iUyKT(pO3aAUBJEO4wYjC4E*(8732gAu zph2djm2x*Dt~`4hzk?4?9Ilp1l{d1EOGLIVrMtQ%cFkY931DedZ1*fcpv2R>tuP7W zg8L+f)a%Md@*IvHd6rQ?Fn4S&D+;%!Z$=ms2`bkHePOQhyleNfG2xDY9ZnF6$EVS6 zm6R_!CUM@{#=<9os?-QjH7@obG2)9`i z#61MA!eL;N=&pyu;4O)F=!}b88NIpq9{6(JDtaD?{%1j?#__*}=huHDGKU9TA^+k{ z2melF=igtvoI>1gwn23V(%XKZ2>#xk?Hi7`V7nlSPFLYLV?OdeR1>~e%8n1m1%k9e zeF~&QMpl;j|N4nEOk>BkWotctqSwr@Mz7hY>f?9CA~%$>$ouUmXnrC;$Jjd2*!}(} z<}L1KaL^N5PGvP(`e8qo5F7yd(Y{zCdX&u*=FX0P;yl#BMOM8f{Ix>grbSYJ-4w(Q z74K=7$%Kt3GvbZ?SNk^AjVuDrLkyIHcR&g^7lRw6WJ7L2LWD-S-qXH5xacc}<9oY=}hbI7J z7+*q4&Vp8>=%heeTah=+D^yKqH^CEBO|!-;jOOEfe0QCgcb*y6GsF?(Y$$_i@ngMT zaP$8F7(wU0_ZEzdJcQf6y$iqf`@fDf1q5l&N+FRDbm&M2t9;Val@1(&)?71$Lv194 z3%{^h@Al*i3Ic8zQr}-n4O`nQ(pDegq5Xlak4a7{?0X@V3CW|v%>NqD41YzP~^73%w&q-!V*U-yxeE;3~Q z>7QJprSgPnBP7yoDSHImhV&2!YE#PwCqEI~((qz8I#_SDslf^6b;pAR%c5~=I=aod zY3unwnlAj3vSDyodG*W*Vwhe)MJF(W9L*~Xc7`;V4GU(Vp4BdvbZ|owcQhQ_y(a)j z*P-$lEQ$zE;to;@J!Xudxi~}9Acs>@(W^`dm>K1pNfaT8d+!_Jbjwe{3xCy;Rt;kf$#`Wb8w!N5Ao=XzWV!-ii{W44ntk?9xudPzrH z8mx?VNC#|;3KC!KhE`4=()z|me-Se7C^*|7UPTVr$q2Q-j|TZyY;?e-ujhNGFrfQ= zOGZWOx1^0u-$w0U#oRhf9-qPEI}hW3|G*VkRTzadJgh5jq`A+9Mf15SO=ReJM6Fsx zh9xk~aXi;>@Nzo0>7j=n!X=kn;y&FEsx(bIyLa!#C6`>{Je!ZO7E zuF!C>v`ac-vs!PV)9GMl{s|-y8V+usg)BPs&xC_@bZ~A1P7~xdkl&2c1Xm6eHe;Ni zyTRfnj1i1Dm>)2z0~7N{o)Qk8dkV7XlS`t5PtA4h zEjoYA5_`C~5vRyr8XephtiU9}!CAM6h58JR965?r7Zh=9_8>T8ngr7`12ozS4ju{z z;e+&1-4&Ri@{Ga;%o7~kmkm&*DDQ0lW<+ycC@w@)B}t)Rorcf-a0D|Hg_{XhVTRyf zJ2QZ)*3k`gbntYd=vHm%VxW6=%PK%pBf2Rj@=g~)C*`JNvI1M4wY zSN&BGn{^a$rf&llssw2oYkP2TW|bz3UJ3`BOQM4#$&e5n9Fb17YvqB4`n&57piX@n zWQI|xQZ#jD9V%VeHMdFIes-gVi3bXsFirNV!YJxA1`>CbCfc?#D^VplIOF8eB$8@7 zbrl@U1*!y7TV|+XY~LF|hu~lqtin7+2WPYEut4on%5KCW+1LEzyZu z{wT^+_b?pMMAvROh+6kZgwcl5 zutE17FG!TT&~$DT?M3oC+tR8Nh9BzaT*C@QTpRA@3)fUk> zeTqJA8>pOA@O^gVA~;!f_D}l0Rzg}h`WWgIt!@Pc4MC@AjHp^hyV-yNrApGNE+UN` z9UUAu8``!DeZ55>&9^_f2$V};V0|q&V9=Sos8iKZ@wrtOg43C4$t<)QM0*sPh?;8b zPw{=2E32al8E++OU1IWu7COXuFl+Be95=zhff_B24If8H*E{R=jvfqTRzuQw$a(8g zr)b}7aTC00b$vY8ua6`c;d(qW`8a<3jXekpKCCSa`=<6`xUe3FXVlnOkzK9f;Jn+1 zDT0H?kG>L>MjMUE=bnf07eN;NROK!w;NpufX3umn_iTQHC7=Gw={!sO9y^V->+3JN}MUkS0E$L|6QYh5FFgFdv!4^xB>0Xa0|Xo z_vaQ|ili07(*DJz4V!E!J-9CUfaSrVz7f)fAh^urKo<^fYZ7Z026wfuxgPX0dtSF} z8-dqtJ45Fi{7hd9sl6age)4j}?YK4rn7`G9j9F0~yOrp}L&I)qTrY7(bNiPtb;fUqfY-*UhW z)kbkU(hD#qgoa?5@iSq^%p301Lo>?uuCq_mr-4j!ky`%t+|N=;&&HUK+AM;RCZ!F1i3 zsqWKCYKTo$cb+=1$?t5Lha|1x7H3GPt))=}Pa`mJ#1!QXVIfCK6g>! zH5_@acLLKC$vHUtxqP1V?CHpnBcI!`W5@e$x#bqj&dxsR?>F3V!_O7byu1kfDT$>F zMu%QRJOBp`$fSnpnTOQNy|@DHvKsKsxQt3XMlVJmi;=R;PN+32&8&fHlOheJK$+kK z(=MS}pG33S!NU(8!|%Og3+Ag6NZFI&V8_m5k@QP502ZhWE-cKGZ5Y1Jx2=qZbZskx zd4fS~JJhLd^FjB1@EQN&` zy1!$3n4_p+-_GcK&(3PwUt+sfpl#D|w9OgU<%doI58k&IgX?o>^9m}9^(Vo>?G8l| zBEb|vw57~2%3b);_E9JOSuR(iP5P*Y?Q6ne7Ov>kJ>#LGp;24gS;Io3r68P{IMR{G zB`1Rx!NF@%2S5rTT{MZ**R~6YNbmH^*X_X@e`^>6{Q-ouQEjPbmX4>Rb4@dYh#;qA zFo$YWE>tMNIce>z{T6OdJJ^*r;2{c8%y)gwT4$p1E50ktMT;<|$&; z$f8+R?Nzo9V}YXL^Z5%k>^ZRVavdF9SbM2HP2X9p^q|&apN`%#&cbeR#)mEwFdd?} z>eSI`k^)DgifUQa-3)SwYUCq+22wb*#^XIrm3ntWA!}j6=jMzg$gx1mz z(WM!VDrHqi&S3Dw(GPTs7|V51+krA z{=1wVa;?fXpJITRBiN_`>-b8w+tImrwM?gOp9R83c-m|C`l3=r%3U9 z$Z>+AyjK?lrt9ihLEdKATT#b?Mx6_Bgrdy*9D#>^^cXh1W;I{|V^gPSuC_5jM_V`- z+RiM2gCG3*5a#C_NIKKYFXrb_+PQOQ`tp~*97&QOm&+jt&LmlXHhhB1i@@_d?cF_r zVxNz}6~TF1N6R_?+~(LLlURLG>6gL>-t_uQ5M-7kSkF~@*E?SgU|E~_TqLm!2R~)H z|EArD+cExs_TD_)(yF`@{jKpE_q@+oRj2Ay)j2gVih!b`2#N#b5yeE?XzaFwoyTkY z#Kg`(jOmWiBz^CVt)^pcI*DdB#fv>rwbxqTyWX|F^}WA$*m>!upXlevacVM#t%Qb_0XRjd<%~ni02##}liVBrjw?rVE*#B9`WyTn066%G>zO!?_FVtc z(UL2St*hY98}{IWSDgjF6o7$&oP!~S2aI@?y5~HO7LJdG@ga=H7&sZl1I(=#8)?s( z9O3(rPMLB!lO@+M1KRjDkgiaGAmei(od+so8MyE*6f`O?5RZ~6-_3C-QyfA*c8-im zSI?OokvrvRVH6BY!G(q-w{*_bNL%6hc+9-S3Fb1&FRp@7&>4ieHSR5^AYC?(heHHc@O6% zb1sEt*@*|3dZ($SI+X(bc_qT^U0&2uC@gDEnN}`Qnabp6y3~fA@V#yE1_V)vVeBKja$F77w`GiSE7@4j=uyNgC5l} z8K5`t6wXuhsK3+<>C9y4QTnvZ%7=XvI6W71(g{eJMGIZ=IPGIZTd&m%nxflamFTgPLT=6A4w__oXUM4@ zd5%2ok<4U{*O`z=(V+{Ip_e!S`kgcZ1Rb%GNg$;*nSyR>;ul9oXMkiLJYx|6&lJ#4 zEUkHjgi*#FF9uI64-W0V5uL^`pmVQfq0!pdnQm=1U3ewQs6j$`iSs-|bH9Zyg&(@$ z)=VoH3NoGdJ1);|AqXw+0R*)P2ssQuJ+Kw*E~UtYLQa=b=?5rno=4}A7i%;Tw_MiyLUTr>%1_d1#<0Z5>dF8VRsXK2|cdp*4c40B6s0w-A$!4r2 zGM0itU@E7JuMxPFZeHW6fc1)=Q34OUGaz?oc@a5SJ_yEb&+U7@@h}?4R&nvG&OtZr zAj?y@%o*_dEM><~h@lQh+|lpOGc)XV0klJaESW?7#OIUj3ggeRjyf?GIz~ z7J)*+TiX<;pnT&SyYQkHhHH#C1trhdEV~|E9=_uU7WS{=r{D8a=;J3p?VEu?{uJg8 zelC}@&pw-7b=6hob+3CJ3WY-N%rnnC?&E?nhCA-KW6eAGlzr9uA;zEgVgNvvB#0*{ zYP`v@bg%XP>h%`^pQ6(Xfx;kjfzgNzgk61@bKMR4&t&m zoCzjyO8J*bhpWmP$D>3n%LPtDJ@})fsj7(flZ+F zkdmF)u04COZgvJmFN6^iOxSU9CSZu}NT5a8BD6N>MpnLJAzY@G3<9aJvX(IEXeB*( z1D*;WT-pUqbDM!d3XKBQNg1F)UnD7406nwe64HyPKZPQWxmluphTg0GRD#4 zL%XMl_$axCruL!s5fHow83H6rf%1@N9vBnoP__yoeP}Zb0o3;Fv*kiT4KmyqjWDzQ z>C8jS?KpSceji?Oo`r*Dt`P9SKG6sSt*=n-`2^QcgMI32aC#1r`+%^}m`DfqWdYKF zY}u4R(p#myo*|&jEJ6lD8$Zs$L$X5?5{md(9ovDix;^lFy#{#So-v*7qVr;h&(O&i zNtS1!GW*-{`3oFgx4Q2k00xW;=%ST%Ft|(`%w*2)nJER2vgxRx2+pm181uT*!ri<7*GuCU(XfsVn7fm_Fcd>O8wD8q*k9s=4YkrzUcdBP*9K$0miaI~1^ zQGw++tz`Mab%cAC>_x7WF?R;!OuD_9fx9y~WgJU~`{06O=8R3)OOXaRmxyT(D6WUJ z(C%D|WPlRYZ@RF6)viYC&?=Vid73Z!SaS?{s>&xm@d@)Qzw#^KoMZFm%_x`4$NhcH zJNT(6qf8zcLKp*+rF1~1Nc+|v%H$~$3Ik&D3`s&^1(XgHy6bZvu?-=$gN=qyjr9@LxE(b*`S59xHIeR+hA)3T#y&zi)| zU%3m-?g~OLLpM1-L<|Fi$y#*Lh>(u(D|hSlIO}MJ>!?iX){EzykqVhlgPd42oJtzVXTaF zMuG|Wgu`m-JIKpZ1ym@4y;dqCFX)?bfi4W&=oo@L z1CVY_Z;iX8)*$9REgK2S3<-$(pW|K1P%M02)VFxNb7c0 zIaiRN>=HUa8J4f*auCfPlu&xd%n{EhEwOtlY=K zN4;pDgUbK`%{}1}5Ku-1RfLFa|FH@Y5iFL1L*^O4IAVhMIrorzJ(9~1b#7%%c`94Wg^>0P3x+h0-2T<72u|~2fe)_jhnmVY@;ret3_PO@ zEL_3smxx~>1ciSQUI0$Vtcv@p zWD?<5$Djy$@2xJQO+ln}p$wDd(4@W0vkXad6}nPAp*Ap25{I(ra^(p%hk249StSix zw*y8SJLxwa++HrvqjJVJLLNGp;HO&|ObDbW)zvP}f)R7BEGj`4jdRZR}d)j#D@7LbP&z16$m%IdD`N~&t<&{^SvN6^!fls2i z1Bwk(BjtI5c7w7B6cn12X+!e@S}T?ofyVNxjRId09vVa!3mdS!x*xq>ira5}0Iz@R z9F|x2L#qP1l*J(hcX0v-Aub}niq(#_1uDnWSfnvUSz=*jpF6k)w5MW6`+7)g9pRX3 zA2^zGfuls1<0%(qKctKyT-z5H(zL2{MMnQ!b;2D9_?Z<6(DkJkl71qONr;vt~$6X2~rF)hNQ;U z>9C4sX0u+r{E{tLSly4t>Jk)J=+e9j!pADnLPo>6sMw9~>)6$6Icy&mHn@55XcDdV zVRxAxWDMyVfjmzkxOO&Do>xJ;Yh^76r?5mkS6n)N3E{gjOESdL>OQ)7#>dIvGS!#7 zA@AaXaB~-!b{RutSVOO8ZN*Zik!3v_`;soFqnS>^Z~`65%u-<7t*H>&(W(@>z4?|m zy%0-__Ysfc;XYM?qq&f-eH;NT+5?J}(H&%$K(`R zfHub2&#{p-Y{2j=W6}VFHU_S}@B`$%uH%b4`_ewrHo>bwjJ)567zF1uxyuytgz6-~ zrQv)0rp7_QdD=(6NtsNfKyQ^~vorzIPu=rnErRmVMQ7RaC}QgzEut#gEz9>+6{AJx zX%iBCf`b=n{;^j?FR_=+S~Q7vhqBW!jt0qeRFpWdyw`oW?k76bF%GOejKXAyNA?~@ zaap@d;67?2rFQhX(u||)(YVVPlA?vxUJI+M%TK>1aLqB~DJviU_{VYSrI+GkAN!bj z!yDd!_3PKOANLq*aPTvreE)lgP_4(9Tvz;wm~UtGnPrz^jKQG?mN2=w@~n`DPyEm8 zapdq?MA%bRe)a0VS!2Q}DoL^i2cM{vrsHP~9K2SZx-vgMkKMa>;}?JN7cnz4gJQ90 z3Wb6h{qLG4@M$Pnujil=WEtWy3n6h8pj@%)erO-wq=gEgLe#4B^wk%lR<&)E2q2}8 zUEkY<3tns=xy?V16DfdOY6IR(n)LLmyqs1FZ%;7Kb(Ox3oL<|V>3(f$bS z$ucNXbX9~6^=+;nRr5&u<~wgwAvCJdIO6Er09N3u0PCt--Mj=>s1WR}goluz z4NnEwAhwg1FTzZHJ89fvY^v{Y+P{rd@2dzKT$_Tc4|L>c>xpcid+Bfs{cehLpMO5I z_K+h3%n%NiOhQq{5KsCD3S&-#HOR`KQ~?#@i&im2onSE;z!b?VTnyKjtH{v>FGi$j zjx0olJWTy8LczBt1j-L#2+r^MO&Hh=1~~;v7D7QAdx^c|k{DC#%ZMT$Tt<)uJC|HU zD3oY?8KPXCbNreateuMBk*wt+L|EEN8ma)r@&LvUAP53BOhEhNq|p>G$ZeJd2fIp? z>F->6DADhP3Xy8xX}`Rh9WxanYL$87b>L*J;Kc|B>#JiZ;vJI_w9vFSd`LC)P-kAv zX?Bds0WbuEj1x=(eoFhngD=a}M*tNQd@VwV!aT`zj55vZir0B4mo~aK13oGlqeA=@ zDsc5e`cOI~erQCpPD(VZr8fpHcQE4;hCFWt)9}Lbun+S7mVSid_#A0VLj)VfNTwtr zY2`&|AEIveU?x(?s+Fl`?;vtAZSbQpDB@QbO#(H$X6?iKF_=-jVKW#2CIq4l8=qJs zAf?OW%i0{OK+z3M21z-HlXeR!vzksB#E?NuYC)R;M^L66CY6PGAIC9-DfI)rhC$(G z@?Hns71G`-57jN_*nQMlMnaAm&E|fmq19dmxgy!%9-;{{rw}0u;}(Wr^%y{AAyqC> zis(G$!pfQf9_jU|4}~6`$MwP#Ub_9)0RV>@`*6d(U!Zx#m>b{e&ay3II~=MoH@*{( z%r)@s&)te`V>`eYgGcoM5a|fpi1t)~a1cF#dnko=52QvT%~Krd9LB#r&F{b5xI{HS z_I}sO@#P1>z-!*YPnYH?OI`H+etQLtV>bGJ>}^4#VZ9Ecu{kU>EaViI=5UnYr)qgK zjx9d`04Nt`u&}%r|N56abJ%Z?bukJiTTj3%GaBu=UFW;}CL-VRt zW306Hpwky9mu7L4!b*%+=CQc6o7!x5jqP;vs#UgPiQ317O;~E!exhg!s|3+SeifbW5?$;(2L}&AXlqqO(zOs> z5RRkMCOEh-gVwTz=!(@@EH^Cg%GEh66Yn;xtD~`aKkdhDXe?N|RNLz4xV8~1gLxIF z(V{&Tcy)9;cAdEIBTbKY;E^gql9DI7H-_xkGWD?@okh#L%GeI1tF}#Hd^7sXb}##t zadek#ri-9DiPi$iQQ61xQOi?N)o3l+xrF6)=rk;39LO5d4taSO8qRCBuwnDaB~Sgp zvuyw$8)J}l2N{Y4lIE)W5J)LRj9(oadN2dXdR-T`htUg){je`DV~$IM*Ihb7du<8> z0Lx^3v=<1zF9cXPc!!m*sk4Ull@JX&Z;HiDXfE14zAVdFCNq!FuR4>5k`5_*2*-g| zo7S<2#SZNO9itN2i~3^g7o~ z=l!=MD0!G2+ktzj&6fHc9yn&_I0^@s!!aBtI9SLcn*AnL78`3X;O9{J)TchhPW2dT zaPSYh@EL<7Nzm{2(d+fl?RL@WbkOc}&}z5QYIo4?^wDbf(QJ0nZ1%C*>|tf4jg^%i zRvKL_FSXEE?xL~W!Aj%!m&V=)7t!mb*m1`6PYh4G&oJ-c{r4Zm)RxM#M&>^K>6@{% z&{^Ajr>K17W7n=R;S`lLTZ4m7R7&I_+&K7?Z|0Go!hdV!sV{4qz(-&D@*LfTBcz1` z-ufS}!Zlz1ryuJW@BOta@T$wtfe=3Ky|agNU$_m`;yR>xoxYM4vi#9-FhfpX*@7#? zp@rzA@ZfoaK)nIh)h)!KWr%eIwOVL+2We1ZSFcr!^#fXlj#eUst`kfuJrw*hX$cf6 zg((zEHv{`t;HwbptMksFS1^fcVVe5z5C!&P=1Cu(qTHt{#HKL|efT=U#u0kc*lCtl z5oQOp4jt{Oz_roRLrfmjpWAaQUU2D|m>oaO#*Z_(4d6@K2FV39%iX+?*GR+UV?*7- zTtY=qMGMhoJVIQy&|xM5R0*bs2v8~$WG_NgDwZ}fLRcaQ6ftzg>Z?Lia~`|~42Ha@ zeLgWzyC5YGSI!kY*!6$=+czLCNoXy>MF2r-r(}pa!S_mr7$@4u(2bw-;asE&F->bK zd4PZ*O~E{PUYTTEB9BRHBqSZh+#Sh`Nhk_(EV+jY!NFYms1qCv5x6lS0!-3;eHCGb z)>o?t_3CyfkK@%Hq~Y)pkZcI9QKVqef+=KVS|Gq-kXwj<;G4w+@rbiy z92}rp-tOoMt=;?HJA+D%cp*cS$L2`}hO`s`RMGyHD-T|gU{WRFhjyJf<2FMEJ6@A! z24)*ffsKzjen~$h&6)>I9`;;mlqP9RKSETorX^|8hLoW@r6bSEOllIubwTs>!Ikww z&14FY$9IwrFB%5G52Z?ARs%@F>7Zd5#qew7MV}Q^-65Qr%- zcR3paJPMf3TY$-6zz~)Q4u*i&RkWrt{$QviB`gQL9C_FsK?{P5Q!|$aHxG4H{;uDFY0G;x$U;w z%=4fB{Ky#7ev-cljWJJJd+@Bj1hzX*UYla_9PPsvCiu>scj5XQZp1hK{!=KHifAqF z17i$4^wBtc4;TZyS{+MEmX4>kV6k;C7#QO6RvcU24F;f4*@`1eyTKT6-<>Hw@jtG` zwzCx`#y8_z-}oLb{i*F(X&=HWL3BR|4i5b)RtS=+#M2J0eIht`|1k?&tgG+9K1XkN z^;6Y(9H92&|40cU09zi96U3&9S!NFOQqu)som3+jy08Vgl zIhw#C@p-Z|*1_Nm(bfH51Wy%8GiWpkN-u84ev+MPbsG*XSbl98KMjo~GI6MG z!!erIL}eZg;$5k<5vv4K2jLW2(1f&jUFEG8nB?=dn!nrRr7(6PLryXfBY4XL$;(74i-) zRU90wd4x1++fSf@{i%wOQZQ*hsH4AP+eW2z&fBn}TQuA@W`iIR&0JS&F2w3?`(r?GxUUi-GE(={!e&#Xi4RtRf?O z>~3}xM-Sa<`MY5Y7MfP>N|kvmu2@+smbYSY#jfc(F^|@Q-2+`&#Y)Sr$2ejnomHwo zj4bT}jH4Uag$ZN{`WRiX<0Aff|5vRXmo{P_os*N5Ex4PY;ra2MxaYu~*mLtEc<6@1 zc;x=WC`?4S>=!P9w=KiHhwsAd*beL>IC!=;hX;<`=gy?POSaGPc*1!HhdM^H-$Y~K z=}$Xn44gvZ$KCH*0nR=5T-Ja{`dayk8#zT-heGL>%o-5s#&40NFS^d(xDU~O(!)HJJFSzcSUAXLuG3?v3j5E%e`ibIe(tBn>K6B68fPehmZ(+xa zH(+8z6}!K?9}j>3D3mAg^Z(B)5!Zh7r0w7R_C8$msXKAzi>9#q&Lj9=ANew__z!bG z7Q@^}mm6=q7q5NIdPJedTKVypYp%ToJGY&`#)wl;vMhT}KYwengRlIbZ{T0Qd>eYJ zeaxS`8JGO>d6+(J4BMy9z`cj>S`(7Bax$7dbi3V?x)xu5{q=aoD_-$KkM*p+1pdXR zK83sQz8k;u;Sb{-KmYT1&8uJSE`)``@fU+WeO;O?Ly9iG^>5$B9e3}-AARVT(PtfS zlR_7(q@By)S1dfkv_d>)z3#a3Q7lX=E%*$G13SCUdM zL)udTCM(u^)K@X42DFYGtyKU`u#^xA#h`|A6?ihhWO>#?b+9mXfuJ%i19;@+ z7N{8Os)N3ZLs~^xPoC1g4jt{O02``v?ze;b&?~rlPY2NS-0%MF({S%yd+@LSbO-j_ zb`+;Se;a=0ov*)RH2MwiGm4> zA|yeu3GYJYlv5W~``ODSgjXeb@t|@GPrdJ#Pe-0~s6N7E+44)N*o~uAFtVlr#s=%I zLyWogjZvp(k}8Iz7;icAA(fq%FFfRAS`Y{h3m|eNaPKJjz}UK;Q{02dZwR@{T{5yYEYnA#WyaDrO7M37lo zlfp+(A_z@|U}gK9QbvgDn=GvZ6p0rf`Q3Ank~Uki2&E#;g%?pJ2v~9-#R>%i_I(rx z=447klNo|A(t3Ow40Awp3D8AI2p^Fgb7uo1&sn94sEloQ^HqcV%30z*Dsl!$I-_!) zL(m7T${7kZdL}P&dtd4ZUO;C;P=?A+&cZ6sGN!;c>B zc~BJWoGA(E2T(ykawDNjWe9!pA2NBCqIvXTI%5rK%mI_+V4me&KWn1T1}F(oty}Yu zTx!I$j*JHgNj4)niHPQ2^d?azZ~3egx^$O?b_h_W6R&@e%r+RN*G_bh<`JM!-2|0UqV-Utag;nWr#E1!W#O5kKaZt`r3>Y4SR{C{Sf0ZIL3)+)7L2X$ zW5-$J_`?6b2`{~L6OJxFfH<7M3c-~AC`2~`2lvwv?_dgtV7-G!;NT@Y=45pqhiJ^{ z+73srtB=y#afrM}r>gTfNc1Qie4=2{tE(%R0?xmBy!be9@BxC{ zX2!N-|DuIAH;wH)jy^E(TNe{cIa25xS-2+JA>fe1ce&av?Il^)eZ@Bzotk7E5}>hRrY#Dn!3ad3i^?gTMK$MVvVwpQuHNpNu4tD{HW z!8#3)XMKPRWR!J9t0Gc@@WN;Uou;+pjmqoM=-U2D<;`fc?D$o_4XcZm7oYj+BCfp9 zUIxUtLhBd>`K^`FKSr_K%4MuB+WC6p6E0Y^AJouoQ?O_gJ2*JkIbG@^;6e zWKCthgM)wIi?`o(XP*c{WHfiCBzg^No}j`_;278;4qq8UdoDAH@O^+WWU$CMlM<>> z1QX)qwTS%=_TTbldx?yE99q7`%2)Mt_+5Jm&I=rm9Q~F(S8C@WZ`kKd1BL~Xsi-{X z&b9Tm(_tDE=y~om7zzL#POf(`Nty>ALf*IQ(Qhmv&k}%h%*|eA|K3@`|Gwj|tyn~p zSZE%i^KKeny7org`OkZBY;Oa_i3sPtWhXAZ;uYB2ydMo5MXNu7-DJ)(KXDp%k(c+D zu^qVQh&AEZQlH0ef`g|@vv`Oi7R;80!J-XnHdyqr<+U5qv%GxmYhU}Je)s(6Kfhpp z2u%Gs;~27Y=T3ZJ=T7|Q``?eVp7%U_?sK2RTi^QD6SlqSd-vhNeTVVKAAC2m-oaBc zpDW*X7XIrm{u8#HKK>KO%byh6jY1{B%ieSvB3(d-BK}vS39M2$k;&2w_UyS2-~Y}5 z-1PN(@RxtMAG6zP*uL{2eC12G;G$R0;f`A##Mo2;m%ef5aeZ%|pTawS@rC%)Ke!2B z`Rs0RkwIyJqIVM{QUt!jyWUd526EJSGNswN?T!8D?9P_Ge(W0;#8!xcYs0shAaZ^YZKx)7IMz8Nt=sY(Qp z6hPO&dK)q>;ZYD;B_n{0racv*NPR0A3~AvxS_tK6DKttWa~aTTgw`r_bf6=Y2W?aY z$t9vV1h5Rr6^cO}83nKPR0K}BIY)ozsld@vc*Fjf(Yk<~JVgT=DfU&`KIVbp2#m?*TO+Pb-UfX{0bK%1a2HvP10+KJzH3E_^CWi8* zxI%&2NbU`Tipu~Y(V2_^Gk_^0D6UCPtyeH(5}vTyT`5EOY@h{-piSM)t1yrk>7g7A zWKARRiDnA1o3DaT&%wCo<}O6wo{6a#kw56O;BxJXOi=)4j$CDKdM{JBk+d&8hG`-=RZBqIT~=G5x6zg@FJR{mhfVNn`PwYu5@g1NC3+Ckd(vQ&5LW~ zoV=aA2$DQTxbP9jgIwMLa-Z_`A_Lcy&lUhDj}=l$T>tvo&29XzTjJ zbZ=n5K+`wy#2-xocM|rp#u(?&k|tdUdIm0qTNf@p2%3wLDRgAL`*Q(T59XmndD}HB zq8eCUtDpcOi$iTC<$Y#c44rwx7{;S$2(6NhvB(9wt5y@*?>C40OGmixmSueQLhDP zQisp`ke>gvzeDp=lr}D3OB?sJl;>oKn4f*iTksq2e?RW{`afa)gx%cZ=ez^}@WpGc z!6Szk@y<8@ETX7_$fpb#aS5C*X3gXPR*qOmrpNhMin&Mmgc&O6{0I%1udeL zE@GAFH^1Y>7@uMIn?Ly$zWMcg@#c4)iLuE7e6NVkz&jXX2nT1@PAu}PXi;!e!Ic}w z)3KvNzvAdPs5`n4*3lT$hc!ose#OzAjvURn#IkFXqS;+SlLFnQd4iSBu@N{pad0pn z`JJy~N5?@Ki-W+vQ4PyPm!tX#=|WJ!649YwaI}!x(M6MCxor>Z0UXT1+y%er6*0yw z+!H8;gEW^w1w$VBCG@=(&bVj-ue$Q3*mrCf_N^Sk>{u1u-U4Y6$I$N3S{Ld_d&jVD z9mBfnEE)|OtFQqptNZX0Gmg@q*6_~X_yqp;zrP2Cq5}GsPffO9S5^f`C<*`%flhAw z{)@l985g{?j`~;xh5)U;trua*$&vP|j;CXO&CRPG)*%SK9YMDtCx{b zAm)6mhBoo>|NY||@UH)0ZOO(>8F`aJfy4^v+Yg%DOVJ(3y*KQig+QNp%1}m@bYK7& zW`8HW5FJi?R~WP?*K1jCLou1A3#P)M<=gC-zDC-x7q#NpW(Nl&)>t7EilW+zHhCw< zY9o^NAaJund-WiFymnpg;52F??OC}xeA~a+ww{ma^DeRT%5(IIN5c0}n6b8W{pQLr zzp)6w=$4eHDf;wLl4Xg5jEl4LkFohn(iDT5(HzE)dkM@^-1oIl67M4P$P-;fW#r3* zrOOm8^5lgMv1}+nc2-A+0xM6(7eF_s>7%cXXvMDS+JK_2c@7$!nn2NOdcd_y;8R-O{`R-y@4xhA=Wz=FpZomharp3I zy!DF9p3=Dlp~5@<^ULv`-+URqb^U|*?e~5j4?no{jOCrwVr}P~%;w@88>h!`;K-9( z%jZ3BBf?OvG4K?Xi(Yct8WT>{2cmd(o(&J&{0Of9quX%WOSa&pSDg*c+1g^Sm1jkH z&Z-+Ozw9#n!Y}*+?mE1J3t#ji?D^Vf@cv)z-NdwEQGjt)7u`^KP8cghUFAevqdAf?Zo%na$l7nLmxTXv4)H~!$&`0D2$!2kX0 zU&Z@A{0eN?T1RfI8PYI313Qi$Nnd{)otx2v%F;Fjg{6%dwy~K>hV(F*H$(oY-*yN- zvwuB)%t5wL2Ig$1z=rjYZo@|UW+UT|KHqWmCuo1%Zw>w9!`#7Oz!C-FHMv27G9g4# zAQ{j?Af^|X$2b((7#hZq&|F5>F607+as*FRE4c&siAC)PCJNDm$pU%%h zN^m}B!rBCK;q0au7J1qwqx5!9$@fdmoyTKFOgOVhH28G&cHnI5NT}TPOeyDLhdSotQ0)aeBAh?G( zu{MsG%+O#q(6_JpXjI7)Havz-$3_Aur&|!OTD!iykYS~2d9;1!*{D@)*qz?e0+JOA z$=`F|-{SC5>t+0XR>%F6=Y3;&28SEA&rQV%7kocZ0eVRXoN?^w(SB`cT>pt%F?;?r zUi0pkVPESIkQsDxgC3zaDeWD59vJkAP7TmEIKf#q^r1;}g(SCp?{&t}ZrXkF;5Rp8 z?;~V``(PJKOC99d(+>ydFsHnSH+UHi>kJ;<=CS|GNz@N$r8r*y*5~78ui1)gKXaFxgBh92DE-(uo@gAL z__sK5KgW%Q$JTp+JRvUz?H~O=m=XGM+8A@<_Q&<}07OB%zBuj8iQ1cdgvN>aVoqWm zPlCUAg7vuQrL(x{=6(3xKfV^de)70|j?U$$E;|e5vUk#BnkPHoA0UG^?b)C%e{yp4 znEf(nj}zBF3BI4qbDERb1Mhh2%TG9$$D8}(wfTWOFelS?SnRjPW5;Bp&5nEdniJL^ z=Ot(!+w{o-Z;z|Ab7n@zXcAaq5@4N3lbMeI& z|Hu;YoHp)y+gtt}KKI2hqSm{4Ta{ ztz)IL53xsy>vaUw3FZnIdY<)GQ`(0BW%S@0f}on5YiJ530HzTH6ykt;h(Zb(AOjR4 z@;Fuz;?UBbDxeS!!YufhUKilv*Pel|e(rv}=Ql5d;1X#@QSDXeJe9RBph$gd5uh~a zTly$dr~xT7ibM;cQ67XWkRB>jua)m;UxkhibpdA3Mut$rL)tUcuR-i*zCLQMZ_m+cg!W|MXkUho4!y$gw>knBl#M}XgjpX93?Y5u zXz4?kqI(`q0d51Y0B)v;FFxcTgo@DcDLe%e8bufG!9#`SzMM-mgw1GCVH!DwBIz(6 zeQiTn1X&dd9*SeY1ur;?#l;oyQh+dxVPL?8b{RO7jv$SFhCjddU-0@XPe;8}hGKz} zN00fa`PKtca}SYE^Wqv|I9$_#d`THNxl=N7bYDb}B(t9MpeXAEXB@f7A-I5|5F)+` zQKhUWfnNd?g-1~#x)kOm<(}&=V;YRYynrjjgD^hQL!H*ka1Wf?r`!jqpFR(fdzS9W z2nl_U39gXmDH!AM2Vp&gk31j@GCVK@%2R38W}bh%D4wS=xBk7sD)WQvlYjZ9mwWF|8hVvY`r$hBS5 z>G_w_T5yDu(@&@gR8fr5+>W7Uk&T*x*y2@c@G7;()IW6l7qEP27iN#{MFl`}Wj}U( z`y(iaTab1wtXdT7kkQ`Qu<@1l%rqGu+WRFtqyi!_;D3ygpuNc=^a^&b9gx7?zUAFS zn&N0`!!GT==S$ev`2UdfQhe|8yYQ7y--!D93V!Kh@5FL$;p1B5qe6RmT~tAh9Nd~r zJJXdmlSp_UjB(T{?9c6oAAIGAz6q~FHF(?3Wl`sFhR5@Jxmp+UHy1r z%AM5{g>`mc$pWTg>#Wqgc?{XZl#+BoqH@^My7C3Y-YUA?F7~a3xm+s%?!NnOR4SFV zOW>0&X}5!{YcF$2yMfoe{5*X2+Us%X*fCsk{w8#r3+QH)5g@OjlTgSPA<=FRl6m`R z5iL~_tCZ=(^D0AHS6l`V&nr7x>DXm!5JICtw1F9EUqGj~f(tL7!GC+#wYdB4UD&vJ z63KBHLl)hOdzt#sDsXh*6|qcV3L?Ma=-97diRjQPJ37!sM@!*58jNFc@LR8f)$S5> zK=xc&A4{#n$nu2x9%c*ynERb414l<*Vc1_#cG33>L3Jb&|B#OSlA}ExIa+WzY#-EI zh!|gmHbe~L=+cED(gh%+ObAi#!l|ec{tFelXZCf;&9M|zU41pIx%Q!7ay$)H?CN9X zIT=Xcq1UqWT3u;C%M6|7VTeQlFc8{DS6F+gJgXvU*%$rKzwO27vqNaNdXO?e+sRH5 z9g;iWFQZK%ay-A{WK)I3p`6Od$tf3}qcc6s7^1zR3lYP)bRlAr%-WjeK^0lLLOkb4 zJGPIA`)IZX`=K}-M<2f*1~Od=s%W-{8F2=`jl_^&ib+QYegz#05u=2UEbD=Dft;{W zrHknH?Yx=KkWQHv7Tp|~kdF3EjxL4f3B?$)zP)&vkzBqf6SBo!>>kI<_wjON_u5NnHx7c4C3K$l z(QZ6~h)<$F2>ZkPNV*h0CrQcdBO5-OUqZiQdFyka)1$Rh8mlBb-~kS=4nnR}aD-^- zm2k^Vx8mEMyaVmU9!`7ZEbhGSLHwUj-++y;rjIfex%OMa;htR;F_tOpkKrD=X$Kq} zsj^nGFV{Fop?eBm!O@kVGNi-WNPQKL5MA^ujt*oM z2O4%>>Cvrt;30dqR~tSa+GFXs@&J~Wo*AgnTCnI-Tduk08gtDx*El802S4~hjE#*Q z$DBil4&mG1{x;4%_uL^ zfAkLMNP!E6(=XiiBlo@O>}kxLYc+V)b)~gMei{m6OkREU)#i*d&M=iq#awd9CFZ*8 zu6tJA8o&Sj@8dI{`3ye$+0O#7Y2^OlAO7LEf8YDw_i(`l7vSR`|M;3F@X3~FVg?|% zrqw@+ao@v5FFYIf?tKWw)7FDA4_oAg_Oing9O>Uh8ioL2L`mdjh>%l&Q5B+C-a^`z z03}LL&SijVh4Pci2sNTT9b>FwlZ7i4Vw_-IB?I_gfiyB2#mH)6{@vRr@t(K+A-c;E zre`)d4PqG7NHY*XQPu)aMVPA2yKyE5vTQ5P$ zHOlcAxVe!ud?D6Vw;(rzYz-D3w)654(ewB!a{UFmfc3Qj9bvje>@LTx-1VVV-aPw5J#s}=@NJdHs4)K3VW*|ka1TTriVK()LRiK4u*TtHKh zVJR9&b5PVJuU#`U=WBY(g)`nY1VVHAasG&I)Y#DNK+RhD9tR3@{vwG=ZEeNP>~I2p}hm zPJWSwy+I-D&0Yn0;2|#fUWpdgj_? zsnDumzt)X$dys)S%{Uht)iIlHFhc^pGRTJEgH4cZ>JVi*GZYU|DbCSa6i_SdpnX<` zs)h6%9(bKhA9Mt*iliB?A}?;HkHQTT=C^M~ zt7oD5vR6c`Z2NjtMvc6myG9}{*-PG`Btw>G02m~!I0f;?6toe3~!%r{=PsKS7sQTyaJ6(T{!Z|FTBgpz) zy#2EC@twmO$5!rxugaL<_N9<}IU370q(E3$ho!cKkfOpS99go-%4_9099i5A0GO!m zz~KR1+wSP`>NXr2(3Pz?Ldnf5r5P+VDA|29fyMv|8_5{Lw7~fnZNlIF`9I-j-*cWF z->+hoLK;*H(^#P7_T%MQ9HA@&lht`VvS^c%udnYoA-%4)9S0UHJzbs00jeJ>ZNg#d zr!vxi>{rn2E|eBeA1|)Qkrf-_p*R8u3mG^#n9SD@=>n3(hLWg66Ido_X`(cPg~mSW zdn@+S8qL(VpKva-<2$jRXn%Z%TleY8PPCUFvM;jo1eRBApSn2dvSF+?Rv@w#n#UeS z*KYza5HduX+n2EyR?$xFGraX@pO0pHKb9Lu5f(P#=<)+3U-MXPknB{pVUc9BR^9IC zvFbdQh}MP8I7+fMS>A}1)rSE99aVQwcHosBlQBdJ4N#aD?Nwa(j8Zg>lz3N+H=?y@ zpR-usjFpC+W2rue)y80NY)5l>P(Sb56iZvtpy#NDvuG~cd4mhiP7%Gn-6O?l5*TD1iT{80zB^2^qq_H3x5AB`yC=t;+1Z^t_lbKiU4 zA9cFA7gk0R5@9vQvS3y7jAb&LCEnNv_lwmKU|lmrQyBOSESH^3Pv{ zg@yZd`|0&&jZ1$cR%Z1$CUavb&Fd%;iR>_{6vcr%zKNdU`#lI7dV?I>`fiRT6&h9g z;r7!&%xTlkurj09x>p#$@^V{W%X1oMvg@!st8q5B(UccmE=sd{uDh8Ytjy{BATx;a zB3f%6QhWTl5Y9`v7|BIWeGT5_J6GFjyvwawbxyT4I4J#oU_kHgRP*xxPaNkW!(PIZd`ZAwYc~GDLk@& z8EelN!m%%%z(oH>JTyaN*LMtxi+T;ZskM0SJGbDv&jHtv0anjxNt9|U*fpzN^Q_CS z#UnEhp}bT>mFKX3|6VLFR3P0X{49{`2{7y0sD)K+Z+NzqbiJr}~&F zP2=H3Jr+ZmQS6-8^J_f64)>E>8@o4R`?O|nHuh}6ebd_sAA@aEJE+VC+&8Vut389b z?M`|pt!%|TcWXC6BO@c&y?ZyU_Y4*m7VvaTH{X17eC3r_;`5*XJTAKEA_f5GpMO3M z9y}OdeDTG2=}TXF^q#Co(Nn&`T@6bBVB`1z5?g+ABYvO#vPt~)A6#J?kqBJ^}6uz9izlg}8#e_eSS9=UT0um1B4 zkUMgnVKai4vT4(6;YXL*AU}|a#<;5E6%hzCKseG7S3>`+ABwc}ImxpARk4$#} zhYWbUjI%np?Q@i;#FF>X4g$aU#V^A1JiOrzZ}2X<=pvJU;e{9CjcJJ-TKx`_%?(nBxhcVZ!2D6$R}T)}hnmov8n!l>nHnxQ)v zkX@*7N-G; zAbL|t7egI#4R^@Z!hxN@+AbY!BJBi7cWF8&Uvfl3%f&1KMZa#@Y#r&$2-2AVT(}s_>h_s%5fSYga}R!cf>yDIREFlM@R3Yw z99b^%+15ODkRm6;3KAa4559XnUiISV;KB=^kEul2yn9E^-h%(Q z^gHzb6unMgzrS5qI2i$J6RJd)KaA7#|CE4}c{2du z;fEi7QVb-1LpOfz2S511@>N$|1Sk@GSN@TGFqGu_*R z*WaBP#}rX?+2rsqq=UgYqBz70UcVln{<|OH-EaQ{-ub~7!*cX`=%j-S=}}BA=$CkJ z2faIxpTs_rr9VH3M`rG${Poy7tL5r{EOang2ZJ^))kYcn<{m&J(m%{UO9#)9C0=j( z(dpnlGg_{Z!UpUnxrXx_@G#+_{5m{Bbk3vE!D%mV=wQ*JgTc(VrEe!ttLu~Atly1U z(sO@$7)wOm_GZWN$lQa}ep@dig$;OwWZclR2{ZFLKhrgdWul^LL7TGmgF(#EJYlI` zV~KpuOV;A!AGrp{o*rOSCIH0X(nF1`gB>S_N=^6SdCwa`v9ura3qU$CiWQ=o?erM- zQ~QPNdQ1`S&rf2Ga94Ic<`%TRf@GTx&ZUO2NOHj`V2SA9em`qyRcQ%Cv9=DbM|6kM z$)Hjv3q`LNRSI;UObnyAr0Ywi$FWS~k}9mlBDJ5*Ok$C!{6zOS<`;E-F1Z#Lm7RBM|43YJocnsvb9SV)t;R1&PJ$JFt=P^`A(8bXoAG?N@daY55{ z>C6NciN1f$E1reL87)^PvkprnV=70-uD1XHAOJ~3K~y)6rFkuvlS!kxK$gN;+gP|V zrO>EoeT8;_i0EL8NqWCHu$X?Wsvv{NA{Q=F!m75Tv@9Rg?F2oeSX$KWr*rGDL~^CN zCa^fy%3q76SuJ}uwGpK`-M=6`i1HFy&KCkSC^83Yz{tfc4j_glZE*THVL~9P>%Xg1 z+r>nqw2Zk2baV}wOk;UQkEzV2FgtaZmZdO(rD-k8`1)4?)rfRA28#=DM{i2wu!-hM z5yI1L{^2{`flq(tGy22BbF+B5kH=%c99>;7t5%*2q zi_~IGLZIim{qgDFpwHgK{XWm(T8RnB5FqP z8!m!e4f|%d!}kifdq%&@hBIsM(43yT>$}$CffgOyvk}`4Z36&o>e+&=2Q}W@yAk&s z(s#@Yi-WjvtA00h@3{pxUH21Re$yu0d#^6@n@R^q@lzBr}Nk)e*4?sjW0SR7EXQTNpROP+;{aZtQj4J8i|k{NnvB}7VMb5_et-MB`kOe4~(r|fiask zv_nlk(X{)f{n&lefy3ucrMarypGlwk)Ti*KH@yj$Uw-+jVaSuVftfpih$vw02e3l@ z%F5bn=!;&!qqi6n3N|#oYDpi-q^3TkOdyxi<(2eMND~(B5wR`WWo#7~?8pF|u#_$o zSr~Gz5Rhf0j+Yz5q7%VCzIY5*eExb|e(_K6=O20%2J?AvqWK&Zpqng}ZP~_3xajVX zt0zNcgm18;I^aH|$lNg~NiU8@9o*TXj;7hXJ6fQiW$JFHt z7hQBFF8#mX!C$`Rm91YjI82W-7Y-Cr(`P)-M}Kb$zHdXS1cEfRqdfFvXdX!q-7PF! zGaoJPz$dx5@R1_9qzaIt`5STDTtiUOfv~frC!&MF;k2x9xq?NsyAU1%uGa&X0US0= zr(-UH>@clKg1H_Sz8=b6} zlQ&_9rcK32M$3bh5TySADWWTd@Qhq9xj-V7Y+2enNRWP|NEqvW2o9Ch?ME^MBTHz@ zvY{lWLwW%#Q~+bJ$x0WDBW^_v7Yt3%iCnXe*lx$S4szN#u#g@SMn?`3nHF}9TwHYI zO9d}WPKli~612vo8-NqtES&@p(YwTHS%F({aztqZXsnRGzBod8j*M|C%Mby5SaJrL zB&XOyA>Fd(R%vADss`fr=+5YB5a?YlV+mQ|AdMhewFgOeY4gSk&}mF0}?TWOdk; zoiMm3H+e+dom?Fy)Z(7UMF$V& z*5UwBhr@-*!|?tV&TlZZ?@)f7!Ts4WQ$GJF*1;`j(F_b>2OW&2e&J^QZY+}%-h6Tp zdl&bRT;teJRNz=)gBh<}_a+oed+3MO$I|j{06>Uw>?8WPH#3H5((hz`4QeGV*C8v7 zWpe1eK9NJpTS28##q!c_w5)@}hQ9Y?yIEB0b2O&{)Jyw;ItNP+V_}6T&GcH-SF|i{ z+CiCQ@v`f&ysY(WC)@qVr^hixW7?Y@!TjH+N?W+fsl9n+m*I}9H>s)$0it{wT)wrRxU9}#SX{{rX8AfGZW0vYe zWm&HQ-t4@wQ)j!cZ9G^6RdMAtZ$N#5b! zE|Z_?T8kBu(at1MqaPM4!#ncxD7T#ax@(MeuqAASjS2vU9NjTwLZVdE^px~cXpqIO zoy?)UNKT>CSuE3fNXl`Ph*A`V3Dah(FoDvn#=L7B#Rc6bmbOr&D<3_D9GXS_o@iPL zLkC;2W$565?&VrsnN46=ucJ0MLz}lUmhab_3g+5aoY`UeyfCe4%xuqQ)QF1o>|Qih zbpK_)iFW*X+?<}*AG`E3_}HbN!3nRP#Kid%XoPjR!p8AF zZKRwG_D8x8p&$Guf>Bzs}H0`@W`U3)$?8fGvsXCl`blc3M^(BhsbFsg~f`Nt1sDu1N1&zlO4gs z^Li}ScTHdi(dV0bHg;ei_Y>Y&NMqXp{Z3Rj--{n!c{Kpw#1l`%ZMSI}ew7aX`7}O0 zj_a?#9*i+3j^k=8zvU`t&6+hw?SAF#v(Ls?zVa2k>}4-|%G!9^JB$8pO{cwJ0AzN$@D!!y5iY5} z<;`yfCqozjxc#f!F}rhNRavX)F{KMHyb$Gb8DIFq7mQ&DV~l+QNlPm!R zcVJoiWQ}tdZp#|7!wQ#krQ@hVJFRtFR3sBe#GDCuc01l^3k$9cR>Esz>4BO3xjqRL zmV}HP^LHBAxl&*c(v)P!XTNJf4Fr4NRL&-cT~k)rzLC+PYZHRmushbH>R6{Oy)a9*^~e=$np2E(QzsLu-4>Va zuX}Qs9wA0Z#voCnZu~9A2*IQ>WqGSUE@9K!V3stpSeArxTVrj(Qsh9N>wZhp!}j~P z<6HmmH~3#~eKYp#*^58^lXu`F|L{@WW(<@csbFON03?@fV?E17M1n`mLCUO08)-LV z-T^HvEMe9!w*=CzzSbZug-i=G+hCiwu`66;>DfR92+7i12?bZUhn)oa(t|}mm7esF zZPh0ngB4c>OD0U+lD9Dr6%ynDfVoxl^k|E3*L4jJg23Q(I(=BaZQE!x8s=p6*Oh+N zE@DnR@kI8Lm%Jo?``h1+g@uK9VqyZXeeG-UwXb~*S6p$$QMX6guwlccKbyC8>sEaH z;~xir!~RCr!I!OW0v|_;>NP|)eWF~n4xmZ&(n^)$eF_gNdgY=-|)}QLbq^C$^-qI`y3dEQ*V((1p06v4}&2H13V4f$6fgj&=PW zgEK0RMWQQxH;X00RX>Abh2*j=#8gknEwEV6wbJqel(fL5hdLwwl#*j9)OGJZ6d~K) zfX5UNCygF$w_vd6_aJWQx@%E4=BWKXuN%D4q6G`4A7wj<1sdO8VD?Nzu9j=1ybqugu6lg|HJSsKlxQ}} zdg9ZXu#}Azaw_ixU5M$_+_PfTXo{qIHGNRh6lFsPmuL5yO=46j(Ha2e_ifd~7^G1v>ah?(5;cmU zYx^niP|*g*Lm0QL*fWq#z0q@%c`&9=_?&zJjWERiscDP=n46o$yWjm+`0)SzJ1j4h z!3D$U=3WeL$zkLfJ&3vkEY%jFxWbQD^q6McEM_ZOx4p>$93ojfH;pOMdD`#BG*P$t zpbv*u<_QmCYDLe@LJ(nUMbCkpA7Zvtr25;~lWEKmRnM5j9F2{`149S5?mCAqut@XR z7B1#!9;fUKW(gO9Zp>1BJ*hrZUtbtvz7=cw0S~wQP#-`{1~nWyq_0*C4h|Ze&*u$x z9LM0Nv$JRb_{KNBA>Q+z_cTBExzAzWzI{0Exa08cZ+{!-oO8}m=O6HW?|a{4F8gRk zRI8i7r&;PB&EOp$Iurl=w>M(jT|4po*Ka}J^Cq6M_Ug4&E3PM!loGU&2%+So-^957 z+6VBwbNk_WYE@}ZLHg!*Zo%e1eAcQWp5%1dM?Z>__w2z4fU$LXyz6&1;r2V`(YMya z_~vdj{S21rV__~@)z@$BK?D zhqxt-YZr@g*hj#;GoK5Cg(cf%xPm0N9a6Xy#9ZI~ilPvb+lYyJ;lhC=*CX7rP5X}H z;_R0li&M_ofE&L32tM)NA7jh2hVgrE>xbj~yj+Y4<0^z(Lf`oV-TN^z+OVlDB^@}S zj|Mr2wU`B4df-vZC5mI}klb$f%@S}_yY3d|Ou%jBv$kF=i<|tz%2*P%YSphyz7meX zQn-j21A~RQ<4$0+Bf3OHE_LbrBm)ew)DtdICccfVyM^_Qb`+32%t%`&6aRuUG|zEY{%M-Nu<&)LU7cn&5&^@ z*_NxNFNaGrPX*&`c^Nl-O-l!Y?sBD-3n$WZ*|!5Utk{e}6g6RS8&#`DbIk^fUKA1* zx!18A4107xlPi?S5plz^(6Du%Dk?%LrC%|Du*{t`*_3b_x*pq20(1{>r8b2cofKu# z;|P^rla2a)2%8+t;$R`oHOmLcDYJt#(yn$<KYIxn3hs&%b%*U5qBb>xFkH4&@G=-N>^(^tnXnEqJ_{T@iBM&R4}-eSGzwbb3t@~O7n{iWA!f*}Xkare$E|yu z5)n8!w_$^u_eYxCH@U)wEwr8)6eMrm%T=%i-7SR;N9uKF!G~*px`U5uiA1C z$_I6s(%!q!eBfJJ#%DakIR3S5+hEsq4Gx09;AB$Q*K9UXEEa#gCxO3W>)@wzdjI?1 zA3qx9%Q?ruzyLOH-i+gpJMIae9zN|hfpHumrVT-}Q8A&B8Vxc$ih+8gWHuBH!ckZ^ zIErP-4g{U>F=H=7+dn2r&+EHJ%QG#Uy zzw_qjV$*49{NRdv@n;uaj+4(H!+EdWj3^FG`6y}{93F-n274X#ORi9Dlqf8l?qj7< zLKrn@qa!<>OQKrusJq^3v(e6vo2VQKN8zL7Hw>^NLo*-ZxQPb2py6TK%m=|8gF~(mHY-qyqg*PY(X#_3@$F0P_1#ejp(qs7DpXzMj@Kba=ZPGdDkkh4(mswV=gD#bD0ZM4}(A)H(^Ch zG{TzM7@4vv1&~XdIBL*+I6yv{j5u6Jt@5$mfy2;5?XjAUaoH4yP4ltVsFx9iHNfH~ z+! z*r-zIIJ(QnVEPcs&i;f(E<};Jvxhh`{ft%I4%HTgXtth>qjo)U``I{(5w*g;#W7-9 zmvPuIZE2sVG2OZ+8M)PNvqP>p3Qay@nD-_A3Qq=p3a4x?cn9=WuQhf!1okWS&9=C+Sup}B`9g5dc59_osQ|9l1ox%#?de|_y z88!`W#7(T!C_f52aPx?`9yJWExf!g~O0?m03=X3Rl|~g-$0pEX0>#$7Ro69T>tWsC zM%Xm?u=ZJu<%*s=$yyZ)3;GUYyr@|iPu~Gcta=?g+S8K}G33$eT}_9l0|yQ)o^{q)>2uCG2j`u49)^a7-nnPbo=dO3 z`f7at``^bWKJf|s;0HgzWtUxs_rCYNRs9*dx(WQBJM4IfCEaQ3Er5mksJ_sOkiaA& ziY_6!3r_Tb z5B5UXNH|$@iWS8XEK4Aa+HO!BN7Dn248XZIAn@!2x+uzkEj?3r(4EEEFFg@AU9|`2 zo$I2T$|&ifJ3UJE_y)Un5 zNs7SYN)H~n!SL-Q`YcUFc`87Ehb*lz0(TH3T6Cd{4COa08{8iN092Wa(9yWTeT41+ z)#)K1I(C`cXv!p>aq>Fcb>{+J@PgC8=rp7?*A&r=|MI1qan3pG(bb)TQb~9gIYX5$ zB3FCIuP_OC?Wh+88dFFYi6qG@edJsH5D7Sej#9x?0Gr$(dD4TUh*FCzAdbM81;HBT zG&3bzE@yni9?|YBfwW6=mnSep5lguA0GjK}a^NR)n@|qi>>wR1dGK=@#}*(GbUi^@ zkWA}9bVR@?G&UoSbi@#g(e(|X;ASY=itQSACQ%%r+KNBSs$hYjb;OXQas2RQSK=?; zb{^H^z|Ux%Ml43!U1R#nTH`J(6G_8%((t`rb7HSg-xz#f)3PyxiCxTv4Mnu8vXc-F zy?2BK?(04`;~GNMa!-;#p>Vv`kx~dqUqLW{!0FQ;cKsW{M{RQ&-8!ukZeS?jdTj|Y zSu@9RLuXr-v2bQw!X_%8aeeLR>ume3WYKya2+O6aGZg1?tuF?!Po-~F( z{@b@;syvGl07r0irAHxfJFOuHgPBpdDuAFUFfMnDiB|iAU4?g}q(bG+-akGJl+&L_l z_H|HKv|$iFnncU_P98Bu7YY0UR2TFeA(BQVIxXT*H z4B>og7_+U2AznL*LubSg*5M+iMF;y%7R9Qj6>=RBJ-X7Pn5L)8rkoHSN` zLBx=O+*%x;#JBN+aiY zW09hG^reR}yQHHv*nBPKS`jUzYsM&-ZOiCLw;f4Ewa3(A;|2@AA2U>Eoajc8+HzF_ zwfYK1H~IMN-`$CYg@<9=0V*{ATqlP{O}oAr8A+lUPN7&_L^3&wVo}c#l^ip2xzfWt zVNbbOZbbu0j<@quYm8hnHEJS;Sjj%D&|I_KEb4Ww8y=CLK(4TaGU+Z0i*)CEy{Il~ zS1dt#2*qXH&!kv`6~cjZute>oG7c7Keh13KGWEmu927}M(sfXxh#__&hsv^+D=7!j ztZEsm^;tw=1B`Jn`p{KQ5|aG!aZ4hiJB;8A^`c%IkpmO4Bq_(RvY^}CvVH)i`MvZZ z(1Qx~iKl#%?}-6ZUIaEOOS+7evQQ_NAC^!=6Eow(lW~sn0!4-J((ULX8HpyXX_d;N zvPf$^(}VH?xrh;?s4nXHVrL5|QGPNpibj##jBo|xjFU0*E`uGJjbF1|GL&%?H2}n5 zTo|fXI6gu;b`h?R2Dw%VJ>a`PxCY<7_D1v#jbi<}Nlc85VW>9`zrF;<80M{6RKhYi zEKJwtv3*u=4oCCr@bLUjRLPB1wNb^xb34(U?8kv+-H)7`F>aM&OQIguH3dv^W!)@h z$+gNrsvmn7wI0WEYp`=pue(XE@X*{YT2rpUp7in1Eal5dlfRMMCVy>y%;3S)2=6S%tR``Pr>6VDjMS3mtjoc+5KDD)+s_-U%- zs|tOBX>=loI0hbka1NU`1xGA%+_A%`H>VE&c!^`&aP9rL`S!bU?n@_u{HiXWXnO7` z8xgIn((SFZyi&qfzxyM6>095&zJpWPxONTh-T4SU{iQD>q>W|ZxfmVjLwYEUg#$(8 z29igti&<<{p{r>%JxNJQi7T$S0xy60%YW`~U;p~oO`Pd;It`_sm`kyz#U^li=dH$3 zYuQ>vGtytH-S#+QsZX_HqJx>m5pr_;YAGky%3(I}Bm^ikhzB#0VT!huco z+0w&kLElSsl#dZ=(^Uc1bZwv$w*aG*?J2 z+v>Fy)kIh}GQQqH*}{QK6s#>h^wQV~;iHgUZ~8b!a@i`t0O^#;0O`y+TBttqS&bXa zHWsFVbl|rlLv)Pk$dvQHPd59OyM5nGJ`xBkRZ%&0XdqmzbowJ@lkoI&#rpn51>$BS=qB zUjrn&w7eEPc#fuBEh%B8wC)_Q3oK@Is(c(6^yx!|;_renZ7c#H5)5uZQ@XXv5<oCNe520hfWbKq`OGw#~)cR^#A@()(3D&p2bt^u4=~vKf zhB)=i6Y!?LdJRU_4j^zdDAvoEJ}`^A$;4U26H-qW@vxw@z+VN2w;}>xJ;K=}h z-Hbu?Y=&dqO{dd7)^~5#5rSG#b1a2yFlaW5Q5?ZSJ2Hph61`;Mtb~oULsvM23y<{T zs{mViHq-j*z;=Kwq{l!du&MhQrc4XlEQ9qKt#_-D#2Q8Ou_h2utn6k@Aq*p$Z)7!H z^P2#3K8*2nt9G2jBHpMJVI&1>OwI&E+&l`=R8 z0_1Xf++Ekj@bIwN3^W=I6pKaNamO9MUN#NC+K3@f=XAjZ7vK}0_yj)ife*yzo_j8y z^{i*98*jX^{=M&g5C8d}|B1K0^{oJad+)s$8_hi@O;G7O<-jx~0p#}YHHaTSI;H2M;rIJ4V>7;{!HXYmue=!|AwWwb{z1a!u zpVOD$2lJEIJF8{+qxZiY5A3-c_uaZ5_ulp({{1soqi;hhPK#9X5C*%2R}#Z z7j>;s!rr+ZkBbf-%&o=VIUU4(sIVTpXS7@+g$>v}qp79g{02NscqqRPkIZWQ_GQPg zZ(avu@9Lm~lWxw?!JQF9I_cmQiWrjhyD_t(skpxMFs6u>9L-N)n#N^KeiDb~caV%5 zu)kwWA8E;0SZ~ICIJXuv3tBGQ@5eON*`MsiGSR`F9iT>5ja!aM;y=EAH-6`}>kv09 zG}m&dRCOQDK5qgI9Ker%dJn$-mHV;#;b~m(iVb+(>n=jQx*Jzt^#K0zPd|q<&mY4p zUbh9gt_|2ndhE}w$27^FPLJWxyw-K9Fpia?mP@%^SfRPbRRUF-YhBDWba0dD4TEwr zsMPda3*0_5=5&7&$zci4Ni>dVx5G#bVT#h_;gwD@(flL}3)5%|q0zVE%xn)BM~ZR_1o= zy8F^-EbF=Xw%1*N@~ocIUalX@(>tkrKZ-MYp1RpC6zBD`iPSL4ONZ!0eXvdO3Tf!z z$Su=G)<(Um=~d;W(5UD!SBW&1iP8*mLxxsQb*)8xi6Zsn`cPZY?m#3mawJ~)$75iO;a|S|J>=J> zaO#_m!MZgY@!;HpcyRB7SX-FHgEXhsZQ2M?h%taXUOjL&rs-XlY}U}2*YBHUKZhOD z_n{VQc}n#XwoToGY|w}OOPY2~J9*3#9jru~4z4xz1}p1kF;{NW!TadBvD_GT&JrEm zwGQ`9>G#^^-VM0tpqBBN-VM0>pkAAsdNyP00WIUkuJyS0kX{3$$z!qokgl_UaqK*# z*IU*KaA=+)G%X60Ds^y+A*4-pF6m+VkiNDt+>^yaJM?ptLp`|TT0M`BKPHbGuhaAH z*{2Fzcl}oY0H>dRI)3_7{n32dX{X`ZYp(?WoN~%3xZ#Ey0BAb+)?07Yvj0}l!K*G} zepTu6%P;rNI_s?RC6`=+OD?$tob&p#pZ#nAz*%RVh08C$-2KOY{73Zn_v4aFE?M0K zuBOM998co7(?{^)m!F3n58sV#H}A*Rn;yaypWcJPwK<$})*=SBI0#bCkt<-Ul+Q1d zjy=8)m;S@`_`>IJK`tYaN;~N4s=#$?NTnU@+PR2tU3oKh?OebsUh{1H(R-c+*OPD@ zg+`6x{1>dlvrah~@4xt8aPM7*@UHh4!2DIcuBQJvefn$P!H;jgOK*ryQrL2Q9}eza zz{wYFhMRU)6||aG({EUci=cieGDeEjjp3SYMP_k@X3Mvha8ak{Z0Vy$agQC9M48%j?UadQ?Aj?4|JCi3 zS0-?1>L6~t_I}*<(;ax|zP(s?%n(jK;~3<66PTM`!s2uZQ-|j8k?ZcqNh>uR+%kl# zKJt1K?uYYs%vmKJ)XBG+BmK7jK$Sq5`tPa)O4Pn*CsD4p@e0ZAs{~5*mVN`{@2_>@ z2WUFDK~z`Expv%P9c)8IcTgpLdCE6+Br|R)tfrO(7|rHPg9z4jOFQv=sSd=N~hsM`LM}xcN~Sr(1S^d zdNiG5a3ox}g=5>cCU!cu?POw2>|~;eZQHhO+n6|$jydtfxcz=rx2pB0ySf_Z?6db; z&k8m5_t9-oS@v=Cd)ftlef+*&{$_@%Gwo=lFJ3EA&V*61+@(by8*$vE0e_Gkk4PBt zaOueF4cqLNW9IGO;?S+9PXI|oPRv>HH8njz;qNB)GGeCCx-lQY(8C(`t}b#K2K<n zgGy1WokfGn(*2*1&ixI}UA{?8N7fMBHb<5Tr(MP51 zjXXlfs8+g7)~LX>6mK8)4n~a&GMN1EX2Tx{UR@LS< zSn3j%N6nakmV&deKiegRyRUcl+sS(I!5U@!9C4LKBCs9~z#63sz%C` z22^rvc&w{~f!YHYATc;?B)z?HIsWizBno%VFC-WlsqxvO?F`A*O%bdUaNc-;5Xewq z5=i%{|AXmA<*dRF;^XM?d zkA)g}?AhA{9~Ih6fpiW*dI$n5W;R>+E0II@K_oRA4;f|Ksw>A2J@OW7MV!Tz8wIvd zr5iimc_=Yv7P8Y^)`Va?JZZv-putb98+uI0)((I6}z(`?iwy zAkc(?AX((NoatVXpzpB2>DEB{KxwmrHqLf_D_}oI+-#y@2vcz}8!Bgxrd9&WFxkjn zK2E_Tu#$c@Tx7ehbM8{8qPOabz4eU$VK3 zhn`1wtKt3=fBP=Ex8tAp$2J>_VLajIhmyeE1Qy60HaA|x6Fr)#8)H6xi&i@uIYf1p zzp8Oz{zP+`vG_oLy%F<+FUQ&7VC8w<^bTETG+8x+r0-30>bz>X$HoVf1LJTk634`OS_Yz&N1$93HKrz^*`dwkbD=d zV;C5_Up2l=@k5G5qV%vs_({f=K{^KBrT0=&qA5%&?He_KHs~z}8U_rUo?5-nI{IOb z6S*Q05);SbFOL=GR;G^Q4c8fT`+XZF{+%syMqPkm9U%vHWQ({a1Bgh~vWn5sn+JDV z+MHr&3n-9Ujfz9uT1p84qUgH-XP5|uOiW~<%)zIaLI>I2*J^V{L z(iq){$UXw1YcUTaocv#FTphq7%l!vj6bhP?={UHA2fp+BP5U-hON2@-eCGI=+Bx>P z!MF#cpB4~fY@F?TGPp=MVofIM+t9SW-t>V9O3Vgl6pHS24wRznrhgxywI`CeoXbhP z#yj-V*j>dD##0(C0w$=XJC?YVdU=tiEHDT&DFb!BX0)D{1gGLs6-g zs6B_JVQ+_1>fMh@T_z@5*8yAHMzHN{^4TniR9$Hlg&F0C8m$Fcar>yI9j3$X=%nZ! z$%5> zhmI;_0hkLuBBM7D_Oex%oH}a#w01mZrf6FZIL^(L)Re>QW7uL{C}bt!I%w{U26Xvu zh5DY8B(C4#wS~9L(a#T$$W1jhs8uJOM@O*g!r0F1+B6&x$Q~acsjCB3#xjg_#=5^A zn?Y@_w>>_Dd4M~z-;=+xvFS3}Pqf(c4OyfI)C{l8f19g!wVlkJu{ncF#tyRThE9=4 zx-DDVqJu0V3w+7?g+SZ{6(NL&8kS@r*7b%dca|z<59ktyq0P@M)IL|fItYM$K z>-)M(!qbDNGhkxFyGO#DaxJQR8;efHC4hKUMa5gmt0wA7r2QfiW}hZDe^^Bk5pGTe z@t?FNdnRWcfISll26pR(>GG{_uB?_IC3B-3j(c*Jv$dvpemMwJ;h(MMt|Huk0ScqE(lPao2LIMirNR4rYwuQzk( zFkg75AT@}&e@|mwS49?w4gTnHXWhperTqj&<2}KJu9zI zf}!21DRfZx8=T0#?T%&C?cX{q@A=iOth8yY*8wxm++gMAZGHh{-?>goC;zUWHjbgxsu?mKB1(N*@Pv%OVVFK{f+S+0Tb_DycI<3WYic5}T+;YA7$4>aPK z9l;?%S^OAjF$%Cb^?GSq%Z>Q{0w$NrOP4C4LmRzL7Y<`G&rqP14U0Q4VlI5O(?_^r z63JE%*6ohUGF52!+g(d@XvSy|J5BbHx!xLNBWgV}ZpStlic_VGG8zE?(L$n26YO1S z&!qq^Wjum?AyBh?h{E$)9-Yb=zL3L?&FO!w*L(2R6hAwldn==h;Yx#jWbkq1IJ&Llp3xTm zRZ75+*q4#xrKNNBcJ$xEUFr5H&9f)~3peb+0x*C7U}Un%`ngClFo&)9l%J|UC?~$W z(~X0%?sJN+e_ME=^1bR{g@-hF57T>)DDn&-;cSf{*`=2iOF6Tof3iJRm}-6hX?0}T z3vn#xo%<775auL^gs9{$a4lAFRQEfo?o4_)dQx?&l+O4sFM=Tc4BbL5pwkTIPIU*T zn^S4wnl&D{>yg*}9=E35j`Ga@0>+NLySM_jJ2A8)+S`enPoxyV(~dOhB`@xi!|#_1 z3uKR-5)1w8e(?64qGAsPB_-3hpNbx+NJz%JLbc-(6oICVaC4m-0q#qKa^Eg@y4URB z^g8P6=Ye~BCc$epx@I@0rxk9IX zyp(yal&cOT(Oy1KYIQki_^RJnif#Y=*qC^vx>5GO^VPpiBt+*P)|3<+d@$PWAV$1T z9oPT7#3c&<>ie-)wNGO9x)tw#RdJ!-sxb`8WEhqXp z>h6P1_>uFxCpn%wUGBGS_FJZ4&xf?a_`6;wx&05?YpRN{EW+<##|DT^-}WRn4|>$) z1GUXKa{V9S_>gQnp1|#~X+Ag^>#lco(j>^Zj!GEewa`@mVer#aYe z-dpX7-P@MQqelTLR+CGKj*%$DvdJu+>^ktU%qHZ-tgLQ^W$q!iR{Yd<>S=m+ti3G_ z4FI*D#!m8U%(xS(EpW;*=0vf{a)oDS{6u{X=&F6x2CP-%>fkmljn&exLRAWHy1X>)S~rtm|7WtcvZ|L}JB*JOsap>OUR?nt4@PjGZQ`#Z>XS!4zLL4H-!ql z75K^JM)@(SWxW#i!%A90kHB6dtn9-MN`h6C3@wS3Dj{SBGP7Fk-tA;hVVBfr*MO%a zfUH1d%`eY8uYGRE^18L$^-=fQ&{me6LA;*g-&j?5-H`7KdnjogZ z`qHUF5YLtc{ZptH-iYvvt@z{FFp6-^T(v1*h7eq?-=TqH5sng_WrTaIsgi5>+=};j zjBpSVsv+{ZI$LeX;c@;)zExH1jMH~1I!PtpoGnNsRm&KcS&_o*x1`XZoD6U?6@GYI zKJ-%|BO%4`aB_y!_kVi-U@|P3FRj&UH~o11_x!uwkE<8{*KZb_U2&k-%?^hCx$9K2 z+)WPqZ|>1_X|#dTz5`F`P{<(cdZ_SM-Frw}>a6i6!LZ-~{$uaPm|)pUFXnsX(^r(? zD06nk8;Ic}j=;X_MvlOw0*w?^)Af6r>3iSwmt%eySi@0w$0>ojYt~Co@-S#ovB61- z6{s#@qXd3_`J1n1N;D2Gv^oRrafBBFJkn0P~0Oi^H?fQyCS zyvh1~RI*OWp4#QJz^~m<(hjt<4Q5r9_3JzxQ`_Mu0|F+<0MY@E>1>qHmsd=Pz#~)$ zM+`&~y?8hXsFmwH+7ulF@arLuiQ@tHyAgkq@!`^oMOQ?)3PQpgqWc}(XOiKHhKd6~ zTxjX*iltES?jMg`4WsRGLBw^GBtHp-N*Gi_XXO{6-EiqQiW>u{hZxYX zQ!j&Ei#7PUhJOQ2K*h}Qe+K4qx`4RptI3q6h9eAi3*m&K0aj8tIxiF=WvNM)x22T? z<|IE9Ta+be_D{(jaeC$BEHiJJC64mahH&$!{i66t_@zFz$^dw8zqxPNY;2-VjXK6c z&n}%r!)4a&mtKFIEg`67P5Z}9*}@P*C-3A+mr~Z9b3i}TJkv&iMP@39y%}fr%<^UG zn>_~wvz#@cT~_b+ui9ky>2^Pw#dNVq5@X!?l5w@kV){Qp^_$`vn-SbJeEIHQULgha;9e#ruJ{1iQAf=L?1Hb-WO=2XGP;;hd_!M!6gOKxtEg5 z<5UgVLrwDyM^zNkFUfKF5L8h0I< zQ_(GG*noe-M}rnCw2q1;_})fOSP|W_%;KMGpehn`e0V6$tHWwW%=E4rTu|9&$~KgyftgkO!j@fjhcNkmc&_=uzOAtJJrkWduUz zFd|J2C@I5<5JP2yh9nj$>4n<{KhXpy*|q_2NeWEZ5o>LtzeF3X)^ZriN!}z2)!VzH z$4Z{C{f5K2Nt4-Lu!UhCj-p=R=20+kGNF$cNfa~y3nCT-_&FgUh+!nkqjBB*GiQb> zg3411hZc$rI7XFq)@aRonXfoCHe2sJ3Z?pBZjZY9^ zZ~XgSoL87^z*#C1=;L@prX2JEB;XJcJrgsq(3A zVc4qKGnAPbqV>`mh|Se}#&la?G2)o+Ez(^k6EOS;l!$yoHcUsxSkHZ^d6^9 zQ~~8_n_k%eG!AG}u~r^1wK??-rEDXK1QXN*Pa~3_yQ`d_TrHP%mb4(EahNDvBq@++ zF~$wo+;goVs;jHdwy6?%J@dki+TK?=Ik^&_!tJ+Wieg7i6R0BhTsHQcGEBDG@KHj= z)b~9F=A1YQLd6VlHrir!V!E=`us{RlLl@p3zu$4yp&%TmUwW;Riw@NJa-}RSPg45- z?sVg}eH_p8^q2DlhOWT5m=VbB1K2SS!O=A>hf1$V=qq#gp`0m!_d;rw;^uqSY*g|i z#6c!2W&(;+a9g!_@))R(i!!iM)|@ft>x?lf`k3nYb#b#JtfP@PNTA$BQ<>7}3=HHs zhbq;Q3ftriO@D=v1n}=aeQPiwIhQ2Fdk`THpr#`o!U*>bPRl!lHYc4FC3(@S9|4w& zl~~SeDsK0u`GApAV|92+19Ud?j6d3h4x=#^3$*(ykg*G??RkbbYoo$dB?!^!qw5okwrO&ehYID?VvT6i&5Vp`Lu z*YZ#%Q`~FwR3$RZa|wlDMT+ZB8UVmTHDsI~C$%P!Ts1F2Qkbz=LpToiim!{onc_{M9?Qv#*5S1o6W|=mx zzgI=g4v`a}|0v@OH<7&@3taS-K{ij^RvjAC)Jwda2M*QeBKD1relGgL;cMc_p)R0O zMTh=M_5>FNiYL33e8VQ>*vBiYGd>rO1&HNJwvW z@qN4`SIPS?fwBze{Xo3_ z{ui#dDJQD>RIS?Y*xSBOJD!glmW#W)@u7&g`|tPj;~*t@!0M`2+bc`=WfSlU1oyuB z)NTG@ax#}YE6p+WU$BCv8=AwJu5AL5MV|?}|aE3pI)FgX+V> z16iVs@#p)?GbkA;{(fHgtD{_rcj2G7$9Bv{Zta5EznP}hh}C8|`0pK2){sxaZ(oUC z6VNiwoPX$83P;lM=9UNk3e*?Mpf=nGg<*^qRd6sy@^R3iNyZXS;Xos!3?pzn0(tQr zGMDzDJX1`O>1rnfgOw?bZ*nFoOw?c!+4Q^K%_{0@O`7Pi*|nw^qR&fWu>T%=!GlOaE=2KUHw>A6H#uPK3c9Ws zM4R(X6-6Rjm9l(_`V@nh;{PjE#{bc(nm?001HZZ!#pB&L(}hS;t6Of z_yPo1;l;0VMU9CCPKQr_x8jOw1!0C&25$-OTKq&;XpxPni0hJvU2Q$~=JIQYm^_RI z5AQ1V%W4M8n=%3e0|>s~1i|G`QFkP}1Rg|k$3R9kO&?Q?V=_9is}$*|02gmHpIJvB zbd8#Dz?D%w8NNda2>!fuCh57$N#evYRL~k`^n04P;Ra~vecy5+h|W@1h{fm(0#l0Q ztHz-oIX^~=&AuL-#GFmP?xa&KUnw#bDO=r6A`T=V$2yC`W^nrBb)sli#8163|^PJAGx+pYK;M&x+2LZQ|W60FjXZw<=|ys!naC!7*x5$djJti>g# zfI^dAm==ku5=Qxk`h5))8k<)BQ%s9`hPM?mdhT58q_TN~Ll#Ga+mhEXOTRp4qG&%Q zUh;+rc8x{)ccRMOl*PnlXPGR)of`>ZQk>l=0UcqmRZ*-);)*o`f{R1eA6v4M!`ssO z51t>Fr=xwmiXDH$=Ecylu?*DG2cn%Sf6jiR0;&KgI1#y+x#fCGB011DdLsW8 zv7r*@THvM`lO+um7Z@9xpy^nO*#GUMJFUGsWzk%sSXEV|Qh+j73DdCDEs{wA1IGn& zE@r0H+f@=GgeEA^#8)?~1wYxiX#Uarrfp%6L^bG4RI+Ssx7h+u$m5W6m$SZ=Id%Pe z)JPanYgz9)jLz2_g5`bdykBPP&!qLs-O(UZ`?ib1DIo5k;n$1HFOcNhYx(0Lj5Dx( z*N@-Z+uLarTf3mUn{cb$aU7&sjr9LK@gLi4wGAGP#^ng)R2)`U7IdHaAVBtbh=Lhv zvwy!!?;n}>|8)KJGHo;_jw(3f_qCMXcbMn#$LoLp-TyG9RyH<6fsn8bE=O_#kLzZD zulIW+%|DmxswLq85(kr)LFn%xL#mJ&6g|=A_q9CP2TA2h-9MUzE$SIKW!P~b5vzPO$dT|h@G?)Wl zE|ypKA?C_Ulh2cLM|s*-l$5ESZ8b7)u{Xgs(AMz_;_CVH3%CV}3r}bM0u1Gv$7Esd z0Awue;^s&85(U8mx?~8wzr||F!ftuLyPpBw0v{}AD#qwa#Td?jX*#fRF-gvuiKjz* z=(E7vGBt-qRO4Ki<6yNq!&XA>kc)(uh26_+hN6&5@V|p zxMAZm{#+w`tV$==&Fqk!@JmKnnxVhKmIn2ql*mVgBp`O7X{YF{@Y`gkpGzDSYf-M~ zVyiH$CD`R(nN4QJokL>y^MQ%@=Rl64?l1-4kDss{8sM9{$Ui&3S~nRD}_NMPm{U5lHhrrwTN{3Gu{ z2<#3^uyJQQ@zWn1PTy*CiTv<8ott1_O!3X{ON23^kk@9(;R0rP2~;Jx(T^ka*=o^i zdH3h2StT#=sX2}8ONc)Xj!vX$f1)N%kTKmlToP}`%~+9K_;nGB3sUO5^4#B4-p>zO z#nt5NCk*}p=j+@1L4;46U67$0D=G)87d3kd1S2XA=5SNT<-ouzQxzr)Cw@9l5AMN*jT4TY}%k8B6B8I$Ju zT=9YpoR#Otwc5&tq;kv)U@8lLaDs`!*6WJTSuh)PVa*H4{~GVval3i_XTIEJx4~Yc z*M7xy#P_#l`DTXWP~c#HH2QW3@$iG=zq7V>*|q=I+crq;g&}Y|f(h`vA69*&f0lL=z}(YfIDoHOG4bRL_6aSXf;R%Xa93N7c${Mu!3~2Pw*I5hk5; z9JaVYq&+fOjN|$I|MvN&-M80Q!!D4G@g{Tr7Ys;L11~T(9Xfw)OQ16vwgF%^I=d>(hzd3WBW|z_In+mPiD=c$7e(i@? z%U$>819}9>|CFWr*Qeny>I^XHGyv_ty&?BnFz^H%tt>1IFzI)&f<6VHGfM@gXXH^D zqi)caLpL%AIfd@`x}3lNpSR^rFnMwYc4BWryYq{SfsF#W0n;9+2@TQeRI34zwuGsm zM5#94f<`D#pjAFPHXDwZ$CpdYX=#1j}YW7WNTW! zuVzR#(Bor2eIMUuh(7ux14%)e<60YOR*-}X;xeG|%cN?8xm3d$Z4@xIwXIwA+iKF> zRwOr7o)Wopyk6gKAByJ>7V`YIZ%-j*l+9Jwv_j)HdNaCfkpH?86inj~lr^BFNg$V* zF85`Z7;jMFnuoMN*_Xq_@~N+4V=6vafql#V4l57SESAQ=SRpAY&XsC_<}OiDTBmB# zYDbTw5x9`STt83{=WZ_>sQm36;~(aPE5`Ofp>L&F>0FMsa3d}vE*BXF8<`AEvql;< zq^gZ3eFXj8H^Q?>3LM6)P_=}@ri+TQ7x&2!nUh>3La~m>NoKY3WsLISHQ8Ob93&{A zf%^q2v3TbmD136hYqw|gTpM2G^g3^+ZoSPWQUUW(_(rgA8vi92znZ)<&&bh{`mpYY=xaTKUv`Zp`!* z2+6P1GB@T$saVwbh#2w{?z(}pM@Qy}#4Am|?hp8HPiyCkORG_g-qYn(5+aXR@#!pe7S2)WE@@XHSkzo@YMeF7si->A2zJ2$y?NQktU6Gu-#jv z_|LkQSveMG^4RPfmAJ3@O^H=r(obDw#ie_QyUaz3=eaW5(NrTCvTO7ZS>VW=1jI_b z>3{_~65{p|pDC-&sjGddIBls~9jVU}HNnWkfH}U7Bora^3!oJzU#WhYg`!vQQqc47 znqa1BZ|U!#W#dW9d$}qN#6iyK2eHQWJ@-P#_2*CSD{5tW= z=I@uL0QB5Y)u`%_OuTPK@hu!gjq#G}}>wP3}%Du5t{(V+o$&SnM@I z)8y4b%{?3`Sm|26n4TfN4vBf>)NKKnr0_kpHOw*ssbkHW;5Tb8=!X8*f`XlIhI7;mHv6Z0sJjXkJ;^g;!GR|ao2kc}w5VFdg0dMjZV0nu3 zAN|#9AbV4a)JK>fQfezDQx_Y*w~pQEGzE!fS^hAkiNa_17ZbzGK`IoFR>QKEgB5SY zC(bF)7SUbFyx&g1fu$oBU>6E&geL{BA8gZ0D8cF5bAlx_`c`K;yUbEx_LHdR)YL6x zjzv;BY>Gk#A%}CYj*5(5>5zSe;Ba~6+@LyK{F{JgB-xFiQx9Cb#F*+5BLH9Q0x^-k zL|-o3d3GXB)poZb*P2WM#??`P2Ifwij$cc6Roo zdkW$0_#wQ)5B5$Wb7@&Ujz;*B=#uLnH>6?dv^JfE+vNKlyg;$ejn1ZE17a*jRlm*^6{_XE@Pe+uMR5iNfDK&;E80%#yG`_w8|5?^xN33vaOp!h~J7ASI!PRFV zwdh<3N8wFEIp2B?)(m~@OV2S7ahXSQcwJcmfCx|! zH){JIZw4j4vl7m6XEn4GWhO|=d|&Q%-?yJ2TnS7n4Ed4UvLeqOXk0tUwWc3zTh|G5 z>nZRILS;t(=L*9!OF4Tuk)O)9BK|d00yaJvchPXbmnF=H32lD!M(QZ?hH7a#JnXaB z?ucaR_l~u0zwNWs^lawe3-@w)!4JOE=mpk{yQ-u-!IR<8vlr$O!&qsK(%<2XjB-UV zi2HR*nc0jR%_#$pr)Y90LVWlm2AVtM{NXU$J3c0UHDV{QA+3;tIzB~4QKJ>KUZ zoGuoxH(R1!`2jtg1aas4TcB;ZNnlv$b$U&Ne_oM@gTbSInefBBBI1#{-cDS%7w7<; zo{b6O1-r0|3QXUQ(e1XKz={g?JAe1C_qUUlLd3Vm6AwLG5l})(*7&@${>mR7+>y02 z5C)6GZ20#APPCaU0d)2Jj2y-zWhCcH8-JyZ8(_Kvc#}oW+Qx}tX!P`0K)tnr9%=Tp z9Mi#|o&d3afx0hnF0!P<(jaHuIULl4r0E)^l$ zA@SuT8*ud#W~WXl^8#(yNd@}@tEzVXw`5eJqiwCyi$2Cseu3li%8z7%S|TYgI zNJR5yYh6MyB$I^+?hSt{NwAWI!o0^DJ}OBfa$-KVd>Xz+$tQxMW^JE}%tRqI490kb z?@8Ai+hBjLj0p174)}lE+t|GhgWGwzkeZ81&bP4>-#z=K zsDZPKQ``Oe#Ur6KwlHmd>3Ic)B|2J&8}95WO)4?5{-VJW_Lf9P<9q2@g&Ud^+(^lL zX}AW9LWE*ZJiKRb1_Y20t`Ut6>=89>VC4O}Bum01iF;H6MhcTa!NRj#;|-+!gG_+J zCd}gv`shvuk{x7@qnfxigdBzhpX33M$|nwP0-XiAyI?`zayZWyxUDuRI18QUe*Bix zg9?sP;CONWZiwB|___$Xe}_NhqaA4oG578EayJ<~eVdSQfW4m2fanmWzd%G@o^woW zx6aF{pSdgbC4bJ4nJsG20d-GS=2&27eMFtAw2NaAe+ z8zeIF=xe6aU5QIXYqE3SyWVMult*YhiutxEtTO<#B8V6G$9^Y?!f$jnNNL*^fJs&3 z{XEqhw`4K#QJ+^nee|;LgKeqRef{y;G^r<%>zX+1g z)0LznC~~;#%LDYT*4v)I{JtKfM9^-w?_nFQmsz0hn2oEKcFAt zJD-P_VF#mO+Wz7XU29=@k@&e`KVDCY93l(6-$Vmegku65sr>F2Y_RT#R%SfTht^idE7YoO1$fDQp^ScE1yu&Rnx z5wlVQA**bV6$#YfIqjOeBMbvqTpqX=P*^s1&nSbRzhC$5)Q{UqSD@MO#l*zC>{Fl_ z-UPjf4nJ7KPq?6gbI?4ewRoGxU~TYTz!rA?UPaSg?qEvTe}8wZ|LkFcGTtfGpFyi8 z0SuU?=fHc_4#KQI&)X8~XMP?TeNuOvm1R4DcCZ7Gf5_iJwC^UA1qjNB8jfb^ivXF1 z-jS;!gDJqShDkqJ!Hhxu;z4PlJM?#u6=$e*&5!|BR3+=YFHHAdmCFbIeEExABKn|VKfu)KCJ16*lMk>cP39RvqX6YZHZ8*FF!U6~ zsz^ev2l!7hVMm2N9T~ivX{}2^JWxA`wK^1(Y0! zlDkn2s)28ypb+Q>`+W!m<$JY*QBsL%{Cd7ImZE~{fmGcG-2?p4v#dp1J+XEKY9hj7 z(nBtA(PedjBb;PV5j1w56XGhrLd>2U|1&h6LU+Aw^LW#ZZ(KqG*seMTi^} zgUI?3-@#P(rxm!Mu$|s1CK;gVUZ}0m(S=R|)qh!;pc?{3IVZ4geMxO(!0MmDNJV00 zoV;L*D8!;=oO&oYhr>*7>AawIOo;3F1LNO6CfC1a0Goes!%E;XdaYpMh^_{s8GZ&I zK$p03pxZW(RT9Y=f>+HBr~9V7Q?yh-#Ji$JkjzxX6={Q&zp}bPQ^+-lLnz3LZqAED zN1$1dC=CW;;E=%)QBeorrvYJwpn}!H>ktPIRj~{XAy8dpMEK~)s%~UPuy35u*r@@M z=%y+`=t*Q1BnS>9KO|tFaDf6LMHmCA1y=Me2@y5P(q?)@MYAR?8KKy}3oCVRa)PsL z2*Y#&O2EoWhunWjRAEUdLiXfK1E|Pk8443A->yThhc@K9GqgmC%6T!wWKvH7n^L)=Y{NYlO4V5K$C>QKx0OD77?<8U@9m=rhBL8b)7vO%GUu*79jN zBF}H|JM)Fzf4>Tf>!3H%%FzL4Hvsg-h_GNt>6>BF8c{maz2IqOF>-Y=wY^0SwkW?1 zQGJ{QR|GUM2r?HZC|uKw4&yru(i{{(9^%{~aGE445K@S$fC@l&O9IH29%C55Hn_ow z4^j^(N1y5erjl(EL2O74cmeIep#cGmA_(y2JJu#0RS}Uv(N=U&!op!i`N72PtV6MZ zuxOE6GSK+XO^8gUWCtl==d=rmzXq_-BM|Q5ATtPF+t%?2{_U0Q1A30S>2RXQJB$)P z0Iu=-02G&%{Y`g+WBO6h&D`j{09IwFCpAhC7%1ZbbPphS(YOzG=kMF;MD^2Vob1>z@<04T}580m7M4xE_c8@FltEOpYL1WjJ%S)c$3JS zQf^lX$-$Z7%8D*r=yx`DXE1wWwh;<m+6-8+^yf!_!gpCOET%jf^uT z9c|R$LJ}xN9&`4fcJYo@FG#tS;(&uDCbDYFS+Kx3@NDB_|i z;tKgwWgp$}*gjYKcfq`cg$#C-5sg?Jv>D77G|=)5i1!H3X5@%UM0j;G|kQmBlbBpn3Tn3t9V7f&Hv2j z7z9%YVgf8xi6=5eQg?6>!_gx#yuQwh?-QAl?h6r>93BG!W^T zLu?9a#+irp1aBKErXc~JzdyCgE6F*Tt0`m=B)QgG5Ie532d;#c^nm2V^r0YOWc4iby0Abc^;{0G)A#Rao+N3^x)8h)hXU8zuD3HE@q-@G zI!y)m;QA|TA*{nxzWoK=h&gmctZX66xGW(RdQR+^&jU%4D#PRhEh?Z;lf08fu3$XX z6mw$o=^yjOu5*0RzY02N(iq8Lz!t0UhG6i=uj0H9lSb(5HYV@)7Ax>bh3<)xcrZjC zW;iBZ&ojV#Ww_U)kKM>r#n0cXm(xv+N!cp+YQ4A(1^AG55pM$TaYf~=STXs|t8Eeq zh$R2!Kox1CBcVJNIT&KQ=>;1u6i9P9352TzkB(9PK{p}H$?}3PL$5B=spAGorv9pS zP;+`2@vs3BG~gpUsp_$LR3)#YdB)MTCOm(8@EF(RcQ{z{cM@m%Eq$)WaodrugZEB} znDsz+!#s(t(8NbcbXS?^no!XqM9kKSdl#dq-jmyKH$4cFEi}Y}Wh9O=u+8`Pg;g}= zG_BUwC^FJ6bC!>!ZgM5&Y1aNyp2S`>1JzO;Nm%9GUwRZ3UU}bGhIetH%_o%rPbQ%ttFxz|Mci!mFjUB54Tzw4^bWmR#?DY449`VJ* z9vVJXv#OdE#fNQVDbeQjJ)j!BL{A%UASn46QLff_!VmhKO8f#U=3nJ2EuZbA{7Im> z2^W4hxv6#ZMf{Js0GfR03xLL8<2BFJ@@Y=tsH7;&orf6uAjq|qt?lr_0vc%U_6Zv= z{0UGJ{HO8Xa1E#bp_C<8#h0b$M(n(%d2Z+^-6#(9Euv1DbTNcW4?z51`$ zdNz-%ZS9>18lNYVnZv?S8{L@s!vzwYWGoEW1sRGa?BY#c=mNt}>d6qL_Q@o>ffZ|@ zi>ieV7M6|_{&d4P9Qp=2Iwbj`FtpJqb5_P_oT>3aYE`oQfLW}{a?qc3p5iyo&Z!tu@q;f>rh%6*QbGqm&7!wXKXr}a zsL4Ki&x+GKCdR_Ppzb1K)RYbjVJ7K?CB5te>a%_aO6dJ&7zjXN(5@SqN@a*&Rsd<^ zKy7fwnyRYJ_y3S6!NI`^7Wnq|_RpXbaV)46CxxgJQ?;fXjmv_v>v<51sVwwDrB$O7 z2(p)ih>^Fnwe8aizrfe^+{qoaUOgf3cDx`#tXVkF$!%Z}5olHE5C!WMfzLyq&&#i< zK3D_DXQk7+o`C@L%xyB?&Qm0Ys8~*S-XePRFfQsSjh8M0Q=KFQs&6<@sV0#Idbdf01RqeD89ycS4tmK~QAWki4G{>kCZ zqcpPGr81iW;`qyY77;q9)>kNyw!BkJs`tAp!|+zkgH7^q*@o`MGomx%4L*dnUt&`| z_dhKgfa3Oc!#ZWb&|uWzU95W+T49AcHFo0297Ib+jLJIkjTi8~P1i$JqeZ+ z-V7pk73g?%_$B_fu0l`S)jpsr39lT}5Dn~t-Wy=UWlM4#U`l$qf@X%;1xfv#EWG<< zlT@dY*sv`ig{&%sRD-ljEK{gZN0H9dmmQ23MF8Cd4&?K9u1B%Ege7h7YVd*AO{t4O`==1do_S2Ep*LM!q5}1rT6GqNgaja1D{f&Z3Hek4%H4h#w z&F=V^x@45z2?`R6Flw}ct_tZ*bfBR!EP+13l1SNL-(KT3 z>@>rqs%vW{{r!avb_E{)ZjE#6Smel1;nmgFT6FaFL0(QNwa>i1nPn%deNM3EABTAHaQYwjR@+B=IvHn%;WRA-ythc}~c zQ_1DhDM0fr8@cf*j5|e!L*0RJs)X$8!&i^_1`D zbA;x6(yfBzcITm5w(ld4y*I!0(zOx3AehI+?eG8oh7Vf*T?<5vc#n)L>?q9lUcX>E z99&;gKQTyGs{MigFLR#n?V{o2`g*u81i|t1<#<03fiZpV@5blHThQTnnlVU20oufX zme~DrT$}fALqkIf9jw>ca=1ugv@&POohZ|$xNw%p@AY@72j6{1ICJ_q5mC%-PA|;L;zq? zkq&4bc)CgDQpqCVlVo-%TDpRqYr60s)?@SieA(3AcbsnoE$|btcjwA*$Xh;&bPffd zQXb0cN6(f`5qQ?zy#`%LL6N|r0f9-TYlBW1;7oO&JD%UVu6JJq>;|u|Jzd zhYB22#D&BInue2IB^PS5u{nxPSiXs{C;=bBfdS-;V{4Hy;3G|+rdz=x$C;!j4&^$DptotU(#Lh*4$MNL> z_i+Mo6|J#8!L-KdgkqAgc8wa(lrM#W`spPj#Z#Q-&JzVg>Xg8~ z1riHZxT7q7MkxL{DQb!bWE?@33u|Nd6vx&=Ed~>#!Mpevfj7xZLh@h+5MyK$atHnj z<)d1#VDP|`6OSS9QNAqJre+>q(5r)0%xtT1=eY8=;F#jxC%?cBKRS;({-EP~TKq8+ zHI*LI{q}gwtbu=9dq?g!~}U`+@-b$ z!J%VxJ-xFmk?`}RAN z%LR8}nmN}#)v_NlMBERd#Gw@AUp$!qT&5J|w2O!SR1reLx@tAm{K*d)ZBlUmO^Gn+UNnn#LHfHD>`SX0H-W}=lGw#31 z9?Ss*g)wxT0HgG1k2@chw1X;Zy72xBii^9O;zgO}eJOjBeL|0vUmY7Ug0Pu4O|BY+&XV*ZZY9%ZM2Ji{N|!Y_QIO7kW5?lh}&O zI9a@knU*wEWv;g@KM0`)gQW$IpFts|BZbT)_99X zuIjT%lq98mQ->Y!S;thEWUL-KN#QYf(tyM`&UKa*D%|_Vc^noxg zt?&b~YnnbD1nyaGv9z9<9v zW>MBP!9U~VttwlXk0wJ&e8Q^-z_@ciL!fPpA9~lc>DLO z3$xkhRIib-T*O(M&B+Je+V2y62a0(QukGi&|K}d88`35DU8NN=$TJfRY@#A}fUU9( z*Dh*$V4TdPDyxryn_a#TUGr~}ORbTD6ilhi!Ak-&I!;ltt8xom*zhReEPA>p7p=a_ zOx@jZ7_8jfZqml)oa)Zk?vl^ul5829z0ufPbL-jWg1`qCw@qjw)oEp^8y~{D+3*RO zRl(ZIikX?&VPfcf@nmN?66YVtsP`K&nh5A9A^3|PQSY-&aR==d%cSkCn&(kuT{ZI< zjl4dbe~S+%0eORX%eBh$Ub6GuO|XGU4#Z>Yd3@_}8HjJD{dgW0_(?f&2@(hgDf~WD z7Sh(n|Iavt?|CPP{u*?&AV9q_sD^@O&^`ox;2nKBhcy;5A)pcWzLs>@Q44gH9RGac z`H%ZS0OoTd@6kEx!WzL3{1-CQ0z;=4mTszS6|D2 zH9jgCG(OI;6BMw}Y~c)d!^{dj9U1Ox!S!}-1L&}Ye6z@|-v`}b=TG@_w_c`zrEAd~ z?CcKzLGisoFsmG~`_JB2tuT4d15}FTw^=O4(9Ixr-G=M3F8#H=?_Ji$^E3D7k^SdU zx|6`y%XGi1?gogne?2zq15%jrC_yqwF$*Jsv|j=#&xj@|8eXG`G4(l-`?DhZ;3!ID znGCUM-y$sVMTI1ywJxNA0Tx9;2BV_chJFwmVA9jFxTgNn`*dQ-a5aqwD|X3FO8odT*W!}& zDjQYS8I>VmYzaJWmIkjZd)gf}rPi3!D4vQ`=|=%^mGZfrGz{6!j`KGgZ#t_AE6q0w zp#bsW?PNq)_)Ff^zKIIPH6}_AfH<(IkU@TG%M#?X&RxD8FUPK2MMt?XK)>`eLrc=R z13c+500s?E9Q6CO{(uMVTTCgP11n<8Ojh2eNx1WAxT z4|wilX)vm!09_zdz}x^RzPTyldffks7{|o+IRHY4>_vC`n~7FzSx-2JB2p$q>=ewD zV|oHKRiyH-e(;BVEXbb|nOJQtp8m%cAO0rtR!|Vt1QHtlc$G8)m%GZ5_rqUq7;Hqh zIp{hS5p(+wiWk)5KO9U%_79w883k^}_k`K$9SB&ka3Yp~o@!*V_f#xfX}uo$p^rbp zC}b3bMB{{#ROsJ4pjH2>rq`8aOwk}*+W6w0C^YL`9TJK0pkW!VlqWmhMDkJ6l_d!wkwj$A8fX zVf_msJGfL6awPtiJhIDzA+yL28L|QOrgUgCohcW*i|Se z5VK|69G5|5XBd}|fW^GdS&k+Qk(kMP1QRX=SjK{A4ohgGjg(G3-@Bm64mMDjgM&wP zudV8`L|0}gT{C3H`hHv#r^ z3)c`JUK+g>k)2HH)PS0$$U^s^gL)IkUnB!LRDp|Fi@<&MUaic#>ue>-e*9eVfJ_CQ9&dq*nu+BZ23&IFO1F3rHVz zmSyaW9n+ga4Px>H6%Sga(_wDAD&ml_`d(LW@2r14#}yF_i_pj{C2HyRmu=g8DVZH! zd`FlVYw2)=1nVsM1`=Ke#C;dZQv8a*qqmNqX?F+ff1`>g9PNLCc)zb`pXtiSMPRg( zn8d}>GD2DriNl$YbYbBG72ZcgB^~|<-b!<0bsoPC4DYbh*O*3D0Jq%&u-itiDm0!x z`9nfF8hI*pq=h^hGL-gYMM! z>@1#JF3XL^%R71||ALWoaoleYjA?L~uKRO0gRgvfPj*-ry^k`?S$&3Z&6(fRfI<2S z)gVu;m|gcDgzua@QOH|*Zu>`B_P(fK|52XYE>D#HA=3CcsFZ+^1mOaI5c$i#7t{^k z&&?J}kihn_;PsDn9M+d`1%Rql-WHO|K>M4vBA=+Z-R2S@0gdXFpR- zzI{FHKhz#tEi}KjJiIQZ^LInF>fj}k?^K~oiBM(*9>1>C{egi&x!)P9$wLk)&lQ-yo&M%I3nbHCOgaqCoI&>W+@-UJXg(BItWpX#QaG;Fg`PIlX_iwAd#>v<0|K zaByAAX1G6`Eq)1j+Y{N3Dy78;Z0at0=Y3?i*RVNX(`!;e3a7$F!J=WJd8+y(gi|wy zv*as5`a+UXw?EUq!czwRdo}h(OWx^ACG3m;J#F%s!Rs#YHdordEpWE(`f7GXj=|bb zo}`?ou#?fYsJdNUaaDcyyCT>A9+Zi9&~nxZYV94DG|dS)5Vjwx-Nis#?XO4$-+xKz z85umg4fm@)J&%ogkm5rA%&_@R5YZL_)z7dIR;DEgF|#y6F~K%GFoamaLpC_jaMM=M zviw5;*)erh#=Gw!y^-V8h-x~N0UUB+w&8K83I;iv{1dj+jRL|X3i%~Y79?UXH-k{R&VQMP(s8*!@<#B*{Y``-K@KAY14xFShE;XB zdU+LrN9WOB*sv-a zNw}l0gh+o>`jbSHo=o@`z-4Y7BDY~mtQb)`xxLGtj;v~)evf5Q&Y&S`ch2?=yLGPG5cA&&k+6E_dpsl(lE05k@ zGj(9})wz|R&1Ge{o}N3FOaTrea4x35sd)ah)MUBtrtZQ?SA9>GvVn4&8S%M`NdZ4^ zE#-4wTOwsDOZc>-oWpbRW4vX*Utgf&;%GAKwj9)1x18Dj)vEFI+4A0g+dBEU_7nKe zj(dl}-g6wUe?QzfDk@51@o#M{*gSjjvAu~2q!6m)^v?eHPwm3AoTaFqqdtPOut$=U z#v)=yb|?#p`*Hp#MYQgpSQSRHizC9y7|A6C7G=#+)M@SL_-e>Vz-Zfc@;hB~Sl2Q4 z4HC^EXJ{oVuc0P*i-89m%LQ1vOp-g1Ul(Av|(x;44}II73BG+%qd-~fe9q4*c6>< zSi#cD&hyj%ddpSr5mxQc8IA^a9LoaZ;Afd>gV%deQ%|+#CyZlHIAT0CDx$oG<^d}D z(Z&*Yvy}Mssu-PvHtZ)ZwLmAAlTQKXOL?8=dJ;@&WMR56%EK%*xVAzeh0168GC2AF z=K}1MZUuIKj9}l?=WPbNt@OgL8m&@jcBTL5S>OK6@_7(>?zqnIWW4TH2aCgDTZVQS zfW#gw3Il^Cf$3II0SM&0RBdE$1b3X~Yn&~%g{`nI41_Rg53tgnNt9L=GmRDXpz;H! zWzR&R1fLs<@cFT+F-D!1MmjgVAMhwnHOMx1NouA1EKDJ6EAR2WYJ<2c8pJG-4n6{| zjODK)zlXL=>woP(?XAW6#2?vETk3=TQqf~$5IpRJGVI_qk*)X(9Rr<%j9fQK{F;sL za4KOEM)N!%un{>?8`hxD67|t2*VAyP0rZ_{57MC2kw%i?izn(ukFlJ^?_-@@%~no+ ziOooL)>LAkR}#e(P*Jo~MUN5$23gh>QxnLLr(fgH&?ot*^^O{5{0r+Kp-+JCk*uJ* z#6ys&f0wip-D~usd?d0eSVc9~)L#i}7x?-%F)<+tkJE!O*Bc2O=`Q_66A=~~N}ijU zndmWJB8NUbH6@*G_wir*#Av%61v`?&5!}81O2z{NS^kq+(p9adj}{{s!XqD{G)ohX+eN+LqUPZaX;f_ zyT>&7w*@V>vgVCzeSWsADS@fvCQDs6`gFAqW2qP)aX$%{ zenR~fBW;eU`;kK+)vfDp8^!1|;d{pp(t1A2CC_Yg|v8c6NakH6*rpN9%40J+OSKD*m`x%#9e%kDpXmvOx7%C)8e zWX}S^vD-LYb=)^yce3}>{9e-Da(jHe?8sHU&FtP=?*!aPbe&i_f8S_sb`SQl_oOa= zWF4MaEC3YByL@_k-xFBjAHtnGz_CsG8^c$zDIaCE1rZmqPJ~trs3fC$o8rNsK<1dA5|P%=9&qx} zRZk1k&c+T@FtRM)i{k3)jW6hV=443D6H(=?-`F@RV7Y%23)qe>w09_~+F0Wcs1P?L z1PKuy94F(`E!ze%$1s{4XkPj-{xRvWnc^m`kHpKy8W+t}G~f37`C-<4CFKc^(Fi8A z(+>Lb#*j-PZVGXtyRK}A_mY$oP9_^qa&)FmdvQ9Y)U3PX_JhmJ{^aWq*u%1{yYR;i z{8gV0msMm;3cLEF8rQ)k>O#5~s6Jx;)16oEbG~7uRJj)2*vb-s%-0f#-DLsYR?^Qb z=_N9+MCz?;XVimsS=s`($zWvF7~Fo9D-k=Eo{5lx&>lS_#)Uo&@#HFM2qv}u192s@67bS2FrZ-`U?_6WO30n(& zo6U}AJy>#$hm}#bNK;X>xp1RS;Or1=jHYuNOdtd zF@gABGHlLFt>cH-4xDVkw)l)C$^AO3hYvPKBR=LJvC+w|baDaYoI!ealClO#rCAGx z@es{Unn$k;aV?|ui9-1|Qyoxa&%Cj^K~x5t=>&(uY=d0b+qFk8(ob?f24cBt+*I7x|crU+s@5~p$qS~ z`gtrhyeLJCD8cm`#llaM$WYqF<1zDFX)ky7(I0#vhIfTYz24Sixg z1AL2({=6KdZ9pNjsOVu$>lq4qB2xmQEjE-c|OeIs$e zk}V9XuXdXv6rZiPs|&4(xj*; zx)h4LgZ_*Ne?*F}R%^JcQ(`9cq`|E{=Huq%mwf-9M;HymSV?JV%71B6!>W%+_8vj? zdIa0%)@SxRC#9ubATp&Vnn*_=h%B$9Z~OE7&E2;;y4ug>$Je%BD-^F@7h1`~0;ybd zbdiI>7i-0$n;&Sg=<<}Cq$SXd1EdxX7oVap~1@q$!OwS6<;!RkV)uIw}?oh2C-zb@o*)-C4C z~0X7KWY(;|PKTU7B z`bG!Ei@r}}!C6sPD(hS;O@y_4Geg?`s{|&mnj?c^c-Dxrjopt`M*{N!*drJLCMJ^9 zA)Prk3m>ez{4vROTd$rMHK(XHL0IuNS@X%f^-`cev@n56&>y1kae_+|yxB%D&*(`Y zw;7=D@j2Z6HJ!f7?Z53gK3+hV8t#oCXeujB**X>vQoa@+*Qj7F1ob<0(Kg1av_=r; zvv9y0G!FLRZ-6xupH#i>eZ!4fc7PH?0jsDcD|+lrzaMKYmMXh%U$EyY4sTS&OLWmC zu;#va)$lwZVigyfDZwboq=eexumd*~UB;cudaAVlGWK~5Qb%a-2;`eUb>W?JwlIY* zik2%9UYoOBBA2s`ixyE*0i8s@j?0=6Or)>-C;h?STmpfW)o+CCBUnl67Bd>$ZBbg< z(Fw*aWlfdrrN7E%bevsL4k2UjZ23cIb*-IYT#Z-}%?cL3e~hRS{#*^06bpuxot?Rw zONEW;k30F95u-&H@20A~_u}dSPxm*xBMwXL{61H!*5QW4@z3y+!R`(OJB%*<Tx(0*!BXwq`=yk+wEVIiN@$bnqry{Fu;|FBRGlc(`%_)%Ha0q)`J`*9YqM zL|Y27(EkNxTb-$z?6<44Bd^bR?7u8q3SThv{4RUYuii(Ny zi6-($MH+gck4gJwJjk$uy)TRscjR>l(~!iCDM5PUg(gD4CgW23%-#47{m8%%?w1oz z0%Z>ybuNZDIynMMtPFanfp{&C)^^aYZ+?&{mwsaGgrtAf@}e}H1fraUp!`C@wLHN7 z_ZboW51M_B>ke3?-*DpyZv``5ytf4pilr#Fy@Y}}76-c%kYnFjN<>;?R=VkdhM1vK zf`2GqXJzgC_99QP>G;Xstm|7eA5UEjF^<%Nbwy6$=#@-j19|Yd2iP6|8PEpSZVfvES_LLQu`r-DQ2;xP5lN_=T{e9zNbb|z+;Nl zY#4E)=*yNmvSs8(mZ~12+kHDk_ETE_{u2 zqH8La|uW(JoEmF6trFdG&&3YSx|iqd*ktC>;(4-PHN z-QabaU{|ept4Mm|VweMAj$hwf6(8_TrEtwTZ6WfBqlJC^t{%6*ndl4kDvi6GU|}i) zKM5vfjkYUp1m%ypc4x&{#2bqLc-)Nq2J@eUFyH&urwu*T^TEPso8%#4h(M%+x-4&2 zTIa2~z;lAM?;zHg!pV9rJ&=69=c@mYRl_RM+?kIpR`(8gZ5BE2;eWDX3z6kGtT)?z z94l{hY)tAWVhhQ&O}@rw{%+{=l%)>^rUM#kS}vQ`1+%~v8Pgm=JcBpalU{`LAziJ^Jv;3Wr42(_>AB~Ilyb=43=6i4&9 zigM>aKEB@mm_JtV$hp*l5lZ8ezzW*Fc+|)ISWx&_c!K;npO`Qvv>SLdTh&+;#GCo- zC#F;|poc0KCf>V<%cfL>;U0PgOwU1M^0_JyO=t6Fm>M)CKpaTt!I>B|rFV!78PgzT z4em>DGyY~4@~NJU4m~hxyv+FPHznd#ye_i%zlH-j7nVe_3Bu?jZ;$BO;&$sBZbRK> zmfYoXUxZXfc?heD*eYFc^+6_$pmm%{TiKOjvTMW{P<+Wf=IWmR{HczNJB!lED!1Or zDu-sct<;_#Zd7|Z{RAl@na}6`SAe&@H%^V;TV?IX9NUh&F}%JA4z#FsVi1)O%=v_9 zto%BlEhgD+oCR+($`OtozkgpIo@s@Mnl>`k^gtU9YxZ|U(lV;HoDgPg zj~E*0MO`(jAd*cRQgOa*@4m%*AG7~tdVf455|`d+iKr&U`m-soOtixM3+lkEDM=)&zku^Y90@Nca!Hw|rC&H+by3dK zgZzxWU{-3@%o9zT{JpKpGNF_i%zb`NoIjDbF7r*sm`*TINmLH=V)RKKOeGv-YL>0M0C7}DM zY2SO$=cfI{th^z-GFb8}+I9l9sU>Q4PYn+nB}+!TTozB;c!E$vcEOTWMjX*FGL~_+ zm!)o6B~(6hmS9ooUp>17;mIJ$F4VlP4Nc_BnG?1-;tU_MoQ+gOYe6$Dw|n8ulPNtu z2*4{a;Beyk&llnb1euqqB}f-L?Bbe(1c|t5i|leVW%%A}i3vQi^8*XX9#^2@Y1xz& zS0lA$+UFC)>o*w_I z>0*!N+YbREs&(15Ec&Dgh2me5#lPzRfY`NOR0z^-YL!yg`!vpwW7l&LHO+aiQ9Vhy zv~=w=Rq(XbBhFGV%PQ~`!vqU^{MK*)?!#E4I=uPb`E;r^S7sp?lq0VF_@YBlg);DE zLq=QF8ncOaaUkI*IW?Fj>amiA!RH5PD5*%n414eBu!UJwO29CwK&G(7=cKyaSlB_s zluh35VG$5(4@GL%3Jir1{lp^7cJ_9uH3tpA1s_Sa-2o8eaYQhLd=Wt^+aA8qZ)G{7 zdstEr@@Y+v4s~I}2n~sNMB}zSpNG1z{jlCd0RQqkn4PImjWU8hc%=@?=GlMv!zDpE z-;yJMgp;!QYP^C^9cbR8jF_CpOiG;?A%9jn9l9G?O6p6aM!VL7MaGR}VOaOmnVvwv z)Z~xhn}aUJnZB((PWXxw-u1CUq0-;_5A#_{<%FV@tSI~(A!BEZ^aR!Z=ZG+BV!Ze= z>*R!dx@)0O_5A#`-yiDpD{YLSF9-RJ^vs789V$V|t4YrXrQM+dAD7D!EQqN)7!UN<1qP}vvNM+HTNMMls~4x zAI?EHbVhbvZ%^BlWI>{vjBAxqjXmQ%HM8YfDWj646ORWG#$?)w-n{nhPXL#903Zh} z>_?UarucKupEC(XMcRs@V_i+aj~#tLBT??4#e{tNm1|P-=CJx_U3&TK2*1k)3GN#XW{cKUPU2H@pNuK)D4s8 zV)yHw5P|06FW^b3?^$UV)lEh!`zACOWM?_EYA)EqVtOiD!TegfH5MX}J;SUgx~`8x zZGlKl^-owqFFP!qtdZOyI@@A=IvWC(Vb1Ct2az{;##q5n;P8YnSG5S6;rOddglY_E zMDj94*HB(<11(2RGNHn1du@Wn!K$4-JB^EqsAh~fNrN86EK53KD? z%QINFA=$yTDegnFuZ`tfpvj{1sA0-IdgHiw8xE-ab?-~VovC`RRkLTQV5T&_uh4;! z^vGUi1X5#y@6aYalRLw#b|b#0Ehzc!rnE$AKpNVTX_sUTI@ z#fN+oo_Pyk5j9Dh(xr~1RIq&eiz@KIn`T6IDYuvrk&HVnBVttI7y+7#V((In4N_z# zIAReElQPh?C!`Iu$CxW3XL{M#AslxAS)h&NMEt0Wi48D3<#M97{S|?3f`-N!DpyN5w4l*Nhcc3duW{s-}Tn#z=QL50mOr`iSb> zkw9Y41;AiiYl~lESzS=hmJyv@DAjJW?mNfHbF5%xKUZy%Q?4RyG=0~D6LkIdkNg&N z9Se)OpubBfZBs4kLxNK7xXKFWzpF^0I=M(40k4K#9Q?gx*UQ_AOg;Aos%^h3+9Q+) zs4!DI0tm#D#vt{G$4d!+#9&EbXozVJu{5ANPbPAUlGmtWlm=-#x?qG9$UkIkqzI4X z>c%gJ2q`!K!rRIcVp_}S#*h0L&qVP}vt#M^S9v`DjOv1N%(NC2ZPoK@!(VHnyxKu4 zY7Vg!Q--U2yzPdJq?gT}v_!g)nd`$aU6nE)mP46r_urQ4oYeVCjQhO$Z3tP@dH(!m zz$L~YYn@chIOJGVX~4=JC4l@gkeQ0&H)t@gl(QOsP%7{p^%hbfrG%d;@(L6cs6OST zBYTrKFX@PjE+K{==*V24za3M?IRcn!NwPFbksen$hwi!`qq+Ph9_xRqEK?h+CD3ic z5Yv?^7gzG9TrA|kq>du@(1Abb^vYp*cKwdB!5h|KPBm*6i6TYWEtTtY>834+DXirG zezWRSx2W}aLZbEqtJH*yLRc_Sj&`}%rH)C>m@+W*21r{%Q>?2Z2a~Sh-*HBz zN3Za?mI3afMGYeab0bwfAVpTh@8kXB17$%SQrF{Cb6K!hZ0D@=d*cT{8lS%7V(fSy zCeIJ->wT)maIZs1$Kxdf2Y0Sk`r`u6GQ!ynj*gv4+7R2cZ`0!UMc6kr$&0Q7w>orz z1~a82d@bm47j%FzO(L@R0Gc=&J#unoBQY{NeX3<#7SPa8bB7Os#a&~8E8ooVhJ~d| zlPyT1OK5uEQ%)+TY5lU$VFK;BD=s7i%A`S4Q+%HNKU4|V_}}&DxwwP`#gz*{Au`F0 z;%*qUhXQ35qT`2>+24PmtVj9PB%el(O;|5SY$gcpN*%>PLEqAzOTm1ZNK;X7!4hZs!?8_eDGn8Jh#m! zJ}(?|`wUFw>dGhM32pJGbPZft~w3Q z26>5zi>O76g(2Q7fsdP+AHaUqhenUV-Ml;0yO;sRlsaq>I#5y3U%;9*nv zGa;;H1Vf{3&@V}X%sQ9>ms9iuObCW8roYI7pyaB@$mlxJwy0<#W)wtdw;Pfz((S8= zjpn63TS7d5J%{^0wgmcmXqb+uX$w*b?ysv5O8~39)R+m*M&jE5{ievzYK3O+^bGX# ziTHG?x}|==bqZHYNWeSnMRJ51kDy_rd7-%XU`t6q3c&gVMA@hXWg)Wsa`H1M(u8#( z!N#bdl-`POq{DwI1Ti+s+6b)0ICkb%G&jVRw!+BnY&S)!l#?9!T-q5YDWHi1E6!@y zDK|@l{M~HDs*qIO^YI8IQUTBHahs9NU3aY6-k(_XOGhJ&7$usd+AZ1ow8zZKMt(%< zvfQB~ardYwlMEzD_3^mMGsLee$oQ}%kMDo`OhpZ0IrcP)=PTij%Mx%}aWM_pZZBLu z0Bg392s-m77kbJJLZ;*=1TKfy6VyJh1<>DB#mpWND|r1=Fn$w>p#@Tk?K%>qo5M0W zws!<)(#nr>y^BpSg=3^gjT2t*691!`uL(7c_+;JSOa4X@GH1()%9?1;%5V~^vG6e; zb1gwpa`2bkC;XPKEb!OXU;A&Ng~nd{(A;KtVt9V*4oZpBX(2+H)|6Znoa}{R836?g z@jhloHjeoHDnlFuh^3-Axw|A=`j(CeoY>9`i1eaLkh=4R(4CK7*lwq6E44zBuONOz-LdCNts%rj5KMp?LaL=v{|GF6 zNMMob{3$zuSHVys)hK@e2sdeB*cu)*a-4K^0R2d2xWT?L* z(mzRWG#lU%1DHii>u3vu8y8tK<<@G@GFUg%|H|OsXT;E6!ns^3iu)+4GLn_(mF53G z7r^UeBVmP;mEY!w-0e@tKx{_J${c@0hMBZxIwoYA(7kE6oZ?}ap-C{IU`|Zju7;-+c`j-AmjtjyWgodd}^UE z0#f(Ek2X0>#z)akOH#ZRFPnMA=z2zUie_|VBpRcZw^d1qkW+-hSH#H^OvPXY;58`O z&Jl^w#o=xCFMmCdbez;HVZ!JT@b&DJAj;;Q_Mm7vT@_Vj+pt|9D3K7(8H<{~ECa9r+_kpWcL&yk^Dn?~w}y6K44X%V>%VKCjrg z_7%2YNncJ+S69fyfz*k+yYFhMkG=JCL-3s#8U!UQ;73xWPS+4`33<|n1-_8qNC^tU zNp$8}Bod`!ccrqM>d}w00|zwQ{rkW7siBlcvm+~+po%n55V@!lkVd38W{78)`1MuC zfDl4w{P9MVTFhYXMpEW+X3*~N8eN^O?kPNe&5<8J?h-3e45~R$w>?;A{NyA)SrV6s zD78g{-e|d6H=JTB>kpRO>*wO4^1lQI7-(qnDHB!@ zY}R$Owx1IIjkv}c)I13n5Q9p}Owt+$H#fB-V_MQmJ$*zFv4@%T!2P^s%Bzcm0RN#$ z+k0};^&vwtwpFR^SJ$Up8nHeqQ9?>F9)W@Y$-~yy2w#&O?SG3Q4!`Huq`+?7b*>PH3QN>ENNRLqBf0!a*%&VwOb6ioyHDOx(BP1 zH6_UFIho~)1e|iH-Vcv&zgo)jyWqe~;|(wW{3k97d$$X2!`gV#y*@%Ws{d$n8)X#g!$(d-l|Q5 z-Myl+><7BhMa&YZ8V%?D!*=J7nvYRJV8`Tcm=S>lS0`pF9oA?}E5r%b#r(EGoQ+O=fA&h@ATRhGk11nSX%7RvWvU(Z)EVYqT%_1B9&tG z3bYcPjJ{u4coME+I_5NhROIm2sw;Tp%`b>uA(?Xxy$z;Lwej(B3C~hcnx&e$`t2?6 z^+0P1{FP*>cUn$&k~2g~MVR#6al*zhS;*O9 zL@-%Q$OXvAw4$+_4Xy)gO@S@ny{W;6JRGA2j9)|t;wO@$aen;=TNnXaX31Y?>gvCt zvp^BgL)eH$%N_9uqiawg=kX1mNaQ9Y6eM8K-4s}AS)K$N2DQ4_cFX~%kpKg__`j^W zs8{Q@mhW+coLJtoA|;X9CMpTH8{!1{EQF)7JFsGi8PX^PbNQWR^5S#7jsvJMnk)J> zGyIqZGwECI*Lv>`$7I~r!_<22FQ(M)$Ocb+AL)!XLvt0ib?LkaIZ!N1LpRV>sbYC0 zRkqaA7%{1N;-*r`yHluYbgnlJ-zLrQkj{egd8x@l8#_6HwFq(?JrzZj7R9r6;V5Z2 zL_%plv*q0&V^o1dcl%{bQNHZi;K}e0Z#`uT`1icFkoUJHj}bfz7|S1`Q3LX-6T`$- z`Ax*Re}8N}p!&YPn8UXN!J_WmBh3vSO%v@NtxX%p1Cjr@Jr(}KSWew75O$VZv;mDQ zK-d#fPy`(JKGgp6kbn=2PmYwHiS4E#>!v%+<=%6TwE5D^BztgW-I1RkF5SK}MYJ8;1?q3Otv!P5CqY*A7k(aa>-y}T!oXly zd;0!ITe6l*kVVqVi}&P@?Cg0EcW>uG{X)=crq})R9}H|z?N|N(uaQ)W8SM*<*?S+@ z32cRZOk9yu5^8OV`bgJAQ9_=Cm2hQ&-Z%~U^EA9Uywo#rDmm@cW+kS+5zNc<5w2VP z+3V<8ZBYTPwNvysE`h4^+`6kL{ z17>Y6P6>=lNf4Z2>dhIOs0-ad(d4Rh^tgTH3_LQ^aAHLV6a@QzB^wHj%gUOFpacRAC zJVrzSVHRh$p7ut(GXt1Ebs&&A`V3RZKcnR<0seEhrYj<45YP8vY~0}rv?^!eJDFp| z)-sD!bA_Jh!-9uCaH7M_SS?PXNLz1pMFt0x4RFS_qI(IJ55-V+9tHn~~( zY-Ch1FqIP*6x#in6H%&tPL=UU^%Q0m774=>hk7z6k^vjXY2VIJe|aQp9hj)NwXg6n zQ4se*kV@)1Smw(>TSTU1FE08t|CvNQ4gBnBobMSz%RhBLy<|h(gL={dZR1m7pMNe* zAFMuNjfV~F;90LMGdmW0KW*eBBr$zsI>fz+G9@l0AsUVq4B7cXxq?fx{5B&|PhsXo zwFR|OUe%@l@Zr{1$nO|zXl;sG_a(Dgb!=#7%75{P$a%8Jrylh#@_V7+;^YUhDw&W* zk}`)Bn6$FT$+cAAK&Z0?bmSlLGxQyi4pJ?PWP_q3jEF#v;NH2-cD{^h{UDhz%u_E+ zfEQuz`CiAWCWwXQky|_7WE&kFJ(K;t(VCStY@Zv4hzLvXOIG|pqKXOcs*T#73hhIY z8^t(w)F8*pt(3{IBQvvLB$DVyMMY$M6OKk|$nCA;su_V0dERu8bJx+Q@%nNDizR5j z_?f34w4XGVdrXoyU2~hwiHCIB%jYU3)uF54()qEV51HHJV(?<7Awd+JKq&l|WaC4L zD-Mu@d{vQJ6oh}@a~|3J*8oR%Mif-1*fGPOs%3)e&u z&@9cTxe+K5EaA+?-6C6hRnHILzD6=8DG8cHq@Dc!T<~1m+%89;x7i+w%=jY+`Db!| zkTE_Lf_81*4f}TJ?_e$mNevJ$!V?R$W71dq`D@12@A_Y(;Ek&do zIa@$+WWF8MT~_U{Ei%2=7tIJcvt8zxa?K6eQ#ajp`nOre34=QNtLYJ0gOD?qUqNNF z@0L#3w!k3#08~v77Yl1vkDMdwsdL}i-aekaX3>YDVj6BJ@*IaYWYm9C7i|2+( z;S}YU>0Q3PVp1nqu3^TdxUR+?eH^FHquR6@fu{}Zeu?Or5j)sC)~$iU?<21ZolSTI zc-N(~Uv3W!fZ!QmVmPuDIC_do5Zi=6&l#enJsOCUE|$yiBwU#Z?W^`(t$2l_B{JnM zYEtXdwz9x+;6@#f7hiGv*Bie5D)`{6Duza)3(RVR<1=d*`8Xm6TUA`~PWODeKMZ^4 z!)wn<`dF|31TgBUSflREVS$cBEfSES!vD>yq7!%e(ZaYkE*-eS=scgji}>{QkF2$Q zI-O^8tqc?L5Fl=|R+@ZDmtDR<+_d#KH-f}1sIzE0Ua%}S*>)wkJ6XaCpNsvoVZyRmWnpRsRhH^(}W`ws@Nd>wnV& zea9gxEPY^Vy#RPLwqh&it$=U#rT_Xvtc5K#rq_17Gi>;HDxLutW72}ls>|trLu*PQ zAZm)r$91y%zl-;7#)F@JlXDn_groZKOHN z{Q_2rESkx)2cVhp6(G{=Q`+m(R&^o@&^dkT15;6#3w$J|0-uB_?1&H54Dk}sS?^gV zKq-;CwX-QXm)${@u*&PLGJ|(5Jfj~!5^wuOl2bWEUhQB|%*~X!%rg^~uNPd2?aq%- zf*zplUY|1ES3TYSa3pqH*ugv}lM0UGg_6JjEo=5QwVg7_mW(D1eqbKF?$NgQp^HAY z*Lvaf_IinaCzM22HAq1XgvNvI{n7TY&(-Vb{4(sDc@SXDvC z;H&4DRGB02=*(Y#hsWuw6jRV$2V*Bif@Ox!M6t9?d>%vQV3=9u7>F9#1!yL<7O8oikK z`u22qhAksU6_ytoK`vLWqnF;Ir%8o7&PyEQ`f{F~!M>R8zg3dqE`CCBD|d@Jz!zk? zhq_|^m1X`WajmHG%bnj11YP}IHb&*trLVULN*I;( z;=IT}&@Wtp@n_*wiIDA;&>SLf;nkeJ>C!|Lt5mVKPckHAkQ^=Q@yWP3@e^IpFiedC`S5JC^i_qIG{+{kuTdczqZ zIu7oMpK~i~$-asX!8Z8+t{p%!7M3~s-yl-RvMyfO_HLCu`dHY3pQ-8O#C*1LqcFXs zlyT)IQWAU@XnZlf*K)58lJmdBh76XD$m_f(X7aqpA?2~{Ir+RPM51NPKG9#JeT7EG z_MSTM;X_l=XK49Pf-TJ&M(f$d!<2BOrB2HuchKBhUhR@XqP5s+k zFXv~Nw>`)^M#rsrW6m=AQ|8+Lbnt)9S~J}(f**Q`Vb}$lts;bHj z6(Pe?Sjn5?@<{ikw1gXJIVX1uCQPfS4oJkZ7$=SHBV{lcACSOH?e(%LgZ{YZ^EDdA z;Di?(f~BpfqJI4?L0#1x4@&*cK&H~w?EhDjeBgowN45`);J=u~D5@MbaAuel6F#LI zN=y+L%agslAvYL9jw#J~e2=drI#b?XdA>IjcHWy;_MW6}hkQ2Smx}{cHwPjqx<^s3@kH9l_*JljvqZul z4!(15mud;f83LuI-*_hn&$=3SbKj= zkqJfTe%XioOx}}|C@h|GGGsxq9Las$f}&)ERSTBEF;&qOpTnh*%d86gis#*4%hkYSwO8TR-g&ClVxx$S5;E(9oa>gDwx^rrNA3$&-nIrnllVJD+iI%@YncsjkBEd z_5oc4G*243YX(_FWCsq^#W+2epJ_m(u7;lx(u9Eou|yE1C!Y*Tf%r0s9EvfA`E(|< zSk%G2s0~ub5;XY+oU?MOH4%Gf%7CX`dhf6@ny9F_4e284h@79b&UovPjy;JjWhh9a zkwrTt#|wo}8h3zGZWM>6NDi0KF&!F;PB1c(m(`WXeSv7pFe z?X$vKkRDuq;(3^><6zSFABsymnsGGBXEe`%dcQyFc|G)jkpmK(C;#73)6WVW_r zLmYJP2gxy=7yub0d1QA!F@zNr7MM-plVM_u(?~Kr?I3=?pKsXpu~mc|JDNpGu+MNO+)@}RQ$z!MQN&LHtPO8jBFE+T1{h&}WCml4qNm+Qfl zIeHZqN|JHggrZ^oslIebug-KcFTgJz_UUVqplOg{JTr{R5M?47&SZ zqcg<6$T~Q|q+{`~BssEDJnFqi?QjjVN!VebsM5531G@G67DQ(IE|SAZ7fjT%uEIwR zaG1eIE|Miu5n^HIHS?SIK$g6atDsPp6A={`RXU;{!^3}N$qog~5i<*# zqO_@7=y4=s_p7w95nP+B|4L7Z+8E=M;?xhA_FmALB*6r^{)oWa=4x?K@@;oSjI2pv z7lma`2=D!~jQRIeRc(47^VhGQ?Qd$B-*E_CQBS)j@284Gnwzcfg)XF#D-RS5>t$Yz zBLB3L571Al&Z>*+Yd4eq)LKTDb3V$+>K(wuw^E{@F7;X%EPT7^oV0p+xD|HCuVa@d z`f~n_j$rVND$aGtz9*Lwt~L>HR1(%+9$*digC%9UZ3wF<*K}4QByj`U<5Ml^Fyptm z&?~~;I9tiok8*^qqTvv85z)8Z4fFeN!TEU`VKa1@}$jQ8pjeXolsLHCEv!3`5R+HLrjvM6UmTMG^~ zwU0rAjm^({groze$&uX+x7!VdF8QGtI@iRgkvJF4fSW6jpW0zJ`-NQn$ny#N&f!p2 zzZ1##YI%a6&V`wz!pOAPFZp$pfyrx#p`){@a((j^*yVY9Yo9TrR2)>11eOCjA8+gp zXHHlc?8yIoJ@f0CjO>r1`1B3LY+;lM|H&n%ha<5UBY;~3g6a%|3_oF8M+a)_21Ip2 z14l^@c)3;aaF|}2>v+h~s7P>|XIeq7Y^;nbP;zD~ONv51ehVb02(n0v3Td;KW1l=} zF!4q!S>8cU%Ur-kC|8)MFtgFXav~gCkTA<#wf*^Lm6KpyjK){5@9Pcn;Z_sZ+Q!$VDI;VP& zhAtdZY=|PXXyHi6c*HMzew$g|Y7rAz5nGjPv+lAE?X?vx6fAEZnOmbH>5?CHC4)xT z7`YiO1c0=OF8Fo5-h6$rqt|?)&R^5@MWys)sgVn)rFtbB$JQ0|BkSRr;zW6 z;h+&H8K&j*o?w~5lc%9%@P0oiYA+!?aMl>A-6uPk%$S#dSpD+T=L#|Ou6CAz{E6&u zT1y@MjrWHgKL(tMBvOJ_7V;fUoUUP%C8h|Ghtkpj3NfMEWYg|p+$awkj^yY+Tr>in zW8+v>JLPBse=tKmR*HTVt;UiJ$K+%>mvOy(zsbeoK|IU^i&>H(_P3Qz57`%3JuI1b zhWkDS+i%O;ds1=fx>DaJhsqS*qZh?|ZqIF{Z4~b)^ep=5dYjOfb@q4ZY;2I==axKY zpoiqb0rRIxn=l7tbsoNss=^L?8e75dN~_ERJuLWI<*U;p8igwJzyNi(<^tKA4ZlqJ z9oSxHh{wCvK)xMX0xfd3O?C1zR|Wn0fZeFP%8h}Nu%OZpd`A5Xsu@ff?-j3vk`RIIM+qfFUcI(!xGk^vN z`N{_y+V<_YMR$PV=v01faHzn)^S=EY8u-Qk5=R4Eb%EH_rpLW>Xhgn;yXALMAY#RK zP-zwAy~X*OE) z^)i3#XhWbxr517!>j>F#Tw9Le4L;WnK)zA$qyd0H_8X{j-dx#(K7UOX;r znVV~MRda(Bw_CrTL0#;C5ekd{I*#i7az$X%{D8hA{n_%WZ(Wc}9@bdf8nmp{EBjVS ze=%9%?|$$+=rD7;{?#gP;bxRo=TZb+DH^ zpvbuO{Qd&fqYzN9ajyuWcKGf4C@kD}U;;PsnqOEcWyHu3rJ?5rXZN~5@-moA+BKn9 z|7qg=QFbakZ9nh%%F+C`4Gd-1dHeZJkj1}iDZJ9_5uJm81UFga<W7;VM$|hm z;#3dfD;H~mQgM;LlNxA0AQCyMff1lH7j{RdQ&QQ2f0EV`af!Vz>3GLl&unE4C^s2U z7xtry#`SH;m8ishw_6zvXKr4$PhX~Onr)y{a%OK27>HKYBWGyNt)^%rx-%r8)>((E zg0e%#$wU@$l;`gW{-?0KS5X^KUTuIYV;6Zw$FV1ulVPZG!y4ZbW%BB3GX zPHD5*6Yy8jOMA4NY61)%VsGf#hC6A#_E~vue|?zM_dzS)MgJlSUEw~p>ppcZ1S^Tqm-bU!nIhZvx?kM#WM{{vFX61(ITtAscq< zxj=-X_W`=Vy|}i+%YvoA{&1xGcp{;aRfORddGcQPukAeLO(C27AD%x`Cj3BZ5ILnwPLX>VHu`QCe zdQC9u%C!rBi~M0%&dhEB*kF?Vqa>LDtq(dI-ZaOYolPFKL0a865XIT;mG&=HVZUxQ z;kQBU%K176B=d`1+C%H(`wt)lH?K5dtm6C=Oe72}tH$bZ#EeBKRGd`h6NL4JaNS1I z{^PYf7=h#FWe4WVM~@!yvC^qpyIhI8nv}p6h%d>JkGyd7kLLcX1rh%$dYxIFIdm^V z!QqQcuJjmZwhkVlD4wWI9`rEr+k36@b0+3Q8O>Jp%rAG|`o<6!&ISf+wG*Ck{M+(k zxb2$&qKF2+ z6{~7hV{6jl7|i(Pw&?|md^4W7CQ%!#P29izf*Vet@#RxF;Jm%?CT-WlC{)Pw$mlHF zPiT0Tv~m0FFTU|J!OR>woDn|0`E@3@*w3_w+O3|SN1Fw4(~RiZPi@$>S%KKayt#?5u`)m~tvcVMZc? z_}%vPw>fM&dVfeYsVKusqN=FkvYs|~@LevL+I7lc_^t;npphtRkA&Jc;TXga5~HR( zZqjxJoNe=PuDY5c186OhqDeo*1v@N&;M3TLi5dOb0#pyh+*d^HqxLGc$^Oo=!n0$# z&9=SP-oFyR?Z3Zr<;&KgHk1j~t^V;}yAp_$M9JKxOH1ef*dSZ?&;GN5TIYF4N1)z< zs_;Kr>WjF-IYUnv;g?N48=p1ms;nBkM%Y(5I0ZNrc~0CeyGD%qwbkEy9nv&qVUgj6 zZx46`w?jjbA|aLfm6t&3a1;?Q41tGpt1c0*H z(CITK`(58$_hUPkjZIe#T0lEU|8)!FGTq*bI>4kVgKU=B)F0`=c(|6S^W=9uF^;W` z&pgO=)$t>ZuPv^+t--mUKs{wY+%PuJMg@og2H}eGhrm$wcwmSj$bBiCruuf+L8r~I zRY<_G!*pk3D67K=ewBJ{xAsZp&_1Lr1tlx3F zR8uLuK{v;Ju_RwQ!dz+s!gC6v{yCXhjy9bb&ktrS6ND2r}_n@-DV!;m(Jt z^UeIqHqiRRkx<)~ny~+D1sPlnTWYN_Y3s@W?O{3r47{x{s~H7&ZsF4p=n8fjR}6y% z4hR-ToThw)X7vonz`!Rdtw;RJY*gWpcLHh{RUNSyNuY8H8MzUXbOb1=@TiXghDIIU zuH{0vzoiQep`!feOLIJJinFqY6pQ4d1wbPe)7?EHa>(-MkcR?k=H#ucTzv*KsaP-F|h868L-I(FdqpQqpCzCWQj=(jPyh zwdd(o9?!DoD<4L@39q zn=!zA=u1{NM;~GQW5jErq6HEy;1iddsN*#Lhn3$K)6u8KPP%bO ztJ+WCM9;7yZS_9cKjH!E)R1kY3h0%qoIDK&+oDzoxaY1HN=8YPAG=)C;;xE^QoP~% z7fT&*2?5?}+Q7GpmB!~=+f6Iflx9~EhKBvFJP&9whmhtyoE#$Ke=z+Y2qfP5!ueB% zSXE7$4pg5O%B^%p4mGPr2wJBhDe21F3z04>8&<4-S)UFvB8!7F^cn`T)c)Pp`c4>) zOHdVt@#^YL@l?T#ni|t&tfUlpylGC)u=)jR_J43ZGxFO@JEu&sSJ<8ut+jCDcVB;h zR!qsZ-sTl<#FwPothG&aUZ!d+**ESjH4aUYM*T6pYwUwB|D_U4Y8!^cVH?ENp9hWE zGoF(rYl+ppgJtW#H6F*7gI*0;VEQVD1J6D6BkS)KRHmuXCY_y#6l;Ki2&8(2tp#V> z>_KE**u^-2(S*K3;cOSETrV$_HVd#Tan zHV!g8)`rVr&=rdV!RHpgQ!R(dEYJ8Us98`&iLK3k;NG3DSK@sJT)iao?qg}31eLn2 z>f6=TtdWF~@W5>tTi|bnGu;3fqMKKLYOlE;pn7%rnkF^j=G+cdYZL4OzoQ z|2k$x>P40x{@T?J51k5V5v(zO0?<3aTjmgmLJOXnQu0O?U)rDSY~xS-$6*dhZa*<~e_mdXvaW2u zlOAcgOfW-zd{%rB;?n0phJZP9zZyAE_JOA5X6>?W2>@udUk>cTmfr`QZWkAg%|{ZbrF!L<`0BP4`V zmO{MD3+I5s#jhk$+61i@<{qrt>|P;6D#+Y$Ih1|j6>t1H&R_yb(g9G9++RgxbGsk; zvg3M>o-!DWV*wj~#ksB+^_S@@lNpJei+q1BBdL(*vF;Y|$w$sY(aHx|g2%eZ<-$Qy zH9i&Npq%Q9sRHaaJCYG0l!*A+`U%||qx{@{hB1Zs%q#d`Y5%x3@Xajs$hjQOE4&{@ z-`}`L<(ap1Ngo9{B!**pzO_p7cO_v^So06^+aT$mTP#nDi?uu_1qYm*r831uoKn=s ze7Ep}_Dk3!h_?MK4-I?J#MsUc@*luK-@(e27a~;R!c~W&U`4_+ocy*nD>rp)R+#O1 zfK?hoA8hauCG?|s`!n?^6kVVxs6d*@ATe(VK&FORw#hMl*J+imCk_lr!o5ACNPdOo z$3G6XT--=>&*IYOru2mImR8nKh2^@6Im(O2b!zO zGa{*WY&}Eo zQtZ4ZJlFh1gV7C5Om?Ij#jg@v5tx~Y`+8omDD|WF$n#5zk|xh+xhL43&NfnGgv5Ad z3cJdUI~L7RQ^{RJH?Jg!AQ5ERU`pdUpi2<#qm3Q3wtnR^PL$`7D8mr#ci|C_Afxg{ zblO2jJBd@kjPDVP8;BW|h!;8#FAOu4kyb_<06T8d9&-BiI^j#dit{ufvk!_H6W%GF z^5%N!o|2D&*p!$4q)HNW7n!}$@_Yh{k%97fox(y-cPhf9tcTWlew4@KoRb`dwG1Ix zl|4wO?l-Fm^I=V~0}@G^a_Uth2h(9~+H8ZxKumpNBrou_4+N9oXlWv#)g>q(K8n>W zP`dVUZ^(sP2cU8OG=0B3q9)2x+pekZ_=I3ilFDjg>`jku*-q_JbKtV;;*mA`N(LO) zRd&RaKE&kAuwE+aFGqT}Dr{bO*H#HeMJ@+lTvvMV?SXNw3!@Cn+AwMM@8fkFa_XgC zD{Z=0EKLWsOi>h+TT)zZ%QZg_pcmF4U0;`UfFZ`IC!a1b>*!vQ8c`7G#3P75#Zt4P zGEI(7gBGb61{0S02t=z%D}G9?A(>JjgHX~ zw;z4Y!3+MGD(pfUm!ul)rK~NOF@E#v+UrZ3-mFNQg_nT2&mR=UYiQZDZ z+bI=$;O$OaI-)f>j;v+w4E;CqSZ>o?)G z$KC`Ktt@9Qf(&$$f5u6)5eO0wtW@$UUOP|PtWGVVvXw-Gm2Yd;8*@gWAiwSVyGh$X zuoo}OEL=>b*Dn1-`TA2i%KY1Cu_@RvN9Wov@X@au;cC{yt^2D7w9)Tzw{$?gkg06m zBWMF8(*A>kB0nLTfFx`hg}&U}TmZ)Oj1T$G`1Y_cC{*yC*>9D_=W=xA)qZ;nA?!FW z1c>qO%2E3&9+(HbqO|V4Ro~%JRBhDAB_G z^oe%4^@by9R3ejQU!8P+I3N6!au0Mek&K6asWOt`%iyx#)7)wZs43kWak4Xe=nQ

6~ynN)JPd4ZkqN_1+S`8fW!mD zj!$FPDo{C&Lyh4;OeOJu8^9b5O@Wv_Nqz$zYGMQbOp)-Sz850H#fQX! z`wtDeDZNUI+;;wZ)ZyQD6PSAI61>_wwv^57ISLf%7(M+}Bs0I6?iolk_R=h67My!# zv0>INNT7n=z@LYdNL`7y5vW)L++rv6G_vJj0&P5V~zHRMEwGw(t#c&hr3< zUx{<%b33>Jimhe^NQcP><_$=j*x`Yee?T^Qx&lbwT$Js8H`nFT*huMHWUzXHX@2?P zNF(>vr6cD(fhDo}rG{?pp$vfk*MLY4SvkM6)NT2`qw$D*azp1Fw@35Uf3}C5T(p@E zI}4`3k3&3rb5IKW;Ad*n;f`8w1lx<_da4aq##sD#DoeV(>%wuaQ${~i+ig=uUp_Oj zCGaHY`j?NOj$1AT_FaBE(-TT(>v=&^6qY6K{>-T?Ja1eM%G8tnO zLypaF-Z$?B@Y;uWYX%}EjK!Pxf6}`uET1;$MWF7)?gF{bC`=s>Ms0`k_I$@jZ2Xp) z=2JsJYm_^4xB(o?T26p?+m>hGIA;)1zQ8&P@ixj>B4L2hkgDYMKQlrmllaJ7geMIM?uYBA+>}B!5c69ba@MA0$XI||D|d#)9$>p^m{w){$WvdWy6wQurlgM<+aS>aQ7ACoe3S$DDc?l6d*H)?`(K0E=nm91+i zkiug#HF3E|zy3`#_4ui@*+2DZAcxQm?0C2kHq-sz&)wh*oxI=6JPJ&jlI}d;c01H2 zn=C#(Js~R^cjpb{iW`JIWx64toC$0lZiI0MSk_!iIb_-?0`Dk|yVJPFWM){oLp~CP zxQ?hQmRhkVwjlgz`ddPew;MUU@+`;Hv&`cyQlS^dm%Zie=ze$PaFj57xIWNT*t$EP z0yBwtYjem~O$)}-WLYD)l-vey`mdGwC)$q47A|VpsD;0F3rh5>bey#Z4=Bhd^DbE) zfhVt>lc$K_hUUVzV1RWfkWb+#d*G+jOCo6>YJ_EqFCD&xUyc}F>kOk}^UeI5puT$X z5;JKB$Vhs!r!stAU<_@&`--TVDuMdrJ)0iSfq0e%KI}9OwQ`0~Tk;L^=hNSM?srKE zr)5TP>Pn21s3S1g<|Jj0|AK|;o<=5JNp3T1p8Jv~ZRofkESwM>7T^uKFcWYk!7Gi& zEP4;&=~HLphU*zi#F{Ev!J>s2Qv$Bw3y$W!{OH^pfrpwfSf^p8jv~W%)J-MQV7$8- zua)2ag>!A%`f)sMe+C*&fWW%EEWwcm7D4)!>6akUqw`j^9{t-XpNz8zE+#VaOSLD{tN^?@_Toq=z$eZ*Szmn zflu~U2jHkysQ-GTQSG!po}FU8KlBCG?cys*t+V!K7ozZQF~f+}b)f+Mx5sZbosLB5 z%!G4?Ay-#GLxz&he6K{y51XqC_2~O{GI5c7?g4?b^gREoV!;F$h~obG{Y7Alsg*K) z=2C62*KQv1dHHbmela*v)CwE{y>4 z1p5c$9u%bX;bXq#5)q-wT5M`+D*IAeR#uShvd6x?jSZ>;(Q#&XFl20r;6I%&0k0Rd z6Y`S*>&|H9^7PqZIoY-M>Vw|PGC%mTcH*rE?2Qt{TXh*2H%j%BY-ijP{TB*0c6uqS zD8>#Qo$z5w7m#hVy&23(B8^VO6Qdv}xAAmbiSVmc{n2Nv^D43O1C+6eNdVlpkChF^ zO`i950BcR@-P2K-s?eT;z>O@K_H?7$-?DabR=NWryo)AA%DpNA29>&tF|oLVo*anJ zh*u>a!csN+$=C#&9!Dm7)>Q!F9%tlHHZ((yl=ts$P<@HCbZk;x=V*>P9x)yW7|75j zkUhJp+-2hF&qYiLnE}N~hiLX2EKbiATbnSUEB1FNEz4Qh5D-P7O1Wi~#`l_ac8u0j z1fV59nIj?CVRgBxWe~E@-lp;|#AYcR8#=VE!#94Pv_&D#Ezr+~X+fyD5@Z5HEtlCcfXRgFVHOB}dfid4IDPZh9LMcBIW|opQa6(nJpdGk0P*W? z1FX2Ct~&4_cl1`0?+P5G@v??nfKWTT9lf}CT9L8H=>&|wro(^U|^q^iHC<5tYbViykw8sPwf;7{x3;G$yo4n2+6%~inH^Dk*mQB>!X_`FOBYAxYe~j)uXc7}_W4?kqc1Y^*T)=LjpzF5_b$p% z8DH29TZqne${I!E`lAm6!V*O2ysX|=1r*)2AZS?8z7)ri_IqOs6|`3Ds6QyL za!z)+QrA*!p}*A%%x8iq2sjEEbc550sAxQWK*KoPmPkQig#)W>f*+Lo*?42cVz)SQ zexO^^4GC$6Y=b(^duwJ>aFO9=>5?Xa_pvTyZlR`3tvbO`&1RYF=$5bVMc`x5N0C2z zU&<{y0bLKz8rL&9T8$xjgkF=c=9p;kG4^&CGSnCkDFs&Bh=H(U+huyAPb0fEStvi3 ze`dK!ypu{-{x`20ZcOde`1>7dpU4n&bi)q&Lzl~D!N3>L6V7(H>8CmRfe3fK|Bzu1 zPmsxN)8R{t`wEoB;3g8&_Qk-;OHZWEvgj)HHbKtm?gc(YQB$P8@dz z|A+oVB)eFGbhuU_dgVyt)PKB7in)?f`5vf5s2etR)FYB?1hbsb$e=)8_fLGVITAO2 z;-V~PK)kZTAw$ADqpWXC4a|$qiGETu5Cxzo8T^>i?~VfhuNMFzKLp8%)o&E%={yUl zVLS6xay((ZLJCeip^h$&Jckgvy`}2>N>+B>q}Ff?rUvKrJVZY=B9eDGs&ejzGz+Vld#etTEr9hFZB`xK1CN_-a@5Bk&Q8zP>vvzv%*DV z31Z3P5`$J6DA>mR=z5stP?TNCaVTufMrRqpA-;0_JyX+IMJf`l8}ok2V=8Ijh$4a# zE~Z3WC+W+;uQ$)T-tAaiKNi$>M6bD0{m67+b#cYbv6s4~ok4-t?e{7fe2Fle-Ed_*xDjXV@bwAyEw5vG) zdfv?qhlp+MMPy)^uHFGaZzBP20SAygu}vG6Wx(pEs5215A>XPQIK6?L{UA0B>UGL~ zUiswvoGbi9vEp?-*7Wvte9rctC71BrYoDK$mDTUKqP4>Lv>sx1>M8_qDYw$BE5220 z%IUvs;cee7+Yh#`-7@Jojd22tYd*>?_V5v8us=^aiORm=bT^0SJ70|0dvm#Z-+zn} zZ+h3mB~tK~!7(rr$u(qe%k=Ra?={ z3;-hM`^&_8A24Qn+rW4O_9*s!qyEd_*MEP42&WVrigcW5uRp18|JMqhHEpA}JRUZj-XJ^S>{h=;^QI6B2yOONK)Q0R zLzw~dP_^Dd&P3OyG^u<`rxESvd6W@IYgW`vUB{!VdQBQ4Ah7Gd%x4UERN+6C%OpVkKKoSkdK*;44kTTGv+>M=79?vOP_+DR3AxsSWTtMJ>@ z!9IXJk(n^Dw1dWo$3SuB)DBL@``Ug&bI1Rn$U5%1#ShrI$U{gqW56d#I(%zD zoGc*bTSw;b451M8-de>Z@rdp5yNNN0;2sqbxvRl0{=tlMEQwqcz_8>hA;sfH3=FCx zntQGe6BsrYTvAwPTD>q&Pnz{$;WKGXrl%RmilOroz`UHwnO;A5;KoKbH6TX-z_tul zBI=L=eM(3^qt*^uL8(~-ZTz{=UtYx*3gACClFyrS@^+l_TQHW)GzV{6a){Q4a}nbo zU|q|o$#`9=G;S3{uTH=FQG(uf3K~VE&<$l6OeUb*s>JxSvTmy7`13kYtMVK$!)*gm zl7htvj=Rurpvj~0s>EFJ4q1};`|J`P4n7)7S=*Q3i|(C0jp9d;?e}=Z3P+}y1MBsr zDVdpqxdO&R59yiw4v$;pXJ2qHgO?jC4Je1$olN*`ABh`Z)_sZEuO4g|h@*j*5m5eG z%O(b@9J$&_!cVXGW4mPL6C&zOe*VM!M_ zs{N5bB7b9@Gh*R>vSC5I#YAaz9}tE`CoV_7k8Y>@63ZySVR@-~^+YFh6j;xfIbvZ- z5rys4zqEuqMpRwl!-_uk(Mj~wh$wCRLS46`paw}Yl+~oE4xNThP)tZX!v0>RFQB;D zDlCP8N=8V0H0>(D>`7B&HR81oif!s2t1d@F`S7pmiUxdyBA<>-36`K@s>Gn21J$a@ ztQqEM*M&Ynj#HP%R2j)n`Y{BW?wlBS>R*t&UuSbhLbo8+U`sWLAR{bE2Pd59F_%rz z>6Yku&*8ALGMWgKcDk2(h^E*ohedDkW$sZ;fY_AQ!(KUD<0EZ(zPgK!>%~Ww^Ki&V zkj=^Sh(IbBD|@-$Zq>b>2Lz?IaC(eFdOoCA63uy!>C8o47)-%bZp?$z7A!lio4wti zCZcnuFRD8DLicLYD84z=ObDnfms~zQ_49m-ATyq0mK^H5&$Z%Z(5qqUE?7gM~#^UI|mOl+~PAGRi%VoG6mu^8aa(T^CQ1|`%X zMpSv}j4|6=5XBj3rf!qx2j&=pmIS>{T_Bqy`cKmo9sIy7d|(Bse}zSt-Y`uWYAh9c z&myA%-t=ZGk*Q_C1nxOxDE|m!bEC&04Ue$OO+9j3{5Bl?o{+}89MrIxg&&wBP+ZNNq*o|a&bGPjfXo| zpC3);LDri`cesUpJh*E{0Nn`=B zj6C4ddv#vQL8sN9s_{EzJMrN+;Iq{p&)Ku$rn(?wajM__=N4)^rCYsT)J;{=QPcEb z2-CeGmVPM(5s$KWguMUExJfou2zzMF%#5ppg`8k1l!R^5^u%KS9N$vUJXd{_fBmjc zX4wj6*1+K1_%?$6YOuanZ(>nm&}Er9-Y;|50=ka_J1y+93ZJ<@P-Y@FH02K7T)ftT zNc3R`YYk9H%l>FmHi20)7GwFfB)PexvYc6EcC#)Fan+isP-s>7m76|tKvovMofORg zYy819sMyuTH(Ld8{xhL!n+NfoA|BwEjx6tPWNL1xnDPkv4g?AwS8*+oQQ+aP|*SE!DaP z!ltQWgt*jaGwzy#Bj+MH^th;xw>e0O<`GDhsG<8N|8Kieofb+KWOGHsEPG}dk* zkTtaCKJ{SY)Kkftbmw#f<6_T5F7Z@@AF2U$s%vTn;b!o3=jEGLn>+o@*pVW#HiUHq z`)NtS5KUp)U3H~{Uo#Al+ezk#N4aioDQzXrJd%R*=TQ}AUN(Cm)qzQdeCC{jd+{O;ltDPpTA!#M=NvFoeKUKGPlX~Pd50rR6NP7O53ts*jzS13} z^euX&8{QZQj~dM5QTYL#L?3?n!|=WI7fQ*pI*ayJD7kV5`ni z_ogNcHOA9~g`WQ|* z^v=JyO`|nkAy-VK2q}9CxV|sjq=T~hS8U!uHkBYR!H3V)pq?S>S%gVl94?t{TLO3mDZBZO7aEBknJaCc+VI`$9l7HKKw z5`rh`tCCKx>8_;ukdMx3!a=#Zgyo(-X|wC^B& zeA7jA1J5^{KS!4&@BbtazD}K(b>9Hy83vd?Ec8{?dLk#MAqE`l;z=SYFr_XmbbJHT4cqQ9b>3UP&LiqE{v2 z@(vj8Z#o-0OkmpZ45J_eKc$Qqj?m1n zJpYs@*v!5m8yOj3xdx%3ho=BLxVu$I(wAmILyk@Qc4<0|z4EEOxRmu2O=!}gU^JC{ zf$AnWu`dNujwtB5G^s$cWOo3Qxm;Hv53k*oPjmMZkA7C~qbp@HuMIYr%R2F>>GOV7_a+i@6F116OOG1Dnie6uioUHbJg%}JW!S|c2eNeC zT87KjPptrdG?Sy?<=?Y4Nkfe@FP4(?e*Zu%7k0^phMwN~FmHa=lXXtiXWzLk4oWTR zGQ^dc?dYZi)f*#84l1z82zNI}+VI+@B-ypjr1?*T(`qrL3}F(Kw4q>E{~xyA0w#_& zY#YVhb#YkSS*%!bcQ5W<97>_MyF10*-QA@?DOOwx#VPLk&-47pJ&qfu${Ez0A)8q_T?Ori@sz6hlWHl+iFgfD zN=TzSH%w{5w`j@|i&=Wiisalu#{9XB%CmF)?M3PFeIF@O6S^={D9v7C6$Yr&?sE;k zZ{j0eF^K-V_djE4Y$Hy)~=c@rCgQr3{p@T)idd14pQgj8$8&chR zVDe)=G(S@W&(3U(20c=WJTEGG%8G`=#y%Tejg(vdFnM>w(K)7RV6}ER`?0{x`9Qfe zLr@-4ADtJ*zon9x1PKFZW~=wUWS{o|0t(R00!Xb6(q%bc)l6Di03X5uDeV?ujMAx$ z1t$QnxR255pg*>sqr|?}N|DTFJ@ojtw>Go2bnnYCs$IMQAiM&Om-gTG{(WI0?GJ zW6#SyadAW=H(QDbb3}RjW=j%}$*qssQqVtM;q(1ynRl8`3>=;MOFX0s36#S*!Gk0L zi8@*0TvcmA=cGeOSesW-s zn<-VGpg+>R`SFLN3?O*KY7`%aux4}wQ%!N-@^vNlRsJi)Z;kl02&wzTe!4U1|7=Lw z<&WV1uv8~CmZjD@e!CbY6pKEzkfGLXhB9IY3uXA{*uY=pK03W{ULekBSv*@(@7@AF z?n~_tn%LWHzQ~)NB)(tE76!ZAahi%I#8i?B>=yZJhj(kT;*zGLI5^a$ z*|D-3G^XjfG+kRBIG=eF_`b3xf#jBp;PK}F(YTaPCNoH84a-6gFYw}iEG8C0~Js41x(>4+Kyy)P+!!%tceEhLTcgUO6y{jxT1Wg{qB=?B$HijIz^4hyS^ z-y1jU+ah#0jhwrp2~ZU5h5!eneeIv!`pGT#PmR7s&@<<=e; z0HFE>+)Zzf-38+1(wqJOB;0?`01JwA%z79Oh3aOjYVo-8|6Mj*c_P0!VxSGzMcE?I z)(2p{rsf>NL~eN>eou?^PrQ}^sa8Umx3gDX4$oD2J!ECpdclz%fq#{p{I1P=t&aPJ zdN1PiFDdf+aM%1yVT~?p56tXOD9NTo{hnyF`fh)|`@_x)vt9kiLE4ttikOI&Hbq6m zZm?@sk0Wm&Z^ngnA)bxHtckKcKv%8MKYr$XnxXo)H4K zhbCkoDQX-p@Z=j(;hq&r2(rgrxC!C_1TZwvTa;mRj491buBnRx7Y$PB zTz2;kreptbFuk+;GheU!tJBc}&){DqAkTqQAjqXifR?qve*8KOu?H!-V{uIjW4rDG;&?kSU!<|<>&IAx>w^%piUm54UuTZUy zB!R}xl%D>zUUM>}A6kqc4S}+=*2s*jftww;>x+VcNrDj(Wf_?S;JIiL@uvN9GzcTw zkZ8H#5-GTtOv{mq+oo;8Ie@mL&OxgmyjN&3C#`6n;+(HQpQ|(@&93fYkrvGH!y|@S zw$n}sZ2%j0NP47C)*qjsOD3Td0tE{>a^OV9*b7eeKprvav0L*P;48_)PP4*?DAxMw zI?d4`fT?F6U_$IX`M=?$`sW}RUWs#sN`(cQgEU3<5 zz;qhasMQo=U+$!z3bCl3vrZo`i>P=S$|%8u)M^cLmPAYtl!yqMM*xTz+JyUhB@xH( zCAPrFA5m&L-L$)^5sm)BHVj z#J+Ti=q;>S5DO(sobUt9r`U!;y^V7rbJ+f#pE2Bs1xTP_1^6N z{&8z#r2D$}m!W7=^4+6z$MgtrB5u8Ovybor6M$_|V zrlbnPATvP;0jU`3sKeWZa28&r;tDggqdBw57A6kDBN+)(kU~KgDy=tcXW7C-RKdSP zR)%N6RBRR{3e9$bkUfnQ4{IOveS!r(0w$6Mj=pri3&lcy1x9sw2?2Pez?#Ko_a@Y? z#9_mJ6VW@^X%sALirp(XPX*SyYIQO?29H)%Y57Nyj$Nvw%7cSFcHc}t8PZH&ERps1 zb34Zr`b(_XXJ;>J50Q4%_qX1)2BD47yHAdTwCo!Z+z~G9ti&bG_+6?flH5x^%>8CE zD@}hecb5wrC!emqk!EPTt{ZeA-K$i%bXa&YpYd0m0)!uoQ=!t+#uD{0Ow3Am#*_Wu zKrHG)m-XCc?3&XvT|g?MJiw?1w1!#qEqY30AFa-|^YF~a!7E?-L05QIXmZY`JNF2X z!1(C@y`|pyRX+D!Z{6+wNEbmb^)mIV_B#rD2ek*Y=fC`1{3K$R!>4?agSin|p1zHK z-iNYg+<;6+(ai=x#DQoYFnQeS7c#1h7!nasVkYY0&-8MFjPs65EV}%Y9cHX&HXg{I z5U|`ke